src/solaris/classes/sun/awt/X11/XToolkit.java

Print this page




 142     private native static void initIDs();
 143     native static void waitForEvents(long nextTaskTime);
 144     static Thread toolkitThread;
 145     static boolean isToolkitThread() {
 146         return Thread.currentThread() == toolkitThread;
 147     }
 148 
 149     static void initSecurityWarning() {
 150         // Enable warning only for internal builds
 151         String runtime = AccessController.doPrivileged(
 152                              new GetPropertyAction("java.runtime.version"));
 153         securityWarningEnabled = (runtime != null && runtime.contains("internal"));
 154     }
 155 
 156     static boolean isSecurityWarningEnabled() {
 157         return securityWarningEnabled;
 158     }
 159 
 160     static native void awt_output_flush();
 161 
 162     static final void  awtFUnlock() {
 163         awtUnlock();
 164         awt_output_flush();
 165     }
 166 
 167 
 168     public native void nativeLoadSystemColors(int[] systemColors);
 169 
 170     static UIDefaults getUIDefaults() {
 171         if (uidefaults == null) {
 172             initUIDefaults();
 173         }
 174         return uidefaults;
 175     }
 176 
 177     public void loadSystemColors(int[] systemColors) {
 178         nativeLoadSystemColors(systemColors);
 179         MotifColorUtilities.loadSystemColors(systemColors);
 180     }
 181 
 182 


 859      * The current implementation of disabling background erasing for
 860      * canvases is that we don't set any native background color
 861      * (with XSetWindowBackground) for the canvas window. However,
 862      * this color is set in the peer constructor - see
 863      * XWindow.postInit() for details. That's why this method from
 864      * SunToolkit is not overridden in XToolkit: it's too late to
 865      * disable background erasing :(
 866      */
 867     /*
 868     @Override
 869     public void disableBackgroundErase(Canvas canvas) {
 870         XCanvasPeer peer = (XCanvasPeer)canvas.getPeer();
 871         if (peer == null) {
 872             throw new IllegalStateException("Canvas must have a valid peer");
 873         }
 874         peer.disableBackgroundErase();
 875     }
 876     */
 877 
 878     // Need this for XMenuItemPeer.
 879     protected static final Object targetToPeer(Object target) {
 880         Object p=null;
 881         if (target != null && !GraphicsEnvironment.isHeadless()) {
 882             p = specialPeerMap.get(target);
 883         }
 884         if (p != null) return p;
 885         else
 886             return SunToolkit.targetToPeer(target);
 887     }
 888 
 889     // Need this for XMenuItemPeer.
 890     protected static final void targetDisposedPeer(Object target, Object peer) {
 891         SunToolkit.targetDisposedPeer(target, peer);
 892     }
 893 
 894     public RobotPeer createRobot(Robot target, GraphicsDevice screen) {
 895         return new XRobotPeer(screen.getDefaultConfiguration());
 896     }
 897 
 898 
 899   /*
 900      * On X, support for dynamic layout on resizing is governed by the
 901      * window manager.  If the window manager supports it, it happens
 902      * automatically.  The setter method for this property is
 903      * irrelevant on X.
 904      */
 905     public void setDynamicLayout(boolean b) {
 906         dynamicLayoutSetting = b;
 907     }
 908 
 909     protected boolean isDynamicLayoutSet() {
 910         return dynamicLayoutSetting;




 142     private native static void initIDs();
 143     native static void waitForEvents(long nextTaskTime);
 144     static Thread toolkitThread;
 145     static boolean isToolkitThread() {
 146         return Thread.currentThread() == toolkitThread;
 147     }
 148 
 149     static void initSecurityWarning() {
 150         // Enable warning only for internal builds
 151         String runtime = AccessController.doPrivileged(
 152                              new GetPropertyAction("java.runtime.version"));
 153         securityWarningEnabled = (runtime != null && runtime.contains("internal"));
 154     }
 155 
 156     static boolean isSecurityWarningEnabled() {
 157         return securityWarningEnabled;
 158     }
 159 
 160     static native void awt_output_flush();
 161 
 162     static void  awtFUnlock() {
 163         awtUnlock();
 164         awt_output_flush();
 165     }
 166 
 167 
 168     public native void nativeLoadSystemColors(int[] systemColors);
 169 
 170     static UIDefaults getUIDefaults() {
 171         if (uidefaults == null) {
 172             initUIDefaults();
 173         }
 174         return uidefaults;
 175     }
 176 
 177     public void loadSystemColors(int[] systemColors) {
 178         nativeLoadSystemColors(systemColors);
 179         MotifColorUtilities.loadSystemColors(systemColors);
 180     }
 181 
 182 


 859      * The current implementation of disabling background erasing for
 860      * canvases is that we don't set any native background color
 861      * (with XSetWindowBackground) for the canvas window. However,
 862      * this color is set in the peer constructor - see
 863      * XWindow.postInit() for details. That's why this method from
 864      * SunToolkit is not overridden in XToolkit: it's too late to
 865      * disable background erasing :(
 866      */
 867     /*
 868     @Override
 869     public void disableBackgroundErase(Canvas canvas) {
 870         XCanvasPeer peer = (XCanvasPeer)canvas.getPeer();
 871         if (peer == null) {
 872             throw new IllegalStateException("Canvas must have a valid peer");
 873         }
 874         peer.disableBackgroundErase();
 875     }
 876     */
 877 
 878     // Need this for XMenuItemPeer.
 879     protected static Object targetToPeer(Object target) {
 880         Object p=null;
 881         if (target != null && !GraphicsEnvironment.isHeadless()) {
 882             p = specialPeerMap.get(target);
 883         }
 884         if (p != null) return p;
 885         else
 886             return SunToolkit.targetToPeer(target);
 887     }
 888 
 889     // Need this for XMenuItemPeer.
 890     protected static void targetDisposedPeer(Object target, Object peer) {
 891         SunToolkit.targetDisposedPeer(target, peer);
 892     }
 893 
 894     public RobotPeer createRobot(Robot target, GraphicsDevice screen) {
 895         return new XRobotPeer(screen.getDefaultConfiguration());
 896     }
 897 
 898 
 899   /*
 900      * On X, support for dynamic layout on resizing is governed by the
 901      * window manager.  If the window manager supports it, it happens
 902      * automatically.  The setter method for this property is
 903      * irrelevant on X.
 904      */
 905     public void setDynamicLayout(boolean b) {
 906         dynamicLayoutSetting = b;
 907     }
 908 
 909     protected boolean isDynamicLayoutSet() {
 910         return dynamicLayoutSetting;