Code Search for Developers
 
 
  

org_lwjgl_d3d_IDirect3D9.c from Lightweight Java Game Library at Krugle


Show org_lwjgl_d3d_IDirect3D9.c syntax highlighted

#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;
}




See more files for this project here

Lightweight Java Game Library

A Java Game Library extension: 1. Handles the graphics, sound, and input simply 2. Wraps OpenGL, OpenAL, fmod3 and DevIL 3. Hires timers LWJGL currently supports Linux, Mac OS X (10.2 and above) and Windows (98 and above).

Project homepage: http://sourceforge.net/projects/java-game-lib
Programming language(s): C,Java
License: other

  LWJGL.c
  Window.h
  context.c
  context.h
  dinputhelper.c
  dinputhelper.h
  display.c
  display.h
  extgl_wgl.c
  extgl_wgl.h
  org_lwjgl_Sys.c
  org_lwjgl_d3d_D3DUtil.c
  org_lwjgl_d3d_IDirect3D9.c
  org_lwjgl_d3d_IDirect3D9Ex.c
  org_lwjgl_d3d_IDirect3DBaseTexture9.c
  org_lwjgl_d3d_IDirect3DCubeTexture9.c
  org_lwjgl_d3d_IDirect3DDevice9.c
  org_lwjgl_d3d_IDirect3DDevice9Ex.c
  org_lwjgl_d3d_IDirect3DIndexBuffer9.c
  org_lwjgl_d3d_IDirect3DPixelShader9.c
  org_lwjgl_d3d_IDirect3DQuery9.c
  org_lwjgl_d3d_IDirect3DResource9.c
  org_lwjgl_d3d_IDirect3DStateBlock9.c
  org_lwjgl_d3d_IDirect3DSurface9.c
  org_lwjgl_d3d_IDirect3DSwapChain9.c
  org_lwjgl_d3d_IDirect3DSwapChain9Ex.c
  org_lwjgl_d3d_IDirect3DTexture9.c
  org_lwjgl_d3d_IDirect3DVertexBuffer9.c
  org_lwjgl_d3d_IDirect3DVertexDeclaration9.c
  org_lwjgl_d3d_IDirect3DVertexShader9.c
  org_lwjgl_d3d_IDirect3DVolume9.c
  org_lwjgl_d3d_IDirect3DVolumeTexture9.c
  org_lwjgl_d3d_WindowsContextImplementation.c
  org_lwjgl_d3d_WindowsDirectInput3.c
  org_lwjgl_d3d_WindowsDirectInput8.c
  org_lwjgl_d3d_WindowsDirectInputDevice3.c
  org_lwjgl_d3d_WindowsDirectInputDevice8.c
  org_lwjgl_d3d_WindowsDisplay.c
  org_lwjgl_d3d_WindowsDisplayPeerInfo.c
  org_lwjgl_d3d_WindowsKeyboard.c
  org_lwjgl_d3d_WindowsPeerInfo.c
  org_lwjgl_d3d_WindowsRegistry.c
  org_lwjgl_input_Cursor.c
  org_lwjgl_opengl_Display.c
  org_lwjgl_opengl_Pbuffer.c
  org_lwjgl_opengl_WindowsAWTGLCanvasPeerInfo.c
  org_lwjgl_opengl_WindowsAWTInput.c
  org_lwjgl_opengl_WindowsContextImplementation.c
  org_lwjgl_opengl_WindowsDirectInput3.c
  org_lwjgl_opengl_WindowsDirectInput8.c
  org_lwjgl_opengl_WindowsDirectInputDevice3.c
  org_lwjgl_opengl_WindowsDirectInputDevice8.c
  org_lwjgl_opengl_WindowsDisplayPeerInfo.c
  org_lwjgl_opengl_WindowsKeyboard.c
  org_lwjgl_opengl_WindowsPeerInfo.c
  org_lwjgl_opengl_WindowsRegistry.c
  windows_al.c