src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m

Print this page

        

*** 182,191 **** --- 182,192 ---- @synthesize javaMaxSize; @synthesize styleBits; @synthesize isEnabled; @synthesize ownerWindow; @synthesize preFullScreenLevel; + @synthesize standardFrame; - (void) updateMinMaxSize:(BOOL)resizable { if (resizable) { [self.nsWindow setMinSize:self.javaMinSize]; [self.nsWindow setMaxSize:self.javaMaxSize];
*** 507,516 **** --- 508,523 ---- [AWTToolkit eventCountPlusPlus]; // TODO: don't see this callback invoked anytime so we track // window exposing in _setVisible:(BOOL) } + - (NSRect)windowWillUseStandardFrame:(NSWindow *)window + defaultFrame:(NSRect)newFrame { + + return [self standardFrame]; + } + - (void) _deliverIconify:(BOOL)iconify { AWT_ASSERT_APPKIT_THREAD; [AWTToolkit eventCountPlusPlus]; JNIEnv *env = [ThreadUtilities getJNIEnv];
*** 951,960 **** --- 958,991 ---- JNF_COCOA_EXIT(env); } /* * Class: sun_lwawt_macosx_CPlatformWindow + * Method: nativeSetNSWindowStandardFrame + * Signature: (JDDDD)V + */ + JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CPlatformWindow_nativeSetNSWindowStandardFrame + (JNIEnv *env, jclass clazz, jlong windowPtr, jdouble originX, jdouble originY, + jdouble width, jdouble height) + { + JNF_COCOA_ENTER(env); + + NSRect jrect = NSMakeRect(originX, originY, width, height); + + NSWindow *nsWindow = OBJC(windowPtr); + [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ + + NSRect rect = ConvertNSScreenRect(NULL, jrect); + AWTWindow *window = (AWTWindow*)[nsWindow delegate]; + window.standardFrame = rect; + }]; + + JNF_COCOA_EXIT(env); + } + + /* + * Class: sun_lwawt_macosx_CPlatformWindow * Method: nativeSetNSWindowMinMax * Signature: (JDDDD)V */ JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CPlatformWindow_nativeSetNSWindowMinMax (JNIEnv *env, jclass clazz, jlong windowPtr, jdouble minW, jdouble minH, jdouble maxW, jdouble maxH)