diff options
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library')
6 files changed, 768 insertions, 0 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/build.bat b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/build.bat new file mode 100755 index 0000000000..e3cd949c2e --- /dev/null +++ b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/build.bat @@ -0,0 +1,34 @@ +rem ******************************************************************************* +rem Copyright (c) 2000, 2005 IBM Corporation and others. +rem All rights reserved. This program and the accompanying materials +rem are made available under the terms of the Eclipse Public License v1.0 +rem which accompanies this distribution, and is available at +rem http://www.eclipse.org/legal/epl-v10.html +rem +rem Contributors: +rem IBM Corporation - initial API and implementation +rem ******************************************************************************* + +@echo off + +IF NOT "%JAVA_HOME%"=="" GOTO MAKE + +rem ***** +rem Javah +rem ***** +set JAVA_HOME=j:\teamswt\swt-builddir\ive\bin +set path=%JAVA_HOME%;%path% + +rem ******** +rem MSVC 6.0 +rem ******** +call k:\dev\products\msvc60\vc98\bin\vcvars32.bat + +rem ****** +rem MS-SDK +rem ****** +set Mssdk=j:\teamswt\swt-builddir\mssdk +call %mssdk%\setenv.bat + +:MAKE +nmake -f make_win32.mak %1 %2 %3 %4 diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/glw.c b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/glw.c new file mode 100755 index 0000000000..81c8ed5494 --- /dev/null +++ b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/glw.c @@ -0,0 +1,283 @@ +/******************************************************************************* + * Copyright (c) 2000, 2005 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 <windows.h> +#include <wingdi.h> +#include "jni.h" +#include "swt.h" +#include "structs.h" + +#define WGL_NATIVE(func) Java_org_eclipse_swt_opengl_internal_win32_WGL_##func + +JNIEXPORT jint JNICALL WGL_NATIVE(ChoosePixelFormat) + (JNIEnv *env, jclass that, jint arg0, jobject arg1) +{ + PIXELFORMATDESCRIPTOR _arg1, *lparg1=NULL; + jint rc; + + DEBUG_CALL("ChoosePixelFormat\n") + + if (arg1) lparg1 = getPIXELFORMATDESCRIPTORFields(env, arg1, &_arg1); + rc = (jint)ChoosePixelFormat((HDC)arg0, (CONST PIXELFORMATDESCRIPTOR *)lparg1); + if (arg1) setPIXELFORMATDESCRIPTORFields(env, arg1, lparg1); + return rc; +} + +JNIEXPORT jint JNICALL WGL_NATIVE(DescribePixelFormat) + (JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3) +{ + PIXELFORMATDESCRIPTOR _arg3, *lparg3=NULL; + jint rc; + + DEBUG_CALL("DescribePixelFormat\n") + + if (arg3) lparg3 = getPIXELFORMATDESCRIPTORFields(env, arg3, &_arg3); + rc = (jint)DescribePixelFormat((HDC)arg0, arg1, arg2, (LPPIXELFORMATDESCRIPTOR)lparg3); + if (arg3) setPIXELFORMATDESCRIPTORFields(env, arg3, lparg3); + return rc; +} + +JNIEXPORT jint JNICALL WGL_NATIVE(GetPixelFormat) + (JNIEnv *env, jclass that, jint arg0) +{ + DEBUG_CALL("GetPixelFormat\n") + + return (jint)GetPixelFormat((HDC)arg0); +} + +JNIEXPORT jboolean JNICALL WGL_NATIVE(SetPixelFormat) + (JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2) +{ + PIXELFORMATDESCRIPTOR _arg2, *lparg2=NULL; + jboolean rc; + + DEBUG_CALL("SetPixelFormat\n") + + if (arg2) lparg2 = getPIXELFORMATDESCRIPTORFields(env, arg2, &_arg2); + rc = (jboolean)SetPixelFormat((HDC)arg0, arg1, (CONST PIXELFORMATDESCRIPTOR *)lparg2); + if (arg2) setPIXELFORMATDESCRIPTORFields(env, arg2, lparg2); + return rc; +} + +JNIEXPORT jboolean JNICALL WGL_NATIVE(SwapBuffers) + (JNIEnv *env, jclass that, jint arg0) +{ + DEBUG_CALL("SwapBuffers\n") + + return (jboolean)SwapBuffers((HDC)arg0); +} + +JNIEXPORT jboolean JNICALL WGL_NATIVE(wglCopyContext) + (JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2) +{ + DEBUG_CALL("wglCopyContext\n") + + return (jboolean)wglCopyContext((HGLRC)arg0, (HGLRC)arg1, (UINT)arg2); +} + +JNIEXPORT jint JNICALL WGL_NATIVE(wglCreateContext) + (JNIEnv *env, jclass that, jint arg0) +{ + DEBUG_CALL("wglCreateContext\n") + + return (jint)wglCreateContext((HDC)arg0); +} + +JNIEXPORT jint JNICALL WGL_NATIVE(wglCreateLayerContext) + (JNIEnv *env, jclass that, jint arg0, jint arg1) +{ + DEBUG_CALL("wglCreateLayerContext\n") + + return (jint)wglCreateLayerContext((HDC)arg0, arg1); +} + +JNIEXPORT jboolean JNICALL WGL_NATIVE(wglDeleteContext) + (JNIEnv *env, jclass that, jint arg0) +{ + DEBUG_CALL("wglDeleteContext\n") + + return (jboolean)wglDeleteContext((HGLRC)arg0); +} + +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; + + DEBUG_CALL("wglDescribeLayerPlane\n") + + if (arg4) lparg4 = getLAYERPLANEDESCRIPTORFields(env, arg4, &_arg4); + rc = (jboolean)wglDescribeLayerPlane((HDC)arg0, arg1, arg2, arg3, (LPLAYERPLANEDESCRIPTOR)lparg4); + if (arg4) setLAYERPLANEDESCRIPTORFields(env, arg4, lparg4); + return rc; +} + +JNIEXPORT jint JNICALL WGL_NATIVE(wglGetCurrentContext) + (JNIEnv *env, jclass that) +{ + DEBUG_CALL("wglGetCurrentContext\n") + + return (jint)wglGetCurrentContext(); +} + +JNIEXPORT jint JNICALL WGL_NATIVE(wglGetCurrentDC) + (JNIEnv *env, jclass that) +{ + DEBUG_CALL("wglGetCurrentDC\n") + + return (jint)wglGetCurrentDC(); +} + +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; + + DEBUG_CALL("wglGetLayerPaletteEntries\n") + + if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL); + rc = (jint)wglGetLayerPaletteEntries((HDC)arg0, arg1, arg2, arg3, (COLORREF *)lparg4); + if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0); + return rc; +} + +JNIEXPORT jint JNICALL WGL_NATIVE(wglGetProcAddress) + (JNIEnv *env, jclass that, jbyteArray arg0) +{ + jbyte *lparg0=NULL; + jint rc; + + DEBUG_CALL("wglGetProcAddress\n") + + if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL); + rc = (jint)wglGetProcAddress((LPCSTR)lparg0); + if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0); + return rc; +} + +JNIEXPORT jboolean JNICALL WGL_NATIVE(wglMakeCurrent) + (JNIEnv *env, jclass that, jint arg0, jint arg1) +{ + DEBUG_CALL("wglMakeCurrent\n") + + return (jboolean)wglMakeCurrent((HDC)arg0, (HGLRC)arg1); +} + +JNIEXPORT jboolean JNICALL WGL_NATIVE(wglRealizeLayerPalette) + (JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2) +{ + DEBUG_CALL("wglRealizeLayerPalette\n") + + return (jboolean)wglRealizeLayerPalette((HDC)arg0, arg1, (BOOL)arg2); +} + +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; + + DEBUG_CALL("wglSetLayerPaletteEntries\n") + + if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL); + rc = (jint)wglSetLayerPaletteEntries((HDC)arg0, arg1, arg2, arg3, (CONST COLORREF *)lparg4); + if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0); + return rc; +} + +JNIEXPORT jboolean JNICALL WGL_NATIVE(wglShareLists) + (JNIEnv *env, jclass that, jint arg0, jint arg1) +{ + DEBUG_CALL("wglShareLists\n") + + return (jboolean)wglShareLists((HGLRC)arg0, (HGLRC)arg1); +} + +JNIEXPORT jboolean JNICALL WGL_NATIVE(wglSwapLayerBuffers) + (JNIEnv *env, jclass that, jint arg0, jint arg1) +{ + DEBUG_CALL("wglSwapLayerBuffers\n") + + return (jboolean)wglSwapLayerBuffers((HDC)arg0, arg1); +} + +JNIEXPORT jboolean JNICALL WGL_NATIVE(wglUseFontBitmapsA) + (JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3) +{ + DEBUG_CALL("wglUseFontBitmapsA\n") + + return (jboolean)wglUseFontBitmapsA((HDC)arg0, arg1, arg2, arg3); +} + +JNIEXPORT jboolean JNICALL WGL_NATIVE(wglUseFontBitmapsW) + (JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3) +{ + DEBUG_CALL("wglUseFontBitmapsW\n") + + return (jboolean)wglUseFontBitmapsW((HDC)arg0, arg1, arg2, arg3); +} + +JNIEXPORT jboolean JNICALL WGL_NATIVE(wglUseFontOutlinesA) + (JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jfloat arg4, jfloat arg5, jint arg6, jobject arg7) +{ +// GLYPHMETRICSFLOAT _arg7, *lparg7=NULL; + jboolean rc; + + DEBUG_CALL("wglUseFontOutlinesA\n") + +// if (arg7) lparg7 = getGLYPHMETRICSFLOATFields(env, arg7, &_arg7); + rc = (jboolean)wglUseFontOutlinesA((HDC)arg0, arg1, arg2, arg3, (FLOAT)arg4, (FLOAT)arg5, arg6, (LPGLYPHMETRICSFLOAT)arg7); +// if (arg7) setGLYPHMETRICSFLOATFields(env, arg7, lparg7); + return rc; +} + +JNIEXPORT jboolean JNICALL WGL_NATIVE(wglUseFontOutlinesW) + (JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jfloat arg4, jfloat arg5, jint arg6, jobject arg7) +{ +// GLYPHMETRICSFLOAT _arg7, *lparg7=NULL; + jboolean rc; + + DEBUG_CALL("wglUseFontOutlinesW\n") + +// if (arg7) lparg7 = getGLYPHMETRICSFLOATFields(env, arg7, &_arg7); + rc = (jboolean)wglUseFontOutlinesW((HDC)arg0, arg1, arg2, arg3, (FLOAT)arg4, (FLOAT)arg5, arg6, (LPGLYPHMETRICSFLOAT)arg7); +// if (arg7) setGLYPHMETRICSFLOATFields(env, arg7, lparg7); + return rc; +} + +JNIEXPORT void JNICALL WGL_NATIVE(MoveMemoryW__Lorg_eclipse_swt_opengl_internal_win32_GLYPHMETRICSFLOAT_2II) + (JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2) +{ + GLYPHMETRICSFLOAT _arg0, *lparg0=NULL; + + DEBUG_CALL("MoveMemoryW__Lorg_eclipse_swt_opengl_internal_win32_GLYPHMETRICSFLOAT_2II\n") + DEBUG_CHECK_NULL(env, arg1) + + if (arg0) lparg0 = &_arg0; + MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2); + if (arg0) setGLYPHMETRICSFLOATFields(env, arg0, lparg0); +} + +JNIEXPORT void JNICALL WGL_NATIVE(MoveMemoryA__Lorg_eclipse_swt_opengl_internal_win32_GLYPHMETRICSFLOAT_2II) + (JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2) +{ + GLYPHMETRICSFLOAT _arg0, *lparg0=NULL; + + DEBUG_CALL("MoveMemoryA__Lorg_eclipse_swt_opengl_internal_win32_GLYPHMETRICSFLOAT_2II\n") + DEBUG_CHECK_NULL(env, arg1) + + if (arg0) lparg0 = &_arg0; + MoveMemory((PVOID)lparg0, (CONST VOID *)arg1, arg2); + if (arg0) setGLYPHMETRICSFLOATFields(env, arg0, lparg0); +} + + diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/make_win32.mak b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/make_win32.mak new file mode 100755 index 0000000000..af6a861e89 --- /dev/null +++ b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/make_win32.mak @@ -0,0 +1,56 @@ +#******************************************************************************* +# Copyright (c) 2000, 2005 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 +#******************************************************************************* + +# assumes JAVA_HOME is set in the environment from which nmake is run + +APPVER=5.0 +!include <win32.mak> + +pgm_ver_str="SWT $(maj_ver).$(min_ver) for Windows" +timestamp_str=__DATE__\" \"__TIME__\" (EST)\" +copyright = "Copyright (C) 1999, 2003 IBM Corp. All rights reserved." + +SWT_PREFIX=gl +WS_PREFIX=win32 +SWT_LIB = $(SWT_PREFIX)-$(WS_PREFIX).dll + +LINK_LIBS = opengl32.lib glu32.lib gdi32.lib + +# note: thoroughly test all examples after changing any optimization flags +SWT_CDEBUG = #-Zi -Odi +SWT_LDEBUG = #/DEBUG /DEBUGTYPE:both +CFLAGS = -c -W3 -G6 -GD -O1 $(SWT_CDEBUG) -nologo -D_X86_=1 -D_WIN32 -D_WIN95 -D_WIN32_WINDOWS=0x0400 -D_MT -MT -DWIN32 -D_WIN32_DCOM /I$(JAVA_HOME)\include /I. +RCFLAGS = -DSWT_COMMA_VERSION=$(comma_ver) +LFLAGS = /INCREMENTAL:NO /PDB:NONE /RELEASE /NOLOGO $(SWT_LDEBUG) -entry:_DllMainCRTStartup@12 -dll /BASE:0x10000000 /comment:$(pgm_ver_str) /comment:$(copyright) /DLL + +SWT_OBJS = swt.obj gl.obj glu.obj glw.obj structs.obj + +all: $(SWT_LIB) + +.c.obj: + cl $(CFLAGS) $*.c + +$(SWT_LIB): $(SWT_OBJS) swt.res + echo $(LFLAGS) >templrf + echo $(LINK_LIBS) >>templrf + echo -machine:IX86 >>templrf + echo -subsystem:windows >>templrf + echo -out:$(SWT_LIB) >>templrf + echo $(SWT_OBJS) >>templrf + echo swt.res >>templrf + link @templrf + del templrf + +swt.res: + rc $(RCFLAGS) -DSWT_ORG_FILENAME=\"$(SWT_LIB)\" -r -fo swt.res swt.rc + +clean: + del *.obj *.res *.dll *.lib *.exp diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/structs.c b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/structs.c new file mode 100755 index 0000000000..a38435b144 --- /dev/null +++ b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/structs.c @@ -0,0 +1,304 @@ +/******************************************************************************* + * Copyright (c) 2000, 2005 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 "structs.h" + +typedef struct GLYPHMETRICSFLOAT_FID_CACHE { + int cached; + jclass clazz; + jfieldID gmfCellIncY, gmfCellIncX, gmfptGlyphOrigin_y, gmfptGlyphOrigin_x, gmfBlackBoxY, gmfBlackBoxX; +} GLYPHMETRICSFLOAT_FID_CACHE; +typedef GLYPHMETRICSFLOAT_FID_CACHE *PGLYPHMETRICSFLOAT_FID_CACHE; + +GLYPHMETRICSFLOAT_FID_CACHE GLYPHMETRICSFLOATFc; + +void cacheGLYPHMETRICSFLOATFids(JNIEnv *env, jobject lpObject, PGLYPHMETRICSFLOAT_FID_CACHE lpCache) +{ + if (lpCache->cached) return; + lpCache->clazz = (*env)->GetObjectClass(env, lpObject); + lpCache->gmfCellIncY = (*env)->GetFieldID(env, lpCache->clazz, "gmfCellIncY", "F"); + lpCache->gmfCellIncX = (*env)->GetFieldID(env, lpCache->clazz, "gmfCellIncX", "F"); + lpCache->gmfptGlyphOrigin_y = (*env)->GetFieldID(env, lpCache->clazz, "gmfptGlyphOrigin_y", "F"); + lpCache->gmfptGlyphOrigin_x = (*env)->GetFieldID(env, lpCache->clazz, "gmfptGlyphOrigin_x", "F"); + lpCache->gmfBlackBoxY = (*env)->GetFieldID(env, lpCache->clazz, "gmfBlackBoxY", "F"); + lpCache->gmfBlackBoxX = (*env)->GetFieldID(env, lpCache->clazz, "gmfBlackBoxX", "F"); + lpCache->cached = 1; +} + +GLYPHMETRICSFLOAT *getGLYPHMETRICSFLOATFields(JNIEnv *env, jobject lpObject, GLYPHMETRICSFLOAT *lpStruct) +{ + PGLYPHMETRICSFLOAT_FID_CACHE lpCache = &GLYPHMETRICSFLOATFc; + if (!lpCache->cached) cacheGLYPHMETRICSFLOATFids(env, lpObject, lpCache); + lpStruct->gmfCellIncY = (*env)->GetFloatField(env, lpObject, lpCache->gmfCellIncY); + lpStruct->gmfCellIncX = (*env)->GetFloatField(env, lpObject, lpCache->gmfCellIncX); + lpStruct->gmfptGlyphOrigin.y = (*env)->GetFloatField(env, lpObject, lpCache->gmfptGlyphOrigin_y); + lpStruct->gmfptGlyphOrigin.x = (*env)->GetFloatField(env, lpObject, lpCache->gmfptGlyphOrigin_x); + lpStruct->gmfBlackBoxY = (*env)->GetFloatField(env, lpObject, lpCache->gmfBlackBoxY); + lpStruct->gmfBlackBoxX = (*env)->GetFloatField(env, lpObject, lpCache->gmfBlackBoxX); + return lpStruct; +} + +void setGLYPHMETRICSFLOATFields(JNIEnv *env, jobject lpObject, GLYPHMETRICSFLOAT *lpStruct) +{ + PGLYPHMETRICSFLOAT_FID_CACHE lpCache = &GLYPHMETRICSFLOATFc; + if (!lpCache->cached) cacheGLYPHMETRICSFLOATFids(env, lpObject, lpCache); + (*env)->SetFloatField(env, lpObject, lpCache->gmfCellIncY, (jfloat)lpStruct->gmfCellIncY); + (*env)->SetFloatField(env, lpObject, lpCache->gmfCellIncX, (jfloat)lpStruct->gmfCellIncX); + (*env)->SetFloatField(env, lpObject, lpCache->gmfptGlyphOrigin_y, (jfloat)lpStruct->gmfptGlyphOrigin.y); + (*env)->SetFloatField(env, lpObject, lpCache->gmfptGlyphOrigin_x, (jfloat)lpStruct->gmfptGlyphOrigin.x); + (*env)->SetFloatField(env, lpObject, lpCache->gmfBlackBoxY, (jfloat)lpStruct->gmfBlackBoxY); + (*env)->SetFloatField(env, lpObject, lpCache->gmfBlackBoxX, (jfloat)lpStruct->gmfBlackBoxX); +} + +typedef struct LAYERPLANEDESCRIPTOR_FID_CACHE { + int cached; + jclass clazz; + jfieldID crTransparent, bReserved, iLayerPlane, cAuxBuffers, cStencilBits, cDepthBits, cAccumAlphaBits, cAccumBlueBits, cAccumGreenBits, cAccumRedBits, cAccumBits, cAlphaShift, cAlphaBits, cBlueShift, cBlueBits, cGreenShift, cGreenBits, cRedShift, cRedBits, cColorBits, iPixelType, dwFlags, nVersion, nSize; +} LAYERPLANEDESCRIPTOR_FID_CACHE; +typedef LAYERPLANEDESCRIPTOR_FID_CACHE *PLAYERPLANEDESCRIPTOR_FID_CACHE; + +LAYERPLANEDESCRIPTOR_FID_CACHE LAYERPLANEDESCRIPTORFc; + +void cacheLAYERPLANEDESCRIPTORFids(JNIEnv *env, jobject lpObject, PLAYERPLANEDESCRIPTOR_FID_CACHE lpCache) +{ + if (lpCache->cached) return; + lpCache->clazz = (*env)->GetObjectClass(env, lpObject); + lpCache->crTransparent = (*env)->GetFieldID(env, lpCache->clazz, "crTransparent", "I"); + lpCache->bReserved = (*env)->GetFieldID(env, lpCache->clazz, "bReserved", "B"); + lpCache->iLayerPlane = (*env)->GetFieldID(env, lpCache->clazz, "iLayerPlane", "B"); + lpCache->cAuxBuffers = (*env)->GetFieldID(env, lpCache->clazz, "cAuxBuffers", "B"); + lpCache->cStencilBits = (*env)->GetFieldID(env, lpCache->clazz, "cStencilBits", "B"); + lpCache->cDepthBits = (*env)->GetFieldID(env, lpCache->clazz, "cDepthBits", "B"); + lpCache->cAccumAlphaBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumAlphaBits", "B"); + lpCache->cAccumBlueBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumBlueBits", "B"); + lpCache->cAccumGreenBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumGreenBits", "B"); + lpCache->cAccumRedBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumRedBits", "B"); + lpCache->cAccumBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumBits", "B"); + lpCache->cAlphaShift = (*env)->GetFieldID(env, lpCache->clazz, "cAlphaShift", "B"); + lpCache->cAlphaBits = (*env)->GetFieldID(env, lpCache->clazz, "cAlphaBits", "B"); + lpCache->cBlueShift = (*env)->GetFieldID(env, lpCache->clazz, "cBlueShift", "B"); + lpCache->cBlueBits = (*env)->GetFieldID(env, lpCache->clazz, "cBlueBits", "B"); + lpCache->cGreenShift = (*env)->GetFieldID(env, lpCache->clazz, "cGreenShift", "B"); + lpCache->cGreenBits = (*env)->GetFieldID(env, lpCache->clazz, "cGreenBits", "B"); + lpCache->cRedShift = (*env)->GetFieldID(env, lpCache->clazz, "cRedShift", "B"); + lpCache->cRedBits = (*env)->GetFieldID(env, lpCache->clazz, "cRedBits", "B"); + lpCache->cColorBits = (*env)->GetFieldID(env, lpCache->clazz, "cColorBits", "B"); + lpCache->iPixelType = (*env)->GetFieldID(env, lpCache->clazz, "iPixelType", "B"); + lpCache->dwFlags = (*env)->GetFieldID(env, lpCache->clazz, "dwFlags", "I"); + lpCache->nVersion = (*env)->GetFieldID(env, lpCache->clazz, "nVersion", "S"); + lpCache->nSize = (*env)->GetFieldID(env, lpCache->clazz, "nSize", "S"); + lpCache->cached = 1; +} + +LAYERPLANEDESCRIPTOR *getLAYERPLANEDESCRIPTORFields(JNIEnv *env, jobject lpObject, LAYERPLANEDESCRIPTOR *lpStruct) +{ + PLAYERPLANEDESCRIPTOR_FID_CACHE lpCache = &LAYERPLANEDESCRIPTORFc; + if (!lpCache->cached) cacheLAYERPLANEDESCRIPTORFids(env, lpObject, lpCache); + lpStruct->crTransparent = (*env)->GetIntField(env, lpObject, lpCache->crTransparent); + lpStruct->bReserved = (*env)->GetByteField(env, lpObject, lpCache->bReserved); + lpStruct->iLayerPlane = (*env)->GetByteField(env, lpObject, lpCache->iLayerPlane); + lpStruct->cAuxBuffers = (*env)->GetByteField(env, lpObject, lpCache->cAuxBuffers); + lpStruct->cStencilBits = (*env)->GetByteField(env, lpObject, lpCache->cStencilBits); + lpStruct->cDepthBits = (*env)->GetByteField(env, lpObject, lpCache->cDepthBits); + lpStruct->cAccumAlphaBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumAlphaBits); + lpStruct->cAccumBlueBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumBlueBits); + lpStruct->cAccumGreenBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumGreenBits); + lpStruct->cAccumRedBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumRedBits); + lpStruct->cAccumBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumBits); + lpStruct->cAlphaShift = (*env)->GetByteField(env, lpObject, lpCache->cAlphaShift); + lpStruct->cAlphaBits = (*env)->GetByteField(env, lpObject, lpCache->cAlphaBits); + lpStruct->cBlueShift = (*env)->GetByteField(env, lpObject, lpCache->cBlueShift); + lpStruct->cBlueBits = (*env)->GetByteField(env, lpObject, lpCache->cBlueBits); + lpStruct->cGreenShift = (*env)->GetByteField(env, lpObject, lpCache->cGreenShift); + lpStruct->cGreenBits = (*env)->GetByteField(env, lpObject, lpCache->cGreenBits); + lpStruct->cRedShift = (*env)->GetByteField(env, lpObject, lpCache->cRedShift); + lpStruct->cRedBits = (*env)->GetByteField(env, lpObject, lpCache->cRedBits); + lpStruct->cColorBits = (*env)->GetByteField(env, lpObject, lpCache->cColorBits); + lpStruct->iPixelType = (*env)->GetByteField(env, lpObject, lpCache->iPixelType); + lpStruct->dwFlags = (*env)->GetIntField(env, lpObject, lpCache->dwFlags); + lpStruct->nVersion = (*env)->GetShortField(env, lpObject, lpCache->nVersion); + lpStruct->nSize = (*env)->GetShortField(env, lpObject, lpCache->nSize); + return lpStruct; +} + +void setLAYERPLANEDESCRIPTORFields(JNIEnv *env, jobject lpObject, LAYERPLANEDESCRIPTOR *lpStruct) +{ + PLAYERPLANEDESCRIPTOR_FID_CACHE lpCache = &LAYERPLANEDESCRIPTORFc; + if (!lpCache->cached) cacheLAYERPLANEDESCRIPTORFids(env, lpObject, lpCache); + (*env)->SetIntField(env, lpObject, lpCache->crTransparent, (jint)lpStruct->crTransparent); + (*env)->SetByteField(env, lpObject, lpCache->bReserved, (jbyte)lpStruct->bReserved); + (*env)->SetByteField(env, lpObject, lpCache->iLayerPlane, (jbyte)lpStruct->iLayerPlane); + (*env)->SetByteField(env, lpObject, lpCache->cAuxBuffers, (jbyte)lpStruct->cAuxBuffers); + (*env)->SetByteField(env, lpObject, lpCache->cStencilBits, (jbyte)lpStruct->cStencilBits); + (*env)->SetByteField(env, lpObject, lpCache->cDepthBits, (jbyte)lpStruct->cDepthBits); + (*env)->SetByteField(env, lpObject, lpCache->cAccumAlphaBits, (jbyte)lpStruct->cAccumAlphaBits); + (*env)->SetByteField(env, lpObject, lpCache->cAccumBlueBits, (jbyte)lpStruct->cAccumBlueBits); + (*env)->SetByteField(env, lpObject, lpCache->cAccumGreenBits, (jbyte)lpStruct->cAccumGreenBits); + (*env)->SetByteField(env, lpObject, lpCache->cAccumRedBits, (jbyte)lpStruct->cAccumRedBits); + (*env)->SetByteField(env, lpObject, lpCache->cAccumBits, (jbyte)lpStruct->cAccumBits); + (*env)->SetByteField(env, lpObject, lpCache->cAlphaShift, (jbyte)lpStruct->cAlphaShift); + (*env)->SetByteField(env, lpObject, lpCache->cAlphaBits, (jbyte)lpStruct->cAlphaBits); + (*env)->SetByteField(env, lpObject, lpCache->cBlueShift, (jbyte)lpStruct->cBlueShift); + (*env)->SetByteField(env, lpObject, lpCache->cBlueBits, (jbyte)lpStruct->cBlueBits); + (*env)->SetByteField(env, lpObject, lpCache->cGreenShift, (jbyte)lpStruct->cGreenShift); + (*env)->SetByteField(env, lpObject, lpCache->cGreenBits, (jbyte)lpStruct->cGreenBits); + (*env)->SetByteField(env, lpObject, lpCache->cRedShift, (jbyte)lpStruct->cRedShift); + (*env)->SetByteField(env, lpObject, lpCache->cRedBits, (jbyte)lpStruct->cRedBits); + (*env)->SetByteField(env, lpObject, lpCache->cColorBits, (jbyte)lpStruct->cColorBits); + (*env)->SetByteField(env, lpObject, lpCache->iPixelType, (jbyte)lpStruct->iPixelType); + (*env)->SetIntField(env, lpObject, lpCache->dwFlags, (jint)lpStruct->dwFlags); + (*env)->SetShortField(env, lpObject, lpCache->nVersion, (jshort)lpStruct->nVersion); + (*env)->SetShortField(env, lpObject, lpCache->nSize, (jshort)lpStruct->nSize); +} + +typedef struct POINTFLOAT_FID_CACHE { + int cached; + jclass clazz; + jfieldID y, x; +} POINTFLOAT_FID_CACHE; +typedef POINTFLOAT_FID_CACHE *PPOINTFLOAT_FID_CACHE; + +POINTFLOAT_FID_CACHE POINTFLOATFc; + +void cachePOINTFLOATFids(JNIEnv *env, jobject lpObject, PPOINTFLOAT_FID_CACHE lpCache) +{ + if (lpCache->cached) return; + lpCache->clazz = (*env)->GetObjectClass(env, lpObject); + lpCache->y = (*env)->GetFieldID(env, lpCache->clazz, "y", "F"); + lpCache->x = (*env)->GetFieldID(env, lpCache->clazz, "x", "F"); + lpCache->cached = 1; +} + +POINTFLOAT *getPOINTFLOATFields(JNIEnv *env, jobject lpObject, POINTFLOAT *lpStruct) +{ + PPOINTFLOAT_FID_CACHE lpCache = &POINTFLOATFc; + if (!lpCache->cached) cachePOINTFLOATFids(env, lpObject, lpCache); + lpStruct->y = (*env)->GetFloatField(env, lpObject, lpCache->y); + lpStruct->x = (*env)->GetFloatField(env, lpObject, lpCache->x); + return lpStruct; +} + +void setPOINTFLOATFields(JNIEnv *env, jobject lpObject, POINTFLOAT *lpStruct) +{ + PPOINTFLOAT_FID_CACHE lpCache = &POINTFLOATFc; + if (!lpCache->cached) cachePOINTFLOATFids(env, lpObject, lpCache); + (*env)->SetFloatField(env, lpObject, lpCache->y, (jfloat)lpStruct->y); + (*env)->SetFloatField(env, lpObject, lpCache->x, (jfloat)lpStruct->x); +} + +typedef struct PIXELFORMATDESCRIPTOR_FID_CACHE { + int cached; + jclass clazz; + jfieldID dwDamageMask, dwVisibleMask, dwLayerMask, bReserved, iLayerType, cAuxBuffers, cStencilBits, cDepthBits, cAccumAlphaBits, cAccumBlueBits, cAccumGreenBits, cAccumRedBits, cAccumBits, cAlphaShift, cAlphaBits, cBlueShift, cBlueBits, cGreenShift, cGreenBits, cRedShift, cRedBits, cColorBits, iPixelType, dwFlags, nVersion, nSize; +} PIXELFORMATDESCRIPTOR_FID_CACHE; +typedef PIXELFORMATDESCRIPTOR_FID_CACHE *PPIXELFORMATDESCRIPTOR_FID_CACHE; + +PIXELFORMATDESCRIPTOR_FID_CACHE PIXELFORMATDESCRIPTORFc; + +void cachePIXELFORMATDESCRIPTORFids(JNIEnv *env, jobject lpObject, PPIXELFORMATDESCRIPTOR_FID_CACHE lpCache) +{ + if (lpCache->cached) return; + lpCache->clazz = (*env)->GetObjectClass(env, lpObject); + lpCache->dwDamageMask = (*env)->GetFieldID(env, lpCache->clazz, "dwDamageMask", "I"); + lpCache->dwVisibleMask = (*env)->GetFieldID(env, lpCache->clazz, "dwVisibleMask", "I"); + lpCache->dwLayerMask = (*env)->GetFieldID(env, lpCache->clazz, "dwLayerMask", "I"); + lpCache->bReserved = (*env)->GetFieldID(env, lpCache->clazz, "bReserved", "B"); + lpCache->iLayerType = (*env)->GetFieldID(env, lpCache->clazz, "iLayerType", "B"); + lpCache->cAuxBuffers = (*env)->GetFieldID(env, lpCache->clazz, "cAuxBuffers", "B"); + lpCache->cStencilBits = (*env)->GetFieldID(env, lpCache->clazz, "cStencilBits", "B"); + lpCache->cDepthBits = (*env)->GetFieldID(env, lpCache->clazz, "cDepthBits", "B"); + lpCache->cAccumAlphaBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumAlphaBits", "B"); + lpCache->cAccumBlueBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumBlueBits", "B"); + lpCache->cAccumGreenBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumGreenBits", "B"); + lpCache->cAccumRedBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumRedBits", "B"); + lpCache->cAccumBits = (*env)->GetFieldID(env, lpCache->clazz, "cAccumBits", "B"); + lpCache->cAlphaShift = (*env)->GetFieldID(env, lpCache->clazz, "cAlphaShift", "B"); + lpCache->cAlphaBits = (*env)->GetFieldID(env, lpCache->clazz, "cAlphaBits", "B"); + lpCache->cBlueShift = (*env)->GetFieldID(env, lpCache->clazz, "cBlueShift", "B"); + lpCache->cBlueBits = (*env)->GetFieldID(env, lpCache->clazz, "cBlueBits", "B"); + lpCache->cGreenShift = (*env)->GetFieldID(env, lpCache->clazz, "cGreenShift", "B"); + lpCache->cGreenBits = (*env)->GetFieldID(env, lpCache->clazz, "cGreenBits", "B"); + lpCache->cRedShift = (*env)->GetFieldID(env, lpCache->clazz, "cRedShift", "B"); + lpCache->cRedBits = (*env)->GetFieldID(env, lpCache->clazz, "cRedBits", "B"); + lpCache->cColorBits = (*env)->GetFieldID(env, lpCache->clazz, "cColorBits", "B"); + lpCache->iPixelType = (*env)->GetFieldID(env, lpCache->clazz, "iPixelType", "B"); + lpCache->dwFlags = (*env)->GetFieldID(env, lpCache->clazz, "dwFlags", "I"); + lpCache->nVersion = (*env)->GetFieldID(env, lpCache->clazz, "nVersion", "S"); + lpCache->nSize = (*env)->GetFieldID(env, lpCache->clazz, "nSize", "S"); + lpCache->cached = 1; +} + +PIXELFORMATDESCRIPTOR *getPIXELFORMATDESCRIPTORFields(JNIEnv *env, jobject lpObject, PIXELFORMATDESCRIPTOR *lpStruct) +{ + PPIXELFORMATDESCRIPTOR_FID_CACHE lpCache = &PIXELFORMATDESCRIPTORFc; + if (!lpCache->cached) cachePIXELFORMATDESCRIPTORFids(env, lpObject, lpCache); + lpStruct->dwDamageMask = (*env)->GetIntField(env, lpObject, lpCache->dwDamageMask); + lpStruct->dwVisibleMask = (*env)->GetIntField(env, lpObject, lpCache->dwVisibleMask); + lpStruct->dwLayerMask = (*env)->GetIntField(env, lpObject, lpCache->dwLayerMask); + lpStruct->bReserved = (*env)->GetByteField(env, lpObject, lpCache->bReserved); + lpStruct->iLayerType = (*env)->GetByteField(env, lpObject, lpCache->iLayerType); + lpStruct->cAuxBuffers = (*env)->GetByteField(env, lpObject, lpCache->cAuxBuffers); + lpStruct->cStencilBits = (*env)->GetByteField(env, lpObject, lpCache->cStencilBits); + lpStruct->cDepthBits = (*env)->GetByteField(env, lpObject, lpCache->cDepthBits); + lpStruct->cAccumAlphaBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumAlphaBits); + lpStruct->cAccumBlueBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumBlueBits); + lpStruct->cAccumGreenBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumGreenBits); + lpStruct->cAccumRedBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumRedBits); + lpStruct->cAccumBits = (*env)->GetByteField(env, lpObject, lpCache->cAccumBits); + lpStruct->cAlphaShift = (*env)->GetByteField(env, lpObject, lpCache->cAlphaShift); + lpStruct->cAlphaBits = (*env)->GetByteField(env, lpObject, lpCache->cAlphaBits); + lpStruct->cBlueShift = (*env)->GetByteField(env, lpObject, lpCache->cBlueShift); + lpStruct->cBlueBits = (*env)->GetByteField(env, lpObject, lpCache->cBlueBits); + lpStruct->cGreenShift = (*env)->GetByteField(env, lpObject, lpCache->cGreenShift); + lpStruct->cGreenBits = (*env)->GetByteField(env, lpObject, lpCache->cGreenBits); + lpStruct->cRedShift = (*env)->GetByteField(env, lpObject, lpCache->cRedShift); + lpStruct->cRedBits = (*env)->GetByteField(env, lpObject, lpCache->cRedBits); + lpStruct->cColorBits = (*env)->GetByteField(env, lpObject, lpCache->cColorBits); + lpStruct->iPixelType = (*env)->GetByteField(env, lpObject, lpCache->iPixelType); + lpStruct->dwFlags = (*env)->GetIntField(env, lpObject, lpCache->dwFlags); + lpStruct->nVersion = (*env)->GetShortField(env, lpObject, lpCache->nVersion); + lpStruct->nSize = (*env)->GetShortField(env, lpObject, lpCache->nSize); + return lpStruct; +} + +void setPIXELFORMATDESCRIPTORFields(JNIEnv *env, jobject lpObject, PIXELFORMATDESCRIPTOR *lpStruct) +{ + PPIXELFORMATDESCRIPTOR_FID_CACHE lpCache = &PIXELFORMATDESCRIPTORFc; + if (!lpCache->cached) cachePIXELFORMATDESCRIPTORFids(env, lpObject, lpCache); + (*env)->SetIntField(env, lpObject, lpCache->dwDamageMask, (jint)lpStruct->dwDamageMask); + (*env)->SetIntField(env, lpObject, lpCache->dwVisibleMask, (jint)lpStruct->dwVisibleMask); + (*env)->SetIntField(env, lpObject, lpCache->dwLayerMask, (jint)lpStruct->dwLayerMask); + (*env)->SetByteField(env, lpObject, lpCache->bReserved, (jbyte)lpStruct->bReserved); + (*env)->SetByteField(env, lpObject, lpCache->iLayerType, (jbyte)lpStruct->iLayerType); + (*env)->SetByteField(env, lpObject, lpCache->cAuxBuffers, (jbyte)lpStruct->cAuxBuffers); + (*env)->SetByteField(env, lpObject, lpCache->cStencilBits, (jbyte)lpStruct->cStencilBits); + (*env)->SetByteField(env, lpObject, lpCache->cDepthBits, (jbyte)lpStruct->cDepthBits); + (*env)->SetByteField(env, lpObject, lpCache->cAccumAlphaBits, (jbyte)lpStruct->cAccumAlphaBits); + (*env)->SetByteField(env, lpObject, lpCache->cAccumBlueBits, (jbyte)lpStruct->cAccumBlueBits); + (*env)->SetByteField(env, lpObject, lpCache->cAccumGreenBits, (jbyte)lpStruct->cAccumGreenBits); + (*env)->SetByteField(env, lpObject, lpCache->cAccumRedBits, (jbyte)lpStruct->cAccumRedBits); + (*env)->SetByteField(env, lpObject, lpCache->cAccumBits, (jbyte)lpStruct->cAccumBits); + (*env)->SetByteField(env, lpObject, lpCache->cAlphaShift, (jbyte)lpStruct->cAlphaShift); + (*env)->SetByteField(env, lpObject, lpCache->cAlphaBits, (jbyte)lpStruct->cAlphaBits); + (*env)->SetByteField(env, lpObject, lpCache->cBlueShift, (jbyte)lpStruct->cBlueShift); + (*env)->SetByteField(env, lpObject, lpCache->cBlueBits, (jbyte)lpStruct->cBlueBits); + (*env)->SetByteField(env, lpObject, lpCache->cGreenShift, (jbyte)lpStruct->cGreenShift); + (*env)->SetByteField(env, lpObject, lpCache->cGreenBits, (jbyte)lpStruct->cGreenBits); + (*env)->SetByteField(env, lpObject, lpCache->cRedShift, (jbyte)lpStruct->cRedShift); + (*env)->SetByteField(env, lpObject, lpCache->cRedBits, (jbyte)lpStruct->cRedBits); + (*env)->SetByteField(env, lpObject, lpCache->cColorBits, (jbyte)lpStruct->cColorBits); + (*env)->SetByteField(env, lpObject, lpCache->iPixelType, (jbyte)lpStruct->iPixelType); + (*env)->SetIntField(env, lpObject, lpCache->dwFlags, (jint)lpStruct->dwFlags); + (*env)->SetShortField(env, lpObject, lpCache->nVersion, (jshort)lpStruct->nVersion); + (*env)->SetShortField(env, lpObject, lpCache->nSize, (jshort)lpStruct->nSize); +} + diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/structs.h b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/structs.h new file mode 100755 index 0000000000..14c62a85dd --- /dev/null +++ b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/structs.h @@ -0,0 +1,24 @@ +/******************************************************************************* + * Copyright (c) 2000, 2005 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 <windows.h> + +GLYPHMETRICSFLOAT *getGLYPHMETRICSFLOATFields(JNIEnv *env, jobject lpObject, GLYPHMETRICSFLOAT *lpStruct); +void setGLYPHMETRICSFLOATFields(JNIEnv *env, jobject lpObject, GLYPHMETRICSFLOAT *lpStruct); + +LAYERPLANEDESCRIPTOR *getLAYERPLANEDESCRIPTORFields(JNIEnv *env, jobject lpObject, LAYERPLANEDESCRIPTOR *lpStruct); +void setLAYERPLANEDESCRIPTORFields(JNIEnv *env, jobject lpObject, LAYERPLANEDESCRIPTOR *lpStruct); + +POINTFLOAT *getPOINTFLOATFields(JNIEnv *env, jobject lpObject, POINTFLOAT *lpStruct); +void setPOINTFLOATFields(JNIEnv *env, jobject lpObject, POINTFLOAT *lpStruct); + +PIXELFORMATDESCRIPTOR *getPIXELFORMATDESCRIPTORFields(JNIEnv *env, jobject lpObject, PIXELFORMATDESCRIPTOR *lpStruct); +void setPIXELFORMATDESCRIPTORFields(JNIEnv *env, jobject lpObject, PIXELFORMATDESCRIPTOR *lpStruct); + diff --git a/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/swt.rc b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/swt.rc new file mode 100755 index 0000000000..c5b350cb38 --- /dev/null +++ b/bundles/org.eclipse.swt/Eclipse SWT OpenGL/win32/library/swt.rc @@ -0,0 +1,67 @@ +/******************************************************************************* + * Copyright (c) 2000, 2005 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 "windows.h" + +VS_VERSION_INFO VERSIONINFO + PRODUCTVERSION 0,0,0,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40000L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "IBM Corporation\0" + VALUE "FileDescription", "Standard Widget Toolkit\0" + VALUE "InternalName", "SWT\0" + VALUE "LegalCopyright", "© Copyright 2000, 2003 IBM Corp. All Rights Reserved.\0" + VALUE "OriginalFilename", SWT_ORG_FILENAME + VALUE "ProductName", "\0" + VALUE "ProductVersion", "0,0,0,0\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +/* SHMENUBAR Pocket PC + * ID_MENU SHMENUBAR DISCARDABLE + * BEGIN + * ID_MENU, 1, + * IMAGE_NONE, ID_MENU_ITEM1, 0, 0, + * 0, 0, 0, + * END + * ID_MENU MENU DISCARDABLE + * BEGIN + * MENUITEM "", ID_MENU_ITEM1 + * END + */ +100 RCDATA DISCARDABLE +BEGIN + 100, 1, + -2, 101, 0, 0, + 0, 0, 0, +END + +100 MENU DISCARDABLE +BEGIN + MENUITEM "", 101 +END
\ No newline at end of file |