blob: b78678f82fd752eee784c8e05b203f55aad6475d [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2006 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
#include "swt.h"
#include "wgl_structs.h"
#include "wgl_stats.h"
#define WGL_NATIVE(func) Java_org_eclipse_swt_internal_opengl_win32_WGL_##func
#ifndef NO_ChoosePixelFormat
JNIEXPORT jint JNICALL WGL_NATIVE(ChoosePixelFormat)
(JNIEnv *env, jclass that, jint arg0, jobject arg1)
{
PIXELFORMATDESCRIPTOR _arg1, *lparg1=NULL;
jint rc = 0;
WGL_NATIVE_ENTER(env, that, ChoosePixelFormat_FUNC);
if (arg1) if ((lparg1 = getPIXELFORMATDESCRIPTORFields(env, arg1, &_arg1)) == NULL) goto fail;
rc = (jint)ChoosePixelFormat((HDC)arg0, lparg1);
fail:
if (arg1 && lparg1) setPIXELFORMATDESCRIPTORFields(env, arg1, lparg1);
WGL_NATIVE_EXIT(env, that, ChoosePixelFormat_FUNC);
return rc;
}
#endif
#ifndef NO_DescribePixelFormat
JNIEXPORT jint JNICALL WGL_NATIVE(DescribePixelFormat)
(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
{
PIXELFORMATDESCRIPTOR _arg3, *lparg3=NULL;
jint rc = 0;
WGL_NATIVE_ENTER(env, that, DescribePixelFormat_FUNC);
if (arg3) if ((lparg3 = getPIXELFORMATDESCRIPTORFields(env, arg3, &_arg3)) == NULL) goto fail;
rc = (jint)DescribePixelFormat((HDC)arg0, arg1, arg2, lparg3);
fail:
if (arg3 && lparg3) setPIXELFORMATDESCRIPTORFields(env, arg3, lparg3);
WGL_NATIVE_EXIT(env, that, DescribePixelFormat_FUNC);
return rc;
}
#endif
#ifndef NO_GetPixelFormat
JNIEXPORT jint JNICALL WGL_NATIVE(GetPixelFormat)
(JNIEnv *env, jclass that, jint arg0)
{
jint rc = 0;
WGL_NATIVE_ENTER(env, that, GetPixelFormat_FUNC);
rc = (jint)GetPixelFormat((HDC)arg0);
WGL_NATIVE_EXIT(env, that, GetPixelFormat_FUNC);
return rc;
}
#endif
#ifndef NO_SetPixelFormat
JNIEXPORT jboolean JNICALL WGL_NATIVE(SetPixelFormat)
(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
{
PIXELFORMATDESCRIPTOR _arg2, *lparg2=NULL;
jboolean rc = 0;
WGL_NATIVE_ENTER(env, that, SetPixelFormat_FUNC);
if (arg2) if ((lparg2 = getPIXELFORMATDESCRIPTORFields(env, arg2, &_arg2)) == NULL) goto fail;
rc = (jboolean)SetPixelFormat((HDC)arg0, arg1, lparg2);
fail:
if (arg2 && lparg2) setPIXELFORMATDESCRIPTORFields(env, arg2, lparg2);
WGL_NATIVE_EXIT(env, that, SetPixelFormat_FUNC);
return rc;
}
#endif
#ifndef NO_SwapBuffers
JNIEXPORT jboolean JNICALL WGL_NATIVE(SwapBuffers)
(JNIEnv *env, jclass that, jint arg0)
{
jboolean rc = 0;
WGL_NATIVE_ENTER(env, that, SwapBuffers_FUNC);
rc = (jboolean)SwapBuffers((HDC)arg0);
WGL_NATIVE_EXIT(env, that, SwapBuffers_FUNC);
return rc;
}
#endif
#ifndef NO_wglCopyContext
JNIEXPORT jboolean JNICALL WGL_NATIVE(wglCopyContext)
(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
{
jboolean rc = 0;
WGL_NATIVE_ENTER(env, that, wglCopyContext_FUNC);
rc = (jboolean)wglCopyContext((HGLRC)arg0, (HGLRC)arg1, arg2);
WGL_NATIVE_EXIT(env, that, wglCopyContext_FUNC);
return rc;
}
#endif
#ifndef NO_wglCreateContext
JNIEXPORT jint JNICALL WGL_NATIVE(wglCreateContext)
(JNIEnv *env, jclass that, jint arg0)
{
jint rc = 0;
WGL_NATIVE_ENTER(env, that, wglCreateContext_FUNC);
rc = (jint)wglCreateContext((HDC)arg0);
WGL_NATIVE_EXIT(env, that, wglCreateContext_FUNC);
return rc;
}
#endif
#ifndef NO_wglCreateLayerContext
JNIEXPORT jint JNICALL WGL_NATIVE(wglCreateLayerContext)
(JNIEnv *env, jclass that, jint arg0, jint arg1)
{
jint rc = 0;
WGL_NATIVE_ENTER(env, that, wglCreateLayerContext_FUNC);
rc = (jint)wglCreateLayerContext((HDC)arg0, arg1);
WGL_NATIVE_EXIT(env, that, wglCreateLayerContext_FUNC);
return rc;
}
#endif
#ifndef NO_wglDeleteContext
JNIEXPORT jboolean JNICALL WGL_NATIVE(wglDeleteContext)
(JNIEnv *env, jclass that, jint arg0)
{
jboolean rc = 0;
WGL_NATIVE_ENTER(env, that, wglDeleteContext_FUNC);
rc = (jboolean)wglDeleteContext((HGLRC)arg0);
WGL_NATIVE_EXIT(env, that, wglDeleteContext_FUNC);
return rc;
}
#endif
#ifndef NO_wglDescribeLayerPlane
JNIEXPORT jboolean JNICALL WGL_NATIVE(wglDescribeLayerPlane)
(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4)
{
LAYERPLANEDESCRIPTOR _arg4, *lparg4=NULL;
jboolean rc = 0;
WGL_NATIVE_ENTER(env, that, wglDescribeLayerPlane_FUNC);
if (arg4) if ((lparg4 = getLAYERPLANEDESCRIPTORFields(env, arg4, &_arg4)) == NULL) goto fail;
rc = (jboolean)wglDescribeLayerPlane((HDC)arg0, arg1, arg2, arg3, lparg4);
fail:
if (arg4 && lparg4) setLAYERPLANEDESCRIPTORFields(env, arg4, lparg4);
WGL_NATIVE_EXIT(env, that, wglDescribeLayerPlane_FUNC);
return rc;
}
#endif
#ifndef NO_wglGetCurrentContext
JNIEXPORT jint JNICALL WGL_NATIVE(wglGetCurrentContext)
(JNIEnv *env, jclass that)
{
jint rc = 0;
WGL_NATIVE_ENTER(env, that, wglGetCurrentContext_FUNC);
rc = (jint)wglGetCurrentContext();
WGL_NATIVE_EXIT(env, that, wglGetCurrentContext_FUNC);
return rc;
}
#endif
#ifndef NO_wglGetCurrentDC
JNIEXPORT jint JNICALL WGL_NATIVE(wglGetCurrentDC)
(JNIEnv *env, jclass that)
{
jint rc = 0;
WGL_NATIVE_ENTER(env, that, wglGetCurrentDC_FUNC);
rc = (jint)wglGetCurrentDC();
WGL_NATIVE_EXIT(env, that, wglGetCurrentDC_FUNC);
return rc;
}
#endif
#ifndef NO_wglGetLayerPaletteEntries
JNIEXPORT jint JNICALL WGL_NATIVE(wglGetLayerPaletteEntries)
(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4)
{
jint *lparg4=NULL;
jint rc = 0;
WGL_NATIVE_ENTER(env, that, wglGetLayerPaletteEntries_FUNC);
if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
rc = (jint)wglGetLayerPaletteEntries((HDC)arg0, arg1, arg2, arg3, lparg4);
fail:
if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
WGL_NATIVE_EXIT(env, that, wglGetLayerPaletteEntries_FUNC);
return rc;
}
#endif
#ifndef NO_wglGetProcAddress
JNIEXPORT jint JNICALL WGL_NATIVE(wglGetProcAddress)
(JNIEnv *env, jclass that, jbyteArray arg0)
{
jbyte *lparg0=NULL;
jint rc = 0;
WGL_NATIVE_ENTER(env, that, wglGetProcAddress_FUNC);
if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
rc = (jint)wglGetProcAddress(lparg0);
fail:
if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
WGL_NATIVE_EXIT(env, that, wglGetProcAddress_FUNC);
return rc;
}
#endif
#ifndef NO_wglMakeCurrent
JNIEXPORT jboolean JNICALL WGL_NATIVE(wglMakeCurrent)
(JNIEnv *env, jclass that, jint arg0, jint arg1)
{
jboolean rc = 0;
WGL_NATIVE_ENTER(env, that, wglMakeCurrent_FUNC);
rc = (jboolean)wglMakeCurrent((HDC)arg0, (HGLRC)arg1);
WGL_NATIVE_EXIT(env, that, wglMakeCurrent_FUNC);
return rc;
}
#endif
#ifndef NO_wglRealizeLayerPalette
JNIEXPORT jboolean JNICALL WGL_NATIVE(wglRealizeLayerPalette)
(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
{
jboolean rc = 0;
WGL_NATIVE_ENTER(env, that, wglRealizeLayerPalette_FUNC);
rc = (jboolean)wglRealizeLayerPalette((HDC)arg0, arg1, arg2);
WGL_NATIVE_EXIT(env, that, wglRealizeLayerPalette_FUNC);
return rc;
}
#endif
#ifndef NO_wglSetLayerPaletteEntries
JNIEXPORT jint JNICALL WGL_NATIVE(wglSetLayerPaletteEntries)
(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4)
{
jint *lparg4=NULL;
jint rc = 0;
WGL_NATIVE_ENTER(env, that, wglSetLayerPaletteEntries_FUNC);
if (arg4) if ((lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL)) == NULL) goto fail;
rc = (jint)wglSetLayerPaletteEntries((HDC)arg0, arg1, arg2, arg3, lparg4);
fail:
if (arg4 && lparg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
WGL_NATIVE_EXIT(env, that, wglSetLayerPaletteEntries_FUNC);
return rc;
}
#endif
#ifndef NO_wglShareLists
JNIEXPORT jboolean JNICALL WGL_NATIVE(wglShareLists)
(JNIEnv *env, jclass that, jint arg0, jint arg1)
{
jboolean rc = 0;
WGL_NATIVE_ENTER(env, that, wglShareLists_FUNC);
rc = (jboolean)wglShareLists((HGLRC)arg0, (HGLRC)arg1);
WGL_NATIVE_EXIT(env, that, wglShareLists_FUNC);
return rc;
}
#endif
#ifndef NO_wglSwapLayerBuffers
JNIEXPORT jboolean JNICALL WGL_NATIVE(wglSwapLayerBuffers)
(JNIEnv *env, jclass that, jint arg0, jint arg1)
{
jboolean rc = 0;
WGL_NATIVE_ENTER(env, that, wglSwapLayerBuffers_FUNC);
rc = (jboolean)wglSwapLayerBuffers((HDC)arg0, arg1);
WGL_NATIVE_EXIT(env, that, wglSwapLayerBuffers_FUNC);
return rc;
}
#endif