| /* |
| * 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_ */ |