From: <eli...@us...> - 2006-07-15 19:25:32
|
Revision: 2520 Author: elias_naur Date: 2006-07-15 12:25:13 -0700 (Sat, 15 Jul 2006) ViewCVS: http://svn.sourceforge.net/java-game-lib/?rev=2520&view=rev Log Message: ----------- Windows: Move more of Display.getVersion to java Modified Paths: -------------- trunk/LWJGL/src/java/org/lwjgl/Sys.java trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsDisplay.java trunk/LWJGL/src/native/windows/display.c trunk/LWJGL/src/native/windows/display.h trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Display.c Added Paths: ----------- trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsFileVersion.java Modified: trunk/LWJGL/src/java/org/lwjgl/Sys.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/Sys.java 2006-07-15 18:45:20 UTC (rev 2519) +++ trunk/LWJGL/src/java/org/lwjgl/Sys.java 2006-07-15 19:25:13 UTC (rev 2520) @@ -57,7 +57,7 @@ private static final String VERSION = "1.0beta2"; /** Current version of the JNI library */ - static final int JNI_VERSION = 1; + static final int JNI_VERSION = 2; /** The implementation instance to delegate platform specific behavior to */ private final static SysImplementation implementation; Modified: trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsDisplay.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsDisplay.java 2006-07-15 18:45:20 UTC (rev 2519) +++ trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsDisplay.java 2006-07-15 19:25:13 UTC (rev 2520) @@ -248,12 +248,13 @@ public String getVersion() { String driver = getAdapter(); - if (driver != null) - return nGetVersion(driver); - else + if (driver != null) { + WindowsFileVersion version = nGetVersion(driver + ".dll"); + return version.toString(); + } else return null; } - private native String nGetVersion(String driver); + private native WindowsFileVersion nGetVersion(String driver); public DisplayMode init() throws LWJGLException { current_gamma = saved_gamma = getCurrentGammaRamp(); Copied: trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsFileVersion.java (from rev 2514, trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsRegistry.java) =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsFileVersion.java (rev 0) +++ trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsFileVersion.java 2006-07-15 19:25:13 UTC (rev 2520) @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2002-2004 LWJGL Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of 'LWJGL' nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package org.lwjgl.opengl; + +/** + * @author elias_naur + */ + +final class WindowsFileVersion { + private final int product_version_ms; + private final int product_version_ls; + + public WindowsFileVersion(int product_version_ms, int product_version_ls) { + this.product_version_ms = product_version_ms; + this.product_version_ls = product_version_ls; + } + + public String toString() { + int f1 = (product_version_ms >> 16) & 0xFFFF; + int f2 = product_version_ms & 0xFFFF; + int f3 = (product_version_ls >> 16) & 0xFFFF; + int f4 = product_version_ls & 0xFFFF; + return f1 + "." + f2 + "." + f3 + "." + f4; + } +} Modified: trunk/LWJGL/src/native/windows/display.c =================================================================== --- trunk/LWJGL/src/native/windows/display.c 2006-07-15 18:45:20 UTC (rev 2519) +++ trunk/LWJGL/src/native/windows/display.c 2006-07-15 19:25:13 UTC (rev 2520) @@ -241,17 +241,23 @@ ChangeDisplaySettings(NULL, 0); } -jstring getVersion(JNIEnv * env, char *driver) +jobject getVersion(JNIEnv * env, char *driver) { -#define BUFFER_SIZE 1024 - jstring ret = NULL; - - const char *dll_ext = ".dll"; DWORD var = 0; DWORD dwInfoSize; LPVOID lpInfoBuff; BOOL bRetval; + jclass version_class; + jmethodID version_cons; + jobject ret = NULL; + version_class = (*env)->FindClass(env, "org/lwjgl/opengl/WindowsFileVersion"); + if (version_class == NULL) + return NULL; + version_cons = (*env)->GetMethodID(env, version_class, "<init>", "(II)V"); + if (version_cons == NULL) + return NULL; + dwInfoSize = GetFileVersionInfoSize(driver, &var); lpInfoBuff = malloc(dwInfoSize); if (lpInfoBuff == NULL) { @@ -259,20 +265,13 @@ return NULL; } bRetval = GetFileVersionInfo(driver, 0, dwInfoSize, lpInfoBuff); - if (bRetval == 0) { - } else { + if (bRetval != 0) { VS_FIXEDFILEINFO * fxdFileInfo; UINT uiLen = 0; - bRetval = VerQueryValue(lpInfoBuff, TEXT("\\"), (void *)&fxdFileInfo, &uiLen); - if (bRetval != 0) { - TCHAR version[BUFFER_SIZE]; - TCHAR ms[BUFFER_SIZE], ls[BUFFER_SIZE]; - _snprintf_s(ms, BUFFER_SIZE, _TRUNCATE, "%d.%d\0", fxdFileInfo->dwProductVersionMS >> 16, fxdFileInfo->dwProductVersionMS & 0xFFFF); - _snprintf_s(ls, BUFFER_SIZE, _TRUNCATE, "%d.%d\0", fxdFileInfo->dwProductVersionLS >> 16, fxdFileInfo->dwProductVersionLS & 0xFFFF); - _snprintf_s(version, BUFFER_SIZE, _TRUNCATE, "%s.%s\0", ms, ls); - ret = NewStringNative(env, version); - } + bRetval = VerQueryValue(lpInfoBuff, TEXT("\\"), &fxdFileInfo, &uiLen); + if (bRetval != 0) + ret = (*env)->NewObject(env, version_class, version_cons, fxdFileInfo->dwProductVersionMS, fxdFileInfo->dwProductVersionLS); } free(lpInfoBuff); Modified: trunk/LWJGL/src/native/windows/display.h =================================================================== --- trunk/LWJGL/src/native/windows/display.h 2006-07-15 18:45:20 UTC (rev 2519) +++ trunk/LWJGL/src/native/windows/display.h 2006-07-15 19:25:13 UTC (rev 2520) @@ -51,7 +51,7 @@ extern void setGammaRamp(JNIEnv * env, jobject gammaRampBuffer); extern jobject getCurrentGammaRamp(JNIEnv *env); extern jobject getCurrentDisplayMode(JNIEnv * env); -extern jstring getVersion(JNIEnv * env, char *driver); +extern jobject getVersion(JNIEnv * env, char *driver); extern jobject convertToNativeRamp(JNIEnv *env, jobject float_gamma_obj); #endif Modified: trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Display.c =================================================================== --- trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Display.c 2006-07-15 18:45:20 UTC (rev 2519) +++ trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Display.c 2006-07-15 19:25:13 UTC (rev 2520) @@ -275,7 +275,7 @@ SetFocus(hwnd); } -JNIEXPORT jstring JNICALL Java_org_lwjgl_opengl_WindowsDisplay_nGetVersion(JNIEnv *env, jobject self, jstring driver) { +JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_WindowsDisplay_nGetVersion(JNIEnv *env, jobject self, jstring driver) { char *driver_str; jstring result; driver_str = GetStringNativeChars(env, driver); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <eli...@us...> - 2006-07-15 19:55:50
|
Revision: 2522 Author: elias_naur Date: 2006-07-15 12:55:42 -0700 (Sat, 15 Jul 2006) ViewCVS: http://svn.sourceforge.net/java-game-lib/?rev=2522&view=rev Log Message: ----------- Windows: Cleanup Modified Paths: -------------- trunk/LWJGL/src/native/windows/display.c trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Pbuffer.c Modified: trunk/LWJGL/src/native/windows/display.c =================================================================== --- trunk/LWJGL/src/native/windows/display.c 2006-07-15 19:45:36 UTC (rev 2521) +++ trunk/LWJGL/src/native/windows/display.c 2006-07-15 19:55:42 UTC (rev 2522) @@ -269,7 +269,7 @@ VS_FIXEDFILEINFO * fxdFileInfo; UINT uiLen = 0; - bRetval = VerQueryValue(lpInfoBuff, TEXT("\\"), &fxdFileInfo, &uiLen); + bRetval = VerQueryValue(lpInfoBuff, TEXT("\\"), (void *)&fxdFileInfo, &uiLen); if (bRetval != 0) ret = (*env)->NewObject(env, version_class, version_cons, fxdFileInfo->dwProductVersionMS, fxdFileInfo->dwProductVersionLS); } Modified: trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Pbuffer.c =================================================================== --- trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Pbuffer.c 2006-07-15 19:45:36 UTC (rev 2521) +++ trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Pbuffer.c 2006-07-15 19:55:42 UTC (rev 2522) @@ -128,11 +128,8 @@ int origin_x = 0; int origin_y = 0; HWND dummy_hwnd; HDC dummy_hdc; - HGLRC dummy_context; HPBUFFERARB Pbuffer; HDC Pbuffer_dc; - HDC saved_hdc; - HGLRC saved_context; WGLExtensions extensions; const int *pBufferAttribs_ptr; WindowsPeerInfo *peer_info = (WindowsPeerInfo *)(*env)->GetDirectBufferAddress(env, peer_info_handle); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <eli...@us...> - 2006-07-15 20:26:13
|
Revision: 2523 Author: elias_naur Date: 2006-07-15 13:25:56 -0700 (Sat, 15 Jul 2006) ViewCVS: http://svn.sourceforge.net/java-game-lib/?rev=2523&view=rev Log Message: ----------- Windows: Don't use a non-portable anonymous struct in contex.h Modified Paths: -------------- trunk/LWJGL/src/java/org/lwjgl/test/DisplayTest.java trunk/LWJGL/src/native/windows/context.h trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Pbuffer.c trunk/LWJGL/src/native/windows/org_lwjgl_opengl_WindowsAWTGLCanvasPeerInfo.c trunk/LWJGL/src/native/windows/org_lwjgl_opengl_WindowsDisplayPeerInfo.c Modified: trunk/LWJGL/src/java/org/lwjgl/test/DisplayTest.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/test/DisplayTest.java 2006-07-15 19:55:42 UTC (rev 2522) +++ trunk/LWJGL/src/java/org/lwjgl/test/DisplayTest.java 2006-07-15 20:25:56 UTC (rev 2523) @@ -69,7 +69,6 @@ System.out.println("Info about current:"); System.out.println("Graphics card: " + Display.getAdapter() + ", version: " + Display.getVersion()); -System.exit(1); System.out.println("Resolution: " + Display.getDisplayMode().getWidth() + "x" + Display.getDisplayMode().getHeight() + "x" + Modified: trunk/LWJGL/src/native/windows/context.h =================================================================== --- trunk/LWJGL/src/native/windows/context.h 2006-07-15 19:55:42 UTC (rev 2522) +++ trunk/LWJGL/src/native/windows/context.h 2006-07-15 20:25:56 UTC (rev 2523) @@ -55,7 +55,7 @@ // created the pbuffer WGLExtensions extensions; } pbuffer; - }; + } u; HDC format_hdc; HDC drawable_hdc; } WindowsPeerInfo; Modified: trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Pbuffer.c =================================================================== --- trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Pbuffer.c 2006-07-15 19:55:42 UTC (rev 2522) +++ trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Pbuffer.c 2006-07-15 20:25:56 UTC (rev 2523) @@ -166,23 +166,23 @@ return; } peer_info->format_hdc = Pbuffer_dc; - peer_info->pbuffer.extensions = extensions; - peer_info->pbuffer.pbuffer = Pbuffer; + peer_info->u.pbuffer.extensions = extensions; + peer_info->u.pbuffer.pbuffer = Pbuffer; peer_info->drawable_hdc = Pbuffer_dc; } JNIEXPORT void JNICALL Java_org_lwjgl_opengl_WindowsPbufferPeerInfo_nDestroy (JNIEnv *env, jclass clazz, jobject peer_info_handle) { WindowsPeerInfo *peer_info = (WindowsPeerInfo *)(*env)->GetDirectBufferAddress(env, peer_info_handle); - peer_info->pbuffer.extensions.wglReleasePbufferDCARB(peer_info->pbuffer.pbuffer, peer_info->drawable_hdc); - peer_info->pbuffer.extensions.wglDestroyPbufferARB(peer_info->pbuffer.pbuffer); + peer_info->u.pbuffer.extensions.wglReleasePbufferDCARB(peer_info->u.pbuffer.pbuffer, peer_info->drawable_hdc); + peer_info->u.pbuffer.extensions.wglDestroyPbufferARB(peer_info->u.pbuffer.pbuffer); } JNIEXPORT jboolean JNICALL Java_org_lwjgl_opengl_WindowsPbufferPeerInfo_nIsBufferLost (JNIEnv *env, jclass clazz, jobject peer_info_handle) { WindowsPeerInfo *peer_info = (WindowsPeerInfo *)(*env)->GetDirectBufferAddress(env, peer_info_handle); BOOL buffer_lost; - peer_info->pbuffer.extensions.wglQueryPbufferARB(peer_info->pbuffer.pbuffer, WGL_PBUFFER_LOST_ARB, &buffer_lost); + peer_info->u.pbuffer.extensions.wglQueryPbufferARB(peer_info->u.pbuffer.pbuffer, WGL_PBUFFER_LOST_ARB, &buffer_lost); return buffer_lost ? JNI_TRUE : JNI_FALSE; } @@ -195,17 +195,17 @@ attribs[1] = value; attribs[2] = 0; - peer_info->pbuffer.extensions.wglSetPbufferAttribARB(peer_info->pbuffer.pbuffer, attribs); + peer_info->u.pbuffer.extensions.wglSetPbufferAttribARB(peer_info->u.pbuffer.pbuffer, attribs); } JNIEXPORT void JNICALL Java_org_lwjgl_opengl_WindowsPbufferPeerInfo_nBindTexImageToPbuffer (JNIEnv *env, jclass clazz, jobject peer_info_handle, jint buffer) { WindowsPeerInfo *peer_info = (WindowsPeerInfo *)(*env)->GetDirectBufferAddress(env, peer_info_handle); - peer_info->pbuffer.extensions.wglBindTexImageARB(peer_info->pbuffer.pbuffer, buffer); + peer_info->u.pbuffer.extensions.wglBindTexImageARB(peer_info->u.pbuffer.pbuffer, buffer); } JNIEXPORT void JNICALL Java_org_lwjgl_opengl_WindowsPbufferPeerInfo_nReleaseTexImageFromPbuffer (JNIEnv *env, jclass clazz, jobject peer_info_handle, jint buffer) { WindowsPeerInfo *peer_info = (WindowsPeerInfo *)(*env)->GetDirectBufferAddress(env, peer_info_handle); - peer_info->pbuffer.extensions.wglReleaseTexImageARB(peer_info->pbuffer.pbuffer, buffer); + peer_info->u.pbuffer.extensions.wglReleaseTexImageARB(peer_info->u.pbuffer.pbuffer, buffer); } Modified: trunk/LWJGL/src/native/windows/org_lwjgl_opengl_WindowsAWTGLCanvasPeerInfo.c =================================================================== --- trunk/LWJGL/src/native/windows/org_lwjgl_opengl_WindowsAWTGLCanvasPeerInfo.c 2006-07-15 19:55:42 UTC (rev 2522) +++ trunk/LWJGL/src/native/windows/org_lwjgl_opengl_WindowsAWTGLCanvasPeerInfo.c 2006-07-15 20:25:56 UTC (rev 2523) @@ -50,7 +50,7 @@ WindowsPeerInfo *peer_info = (WindowsPeerInfo *)(*env)->GetDirectBufferAddress(env, peer_info_handle); AWTSurfaceLock *surface = (AWTSurfaceLock *)(*env)->GetDirectBufferAddress(env, lock_buffer_handle); JAWT_Win32DrawingSurfaceInfo *win32_dsi = (JAWT_Win32DrawingSurfaceInfo *)surface->dsi->platformInfo; - peer_info->format_hwnd = win32_dsi->hwnd; + peer_info->u.format_hwnd = win32_dsi->hwnd; peer_info->format_hdc = win32_dsi->hdc; peer_info->drawable_hdc = win32_dsi->hdc; } Modified: trunk/LWJGL/src/native/windows/org_lwjgl_opengl_WindowsDisplayPeerInfo.c =================================================================== --- trunk/LWJGL/src/native/windows/org_lwjgl_opengl_WindowsDisplayPeerInfo.c 2006-07-15 19:55:42 UTC (rev 2522) +++ trunk/LWJGL/src/native/windows/org_lwjgl_opengl_WindowsDisplayPeerInfo.c 2006-07-15 20:25:56 UTC (rev 2523) @@ -53,14 +53,14 @@ return; } dummy_hdc = GetDC(dummy_hwnd); - peer_info->format_hwnd = dummy_hwnd; + peer_info->u.format_hwnd = dummy_hwnd; peer_info->format_hdc = dummy_hdc; } JNIEXPORT void JNICALL Java_org_lwjgl_opengl_WindowsDisplayPeerInfo_nDestroy (JNIEnv *env, jclass clazz, jobject peer_info_handle) { WindowsPeerInfo *peer_info = (WindowsPeerInfo *)(*env)->GetDirectBufferAddress(env, peer_info_handle); - closeWindow(&peer_info->format_hwnd, &peer_info->format_hdc); + closeWindow(&peer_info->u.format_hwnd, &peer_info->format_hdc); } JNIEXPORT void JNICALL Java_org_lwjgl_opengl_WindowsDisplayPeerInfo_nInitDC This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ma...@us...> - 2007-04-19 22:21:08
|
Revision: 2775 http://svn.sourceforge.net/java-game-lib/?rev=2775&view=rev Author: matzon Date: 2007-04-19 15:21:04 -0700 (Thu, 19 Apr 2007) Log Message: ----------- using NewStringNativeWithLength Modified Paths: -------------- trunk/LWJGL/src/native/windows/org_lwjgl_Sys.c trunk/LWJGL/src/native/windows/org_lwjgl_opengl_WindowsRegistry.c Modified: trunk/LWJGL/src/native/windows/org_lwjgl_Sys.c =================================================================== --- trunk/LWJGL/src/native/windows/org_lwjgl_Sys.c 2007-04-19 22:20:36 UTC (rev 2774) +++ trunk/LWJGL/src/native/windows/org_lwjgl_Sys.c 2007-04-19 22:21:04 UTC (rev 2775) @@ -105,7 +105,7 @@ CloseClipboard(); return NULL; } - ret = NewStringNative(env, (const char *) clipboard_data); + ret = NewStringNativeWithLength(env, (const char *) clipboard_data, strlen(clipboard_data)); } else { return NULL; } Modified: trunk/LWJGL/src/native/windows/org_lwjgl_opengl_WindowsRegistry.c =================================================================== --- trunk/LWJGL/src/native/windows/org_lwjgl_opengl_WindowsRegistry.c 2007-04-19 22:20:36 UTC (rev 2774) +++ trunk/LWJGL/src/native/windows/org_lwjgl_opengl_WindowsRegistry.c 2007-04-19 22:21:04 UTC (rev 2775) @@ -93,7 +93,7 @@ return NULL; } result[buf_size - 1] = '\0'; - java_result = NewStringNative(env, result); + java_result = NewStringNativeWithLength(env, result, strlen(result)); free(result); return java_result; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
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] |
From: <eli...@us...> - 2007-12-04 10:58:14
|
Revision: 2926 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=2926&view=rev Author: elias_naur Date: 2007-12-04 02:58:10 -0800 (Tue, 04 Dec 2007) Log Message: ----------- Windows: 64bit compilation fixes Modified Paths: -------------- trunk/LWJGL/src/native/windows/Window.h trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Display.c Modified: trunk/LWJGL/src/native/windows/Window.h =================================================================== --- trunk/LWJGL/src/native/windows/Window.h 2007-12-04 09:27:54 UTC (rev 2925) +++ trunk/LWJGL/src/native/windows/Window.h 2007-12-04 10:58:10 UTC (rev 2926) @@ -42,9 +42,15 @@ #define _LWJGL_WINDOW_H_INCLUDED_ #define WIN32_LEAN_AND_MEAN - #define _WIN32_WINDOWS 0x0410 - #define WINVER 0x0410 - #define _WIN32_WINNT 0x0400 + #ifndef _WIN32_WINDOWS + #define _WIN32_WINDOWS 0x0410 + #endif + #ifndef WINVER + #define WINVER 0x0410 + #endif + #ifndef _WIN32_WINNT + #define _WIN32_WINNT 0x0400 + #endif #include <windows.h> #include <jni.h> Modified: trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Display.c =================================================================== --- trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Display.c 2007-12-04 09:27:54 UTC (rev 2925) +++ trunk/LWJGL/src/native/windows/org_lwjgl_opengl_Display.c 2007-12-04 10:58:10 UTC (rev 2926) @@ -520,10 +520,10 @@ if (handle_buffer != NULL) { cursor_handle = (HCURSOR *)(*env)->GetDirectBufferAddress(env, handle_buffer); cursor = *cursor_handle; - SetClassLongPtr(hwnd, GCL_HCURSOR, (LONG_PTR)cursor); + SetClassLongPtr(hwnd, GCLP_HCURSOR, (LONG_PTR)cursor); SetCursor(cursor); } else { - SetClassLongPtr(hwnd, GCL_HCURSOR, (LONG_PTR)NULL); + SetClassLongPtr(hwnd, GCLP_HCURSOR, (LONG_PTR)NULL); SetCursor(LoadCursor(NULL, IDC_ARROW)); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <eli...@us...> - 2008-06-05 13:11:17
|
Revision: 3093 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3093&view=rev Author: elias_naur Date: 2008-06-05 06:11:04 -0700 (Thu, 05 Jun 2008) Log Message: ----------- Windows: Removed unused dinputhelper.c/h Removed Paths: ------------- trunk/LWJGL/src/native/windows/dinputhelper.c trunk/LWJGL/src/native/windows/dinputhelper.h Deleted: trunk/LWJGL/src/native/windows/dinputhelper.c =================================================================== --- trunk/LWJGL/src/native/windows/dinputhelper.c 2008-06-05 08:12:14 UTC (rev 3092) +++ trunk/LWJGL/src/native/windows/dinputhelper.c 2008-06-05 13:11:04 UTC (rev 3093) @@ -1,63 +0,0 @@ -/* - * Copyright (c) 2002-2008 LWJGL Project - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name of 'LWJGL' nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/** - * $Id: org_lwjgl_input_Keyboard.c 2385 2006-06-23 16:45:21Z elias_naur $ - * - * @author elias_naue <eli...@us...> - * @version $Revision: 2385 $ - */ - -#include "common_tools.h" -#include "dinputhelper.h" -#include <jni.h> - -HRESULT objectCallback(JNIEnv *env, jobject enumerator, jint object_type, const char *tszName) { - jstring name; - jclass enum_class; - jmethodID nextObject_method; - jboolean should_continue; - - name = NewStringNativeWithLength(env, tszName, strlen(tszName)); - if (name == NULL) - return false; - enum_class = (*env)->GetObjectClass(env, enumerator); - if (enum_class == NULL) - return false; - nextObject_method = (*env)->GetMethodID(env, enum_class, "nextObject", "(ILjava/lang/String;)Z"); - if (nextObject_method == NULL) - return false; - should_continue = (*env)->CallBooleanMethod(env, enumerator, nextObject_method, object_type, name); - (*env)->DeleteLocalRef(env, name); - return should_continue == JNI_TRUE ? true : false; -} - Deleted: trunk/LWJGL/src/native/windows/dinputhelper.h =================================================================== --- trunk/LWJGL/src/native/windows/dinputhelper.h 2008-06-05 08:12:14 UTC (rev 3092) +++ trunk/LWJGL/src/native/windows/dinputhelper.h 2008-06-05 13:11:04 UTC (rev 3093) @@ -1,53 +0,0 @@ -/* - * Copyright (c) 2002-2008 LWJGL Project - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name of 'LWJGL' nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/** - * $Id: context.c 2370 2006-06-15 15:03:29Z elias_naur $ - * - * @author elias_naur <eli...@us...> - * @version $Revision: 2370 $ - */ - -#ifndef __DIRECTINPUT_HELPER_H -#define __DIRECTINPUT_HELPER_H - -#include <jni.h> -#include <windows.h> - -typedef struct { - JNIEnv *env; - jobject enumerator; -} enum_context_t; - -HRESULT objectCallback(JNIEnv *env, jobject enumerator, jint object_type, const char *tszName); - -#endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |