aboutsummaryrefslogtreecommitdiffstats
path: root/make/config
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2011-12-01 16:43:55 +0100
committerSven Gothel <[email protected]>2011-12-01 16:43:55 +0100
commit2c0a0981f7e1376064abd981c79c65c9d1b57410 (patch)
tree272ad58d1ca39641c8b389ce8056f06e5d62fc54 /make/config
parent77e9d16a3ad5131a2197bb3cad2309827c3a796a (diff)
Move manual GDI utils to GDIUtil ; Minor cleanup.
RegisteredClassFactory: Reference the factories itself instead of the RegisteredClass. This enables the shutdown hook to clear the factories state, which is required for proper recreation.
Diffstat (limited to 'make/config')
-rw-r--r--make/config/nativewindow/win32-CustomJavaCode.java58
-rw-r--r--make/config/nativewindow/win32-lib.cfg4
2 files changed, 1 insertions, 61 deletions
diff --git a/make/config/nativewindow/win32-CustomJavaCode.java b/make/config/nativewindow/win32-CustomJavaCode.java
index e14e4d14c..5c484c2fe 100644
--- a/make/config/nativewindow/win32-CustomJavaCode.java
+++ b/make/config/nativewindow/win32-CustomJavaCode.java
@@ -1,60 +1,2 @@
- private static final boolean DEBUG = Debug.debug("GDI");
-
- private static final String dummyWindowClassNameBase = "_dummyWindow_clazz" ;
- private static RegisteredClassFactory dummyWindowClassFactory;
- private static boolean isInit = false;
-
- private static native boolean initIDs0();
- private static native long getDummyWndProc0();
-
- public static synchronized void initSingleton(boolean firstX11ActionOnProcess) {
- if(!isInit) {
- NWJNILibLoader.loadNativeWindow("win32");
-
- if( !initIDs0() ) {
- throw new NativeWindowException("GDI: Could not initialized native stub");
- }
-
- if(DEBUG) {
- System.out.println("GDI.isFirstX11ActionOnProcess: "+firstX11ActionOnProcess);
- }
-
- dummyWindowClassFactory = new RegisteredClassFactory(dummyWindowClassNameBase, getDummyWndProc0());
- isInit = true;
- }
- }
-
- public static boolean requiresToolkitLock() { return false; }
-
- private static RegisteredClass dummyWindowClass = null;
- private static Object dummyWindowSync = new Object();
-
- public static long CreateDummyWindow(int x, int y, int width, int height) {
- synchronized(dummyWindowSync) {
- dummyWindowClass = dummyWindowClassFactory.getSharedClass();
- return CreateDummyWindow0(dummyWindowClass.getHandle(), dummyWindowClass.getName(), dummyWindowClass.getName(), x, y, width, height);
- }
- }
-
- public static boolean DestroyDummyWindow(long hwnd) {
- boolean res;
- synchronized(dummyWindowSync) {
- if( null == dummyWindowClass ) {
- throw new InternalError("GDI Error ("+dummyWindowClassFactory.getSharedRefCount()+"): SharedClass is null");
- }
- res = DestroyWindow(hwnd);
- dummyWindowClassFactory.releaseSharedClass();
- }
- return res;
- }
-
- 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);
-
- public static native boolean CreateWindowClass(long hInstance, String clazzName, long wndProc);
- public static native boolean DestroyWindowClass(long hInstance, String className);
- static native long CreateDummyWindow0(long hInstance, String className, String windowName, int x, int y, int width, int height);
diff --git a/make/config/nativewindow/win32-lib.cfg b/make/config/nativewindow/win32-lib.cfg
index b8ff42473..26c744a80 100644
--- a/make/config/nativewindow/win32-lib.cfg
+++ b/make/config/nativewindow/win32-lib.cfg
@@ -36,7 +36,5 @@ CustomCCode #include <gluegen_stddef.h>
CustomCCode #include <wingdi.h>
CustomCCode #include "WindowsDWM.h"
-CustomCCode extern HINSTANCE GetApplicationHandle();
-
-IncludeAs CustomJavaCode GDI win32-CustomJavaCode.java
+CustomCCode extern HINSTANCE GetApplicationHandle();