src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java

Print this page




  36 
  37 import javax.swing.*;
  38 
  39 import sun.awt.*;
  40 import sun.java2d.SurfaceData;
  41 import sun.java2d.opengl.CGLSurfaceData;
  42 import sun.lwawt.*;
  43 import sun.util.logging.PlatformLogger;
  44 
  45 import com.apple.laf.*;
  46 import com.apple.laf.ClientPropertyApplicator.Property;
  47 import com.sun.awt.AWTUtilities;
  48 
  49 public class CPlatformWindow extends CFRetainedResource implements PlatformWindow {
  50     private native long nativeCreateNSWindow(long nsViewPtr,long ownerPtr, long styleBits, double x, double y, double w, double h);
  51     private static native void nativeSetNSWindowStyleBits(long nsWindowPtr, int mask, int data);
  52     private static native void nativeSetNSWindowMenuBar(long nsWindowPtr, long menuBarPtr);
  53     private static native Insets nativeGetNSWindowInsets(long nsWindowPtr);
  54     private static native void nativeSetNSWindowBounds(long nsWindowPtr, double x, double y, double w, double h);
  55     private static native void nativeSetNSWindowMinMax(long nsWindowPtr, double minW, double minH, double maxW, double maxH);

  56     private static native void nativePushNSWindowToBack(long nsWindowPtr);
  57     private static native void nativePushNSWindowToFront(long nsWindowPtr);
  58     private static native void nativeSetNSWindowTitle(long nsWindowPtr, String title);
  59     private static native void nativeRevalidateNSWindowShadow(long nsWindowPtr);
  60     private static native void nativeSetNSWindowMinimizedIcon(long nsWindowPtr, long nsImage);
  61     private static native void nativeSetNSWindowRepresentedFilename(long nsWindowPtr, String representedFilename);
  62     private static native void nativeSetEnabled(long nsWindowPtr, boolean isEnabled);
  63     private static native void nativeSynthesizeMouseEnteredExitedEvents();
  64     private static native void nativeDispose(long nsWindowPtr);
  65     private static native CPlatformWindow nativeGetTopmostPlatformWindowUnderMouse();
  66     private static native void nativeEnterFullScreenMode(long nsWindowPtr);
  67     private static native void nativeExitFullScreenMode(long nsWindowPtr);
  68 
  69     // Loger to report issues happened during execution but that do not affect functionality
  70     private static final PlatformLogger logger = PlatformLogger.getLogger("sun.lwawt.macosx.CPlatformWindow");
  71     private static final PlatformLogger focusLogger = PlatformLogger.getLogger("sun.lwawt.macosx.focus.CPlatformWindow");
  72 
  73     // for client properties
  74     public static final String WINDOW_BRUSH_METAL_LOOK = "apple.awt.brushMetalLook";
  75     public static final String WINDOW_DRAGGABLE_BACKGROUND = "apple.awt.draggableWindowBackground";


 670 
 671     @Override  // PlatformWindow
 672     public void toFront() {
 673         final long nsWindowPtr = getNSWindowPtr();
 674         updateFocusabilityForAutoRequestFocus(false);
 675         nativePushNSWindowToFront(nsWindowPtr);
 676         updateFocusabilityForAutoRequestFocus(true);
 677     }
 678 
 679     @Override
 680     public void setResizable(final boolean resizable) {
 681         setStyleBits(RESIZABLE, resizable);
 682     }
 683 
 684     @Override
 685     public void setSizeConstraints(int minW, int minH, int maxW, int maxH) {
 686         nativeSetNSWindowMinMax(getNSWindowPtr(), minW, minH, maxW, maxH);
 687     }
 688 
 689     @Override





 690     public boolean rejectFocusRequest(CausedFocusEvent.Cause cause) {
 691         // Cross-app activation requests are not allowed.
 692         if (cause != CausedFocusEvent.Cause.MOUSE_EVENT &&
 693             !((LWCToolkit)Toolkit.getDefaultToolkit()).isApplicationActive())
 694         {
 695             focusLogger.fine("the app is inactive, so the request is rejected");
 696             return true;
 697         }
 698         return false;
 699     }
 700 
 701     @Override
 702     public boolean requestWindowFocus() {
 703 
 704         long ptr = getNSWindowPtr();
 705         if (CWrapper.NSWindow.canBecomeMainWindow(ptr)) {
 706             CWrapper.NSWindow.makeMainWindow(ptr);
 707         }
 708         CWrapper.NSWindow.makeKeyAndOrderFront(ptr);
 709         return true;




  36 
  37 import javax.swing.*;
  38 
  39 import sun.awt.*;
  40 import sun.java2d.SurfaceData;
  41 import sun.java2d.opengl.CGLSurfaceData;
  42 import sun.lwawt.*;
  43 import sun.util.logging.PlatformLogger;
  44 
  45 import com.apple.laf.*;
  46 import com.apple.laf.ClientPropertyApplicator.Property;
  47 import com.sun.awt.AWTUtilities;
  48 
  49 public class CPlatformWindow extends CFRetainedResource implements PlatformWindow {
  50     private native long nativeCreateNSWindow(long nsViewPtr,long ownerPtr, long styleBits, double x, double y, double w, double h);
  51     private static native void nativeSetNSWindowStyleBits(long nsWindowPtr, int mask, int data);
  52     private static native void nativeSetNSWindowMenuBar(long nsWindowPtr, long menuBarPtr);
  53     private static native Insets nativeGetNSWindowInsets(long nsWindowPtr);
  54     private static native void nativeSetNSWindowBounds(long nsWindowPtr, double x, double y, double w, double h);
  55     private static native void nativeSetNSWindowMinMax(long nsWindowPtr, double minW, double minH, double maxW, double maxH);
  56     private static native void nativeSetMaximizedBounds(long nsWindowPtr, int x, int y, int w, int h);
  57     private static native void nativePushNSWindowToBack(long nsWindowPtr);
  58     private static native void nativePushNSWindowToFront(long nsWindowPtr);
  59     private static native void nativeSetNSWindowTitle(long nsWindowPtr, String title);
  60     private static native void nativeRevalidateNSWindowShadow(long nsWindowPtr);
  61     private static native void nativeSetNSWindowMinimizedIcon(long nsWindowPtr, long nsImage);
  62     private static native void nativeSetNSWindowRepresentedFilename(long nsWindowPtr, String representedFilename);
  63     private static native void nativeSetEnabled(long nsWindowPtr, boolean isEnabled);
  64     private static native void nativeSynthesizeMouseEnteredExitedEvents();
  65     private static native void nativeDispose(long nsWindowPtr);
  66     private static native CPlatformWindow nativeGetTopmostPlatformWindowUnderMouse();
  67     private static native void nativeEnterFullScreenMode(long nsWindowPtr);
  68     private static native void nativeExitFullScreenMode(long nsWindowPtr);
  69 
  70     // Loger to report issues happened during execution but that do not affect functionality
  71     private static final PlatformLogger logger = PlatformLogger.getLogger("sun.lwawt.macosx.CPlatformWindow");
  72     private static final PlatformLogger focusLogger = PlatformLogger.getLogger("sun.lwawt.macosx.focus.CPlatformWindow");
  73 
  74     // for client properties
  75     public static final String WINDOW_BRUSH_METAL_LOOK = "apple.awt.brushMetalLook";
  76     public static final String WINDOW_DRAGGABLE_BACKGROUND = "apple.awt.draggableWindowBackground";


 671 
 672     @Override  // PlatformWindow
 673     public void toFront() {
 674         final long nsWindowPtr = getNSWindowPtr();
 675         updateFocusabilityForAutoRequestFocus(false);
 676         nativePushNSWindowToFront(nsWindowPtr);
 677         updateFocusabilityForAutoRequestFocus(true);
 678     }
 679 
 680     @Override
 681     public void setResizable(final boolean resizable) {
 682         setStyleBits(RESIZABLE, resizable);
 683     }
 684 
 685     @Override
 686     public void setSizeConstraints(int minW, int minH, int maxW, int maxH) {
 687         nativeSetNSWindowMinMax(getNSWindowPtr(), minW, minH, maxW, maxH);
 688     }
 689 
 690     @Override
 691     public void setMaximizedBounds(int mX, int mY, int mW, int mH) {
 692         nativeSetMaximizedBounds(getNSWindowPtr(), mX, mY, mW, mH);
 693     }
 694 
 695     @Override
 696     public boolean rejectFocusRequest(CausedFocusEvent.Cause cause) {
 697         // Cross-app activation requests are not allowed.
 698         if (cause != CausedFocusEvent.Cause.MOUSE_EVENT &&
 699             !((LWCToolkit)Toolkit.getDefaultToolkit()).isApplicationActive())
 700         {
 701             focusLogger.fine("the app is inactive, so the request is rejected");
 702             return true;
 703         }
 704         return false;
 705     }
 706 
 707     @Override
 708     public boolean requestWindowFocus() {
 709 
 710         long ptr = getNSWindowPtr();
 711         if (CWrapper.NSWindow.canBecomeMainWindow(ptr)) {
 712             CWrapper.NSWindow.makeMainWindow(ptr);
 713         }
 714         CWrapper.NSWindow.makeKeyAndOrderFront(ptr);
 715         return true;