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

Print this page




  30 import java.awt.event.*;
  31 import java.awt.peer.WindowPeer;
  32 import java.beans.*;
  33 import java.lang.reflect.InvocationTargetException;
  34 import java.util.List;
  35 import java.util.Objects;
  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


 656             if(logger.isLoggable(PlatformLogger.Level.FINE)) {
 657                 logger.fine("NSWindow already disposed?", new Exception("Pointer to native NSWindow is invalid."));
 658             }
 659         }
 660         return nsWindowPtr;
 661     }
 662 
 663     public SurfaceData getSurfaceData() {
 664         return contentView.getSurfaceData();
 665     }
 666 
 667     @Override  // PlatformWindow
 668     public void toBack() {
 669         final long nsWindowPtr = getNSWindowPtr();
 670         nativePushNSWindowToBack(nsWindowPtr);
 671     }
 672 
 673     @Override  // PlatformWindow
 674     public void toFront() {
 675         final long nsWindowPtr = getNSWindowPtr();






 676         updateFocusabilityForAutoRequestFocus(false);
 677         nativePushNSWindowToFront(nsWindowPtr);
 678         updateFocusabilityForAutoRequestFocus(true);
 679     }
 680 
 681     @Override
 682     public void setResizable(final boolean resizable) {
 683         setStyleBits(RESIZABLE, resizable);
 684     }
 685 
 686     @Override
 687     public void setSizeConstraints(int minW, int minH, int maxW, int maxH) {
 688         nativeSetNSWindowMinMax(getNSWindowPtr(), minW, minH, maxW, maxH);
 689     }
 690 
 691     @Override
 692     public boolean rejectFocusRequest(CausedFocusEvent.Cause cause) {
 693         // Cross-app activation requests are not allowed.
 694         if (cause != CausedFocusEvent.Cause.MOUSE_EVENT &&
 695             !((LWCToolkit)Toolkit.getDefaultToolkit()).isApplicationActive())




  30 import java.awt.event.*;
  31 import java.awt.peer.WindowPeer;
  32 import java.beans.*;
  33 import java.lang.reflect.InvocationTargetException;
  34 import java.util.List;
  35 import java.util.Objects;
  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 static void nativeActivateApp();
  51     private native long nativeCreateNSWindow(long nsViewPtr,long ownerPtr, long styleBits, double x, double y, double w, double h);
  52     private static native void nativeSetNSWindowStyleBits(long nsWindowPtr, int mask, int data);
  53     private static native void nativeSetNSWindowMenuBar(long nsWindowPtr, long menuBarPtr);
  54     private static native Insets nativeGetNSWindowInsets(long nsWindowPtr);
  55     private static native void nativeSetNSWindowBounds(long nsWindowPtr, double x, double y, double w, double h);
  56     private static native void nativeSetNSWindowMinMax(long nsWindowPtr, double minW, double minH, double maxW, double maxH);
  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


 657             if(logger.isLoggable(PlatformLogger.Level.FINE)) {
 658                 logger.fine("NSWindow already disposed?", new Exception("Pointer to native NSWindow is invalid."));
 659             }
 660         }
 661         return nsWindowPtr;
 662     }
 663 
 664     public SurfaceData getSurfaceData() {
 665         return contentView.getSurfaceData();
 666     }
 667 
 668     @Override  // PlatformWindow
 669     public void toBack() {
 670         final long nsWindowPtr = getNSWindowPtr();
 671         nativePushNSWindowToBack(nsWindowPtr);
 672     }
 673 
 674     @Override  // PlatformWindow
 675     public void toFront() {
 676         final long nsWindowPtr = getNSWindowPtr();
 677         Container parent = getPeer().getTarget().getParent();
 678         if(DefaultKeyboardFocusManager.getCurrentKeyboardFocusManager().getActiveWindow()
 679                 instanceof CEmbeddedFrame
 680                 && !((LWCToolkit)Toolkit.getDefaultToolkit()).isApplicationActive()) {
 681             nativeActivateApp();
 682         }
 683         updateFocusabilityForAutoRequestFocus(false);
 684         nativePushNSWindowToFront(nsWindowPtr);
 685         updateFocusabilityForAutoRequestFocus(true);
 686     }
 687 
 688     @Override
 689     public void setResizable(final boolean resizable) {
 690         setStyleBits(RESIZABLE, resizable);
 691     }
 692 
 693     @Override
 694     public void setSizeConstraints(int minW, int minH, int maxW, int maxH) {
 695         nativeSetNSWindowMinMax(getNSWindowPtr(), minW, minH, maxW, maxH);
 696     }
 697 
 698     @Override
 699     public boolean rejectFocusRequest(CausedFocusEvent.Cause cause) {
 700         // Cross-app activation requests are not allowed.
 701         if (cause != CausedFocusEvent.Cause.MOUSE_EVENT &&
 702             !((LWCToolkit)Toolkit.getDefaultToolkit()).isApplicationActive())