mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2025-12-06 22:10:54 +03:00
macOS native: added FlatNativeMacLibrary.windowToggleFullScreen() for easier testing
This commit is contained in:
@@ -63,4 +63,5 @@ public class FlatNativeMacLibrary
|
|||||||
public native static int getWindowButtonAreaWidth( Window window );
|
public native static int getWindowButtonAreaWidth( Window window );
|
||||||
public native static int getWindowTitleBarHeight( Window window );
|
public native static int getWindowTitleBarHeight( Window window );
|
||||||
public native static boolean isWindowFullScreen( Window window );
|
public native static boolean isWindowFullScreen( Window window );
|
||||||
|
public native static boolean windowToggleFullScreen( Window window );
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -46,6 +46,7 @@ import com.formdev.flatlaf.icons.FlatAbstractIcon;
|
|||||||
import com.formdev.flatlaf.themes.FlatMacDarkLaf;
|
import com.formdev.flatlaf.themes.FlatMacDarkLaf;
|
||||||
import com.formdev.flatlaf.themes.FlatMacLightLaf;
|
import com.formdev.flatlaf.themes.FlatMacLightLaf;
|
||||||
import com.formdev.flatlaf.extras.FlatSVGUtils;
|
import com.formdev.flatlaf.extras.FlatSVGUtils;
|
||||||
|
import com.formdev.flatlaf.ui.FlatNativeMacLibrary;
|
||||||
import com.formdev.flatlaf.util.ColorFunctions;
|
import com.formdev.flatlaf.util.ColorFunctions;
|
||||||
import com.formdev.flatlaf.util.FontUtils;
|
import com.formdev.flatlaf.util.FontUtils;
|
||||||
import com.formdev.flatlaf.util.LoggingFacade;
|
import com.formdev.flatlaf.util.LoggingFacade;
|
||||||
@@ -960,6 +961,11 @@ class DemoFrame
|
|||||||
System.out.println( "m drag" );
|
System.out.println( "m drag" );
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
|
if( SystemInfo.isMacOS && FlatNativeMacLibrary.isLoaded() ) {
|
||||||
|
showToggleButton.addActionListener( e -> {
|
||||||
|
FlatNativeMacLibrary.windowToggleFullScreen( this );
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
|
||||||
// add "Users" button to menubar
|
// add "Users" button to menubar
|
||||||
FlatButton usersButton = new FlatButton();
|
FlatButton usersButton = new FlatButton();
|
||||||
|
|||||||
@@ -53,6 +53,14 @@ JNIEXPORT jint JNICALL Java_com_formdev_flatlaf_ui_FlatNativeMacLibrary_getWindo
|
|||||||
JNIEXPORT jboolean JNICALL Java_com_formdev_flatlaf_ui_FlatNativeMacLibrary_isWindowFullScreen
|
JNIEXPORT jboolean JNICALL Java_com_formdev_flatlaf_ui_FlatNativeMacLibrary_isWindowFullScreen
|
||||||
(JNIEnv *, jclass, jobject);
|
(JNIEnv *, jclass, jobject);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Class: com_formdev_flatlaf_ui_FlatNativeMacLibrary
|
||||||
|
* Method: windowToggleFullScreen
|
||||||
|
* Signature: (Ljava/awt/Window;)Z
|
||||||
|
*/
|
||||||
|
JNIEXPORT jboolean JNICALL Java_com_formdev_flatlaf_ui_FlatNativeMacLibrary_windowToggleFullScreen
|
||||||
|
(JNIEnv *, jclass, jobject);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -328,3 +328,23 @@ JNIEXPORT jboolean JNICALL Java_com_formdev_flatlaf_ui_FlatNativeMacLibrary_isWi
|
|||||||
bool isWindowFullScreen( NSWindow* nsWindow ) {
|
bool isWindowFullScreen( NSWindow* nsWindow ) {
|
||||||
return ((nsWindow.styleMask & NSWindowStyleMaskFullScreen) != 0);
|
return ((nsWindow.styleMask & NSWindowStyleMaskFullScreen) != 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern "C"
|
||||||
|
JNIEXPORT jboolean JNICALL Java_com_formdev_flatlaf_ui_FlatNativeMacLibrary_windowToggleFullScreen
|
||||||
|
( JNIEnv* env, jclass cls, jobject window )
|
||||||
|
{
|
||||||
|
JNI_COCOA_ENTER()
|
||||||
|
|
||||||
|
NSWindow* nsWindow = getNSWindow( env, cls, window );
|
||||||
|
if( nsWindow == NULL )
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
[FlatJNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){
|
||||||
|
[nsWindow toggleFullScreen:nil];
|
||||||
|
}];
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
JNI_COCOA_EXIT()
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user