aboutsummaryrefslogtreecommitdiff
path: root/src/windows/native/sun/java2d/d3d/D3DSurfaceData.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/windows/native/sun/java2d/d3d/D3DSurfaceData.h')
-rw-r--r--src/windows/native/sun/java2d/d3d/D3DSurfaceData.h78
1 files changed, 52 insertions, 26 deletions
diff --git a/src/windows/native/sun/java2d/d3d/D3DSurfaceData.h b/src/windows/native/sun/java2d/d3d/D3DSurfaceData.h
index 29a6548ef..22a89bc15 100644
--- a/src/windows/native/sun/java2d/d3d/D3DSurfaceData.h
+++ b/src/windows/native/sun/java2d/d3d/D3DSurfaceData.h
@@ -1,5 +1,5 @@
/*
- * Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2007-2008 Sun Microsystems, Inc. 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
@@ -23,45 +23,71 @@
* have any questions.
*/
-#ifndef D3DSurfaceData_h_Included
-#define D3DSurfaceData_h_Included
+#ifndef _D3DSURFACEDATA_H_
+#define _D3DSURFACEDATA_H_
#include "java_awt_image_AffineTransformOp.h"
#include "sun_java2d_d3d_D3DSurfaceData.h"
-#include "Win32SurfaceData.h"
+#include "sun_java2d_pipe_hw_AccelSurface.h"
+#include "SurfaceData.h"
+#include <d3d9.h>
-// Shortcut macros
+typedef struct _D3DSDOps D3DSDOps;
-#define D3D_PLAIN_SURFACE sun_java2d_d3d_D3DSurfaceData_D3D_PLAIN_SURFACE
-#define D3D_TEXTURE_SURFACE sun_java2d_d3d_D3DSurfaceData_D3D_TEXTURE_SURFACE
-#define D3D_BACKBUFFER_SURFACE sun_java2d_d3d_D3DSurfaceData_D3D_BACKBUFFER_SURFACE
-#define D3D_RTT_SURFACE sun_java2d_d3d_D3DSurfaceData_D3D_RTT_SURFACE
+class D3DResource;
-#define D3D_RENDER_TARGET sun_java2d_d3d_D3DSurfaceData_D3D_RENDER_TARGET
-#define D3D_ATTACHED_SURFACE sun_java2d_d3d_D3DSurfaceData_D3D_ATTACHED_SURFACE
+struct _D3DSDOps {
+ SurfaceDataOps sdOps;
-#define PF_INVALID sun_java2d_d3d_D3DSurfaceData_PF_INVALID
-#define PF_INT_ARGB sun_java2d_d3d_D3DSurfaceData_PF_INT_ARGB
-#define PF_INT_RGB sun_java2d_d3d_D3DSurfaceData_PF_INT_RGB
-#define PF_INT_RGBX sun_java2d_d3d_D3DSurfaceData_PF_INT_RGBX
-#define PF_INT_BGR sun_java2d_d3d_D3DSurfaceData_PF_INT_BGR
-#define PF_USHORT_565_RGB sun_java2d_d3d_D3DSurfaceData_PF_USHORT_565_RGB
-#define PF_USHORT_555_RGB sun_java2d_d3d_D3DSurfaceData_PF_USHORT_555_RGB
-#define PF_USHORT_555_RGBX sun_java2d_d3d_D3DSurfaceData_PF_USHORT_555_RGBX
-#define PF_INT_ARGB_PRE sun_java2d_d3d_D3DSurfaceData_PF_INT_ARGB_PRE
-#define PF_USHORT_4444_ARGB sun_java2d_d3d_D3DSurfaceData_PF_USHORT_4444_ARGB
+ // the ordinal of the d3d adapter this surface belongs to
+ // (may be different from GDI display number)
+ jint adapter;
+ jint width, height;
-typedef struct _D3DSDOps D3DSDOps;
+ // backbuffer-related data
+ jint xoff, yoff;
+ D3DSWAPEFFECT swapEffect;
-struct _D3DSDOps {
- Win32SDOps dxOps;
- jint d3dType; // surface type (plain/texture/bb/rtt) - see D3DSurfaceData.java
+ 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
+
+/**
+ * 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_Included */
+#endif /* _D3DSURFACEDATA_H_ */