blob: a09e5717709f8ad162cd40402a2e9cbf6477497d [file] [log] [blame]
/*
* Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#ifndef _D3DSURFACEDATA_H_
#define _D3DSURFACEDATA_H_
#include "java_awt_image_AffineTransformOp.h"
#include "sun_java2d_d3d_D3DSurfaceData.h"
#include "sun_java2d_pipe_hw_AccelSurface.h"
#include "SurfaceData.h"
#include <d3d9.h>
typedef struct _D3DSDOps D3DSDOps;
class D3DResource;
struct _D3DSDOps {
SurfaceDataOps sdOps;
// the ordinal of the d3d adapter this surface belongs to
// (may be different from GDI display number)
jint adapter;
jint width, height;
// backbuffer-related data
jint xoff, yoff;
D3DSWAPEFFECT swapEffect;
D3DResource *pResource;
};
#define UNDEFINED sun_java2d_pipe_hw_AccelSurface_UNDEFINED
#define RT_PLAIN sun_java2d_pipe_hw_AccelSurface_RT_PLAIN
#define TEXTURE sun_java2d_pipe_hw_AccelSurface_TEXTURE
#define RT_TEXTURE sun_java2d_pipe_hw_AccelSurface_RT_TEXTURE
#define FLIP_BACKBUFFER sun_java2d_pipe_hw_AccelSurface_FLIP_BACKBUFFER
#define D3D_DEVICE_RESOURCE \
sun_java2d_d3d_D3DSurfaceData_D3D_DEVICE_RESOURCE
#define ST_INT_ARGB sun_java2d_d3d_D3DSurfaceData_ST_INT_ARGB
#define ST_INT_ARGB_PRE sun_java2d_d3d_D3DSurfaceData_ST_INT_ARGB_PRE
#define ST_INT_ARGB_BM sun_java2d_d3d_D3DSurfaceData_ST_INT_ARGB_BM
#define ST_INT_RGB sun_java2d_d3d_D3DSurfaceData_ST_INT_RGB
#define ST_INT_BGR sun_java2d_d3d_D3DSurfaceData_ST_INT_BGR
#define ST_USHORT_565_RGB sun_java2d_d3d_D3DSurfaceData_ST_USHORT_565_RGB
#define ST_USHORT_555_RGB sun_java2d_d3d_D3DSurfaceData_ST_USHORT_555_RGB
#define ST_BYTE_INDEXED sun_java2d_d3d_D3DSurfaceData_ST_BYTE_INDEXED
#define ST_BYTE_INDEXED_BM sun_java2d_d3d_D3DSurfaceData_ST_BYTE_INDEXED_BM
#define ST_3BYTE_BGR sun_java2d_d3d_D3DSurfaceData_ST_3BYTE_BGR
/**
* These are defined to be the same as ExtendedBufferCapabilities.VSyncType
* enum.
*/
#define VSYNC_DEFAULT 0
#define VSYNC_ON 1
#define VSYNC_OFF 2
/**
* These are shorthand names for the filtering method constants used by
* image transform methods.
*/
#define D3DSD_XFORM_DEFAULT 0
#define D3DSD_XFORM_NEAREST_NEIGHBOR \
java_awt_image_AffineTransformOp_TYPE_NEAREST_NEIGHBOR
#define D3DSD_XFORM_BILINEAR \
java_awt_image_AffineTransformOp_TYPE_BILINEAR
void D3DSD_Flush(void *pData);
void D3DSD_MarkLost(void *pData);
#endif /* _D3DSURFACEDATA_H_ */