|
From: <cap...@us...> - 2007-08-22 23:11:57
|
Revision: 2884
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=2884&view=rev
Author: captainjester
Date: 2007-08-22 16:11:54 -0700 (Wed, 22 Aug 2007)
Log Message:
-----------
Added Paths:
-----------
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_D3DUtil.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3D9.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3D9Ex.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DBaseTexture9.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DCubeTexture9.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DDevice9.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DDevice9Ex.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DIndexBuffer9.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DPixelShader9.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DQuery9.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DResource9.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DStateBlock9.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DSurface9.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DSwapChain9.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DSwapChain9Ex.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DTexture9.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DVertexBuffer9.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DVertexDeclaration9.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DVertexShader9.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DVolume9.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DVolumeTexture9.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_WindowsContextImplementation.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_WindowsDirectInput3.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_WindowsDirectInput8.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_WindowsDirectInputDevice3.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_WindowsDirectInputDevice8.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_WindowsDisplay.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_WindowsDisplayPeerInfo.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_WindowsKeyboard.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_WindowsPeerInfo.c
trunk/LWJGL/src/native/windows/org_lwjgl_d3d_WindowsRegistry.c
Added: trunk/LWJGL/src/native/windows/org_lwjgl_d3d_D3DUtil.c
===================================================================
--- trunk/LWJGL/src/native/windows/org_lwjgl_d3d_D3DUtil.c (rev 0)
+++ trunk/LWJGL/src/native/windows/org_lwjgl_d3d_D3DUtil.c 2007-08-22 23:11:54 UTC (rev 2884)
@@ -0,0 +1,121 @@
+#include <D3dx9math.h>
+#include "org_lwjgl_d3d_D3DUtil.h"
+
+/*
+ * Class: org_lwjgl_d3d_D3DUtil
+ * Method: nD3DXMatrixLookAtLH
+ * Signature: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)V
+ */
+JNIEXPORT void JNICALL Java_org_lwjgl_d3d_D3DUtil_nD3DXMatrixLookAtLH
+ (JNIEnv *env, jclass clazz, jobject outBuffer, jobject eyeBuffer, jobject atBuffer, jobject upBuffer) {
+
+ D3DXMATRIX* out = (D3DXMATRIX*)((*env)->GetDirectBufferAddress(env, outBuffer));
+ CONST D3DXVECTOR3 *eye = (D3DXVECTOR3*)((*env)->GetDirectBufferAddress(env, eyeBuffer));
+ CONST D3DXVECTOR3 *at = (D3DXVECTOR3*)((*env)->GetDirectBufferAddress(env, atBuffer));
+ CONST D3DXVECTOR3 *up = (D3DXVECTOR3*)((*env)->GetDirectBufferAddress(env, upBuffer));
+
+ D3DXMatrixLookAtLH(out, eye, at, up);
+}
+
+/*
+ * Class: org_lwjgl_d3d_D3DUtil
+ * Method: nD3DXMatrixPerspectiveFovLH
+ * Signature: (Ljava/nio/ByteBuffer;FFFF)V
+ */
+JNIEXPORT void JNICALL Java_org_lwjgl_d3d_D3DUtil_nD3DXMatrixPerspectiveFovLH
+ (JNIEnv *env, jclass clazz, jobject outBuffer, jfloat fovy, jfloat aspect, jfloat zn, jfloat zf) {
+ D3DXMATRIX *out = (D3DXMATRIX*)((*env)->GetDirectBufferAddress(env, outBuffer));
+
+ D3DXMatrixPerspectiveFovLH(out, fovy, aspect, zn, zf);
+}
+
+/*
+ * Class: org_lwjgl_d3d_D3DUtil
+ * Method: nD3DXMatrixIdentity
+ * Signature: (Ljava/nio/ByteBuffer;)V
+ */
+JNIEXPORT void JNICALL Java_org_lwjgl_d3d_D3DUtil_nD3DXMatrixIdentity
+ (JNIEnv *env, jclass clazz, jobject outBuffer) {
+ D3DXMATRIX *out = (D3DXMATRIX*)((*env)->GetDirectBufferAddress(env, outBuffer));
+
+ D3DXMatrixIdentity(out);
+}
+
+/*
+ * Class: org_lwjgl_d3d_D3DUtil
+ * Method: nD3DXMatrixScaling
+ * Signature: (Ljava/nio/ByteBuffer;FFF)V
+ */
+JNIEXPORT void JNICALL Java_org_lwjgl_d3d_D3DUtil_nD3DXMatrixScaling
+ (JNIEnv *env, jclass clazz, jobject outBuffer, jfloat sx, jfloat sy, jfloat sz) {
+ D3DXMATRIX *out = (D3DXMATRIX*)((*env)->GetDirectBufferAddress(env, outBuffer));
+
+ D3DXMatrixScaling(out, sx, sy, sz);
+}
+
+/*
+ * Class: org_lwjgl_d3d_D3DUtil
+ * Method: nD3DXMatrixTranslation
+ * Signature: (Ljava/nio/ByteBuffer;FFF)V
+ */
+JNIEXPORT void JNICALL Java_org_lwjgl_d3d_D3DUtil_nD3DXMatrixTranslation
+ (JNIEnv *env, jclass clazz, jobject outBuffer, jfloat x, jfloat y, jfloat z) {
+ D3DXMATRIX *out = (D3DXMATRIX*)((*env)->GetDirectBufferAddress(env, outBuffer));
+
+ D3DXMatrixTranslation(out, x, y, z);
+}
+
+
+/*
+ * Class: org_lwjgl_d3d_D3DUtil
+ * Method: nD3DXMatrixRotationX
+ * Signature: (Ljava/nio/ByteBuffer;F)V
+ */
+JNIEXPORT void JNICALL Java_org_lwjgl_d3d_D3DUtil_nD3DXMatrixRotationX
+ (JNIEnv *env, jclass clazz, jobject outBuffer, jfloat angle) {
+ D3DXMATRIX *out = (D3DXMATRIX*)((*env)->GetDirectBufferAddress(env, outBuffer));
+
+ D3DXMatrixRotationY(out, angle);
+}
+
+/*
+ * Class: org_lwjgl_d3d_D3DUtil
+ * Method: nD3DXMatrixRotationY
+ * Signature: (Ljava/nio/ByteBuffer;F)V
+ */
+JNIEXPORT void JNICALL Java_org_lwjgl_d3d_D3DUtil_nD3DXMatrixRotationY
+ (JNIEnv *env, jclass clazz, jobject outBuffer, jfloat angle) {
+ D3DXMATRIX *out = (D3DXMATRIX*)((*env)->GetDirectBufferAddress(env, outBuffer));
+
+ D3DXMatrixRotationY(out, angle);
+}
+
+/*
+ * Class: org_lwjgl_d3d_D3DUtil
+ * Method: nD3DXMatrixRotationZ
+ * Signature: (Ljava/nio/ByteBuffer;F)V
+ */
+JNIEXPORT void JNICALL Java_org_lwjgl_d3d_D3DUtil_nD3DXMatrixRotationZ
+ (JNIEnv *env, jclass clazz, jobject outBuffer, jfloat angle) {
+ D3DXMATRIX *out = (D3DXMATRIX*)((*env)->GetDirectBufferAddress(env, outBuffer));
+
+ D3DXMatrixRotationY(out, angle);
+}
+
+/*
+ * Class: org_lwjgl_d3d_D3DUtil
+ * Method: nD3DXMatrixMultiply
+ * Signature: (Ljava/nio/ByteBuffer;Lorg/lwjgl/d3d/D3DMatrix;Lorg/lwjgl/d3d/D3DMatrix;)Ljava/nio/ByteBuffer;
+ */
+JNIEXPORT jobject JNICALL Java_org_lwjgl_d3d_D3DUtil_nD3DXMatrixMultiply
+ (JNIEnv *env, jclass clazz, jobject outBuffer, jobject m1Buffer, jobject m2Buffer) {
+ D3DXMATRIX *out = (D3DXMATRIX*)((*env)->GetDirectBufferAddress(env, outBuffer));
+ CONST D3DXMATRIX *m1 = (D3DXMATRIX*)((*env)->GetDirectBufferAddress(env, m1Buffer));
+ CONST D3DXMATRIX *m2 = (D3DXMATRIX*)((*env)->GetDirectBufferAddress(env, m2Buffer));
+
+ D3DXMATRIX *result = D3DXMatrixMultiply(out, m1, m2);
+
+ jobject resultBuffer = (*env)->NewDirectByteBuffer(env, result, sizeof(D3DXMATRIX));
+
+ return resultBuffer;
+}
Added: trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3D9.c
===================================================================
--- trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3D9.c (rev 0)
+++ trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3D9.c 2007-08-22 23:11:54 UTC (rev 2884)
@@ -0,0 +1,213 @@
+#include <windows.h>
+#include <windowsx.h>
+#include <d3d9.h>
+#include <stdio.h>
+#include "org_lwjgl_d3d_IDirect3D9.h"
+#include "context.h"
+
+extern void setPointer(JNIEnv *env, jobject classInstance, const char* methodName, jlong pointer);
+//void setPointer(JNIEnv *env, jobject classInstance, const char* methodName, jlong pointer) {
+// jclass clazz = (*env)->GetObjectClass(env, classInstance);
+// jmethodID mid = (*env)->GetMethodID(env, clazz, methodName, "(J)V");
+// if (mid != NULL) {
+// (*env)->CallVoidMethod(env, classInstance, mid, pointer);
+// }
+//}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3D9
+ * Method: nCheckDepthStencilMatch
+ * Signature: (IIIII)I
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3D9_nCheckDepthStencilMatch
+ (JNIEnv *env, jobject object, jlong iDirect3D9, jint adapter, jint deviceType, jint adapterFormat, jint renderTargetFormat, jint depthStencilFormat) {
+
+ return IDirect3D9_CheckDepthStencilMatch((IDirect3D9 *)iDirect3D9, adapter, deviceType, adapterFormat, renderTargetFormat, depthStencilFormat);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3D9
+ * Method: nCheckDeviceFormat
+ * Signature: (IIIJII)I
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3D9_nCheckDeviceFormat
+ (JNIEnv *env, jobject object, jlong iDirect3D9, jint adapter, jint deviceType, jint adapterFormat, jint usage, jint resoruceType, jint checkFormat) {
+
+ return IDirect3D9_CheckDeviceFormat((IDirect3D9 *)iDirect3D9, adapter, deviceType, adapterFormat, usage, resoruceType, checkFormat);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3D9
+ * Method: nCheckDeviceFormatConversion
+ * Signature: (IIII)I
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3D9_nCheckDeviceFormatConversion
+ (JNIEnv *env, jobject object, jlong iDirect3D9, jint adapter, jint deviceType, jint sourceFormat, jint targetFormat) {
+
+ return IDirect3D9_CheckDeviceFormatConversion((IDirect3D9 *)iDirect3D9, adapter, deviceType, sourceFormat, targetFormat);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3D9
+ * Method: nCheckDeviceMultiSampleType
+ * Signature: (IIIZILjava/nio/IntBuffer;)I
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3D9_nCheckDeviceMultiSampleType
+ (JNIEnv *env, jobject object, jlong iDirect3D9, jint adapter, jint deviceType, jint surfaceFormat, boolean windowed, jint multiSampleType, jobject qualityLevels) {
+
+ DWORD * quality = NULL;
+
+ if(qualityLevels != NULL) {
+ DWORD * quality = (DWORD *)((*env)->GetDirectBufferAddress(env, qualityLevels));
+ }
+
+ return IDirect3D9_CheckDeviceMultiSampleType((IDirect3D9 *)iDirect3D9, adapter, deviceType, surfaceFormat, windowed, multiSampleType, quality);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3D9
+ * Method: nCheckDeviceType
+ * Signature: (IIIIZ)I
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3D9_nCheckDeviceType
+ (JNIEnv *env, jobject object, jlong iDirect3D9, jint adapter, jint deviceType, jint displayFormat, jint backBufferFormat, boolean windowed) {
+
+ return IDirect3D9_CheckDeviceType((IDirect3D9 *)iDirect3D9, adapter, deviceType, displayFormat, backBufferFormat, windowed);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3D9
+ * Method: nCreateDevice
+ * Signature: (IIJJLorg/lwjgl/d3d/IDirect3D9$D3DPRESENT_PARAMETERS;Lorg/lwjgl/d3d/IDirect3DDevice9;)I
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3D9_nCreateDevice
+ (JNIEnv *env, jobject object, jlong iDirect3D9, jint adapter, jint deviceType, jlong focusWindow, jint behaviorFlags, jobject presentationParameters, jobject returnedDeviceInterface) {
+
+ IDirect3DDevice9 *iDirect3DDevice9;
+ HWND myHwnd = (HWND)(INT_PTR)focusWindow;
+ D3DPRESENT_PARAMETERS* pPresentationParameters = (D3DPRESENT_PARAMETERS*)((*env)->GetDirectBufferAddress(env, presentationParameters));
+
+ HRESULT hResult = IDirect3D9_CreateDevice((IDirect3D9 *)iDirect3D9, adapter, deviceType,
+ myHwnd, behaviorFlags, pPresentationParameters, &iDirect3DDevice9);
+
+ setPointer(env, returnedDeviceInterface, "setIDirect3DDevice9", (jlong)iDirect3DDevice9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3D9
+ * Method: nEnumAdapterModes
+ * Signature: (IIILorg/lwjgl/d3d/IDirect3D9$D3DDISPLAYMODE;)I
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3D9_nEnumAdapterModes
+ (JNIEnv *env, jobject object, jlong iDirect3D9, jint adapter, jint format, jint modeIndex, jobject mode) {
+
+ D3DDISPLAYMODE * displayMode = (D3DDISPLAYMODE *)((*env)->GetDirectBufferAddress(env, mode));
+
+ return IDirect3D9_EnumAdapterModes((IDirect3D9 *)iDirect3D9, adapter, format, modeIndex, displayMode);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3D9
+ * Method: nGetAdapterCount
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_org_lwjgl_d3d_IDirect3D9_nGetAdapterCount
+ (JNIEnv *env, jobject object, jlong iDirect3D9) {
+
+ return IDirect3D9_GetAdapterCount((IDirect3D9 *)iDirect3D9);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3D9
+ * Method: nGetAdapterDisplayMode
+ * Signature: (ILorg/lwjgl/d3d/IDirect3D9$D3DDISPLAYMODE;)I
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3D9_nGetAdapterDisplayMode
+ (JNIEnv *env, jobject object, jlong iDirect3D9, jint adapter, jobject mode) {
+
+ D3DDISPLAYMODE * displayMode = (D3DDISPLAYMODE *)((*env)->GetDirectBufferAddress(env, mode));
+
+ return IDirect3D9_GetAdapterDisplayMode((IDirect3D9 *)iDirect3D9, adapter, displayMode);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3D9
+ * Method: nGetAdapterIdentifier
+ * Signature: (IJLorg/lwjgl/d3d/IDirect3D9$D3DADAPTER_IDENTIFIER9;)I
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3D9_nGetAdapterIdentifier
+ (JNIEnv *env, jobject object, jlong iDirect3D9, jint adapter, jint flags, jobject identifier) {
+
+ D3DADAPTER_IDENTIFIER9 * adapterIdentifier = (D3DADAPTER_IDENTIFIER9 *)((*env)->GetDirectBufferAddress(env, identifier));
+
+ return IDirect3D9_GetAdapterIdentifier((IDirect3D9 *)iDirect3D9, adapter, flags, adapterIdentifier);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3D9
+ * Method: nGetAdapterModeCount
+ * Signature: (II)I
+ */
+JNIEXPORT jint JNICALL Java_org_lwjgl_d3d_IDirect3D9_nGetAdapterModeCount
+ (JNIEnv *env, jobject object, jlong iDirect3D9, jint adapter, jint format) {
+
+ return IDirect3D9_GetAdapterModeCount((IDirect3D9 *)iDirect3D9, adapter, format);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3D9
+ * Method: nGetAdapterMonitor
+ * Signature: (I)I
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3D9_nGetAdapterMonitor
+ (JNIEnv *env, jobject object, jlong iDirect3D9, jint adapter) {
+
+ return (jlong)IDirect3D9_GetAdapterMonitor((IDirect3D9 *)iDirect3D9, adapter);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3D9
+ * Method: nGetDeviceCaps
+ * Signature: (IILorg/lwjgl/d3d/IDirect3D9$D3DCAPS9;)I
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3D9_nGetDeviceCaps
+ (JNIEnv *env, jobject object, jlong iDirect3D9, jint adapter, jint deviceType, jobject caps) {
+ D3DCAPS9 * d3dCaps = (D3DCAPS9 *)((*env)->GetDirectBufferAddress(env, caps));
+
+ return IDirect3D9_GetDeviceCaps((IDirect3D9 *)iDirect3D9, adapter, deviceType, d3dCaps);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3D9
+ * Method: nRegisterSoftwareDevice
+ * Signature: ()I
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3D9_nRegisterSoftwareDevice
+ (JNIEnv *env, jobject object, jlong iDirect3D9) {
+
+ return 0;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3D9
+ * Method: nRelease
+ * Signature: (J)V
+ */
+JNIEXPORT void JNICALL Java_org_lwjgl_d3d_IDirect3D9_nRelease
+ (JNIEnv *env, jobject object, jlong iDirect3D9) {
+ IDirect3D9_Release((IDirect3D9 *)iDirect3D9);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3D9
+ * Method: nCreate
+ * Signature: ()J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3D9_nCreate
+ (JNIEnv *env, jclass clazz) {
+ IDirect3D9 *direct3DInterface = Direct3DCreate9(D3D_SDK_VERSION);
+
+ return (jlong)direct3DInterface;
+}
Added: trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3D9Ex.c
===================================================================
--- trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3D9Ex.c (rev 0)
+++ trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3D9Ex.c 2007-08-22 23:11:54 UTC (rev 2884)
@@ -0,0 +1,56 @@
+#include "org_lwjgl_d3d_IDirect3D9Ex.h"
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3D9Ex
+ * Method: nCreateDeviceEx
+ * Signature: (JIIJJLorg/lwjgl/d3d/D3DPresentParameters;Lorg/lwjgl/d3d/D3DDisplaymodeEx;Lorg/lwjgl/d3d/IDirect3DDevice9Ex;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3D9Ex_nCreateDeviceEx
+ (JNIEnv *env, jobject obj, jlong IDirect3D9Ex, jint adapter, jint deviceType, jlong focusWindow, jlong behaviorFlags, jobject presentationParameters, jobject fullscreenDisplayMode, jobject returnedDeviceInterface) {
+
+ return 0;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3D9Ex
+ * Method: nEnumAdapterModesEx
+ * Signature: (JILorg/lwjgl/d3d/D3DDisplaymodeFilter;ILorg/lwjgl/d3d/D3DDisplaymodeEx;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3D9Ex_nEnumAdapterModesEx
+ (JNIEnv *env, jobject obj, jlong IDirect3D9Ex, jint adapter, jobject filter, jint mode, jobject displayMode) {
+
+ return 0;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3D9Ex
+ * Method: nGetAdapterDisplayModeEx
+ * Signature: (JILorg/lwjgl/d3d/D3DDisplaymodeEx;I)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3D9Ex_nGetAdapterDisplayModeEx
+ (JNIEnv *env, jobject obj, jlong IDirect3D9Ex, jint adapter, jobject mode, jint rotation) {
+
+ return 0;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3D9Ex
+ * Method: nGetAdapterLUID
+ * Signature: (JILorg/lwjgl/d3d/LUID;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3D9Ex_nGetAdapterLUID
+ (JNIEnv *env, jobject obj, jlong IDirect3D9Ex, jint adapter, jobject LUID) {
+
+ return 0;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3D9Ex
+ * Method: nGetAdapterModeCountEx
+ * Signature: (JILorg/lwjgl/d3d/D3DDisplaymodeFilter;)I
+ */
+JNIEXPORT jint JNICALL Java_org_lwjgl_d3d_IDirect3D9Ex_nGetAdapterModeCountEx
+ (JNIEnv *env, jobject obj, jlong IDirect3D9Ex, jint adapter, jobject filter) {
+
+ return 0;
+}
Added: trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DBaseTexture9.c
===================================================================
--- trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DBaseTexture9.c (rev 0)
+++ trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DBaseTexture9.c 2007-08-22 23:11:54 UTC (rev 2884)
@@ -0,0 +1,66 @@
+#include "org_lwjgl_d3d_IDirect3DBaseTexture9.h"
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DBaseTexture9
+ * Method: nGenerateMipSubLevels
+ * Signature: (J)V
+ */
+JNIEXPORT void JNICALL Java_org_lwjgl_d3d_IDirect3DBaseTexture9_nGenerateMipSubLevels
+ (JNIEnv *env, jobject obj, jlong IDirect3DBaseTexture9) {
+
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DBaseTexture9
+ * Method: nGetAutoGenFilterType
+ * Signature: (J)I
+ */
+JNIEXPORT jint JNICALL Java_org_lwjgl_d3d_IDirect3DBaseTexture9_nGetAutoGenFilterType
+ (JNIEnv *env, jobject obj, jlong IDirect3DBaseTexture9) {
+
+ return 0;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DBaseTexture9
+ * Method: nGetLevelCount
+ * Signature: (J)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DBaseTexture9_nGetLevelCount
+ (JNIEnv *env, jobject obj, jlong IDirect3DBaseTexture9) {
+
+ return 0;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DBaseTexture9
+ * Method: nGetLOD
+ * Signature: (J)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DBaseTexture9_nGetLOD
+ (JNIEnv *env, jobject obj, jlong IDirect3DBaseTexture9) {
+
+ return 0;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DBaseTexture9
+ * Method: nSetAutoGenFilterType
+ * Signature: (JI)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DBaseTexture9_nSetAutoGenFilterType
+ (JNIEnv *env, jobject obj, jlong IDirect3DBaseTexture9, jint filterType) {
+
+ return 0;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DBaseTexture9
+ * Method: nSetLOD
+ * Signature: (JJ)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DBaseTexture9_nSetLOD
+ (JNIEnv *env, jobject obj, jlong IDirect3DBaseTexture9, jlong LODNew) {
+
+ return 0;
+}
Added: trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DCubeTexture9.c
===================================================================
--- trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DCubeTexture9.c (rev 0)
+++ trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DCubeTexture9.c 2007-08-22 23:11:54 UTC (rev 2884)
@@ -0,0 +1,56 @@
+#include "org_lwjgl_d3d_IDirect3DCubeTexture9.h"
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DCubeTexture9
+ * Method: nAddDirtyRect
+ * Signature: (JILorg/lwjgl/d3d/Rectangle;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DCubeTexture9_nAddDirtyRect
+ (JNIEnv *env, jobject obj, jlong IDirect3DCubeTexture9, jint faceType, jobject dirtyRect) {
+
+ return 0;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DCubeTexture9
+ * Method: nGetCubeMapSurface
+ * Signature: (JIILorg/lwjgl/d3d/IDirect3DSurface9;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DCubeTexture9_nGetCubeMapSurface
+ (JNIEnv *env, jobject obj, jlong IDirect3DCubeTexture9, jint faceType, jint level, jobject cubeMapSurface) {
+
+ return 0;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DCubeTexture9
+ * Method: nGetLevelDesc
+ * Signature: (JILorg/lwjgl/d3d/D3DSsurfaceDesc;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DCubeTexture9_nGetLevelDesc
+ (JNIEnv *env, jobject obj, jlong IDirect3DCubeTexture9, jint level, jobject desc) {
+
+ return 0;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DCubeTexture9
+ * Method: nLockRect
+ * Signature: (JIILorg/lwjgl/d3d/D3DLockedRect;Lorg/lwjgl/d3d/Rectangle;J)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DCubeTexture9_nLockRect
+ (JNIEnv *env, jobject obj, jlong IDirect3DCubeTexture9, jint faceType, jint level, jobject lockedRect, jobject rect, jlong flags) {
+
+ return 0;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DCubeTexture9
+ * Method: nUnlockRect
+ * Signature: (JII)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DCubeTexture9_nUnlockRect
+ (JNIEnv *env, jobject obj, jlong IDirect3DCubeTexture9, jint faceType, jint level) {
+
+ return 0;
+}
Added: trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DDevice9.c
===================================================================
--- trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DDevice9.c (rev 0)
+++ trunk/LWJGL/src/native/windows/org_lwjgl_d3d_IDirect3DDevice9.c 2007-08-22 23:11:54 UTC (rev 2884)
@@ -0,0 +1,1616 @@
+#include <d3d9.h>
+#include "org_lwjgl_d3d_IDirect3DDevice9.h"
+
+void setPointer(JNIEnv *env, jobject classInstance, const char* methodName, jlong pointer) {
+ jclass clazz = (*env)->GetObjectClass(env, classInstance);
+ jmethodID mid = (*env)->GetMethodID(env, clazz, methodName, "(J)V");
+ if (mid != NULL) {
+ (*env)->CallVoidMethod(env, classInstance, mid, pointer);
+ }
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nBeginScene
+ * Signature: ()J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nBeginScene
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9) {
+
+ return IDirect3DDevice9_BeginScene((IDirect3DDevice9*)iDirect3DDevice9);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nBeginStateBlock
+ * Signature: ()J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nBeginStateBlock
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9) {
+
+ return IDirect3DDevice9_BeginStateBlock((IDirect3DDevice9*)iDirect3DDevice9);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nClear
+ * Signature: (JLjava/nio/LongBuffer;JIFJ)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nClear
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jlong count, jobject rects, jlong flags, jint color, jfloat z, jlong stencil) {
+
+ //fix rects
+ return IDirect3DDevice9_Clear((IDirect3DDevice9*)iDirect3DDevice9, count, NULL, flags, color, z, stencil);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nColorFill
+ * Signature: (Lorg/lwjgl/d3d/IDirect3DSurface9;Lorg/lwjgl/d3d/Rectangle;I)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nColorFill
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jlong surface, jobject rectBuffer, jint color) {
+
+ RECT *rect = (RECT*)((*env)->GetDirectBufferAddress(env, rectBuffer));
+
+ return IDirect3DDevice9_ColorFill((IDirect3DDevice9*)iDirect3DDevice9, (IDirect3DSurface9*)surface, rect, color);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nCreateAdditionalSwapChain
+ * Signature: (Lorg/lwjgl/d3d/D3DPresentParameters;Lorg/lwjgl/d3d/IDirect3DSwapChain9;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nCreateAdditionalSwapChain
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jobject presentationParametersBuffer, jobject swapChain) {
+
+ D3DPRESENT_PARAMETERS *presentationParameters = (D3DPRESENT_PARAMETERS*)((*env)->GetDirectBufferAddress(env, presentationParametersBuffer));
+ IDirect3DSwapChain9 *iDirect3DSwapChain9;
+
+ HRESULT hResult = IDirect3DDevice9_CreateAdditionalSwapChain((IDirect3DDevice9*)iDirect3DDevice9, presentationParameters, &iDirect3DSwapChain9);
+
+ setPointer(env, swapChain, "setIDirect3DSwapChain9", (jlong)iDirect3DSwapChain9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nCreateCubeTexture
+ * Signature: (IIJIILorg/lwjgl/d3d/IDirect3DCubeTexture9;J)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nCreateCubeTexture
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint edgeLength, jint levels, jlong usage, jint format, jint pool, jobject cubeTexture, jlong shareHandle) {
+
+ IDirect3DCubeTexture9 *iDirect3DCubeTexture9;
+
+ HRESULT hResult = IDirect3DDevice9_CreateCubeTexture((IDirect3DDevice9*)iDirect3DDevice9, edgeLength, levels,
+ usage, format, pool, &iDirect3DCubeTexture9, (HANDLE*)shareHandle);
+
+ setPointer(env, cubeTexture, "setIDirect3DCubeTexture9", (jlong)iDirect3DCubeTexture9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nCreateDepthStencilSurface
+ * Signature: (IIIIJZLorg/lwjgl/d3d/IDirect3DSurface9;J)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nCreateDepthStencilSurface
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint width, jint height, jint format, jint multiSample, jlong multiSampleQuality, jboolean discard, jobject surface, jlong sharedHandle) {
+
+ IDirect3DSurface9 *iDirect3DSurface9;
+
+ HRESULT hResult = IDirect3DDevice9_CreateDepthStencilSurface((IDirect3DDevice9*)iDirect3DDevice9, width, height, format,
+ multiSample, multiSampleQuality, discard, &iDirect3DSurface9, (HANDLE*)sharedHandle);
+
+ setPointer(env, surface, "setIDirect3DSurface9", (jlong)iDirect3DSurface9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nCreateIndexBuffer
+ * Signature: (IJIILorg/lwjgl/d3d/IDirect3DIndexBuffer9;J)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nCreateIndexBuffer
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint length, jlong usage, jint format, jint pool, jobject indexBuffer, jlong shareHandle) {
+
+ IDirect3DIndexBuffer9 *iDirect3DIndexBuffer9;
+
+ HRESULT hResult = IDirect3DDevice9_CreateIndexBuffer((IDirect3DDevice9*)iDirect3DDevice9, length, usage, format,
+ pool, &iDirect3DIndexBuffer9, (HANDLE*)shareHandle);
+
+ setPointer(env, indexBuffer, "setIDirect3DIndexBuffer9", (jlong)iDirect3DIndexBuffer9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nCreateOffscreenPlainSurface
+ * Signature: (IIIJLorg/lwjgl/d3d/IDirect3DSurface9;J)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nCreateOffscreenPlainSurface
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint width, jint height, jint format, jlong pool, jobject surface, jlong sharedHandle) {
+
+ IDirect3DSurface9 *iDirect3DSurface9;
+
+ HRESULT hResult = IDirect3DDevice9_CreateOffscreenPlainSurface((IDirect3DDevice9*)iDirect3DDevice9, width, height, format,
+ pool, &iDirect3DSurface9, (HANDLE*)sharedHandle);
+
+ setPointer(env, surface, "setIDirect3DSurface9", (jlong)iDirect3DSurface9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nCreatePixelShader
+ * Signature: (JLorg/lwjgl/d3d/IDirect3DPixelShader9;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nCreatePixelShader
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jlong function, jobject shader) {
+
+ IDirect3DPixelShader9 *iDirect3DPixelShader9;
+
+ HRESULT hResult = IDirect3DDevice9_CreatePixelShader((IDirect3DDevice9*)iDirect3DDevice9, (const DWORD*)function, &iDirect3DPixelShader9);
+
+ setPointer(env, shader, "setIDirect3DPixelShader9", (jlong)iDirect3DPixelShader9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nCreateQuery
+ * Signature: (ILorg/lwjgl/d3d/IDirect3DQuery9;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nCreateQuery
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint type, jobject query) {
+
+ IDirect3DQuery9 *iDirect3DQuery9;
+
+ HRESULT hResult = IDirect3DDevice9_CreateQuery((IDirect3DDevice9*)iDirect3DDevice9, type, &iDirect3DQuery9);
+
+ setPointer(env, query, "setIDirect3DQuery9", (jlong)iDirect3DQuery9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nCreateRenderTarget
+ * Signature: (IIIIJZLorg/lwjgl/d3d/IDirect3DSurface9;J)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nCreateRenderTarget
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint width, jint height, jint format, jint multiSample, jlong multiSampleQuality, jboolean lockable, jobject surface, jlong sharedHandle) {
+
+ IDirect3DSurface9 *iDirect3DSurface9;
+
+ HRESULT hResult = IDirect3DDevice9_CreateRenderTarget((IDirect3DDevice9*)iDirect3DDevice9, width, height, format,
+ multiSample, multiSampleQuality, lockable, &iDirect3DSurface9, (HANDLE*)sharedHandle);
+
+ setPointer(env, surface, "setIDirect3DSurface9", (jlong)iDirect3DSurface9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nCreateStateBlock
+ * Signature: (ILorg/lwjgl/d3d/IDirect3DStateBlock9;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nCreateStateBlock
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint type, jobject stateBlock) {
+
+ IDirect3DStateBlock9 *iDirect3DStateBlock9;
+
+ HRESULT hResult = IDirect3DDevice9_CreateStateBlock((IDirect3DDevice9*)iDirect3DDevice9, type, &iDirect3DStateBlock9);
+
+ setPointer(env, stateBlock, "setIDirect3DStateBlock9", (jlong)iDirect3DStateBlock9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nCreateTexture
+ * Signature: (IIIJIILorg/lwjgl/d3d/IDirect3DTexture9;J)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nCreateTexture
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint width, jint height, jint levels, jlong usage, jint format, jint pool, jobject texture, jlong sharedHandle) {
+
+ IDirect3DTexture9 *iDirect3DTexture9;
+
+ HRESULT hResult = IDirect3DDevice9_CreateTexture((IDirect3DDevice9*)iDirect3DDevice9, width, height, levels,
+ usage, format, pool, &iDirect3DTexture9, (HANDLE*)sharedHandle);
+
+ setPointer(env, texture, "setIDirect3DTexture9", (jlong)iDirect3DTexture9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nCreateVertexBuffer
+ * Signature: (IJJILorg/lwjgl/d3d/IDirect3DVertexBuffer9;J)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nCreateVertexBuffer
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint length, jint usage, jint FVF, jint pool, jobject vertexBuffer, jlong sharedHandle) {
+
+ IDirect3DVertexBuffer9 *iDirect3DVertexBuffer9;
+
+ HRESULT hResult = IDirect3DDevice9_CreateVertexBuffer((IDirect3DDevice9*)iDirect3DDevice9, length, usage, FVF,
+ pool, &iDirect3DVertexBuffer9, (HANDLE*)sharedHandle);
+
+ setPointer(env, vertexBuffer, "setIDirect3DVertexBuffer9", (jlong)iDirect3DVertexBuffer9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nCreateVertexDeclaration
+ * Signature: (Lorg/lwjgl/d3d/D3DVertexElement9;Lorg/lwjgl/d3d/IDirect3DVertexDeclaration9;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nCreateVertexDeclaration
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jobject vertexElementsBuffer, jobject decl) {
+
+ IDirect3DVertexDeclaration9 *iDirect3DVertexDeclaration9;
+ D3DVERTEXELEMENT9* vertexElements = (D3DVERTEXELEMENT9*)((*env)->GetDirectBufferAddress(env, vertexElementsBuffer));
+
+ HRESULT hResult = IDirect3DDevice9_CreateVertexDeclaration((IDirect3DDevice9*)iDirect3DDevice9, vertexElements,
+ &iDirect3DVertexDeclaration9);
+
+ setPointer(env, decl, "setIDirect3DVertexDeclaration9", (jlong)iDirect3DVertexDeclaration9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nCreateVertexShader
+ * Signature: (JLorg/lwjgl/d3d/IDirect3DVertexShader9;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nCreateVertexShader
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jlong function, jobject shader) {
+
+ IDirect3DVertexShader9 *iDirect3DVertexShader9;
+
+ HRESULT hResult = IDirect3DDevice9_CreateVertexShader((IDirect3DDevice9*)iDirect3DDevice9, (DWORD*)function,
+ &iDirect3DVertexShader9);
+
+ setPointer(env, shader, "setIDirect3DVertexShader9", (jlong)iDirect3DVertexShader9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nCreateVolumeTexture
+ * Signature: (IIIIJIILorg/lwjgl/d3d/IDirect3DVolumeTexture9;J)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nCreateVolumeTexture
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint width, jint height, jint depth, jint levels, jlong usage, jint format, jint pool, jobject volumeTexture, jlong sharedHandle) {
+
+ IDirect3DVolumeTexture9 *iDirect3DVolumeTexture9;
+
+ HRESULT hResult = IDirect3DDevice9_CreateVolumeTexture((IDirect3DDevice9*)iDirect3DDevice9, width, height, depth,
+ levels, usage, format, pool, &iDirect3DVolumeTexture9, (HANDLE*)sharedHandle);
+
+ setPointer(env, volumeTexture, "setIDirect3DVolumeTexture9", (jlong)iDirect3DVolumeTexture9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nDeletePatch
+ * Signature: (I)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nDeletePatch
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint handle) {
+
+ return IDirect3DDevice9_DeletePatch((IDirect3DDevice9*)iDirect3DDevice9, handle);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nDrawIndexedPrimitive
+ * Signature: (IIIIII)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nDrawIndexedPrimitive
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint type, jint baseVertexIndex, jint minIndex, jint numVertices, jint startIndex, jint primitiveCount) {
+
+ return IDirect3DDevice9_DrawIndexedPrimitive((IDirect3DDevice9*)iDirect3DDevice9, type, baseVertexIndex, minIndex,
+ numVertices, startIndex, primitiveCount);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nDrawIndexedPrimitiveUP
+ * Signature: (IIIILjava/nio/ByteBuffer;ILjava/nio/ByteBuffer;I)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nDrawIndexedPrimitiveUP
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint primitiveType, jint minVertexIndex, jint numVertices, jint primitiveCount, jobject indexDataBuffer, jint indexDataFormat, jobject vertexStreamZeroDataBuffer, jint vertexStreamZeroStride) {
+
+ CONST void *indexData = (CONST void *)((*env)->GetDirectBufferAddress(env, indexDataBuffer));
+ CONST void *vertexStreamZeroData = (CONST void *)((*env)->GetDirectBufferAddress(env, vertexStreamZeroDataBuffer));
+
+ return IDirect3DDevice9_DrawIndexedPrimitiveUP((IDirect3DDevice9*)iDirect3DDevice9, primitiveType, minVertexIndex,
+ numVertices, primitiveCount, indexData, indexDataFormat, vertexStreamZeroData, vertexStreamZeroStride);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nDrawPrimitive
+ * Signature: (III)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nDrawPrimitive
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint primitiveType, jint startVertex, jint primitiveCount) {
+
+ return IDirect3DDevice9_DrawPrimitive((IDirect3DDevice9*)iDirect3DDevice9, primitiveType, startVertex, primitiveCount);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nDrawPrimitiveUP
+ * Signature: (IILjava/nio/ByteBuffer;I)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nDrawPrimitiveUP
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint primitiveType, jint primitiveCount, jobject vertexStreamZeroData, jint vertexStreamZeroStride) {
+
+ void* vertex = (void*)((*env)->GetDirectBufferAddress(env, vertexStreamZeroData));
+
+ return IDirect3DDevice9_DrawPrimitiveUP((IDirect3DDevice9*)iDirect3DDevice9, primitiveType, primitiveCount, vertex, vertexStreamZeroStride);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nDrawRectPatch
+ * Signature: (ILjava/nio/FloatBuffer;Lorg/lwjgl/d3d/D3DRectPatchInfo;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nDrawRectPatch
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint handle, jobject numSegsBuffer, jobject rectPatchInfoBuffer) {
+
+ const float *numSegs = (const float *)((*env)->GetDirectBufferAddress(env, numSegsBuffer));
+ const D3DRECTPATCH_INFO *rectPatchInfo = (const D3DRECTPATCH_INFO *)((*env)->GetDirectBufferAddress(env, rectPatchInfoBuffer));
+
+ return IDirect3DDevice9_DrawRectPatch((IDirect3DDevice9*)iDirect3DDevice9, handle, numSegs, rectPatchInfo);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nDrawTriPatch
+ * Signature: (ILjava/nio/FloatBuffer;Lorg/lwjgl/d3d/D3DTriPatchInfo;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nDrawTriPatch
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint handle, jobject numSegsBuffer, jobject triPatchInfoBuffer) {
+
+ const float *numSegs = (const float *)((*env)->GetDirectBufferAddress(env, numSegsBuffer));
+ const D3DTRIPATCH_INFO *triPatchInfo = (const D3DTRIPATCH_INFO *)((*env)->GetDirectBufferAddress(env, triPatchInfoBuffer));
+
+ return IDirect3DDevice9_DrawTriPatch((IDirect3DDevice9*)iDirect3DDevice9, handle, numSegs, triPatchInfo);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nEndScene
+ * Signature: ()J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nEndScene
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9) {
+
+ return IDirect3DDevice9_EndScene((IDirect3DDevice9*)iDirect3DDevice9);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nEndStateBlock
+ * Signature: (Lorg/lwjgl/d3d/IDirect3DStateBlock9;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nEndStateBlock
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jobject stateBlock) {
+
+ IDirect3DStateBlock9 *iDirect3DStateBlock9;
+
+ HRESULT hResult = IDirect3DDevice9_EndStateBlock((IDirect3DDevice9*)iDirect3DDevice9, &iDirect3DStateBlock9);
+
+ setPointer(env, stateBlock, "setIDirect3DStateBlock9", (jlong)iDirect3DStateBlock9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nEvictManagedResources
+ * Signature: ()J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nEvictManagedResources
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9) {
+
+ return IDirect3DDevice9_EvictManagedResources((IDirect3DDevice9*)iDirect3DDevice9);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetAvailableTextureMem
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetAvailableTextureMem
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9) {
+
+ return IDirect3DDevice9_GetAvailableTextureMem((IDirect3DDevice9*)iDirect3DDevice9);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetBackBuffer
+ * Signature: (IIILorg/lwjgl/d3d/IDirect3DSurface9;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetBackBuffer
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint swapChain, jint backBuffer, jint type, jobject backBufferSurface) {
+
+ IDirect3DSurface9 *iDirect3DSurface9;
+
+ HRESULT hResult = IDirect3DDevice9_GetBackBuffer((IDirect3DDevice9*)iDirect3DDevice9, swapChain, backBuffer, type,
+ &iDirect3DSurface9);
+
+ setPointer(env, backBufferSurface, "setIDirect3DSurface9", (jlong)iDirect3DSurface9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetClipPlane
+ * Signature: (JLjava/nio/FloatBuffer;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetClipPlane
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jlong index, jobject planeBuffer) {
+
+ float* plane = (float*)((*env)->GetDirectBufferAddress(env, planeBuffer));
+
+ return IDirect3DDevice9_GetClipPlane((IDirect3DDevice9*)iDirect3DDevice9, index, plane);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetClipStatus
+ * Signature: (Lorg/lwjgl/d3d/D3DClipStatus9;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetClipStatus
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jobject clipStatusBuffer) {
+
+ D3DCLIPSTATUS9* planeBuffer = (D3DCLIPSTATUS9*)((*env)->GetDirectBufferAddress(env, clipStatusBuffer));
+
+ return IDirect3DDevice9_GetClipStatus((IDirect3DDevice9*)iDirect3DDevice9, planeBuffer);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetCreationParameters
+ * Signature: (Lorg/lwjgl/d3d/D3DDeviceCreationParameters;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetCreationParameters
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jobject parametersBuffer) {
+
+ D3DDEVICE_CREATION_PARAMETERS* parameters = (D3DDEVICE_CREATION_PARAMETERS*)((*env)->GetDirectBufferAddress(env, parametersBuffer));
+
+ return IDirect3DDevice9_GetCreationParameters((IDirect3DDevice9*)iDirect3DDevice9, parameters);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetCurrentTexturePalette
+ * Signature: (Ljava/nio/IntBuffer;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetCurrentTexturePalette
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jobject paletteNumberBuffer) {
+
+ UINT* paletteNumber = (UINT*)((*env)->GetDirectBufferAddress(env, paletteNumberBuffer));
+
+ return IDirect3DDevice9_GetCurrentTexturePalette((IDirect3DDevice9*)iDirect3DDevice9, paletteNumber);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetDepthStencilSurface
+ * Signature: (Lorg/lwjgl/d3d/IDirect3DSurface9;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetDepthStencilSurface
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jobject zStencilSurface) {
+
+ IDirect3DSurface9 *iDirect3DSurface9;
+
+ HRESULT hResult = IDirect3DDevice9_GetDepthStencilSurface((IDirect3DDevice9*)iDirect3DDevice9, &iDirect3DSurface9);
+
+ setPointer(env, zStencilSurface, "setIDirect3DSurface9", (jlong)iDirect3DSurface9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetDeviceCaps
+ * Signature: (Lorg/lwjgl/d3d/D3DCaps9;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetDeviceCaps
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jobject capsBuffer) {
+
+ D3DCAPS9* caps = (D3DCAPS9*)((*env)->GetDirectBufferAddress(env, capsBuffer));
+
+ return IDirect3DDevice9_GetDeviceCaps((IDirect3DDevice9*)iDirect3DDevice9, caps);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetDirect3D
+ * Signature: (Lorg/lwjgl/d3d/IDirect3D9;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetDirect3D
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jobject D3D9) {
+
+ IDirect3D9 *iDirect3D9;
+
+ HRESULT hResult = IDirect3DDevice9_GetDirect3D((IDirect3DDevice9*)iDirect3DDevice9, &iDirect3D9);
+
+ setPointer(env, D3D9, "setIDirect3D9", (jlong)iDirect3D9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetDisplayMode
+ * Signature: (ILorg/lwjgl/d3d/D3DDisplaymode;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetDisplayMode
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint swapChain, jobject modeBuffer) {
+
+ D3DDISPLAYMODE* mode = (D3DDISPLAYMODE*)((*env)->GetDirectBufferAddress(env, modeBuffer));
+
+ return IDirect3DDevice9_GetDisplayMode((IDirect3DDevice9*)iDirect3DDevice9, swapChain, mode);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetFrontBufferData
+ * Signature: (ILorg/lwjgl/d3d/IDirect3DSurface9;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetFrontBufferData
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint swapChain, jlong destSurface) {
+
+ return IDirect3DDevice9_GetFrontBufferData((IDirect3DDevice9*)iDirect3DDevice9, swapChain,
+ (IDirect3DSurface9 *)destSurface);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetFVF
+ * Signature: (Ljava/nio/LongBuffer;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetFVF
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jobject FVFBuffer) {
+
+ DWORD* FVF = (DWORD*)((*env)->GetDirectBufferAddress(env, FVFBuffer));
+
+ return IDirect3DDevice9_GetFVF((IDirect3DDevice9*)iDirect3DDevice9, FVF);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetGammaRamp
+ * Signature: (ILorg/lwjgl/d3d/D3DGammaRamp;)J
+ */
+JNIEXPORT void JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetGammaRamp
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint swapChain, jobject rampBuffer) {
+
+ D3DGAMMARAMP* ramp = (D3DGAMMARAMP*)((*env)->GetDirectBufferAddress(env, rampBuffer));
+
+ IDirect3DDevice9_GetGammaRamp((IDirect3DDevice9*)iDirect3DDevice9, swapChain, ramp);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetIndices
+ * Signature: (Lorg/lwjgl/d3d/IDirect3DIndexBuffer9;Ljava/nio/IntBuffer;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetIndices
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jobject indexData) {
+
+ IDirect3DIndexBuffer9 *iDirect3DIndexBuffer9;
+
+ HRESULT hResult = IDirect3DDevice9_GetIndices((IDirect3DDevice9*)iDirect3DDevice9, &iDirect3DIndexBuffer9);
+
+ setPointer(env, indexData, "setIDirect3DIndexBuffer9", (jlong)iDirect3DIndexBuffer9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetLight
+ * Signature: (JLorg/lwjgl/d3d/D3DLight9;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetLight
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jlong index, jobject lightBuffer) {
+
+ D3DLIGHT9* light = (D3DLIGHT9*)((*env)->GetDirectBufferAddress(env, lightBuffer));
+
+ return IDirect3DDevice9_GetLight((IDirect3DDevice9*)iDirect3DDevice9, index, light);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetLightEnable
+ * Signature: (JZ)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetLightEnable
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jlong index, jobject enableBuffer) {
+
+ BOOL* enable = (BOOL*)((*env)->GetDirectBufferAddress(env, enableBuffer));
+
+ return IDirect3DDevice9_GetLightEnable((IDirect3DDevice9*)iDirect3DDevice9, index, enable);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetMaterial
+ * Signature: (Lorg/lwjgl/d3d/D3DMaterial9;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetMaterial
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jobject materialBuffer) {
+
+ D3DMATERIAL9* material = (D3DMATERIAL9*)((*env)->GetDirectBufferAddress(env, materialBuffer));
+
+ return IDirect3DDevice9_GetMaterial((IDirect3DDevice9*)iDirect3DDevice9, material);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetNPatchMode
+ * Signature: ()F
+ */
+JNIEXPORT jfloat JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetNPatchMode
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9) {
+
+ return IDirect3DDevice9_GetNPatchMode((IDirect3DDevice9*)iDirect3DDevice9);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetNumberOfSwapChains
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetNumberOfSwapChains
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9) {
+
+ return IDirect3DDevice9_GetNumberOfSwapChains((IDirect3DDevice9*)iDirect3DDevice9);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetPaletteEntries
+ * Signature: (ILorg/lwjgl/d3d/PaletteEntry;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetPaletteEntries
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint paletteNumber, jobject entriesBuffer) {
+
+ PALETTEENTRY* entries = (PALETTEENTRY*)((*env)->GetDirectBufferAddress(env, entriesBuffer));
+
+ return IDirect3DDevice9_GetPaletteEntries((IDirect3DDevice9*)iDirect3DDevice9, paletteNumber, entries);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetPixelShader
+ * Signature: (Lorg/lwjgl/d3d/IDirect3DPixelShader9;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetPixelShader
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jobject shader) {
+
+ IDirect3DPixelShader9 *iDirect3DPixelShader9;
+
+ HRESULT hResult = IDirect3DDevice9_GetPixelShader((IDirect3DDevice9*)iDirect3DDevice9, &iDirect3DPixelShader9);
+
+ setPointer(env, shader, "setIDirect3DPixelShader9", (jlong)iDirect3DPixelShader9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetPixelShaderConstantB
+ * Signature: (IZI)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetPixelShaderConstantB
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint startRegister, jobject constantDataBuffer, jint boolCount) {
+
+ BOOL* constantData = (BOOL*)((*env)->GetDirectBufferAddress(env, constantDataBuffer));
+
+ return IDirect3DDevice9_GetPixelShaderConstantB((IDirect3DDevice9*)iDirect3DDevice9, startRegister, constantData,
+ boolCount);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetPixelShaderConstantF
+ * Signature: (ILjava/nio/FloatBuffer;I)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetPixelShaderConstantF
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint startRegister, jobject constantDataBuffer, jint vector4fCount) {
+
+ float* constantData = (float*)((*env)->GetDirectBufferAddress(env, constantDataBuffer));
+
+ return IDirect3DDevice9_GetPixelShaderConstantF((IDirect3DDevice9*)iDirect3DDevice9, startRegister, constantData,
+ vector4fCount);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetPixelShaderConstantI
+ * Signature: (ILjava/nio/IntBuffer;I)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetPixelShaderConstantI
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint startRegister, jobject constantDataBuffer, jint vector4iCount) {
+
+ int* constantData = (int*)((*env)->GetDirectBufferAddress(env, constantDataBuffer));
+
+ return IDirect3DDevice9_GetPixelShaderConstantI((IDirect3DDevice9*)iDirect3DDevice9, startRegister, constantData,
+ vector4iCount);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetRasterStatus
+ * Signature: (ILorg/lwjgl/d3d/D3DRasterStatus;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetRasterStatus
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint swapChain, jobject rasterStatusBuffer) {
+
+ D3DRASTER_STATUS* rasterStatus = (D3DRASTER_STATUS*)((*env)->GetDirectBufferAddress(env, rasterStatusBuffer));
+
+ return IDirect3DDevice9_GetRasterStatus((IDirect3DDevice9*)iDirect3DDevice9, swapChain, rasterStatus);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetRenderState
+ * Signature: (IJ)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetRenderState
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint state, jobject valueBuffer) {
+
+ DWORD* value = (DWORD*)((*env)->GetDirectBufferAddress(env, valueBuffer));
+
+ return IDirect3DDevice9_GetRenderState((IDirect3DDevice9*)iDirect3DDevice9, state, value);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetRenderTarget
+ * Signature: (JLorg/lwjgl/d3d/IDirect3DSurface9;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetRenderTarget
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jlong renderTargetIndex, jobject renderTarget) {
+
+ IDirect3DSurface9 *iDirect3DSurface9;
+
+ HRESULT hResult = IDirect3DDevice9_GetRenderTarget((IDirect3DDevice9*)iDirect3DDevice9, renderTargetIndex,
+ &iDirect3DSurface9);
+
+ setPointer(env, renderTarget, "setIDirect3DSurface9", (jlong)iDirect3DSurface9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetRenderTargetData
+ * Signature: (Lorg/lwjgl/d3d/IDirect3DSurface9;Lorg/lwjgl/d3d/IDirect3DSurface9;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetRenderTargetData
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jlong renderTarget, jlong destSurface) {
+
+ return IDirect3DDevice9_GetRenderTargetData((IDirect3DDevice9*)iDirect3DDevice9, (IDirect3DSurface9 *)renderTarget,
+ (IDirect3DSurface9 *)destSurface);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetSamplerState
+ * Signature: (JILjava/nio/LongBuffer;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetSamplerState
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jlong sampler, jint type, jobject valueBuffer) {
+
+ DWORD* value = (DWORD*)((*env)->GetDirectBufferAddress(env, valueBuffer));
+
+ return IDirect3DDevice9_GetSamplerState((IDirect3DDevice9*)iDirect3DDevice9, sampler, type, value);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetScissorRect
+ * Signature: (Lorg/lwjgl/d3d/Rectangle;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetScissorRect
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jobject rectBuffer) {
+
+ RECT* rect = (RECT*)((*env)->GetDirectBufferAddress(env, rectBuffer));
+
+ return IDirect3DDevice9_GetScissorRect((IDirect3DDevice9*)iDirect3DDevice9, rect);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetSoftwareVertexProcessing
+ * Signature: ()Z
+ */
+JNIEXPORT jboolean JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetSoftwareVertexProcessing
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9) {
+
+ return IDirect3DDevice9_GetSoftwareVertexProcessing((IDirect3DDevice9*)iDirect3DDevice9);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetStreamSource
+ * Signature: (ILorg/lwjgl/d3d/IDirect3DVertexBuffer9;II)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetStreamSource
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint streamNumber, jobject streamData, jobject offsetInBytesBuffer, jobject strideBuffer) {
+
+ IDirect3DVertexBuffer9 *iDirect3DVertexBuffer9;
+ UINT* offsetInBytes = (UINT*)((*env)->GetDirectBufferAddress(env, offsetInBytesBuffer));
+ UINT* stride = (UINT*)((*env)->GetDirectBufferAddress(env, strideBuffer));
+
+ HRESULT hResult = IDirect3DDevice9_GetStreamSource((IDirect3DDevice9*)iDirect3DDevice9, streamNumber,
+ &iDirect3DVertexBuffer9, offsetInBytes, stride);
+
+ setPointer(env, streamData, "setIDirect3DVertexBuffer9", (jlong)iDirect3DVertexBuffer9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetStreamSourceFreq
+ * Signature: (ILjava/nio/IntBuffer;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetStreamSourceFreq
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint streamNumber, jobject dividerBuffer) {
+
+ UINT* divider = (UINT*)((*env)->GetDirectBufferAddress(env, dividerBuffer));
+
+ return IDirect3DDevice9_GetStreamSourceFreq((IDirect3DDevice9*)iDirect3DDevice9, streamNumber, divider);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetSwapChain
+ * Signature: (ILorg/lwjgl/d3d/IDirect3DSwapChain9;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetSwapChain
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint swapChainOrdinal, jobject swapChain) {
+
+ IDirect3DSwapChain9 *iDirect3DSwapChain9;
+
+ HRESULT hResult = IDirect3DDevice9_GetSwapChain((IDirect3DDevice9*)iDirect3DDevice9, swapChainOrdinal,
+ &iDirect3DSwapChain9);
+
+ setPointer(env, swapChain, "setIDirect3DSwapChain9", (jlong)iDirect3DSwapChain9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetTexture
+ * Signature: (JLorg/lwjgl/d3d/IDirect3DBaseTexture9;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetTexture
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jlong stage, jobject texture) {
+
+ IDirect3DBaseTexture9 *iDirect3DBaseTexture9;
+
+ HRESULT hResult = IDirect3DDevice9_GetTexture((IDirect3DDevice9*)iDirect3DDevice9, stage,
+ &iDirect3DBaseTexture9);
+
+ setPointer(env, texture, "setIDirect3DBaseTexture9", (jlong)iDirect3DBaseTexture9);
+
+ return hResult;
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetTextureStageState
+ * Signature: (JIJ)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetTextureStageState
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jlong stage, jint type, jobject valueBuffer) {
+
+ UINT* value = (UINT*)((*env)->GetDirectBufferAddress(env, valueBuffer));
+
+ return IDirect3DDevice9_GetTextureStageState((IDirect3DDevice9*)iDirect3DDevice9, stage, type, value);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetTransform
+ * Signature: (ILorg/lwjgl/d3d/D3DMatrix;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetTransform
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jint state, jobject matrixBuffer) {
+
+ D3DMATRIX* matrix = (D3DMATRIX*)((*env)->GetDirectBufferAddress(env, matrixBuffer));
+
+ return IDirect3DDevice9_GetTransform((IDirect3DDevice9*)iDirect3DDevice9, state, matrix);
+}
+
+/*
+ * Class: org_lwjgl_d3d_IDirect3DDevice9
+ * Method: nGetVertexDeclaration
+ * Signature: (Lorg/lwjgl/d3d/IDirect3DVertexDeclaration9;)J
+ */
+JNIEXPORT jlong JNICALL Java_org_lwjgl_d3d_IDirect3DDevice9_nGetVertexDeclaration
+ (JNIEnv *env, jobject object, jlong iDirect3DDevice9, jobject vertexDecleration) {
+
+ IDirect3DVertexDeclaration9 *iDirect3DVertexDeclaration9;
+
+ HRESULT hResult = IDirect3DDevice9_GetVertexDeclaration((IDirect3DDevice9*)iDirect3DDevice9,
+ &iDirect3DVertexDeclaration9);
+
+ setPointer(env, vertexDecleration, "setIDirect3DVertexDeclaration9", (jlong)iDirect3DVertexDeclarati...
[truncated message content] |