summaryrefslogtreecommitdiffstats
path: root/make/config/nativewindow
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2010-11-17 10:38:19 +0100
committerSven Gothel <[email protected]>2010-11-17 10:38:19 +0100
commitdd0038a68a9aa99646549644c3338266546b05f8 (patch)
tree4af6467b23aa30a5897a609f51c5e3cba0b5ece7 /make/config/nativewindow
parentdb4d7d198cc826bba871fea39461c3c8a2a3b1c6 (diff)
Move GDI GlueGen wrapping from JOGL -> NativeWindow (following X11). Moving NEWT WindowsWindow GetRelativeLocation() native implementation to GDI as well.
Diffstat (limited to 'make/config/nativewindow')
-rw-r--r--make/config/nativewindow/win32-CustomJavaCode.java24
-rw-r--r--make/config/nativewindow/win32-lib.cfg37
2 files changed, 61 insertions, 0 deletions
diff --git a/make/config/nativewindow/win32-CustomJavaCode.java b/make/config/nativewindow/win32-CustomJavaCode.java
new file mode 100644
index 000000000..cd5b00b79
--- /dev/null
+++ b/make/config/nativewindow/win32-CustomJavaCode.java
@@ -0,0 +1,24 @@
+
+ private static final long hInstance;
+
+ static {
+ NWJNILibLoader.loadNativeWindow("win32");
+ hInstance = initIDs0();
+ if( 0 == hInstance ) {
+ throw new NativeWindowException("GDI: Could not initialized native stub");
+ }
+ }
+
+ public static synchronized void initSingleton() {
+ }
+ private static native long initIDs0();
+
+ public static long getModuleHandle() {
+ return hInstance;
+ }
+
+ public static Point GetRelativeLocation(long src_win, long dest_win, int src_x, int src_y) {
+ return (Point) GetRelativeLocation0(src_win, dest_win, src_x, src_y);
+ }
+ private static native Object GetRelativeLocation0(long src_win, long dest_win, int src_x, int src_y);
+
diff --git a/make/config/nativewindow/win32-lib.cfg b/make/config/nativewindow/win32-lib.cfg
new file mode 100644
index 000000000..b7535b5e1
--- /dev/null
+++ b/make/config/nativewindow/win32-lib.cfg
@@ -0,0 +1,37 @@
+# This .cfg file is used to generate the interface to the wgl routines
+# used internally by the WindowsGLContext implementation.
+JavaOutputDir gensrc/classes
+NativeOutputDir gensrc/native/Windows
+
+Package com.jogamp.nativewindow.impl.windows
+JavaClass GDI
+Style AllStatic
+
+Opaque boolean BOOL
+Opaque long HINSTANCE
+Opaque long HANDLE
+Opaque long HBITMAP
+Opaque long HDC
+Opaque long HGDIOBJ
+Opaque long HGLRC
+Opaque long HPBUFFERARB
+Opaque long HPBUFFEREXT
+Opaque boolean BOOL
+Opaque long PROC
+Opaque long void **
+
+Import javax.media.nativewindow.util.Point
+Import javax.media.nativewindow.NativeWindowException
+Import com.jogamp.nativewindow.impl.NWJNILibLoader
+
+CustomCCode #define WIN32_LEAN_AND_MEAN
+CustomCCode #include <windows.h>
+CustomCCode #undef WIN32_LEAN_AND_MEAN
+
+CustomCCode #include <wingdi.h>
+CustomCCode #include <stddef.h>
+
+Include ../intptr.cfg
+
+IncludeAs CustomJavaCode GDI win32-CustomJavaCode.java
+