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

Print this page




 984      * deactivate on full mouse release
 985      */
 986     public void handleButtonPressRelease(XEvent xev) {
 987         XButtonEvent xbe = xev.get_xbutton();
 988         /*
 989          * Ignore the buttons above 20 due to the bit limit for
 990          * InputEvent.BUTTON_DOWN_MASK.
 991          * One more bit is reserved for FIRST_HIGH_BIT.
 992          */
 993         if (xbe.get_button() > SunToolkit.MAX_BUTTONS_SUPPORTED) {
 994             return;
 995         }
 996         int buttonState = 0;
 997         final int buttonsNumber = ((SunToolkit)(Toolkit.getDefaultToolkit())).getNumberOfButtons();
 998         for (int i = 0; i<buttonsNumber; i++){
 999             buttonState |= (xbe.get_state() & XConstants.buttonsMask[i]);
1000         }
1001         switch (xev.get_type()) {
1002         case XConstants.ButtonPress:
1003             if (buttonState == 0) {







1004                 XAwtState.setAutoGrabWindow(this);
1005             }
1006             break;
1007         case XConstants.ButtonRelease:
1008             if (isFullRelease(buttonState, xbe.get_button())) {
1009                 XAwtState.setAutoGrabWindow(null);
1010             }
1011             break;
1012         }
1013     }
1014     public void handleMotionNotify(XEvent xev) {
1015     }
1016     public void handleXCrossingEvent(XEvent xev) {
1017     }
1018     public void handleConfigureNotifyEvent(XEvent xev) {
1019         XConfigureEvent xe = xev.get_xconfigure();
1020         insLog.finer("Configure, {0}", xe);
1021         x = xe.get_x();
1022         y = xe.get_y();
1023         width = xe.get_width();




 984      * deactivate on full mouse release
 985      */
 986     public void handleButtonPressRelease(XEvent xev) {
 987         XButtonEvent xbe = xev.get_xbutton();
 988         /*
 989          * Ignore the buttons above 20 due to the bit limit for
 990          * InputEvent.BUTTON_DOWN_MASK.
 991          * One more bit is reserved for FIRST_HIGH_BIT.
 992          */
 993         if (xbe.get_button() > SunToolkit.MAX_BUTTONS_SUPPORTED) {
 994             return;
 995         }
 996         int buttonState = 0;
 997         final int buttonsNumber = ((SunToolkit)(Toolkit.getDefaultToolkit())).getNumberOfButtons();
 998         for (int i = 0; i<buttonsNumber; i++){
 999             buttonState |= (xbe.get_state() & XConstants.buttonsMask[i]);
1000         }
1001         switch (xev.get_type()) {
1002         case XConstants.ButtonPress:
1003             if (buttonState == 0) {
1004                 XWindowPeer parent = getToplevelXWindow();
1005                 // See 6385277, 6981400.
1006                 if (parent != null && parent.isFocusableWindow()) {
1007                     // A click in a client area drops the actual focused window retaining.
1008                     parent.setActualFocusedWindow(null);
1009                     parent.requestWindowFocus(xbe.get_time(), true);
1010                 }
1011                 XAwtState.setAutoGrabWindow(this);
1012             }
1013             break;
1014         case XConstants.ButtonRelease:
1015             if (isFullRelease(buttonState, xbe.get_button())) {
1016                 XAwtState.setAutoGrabWindow(null);
1017             }
1018             break;
1019         }
1020     }
1021     public void handleMotionNotify(XEvent xev) {
1022     }
1023     public void handleXCrossingEvent(XEvent xev) {
1024     }
1025     public void handleConfigureNotifyEvent(XEvent xev) {
1026         XConfigureEvent xe = xev.get_xconfigure();
1027         insLog.finer("Configure, {0}", xe);
1028         x = xe.get_x();
1029         y = xe.get_y();
1030         width = xe.get_width();