Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion macos/cc/WindowMac.mm
Original file line number Diff line number Diff line change
Expand Up @@ -525,8 +525,20 @@ static CVReturn displayLinkCallback(CVDisplayLinkRef displayLink, const CVTimeSt
[nsWindow makeKeyAndOrderFront:nil];
}

extern "C" JNIEXPORT jint JNICALL Java_io_github_humbleui_jwm_WindowMac__1nGetZOrder
extern "C" JNIEXPORT bool JNICALL Java_io_github_humbleui_jwm_WindowMac__1nIsFront
(JNIEnv* env, jobject obj) {
jwm::WindowMac* instance = reinterpret_cast<jwm::WindowMac*>(jwm::classes::Native::fromJava(env, obj));
NSWindow* nsWindow = instance->fNSWindow;
return [nsWindow isMainWindow];
}

extern "C" JNIEXPORT void JNICALL Java_io_github_humbleui_jwm_WindowMac__1nBringToFront
(JNIEnv* env, jobject obj) {
[NSApp activateIgnoringOtherApps:YES];
}

extern "C" JNIEXPORT jint JNICALL Java_io_github_humbleui_jwm_WindowMac__1nGetZOrder
(JNIEnv* env, jobject obj) {
jwm::WindowMac* instance = reinterpret_cast<jwm::WindowMac*>(jwm::classes::Native::fromJava(env, obj));
NSWindow* nsWindow = instance->fNSWindow;
NSWindowLevel level = [nsWindow level];
Expand Down
7 changes: 4 additions & 3 deletions macos/java/WindowMac.java
Original file line number Diff line number Diff line change
Expand Up @@ -251,15 +251,14 @@ public Window focus() {
@Override
public Window bringToFront() {
assert _onUIThread() : "Should be run on UI thread";
// TODO: impl me
_nBringToFront();
return this;
}

@Override
public boolean isFront() {
assert _onUIThread() : "Should be run on UI thread";
// TODO: impl me
return false;
return _nIsFront();
}

@Override
Expand Down Expand Up @@ -315,6 +314,8 @@ public void close() {
@ApiStatus.Internal public native void _nHideMouseCursorUntilMoved(boolean value);
@ApiStatus.Internal public native void _nLockMouseCursor(boolean value);
@ApiStatus.Internal public native void _nSetVisible(boolean value);
@ApiStatus.Internal public native boolean _nIsFront();
@ApiStatus.Internal public native void _nBringToFront();
@ApiStatus.Internal public native Screen _nGetScreen();
@ApiStatus.Internal public native void _nRequestFrame();
@ApiStatus.Internal public native void _nMinimize();
Expand Down