jdk/src/solaris/classes/sun/awt/X11/XEmbedHelper.java
changeset 3938 ef327bd847c0
parent 439 3488710b02f8
child 4370 cc409c51b108
equal deleted inserted replaced
3934:487e1aa949c4 3938:ef327bd847c0
    25 
    25 
    26 package sun.awt.X11;
    26 package sun.awt.X11;
    27 
    27 
    28 import sun.misc.Unsafe;
    28 import sun.misc.Unsafe;
    29 
    29 
    30 import java.util.logging.*;
    30 import sun.util.logging.PlatformLogger;
       
    31 
    31 import java.awt.AWTKeyStroke;
    32 import java.awt.AWTKeyStroke;
    32 import java.awt.event.InputEvent;
    33 import java.awt.event.InputEvent;
    33 
    34 
    34 /**
    35 /**
    35  * Common class for all XEmbed protocol participating classes.
    36  * Common class for all XEmbed protocol participating classes.
    36  * Contains constant definitions and helper routines.
    37  * Contains constant definitions and helper routines.
    37  */
    38  */
    38 public class XEmbedHelper {
    39 public class XEmbedHelper {
    39     private static final Logger xembedLog = Logger.getLogger("sun.awt.X11.xembed");
    40     private static final PlatformLogger xembedLog = PlatformLogger.getLogger("sun.awt.X11.xembed");
    40     final static Unsafe unsafe = Unsafe.getUnsafe();
    41     final static Unsafe unsafe = Unsafe.getUnsafe();
    41 
    42 
    42     final static int XEMBED_VERSION = 0,
    43     final static int XEMBED_VERSION = 0,
    43         XEMBED_MAPPED = (1 << 0);
    44         XEMBED_MAPPED = (1 << 0);
    44 /* XEMBED messages */
    45 /* XEMBED messages */
    79     static XAtom XEmbed;
    80     static XAtom XEmbed;
    80 
    81 
    81     XEmbedHelper() {
    82     XEmbedHelper() {
    82         if (XEmbed == null) {
    83         if (XEmbed == null) {
    83             XEmbed = XAtom.get("_XEMBED");
    84             XEmbed = XAtom.get("_XEMBED");
    84             if (xembedLog.isLoggable(Level.FINER)) xembedLog.finer("Created atom " + XEmbed.toString());
    85             if (xembedLog.isLoggable(PlatformLogger.FINER)) xembedLog.finer("Created atom " + XEmbed.toString());
    85         }
    86         }
    86         if (XEmbedInfo == null) {
    87         if (XEmbedInfo == null) {
    87             XEmbedInfo = XAtom.get("_XEMBED_INFO");
    88             XEmbedInfo = XAtom.get("_XEMBED_INFO");
    88             if (xembedLog.isLoggable(Level.FINER)) xembedLog.finer("Created atom " + XEmbedInfo.toString());
    89             if (xembedLog.isLoggable(PlatformLogger.FINER)) xembedLog.finer("Created atom " + XEmbedInfo.toString());
    89         }
    90         }
    90     }
    91     }
    91 
    92 
    92     void sendMessage(long window, int message) {
    93     void sendMessage(long window, int message) {
    93         sendMessage(window, message, 0, 0, 0);
    94         sendMessage(window, message, 0, 0, 0);
   103         msg.set_data(2, detail);
   104         msg.set_data(2, detail);
   104         msg.set_data(3, data1);
   105         msg.set_data(3, data1);
   105         msg.set_data(4, data2);
   106         msg.set_data(4, data2);
   106         XToolkit.awtLock();
   107         XToolkit.awtLock();
   107         try {
   108         try {
   108             if (xembedLog.isLoggable(Level.FINE)) xembedLog.fine("Sending " + XEmbedMessageToString(msg));
   109             if (xembedLog.isLoggable(PlatformLogger.FINE)) xembedLog.fine("Sending " + XEmbedMessageToString(msg));
   109             XlibWrapper.XSendEvent(XToolkit.getDisplay(), window, false, XConstants.NoEventMask, msg.pData);
   110             XlibWrapper.XSendEvent(XToolkit.getDisplay(), window, false, XConstants.NoEventMask, msg.pData);
   110         }
   111         }
   111         finally {
   112         finally {
   112             XToolkit.awtUnlock();
   113             XToolkit.awtUnlock();
   113         }
   114         }