diff options
author | Sven Gothel <[email protected]> | 2009-09-12 12:32:44 -0700 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2009-09-12 12:32:44 -0700 |
commit | 3cc7335e94df9daaab5250487b9f03e19aaa292a (patch) | |
tree | 942e6dd5d8bac2499c49c3e9b9910f8b84b5ed42 /src/newt/native | |
parent | f6541cee3b33bd6ad5a94e89d860b4431cf2a353 (diff) |
NEWT: Basic/Naive window parenting support ; NEWT GLWindow: remove ambigous create functions, ie with Window and Capabilities arguments
Diffstat (limited to 'src/newt/native')
-rw-r--r-- | src/newt/native/MacWindow.m | 10 | ||||
-rwxr-xr-x | src/newt/native/WindowsWindow.c | 6 | ||||
-rwxr-xr-x | src/newt/native/X11Window.c | 10 |
3 files changed, 17 insertions, 9 deletions
diff --git a/src/newt/native/MacWindow.m b/src/newt/native/MacWindow.m index a93157c3f..d59a61e42 100644 --- a/src/newt/native/MacWindow.m +++ b/src/newt/native/MacWindow.m @@ -237,10 +237,10 @@ JNIEXPORT jboolean JNICALL Java_com_sun_javafx_newt_macosx_MacWindow_initIDs /* * Class: com_sun_javafx_newt_macosx_MacWindow * Method: createWindow0 - * Signature: (IIIIZIIIJ)J + * Signature: (JIIIIZIIIJ)J */ JNIEXPORT jlong JNICALL Java_com_sun_javafx_newt_macosx_MacWindow_createWindow0 - (JNIEnv *env, jobject jthis, jint x, jint y, jint w, jint h, jboolean fullscreen, jint styleMask, + (JNIEnv *env, jobject jthis, jlong parent, jint x, jint y, jint w, jint h, jboolean fullscreen, jint styleMask, jint bufferingType, jint screen_idx, jlong jview) { NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; @@ -264,6 +264,12 @@ JNIEXPORT jlong JNICALL Java_com_sun_javafx_newt_macosx_MacWindow_createWindow0 backing: (NSBackingStoreType) bufferingType screen: screen] retain]; + /** FIXME: test .. + NSWindow* parentWindow = (NSWindow*) ((intptr_t) parent); + if(NULL!=parentWindow) { + [window setParentWindow: parentWindow]; + } */ + if (fullscreen) { [window setOpaque: YES]; } else { diff --git a/src/newt/native/WindowsWindow.c b/src/newt/native/WindowsWindow.c index edc3f0796..a171f34b2 100755 --- a/src/newt/native/WindowsWindow.c +++ b/src/newt/native/WindowsWindow.c @@ -1032,10 +1032,10 @@ JNIEXPORT jboolean JNICALL Java_com_sun_javafx_newt_windows_WindowsWindow_initID /* * Class: com_sun_javafx_newt_windows_WindowsWindow * Method: CreateWindow - * Signature: (ILjava/lang/String;JJZIIII)J + * Signature: (JILjava/lang/String;JJZIIII)J */ JNIEXPORT jlong JNICALL Java_com_sun_javafx_newt_windows_WindowsWindow_CreateWindow - (JNIEnv *env, jobject obj, jint wndClassAtom, jstring jWndName, jlong hInstance, jlong visualID, + (JNIEnv *env, jobject obj, jlong parent, jint wndClassAtom, jstring jWndName, jlong hInstance, jlong visualID, jboolean bIsUndecorated, jint jx, jint jy, jint defaultWidth, jint defaultHeight) { @@ -1063,7 +1063,7 @@ JNIEXPORT jlong JNICALL Java_com_sun_javafx_newt_windows_WindowsWindow_CreateWin window = CreateWindow(MAKEINTATOM(wndClassAtom), wndName, windowStyle, x, y, width, height, - NULL, NULL, + (HWND)parent, NULL, (HINSTANCE) hInstance, NULL); diff --git a/src/newt/native/X11Window.c b/src/newt/native/X11Window.c index 8651a8cea..1e7cd3bba 100755 --- a/src/newt/native/X11Window.c +++ b/src/newt/native/X11Window.c @@ -511,17 +511,17 @@ JNIEXPORT jboolean JNICALL Java_com_sun_javafx_newt_x11_X11Window_initIDs /* * Class: com_sun_javafx_newt_x11_X11Window * Method: CreateWindow - * Signature: (JIJIIII)J + * Signature: (JJIJIIII)J */ JNIEXPORT jlong JNICALL Java_com_sun_javafx_newt_x11_X11Window_CreateWindow - (JNIEnv *env, jobject obj, jlong display, jint screen_index, + (JNIEnv *env, jobject obj, jlong parent, jlong display, jint screen_index, jlong visualID, jlong javaObjectAtom, jlong windowDeleteAtom, jint x, jint y, jint width, jint height) { Display * dpy = (Display *)(intptr_t)display; int scrn_idx = (int)screen_index; - Window windowParent = 0; + Window windowParent = (Window) parent; Window window = 0; XVisualInfo visualTemplate; @@ -578,7 +578,9 @@ JNIEXPORT jlong JNICALL Java_com_sun_javafx_newt_x11_X11Window_CreateWindow pVisualQuery=NULL; } - windowParent = XRootWindowOfScreen(scrn); + if(NULL==windowParent) { + windowParent = XRootWindowOfScreen(scrn); + } attrMask = (CWBackPixel | CWBorderPixel | CWColormap | CWEventMask | CWOverrideRedirect) ; |