< prev index next >

src/java.desktop/unix/classes/sun/awt/X11/XWindow.java

Print this page




 531     protected void flush(){
 532         XToolkit.awtLock();
 533         try {
 534             XlibWrapper.XFlush(XToolkit.getDisplay());
 535         } finally {
 536             XToolkit.awtUnlock();
 537         }
 538     }
 539 
 540     public void popup(int x, int y, int width, int height) {
 541         // TBD: grab the pointer
 542         xSetBounds(x, y, width, height);
 543     }
 544 
 545     public void handleExposeEvent(XEvent xev) {
 546         super.handleExposeEvent(xev);
 547         XExposeEvent xe = xev.get_xexpose();
 548         if (isEventDisabled(xev)) {
 549             return;
 550         }
 551         int x = xe.get_x();
 552         int y = xe.get_y();
 553         int w = xe.get_width();
 554         int h = xe.get_height();

 555 
 556         Component target = getEventSource();
 557         ComponentAccessor compAccessor = AWTAccessor.getComponentAccessor();
 558 
 559         if (!compAccessor.getIgnoreRepaint(target)
 560             && compAccessor.getWidth(target) != 0
 561             && compAccessor.getHeight(target) != 0)
 562         {
 563             postPaintEvent(target, x, y, w, h);
 564         }
 565     }
 566 
 567     public void postPaintEvent(Component target, int x, int y, int w, int h) {
 568         PaintEvent event = PaintEventDispatcher.getPaintEventDispatcher().
 569             createPaintEvent(target, x, y, w, h);
 570         if (event != null) {
 571             postEventToEventQueue(event);
 572         }
 573     }
 574 


 659         if (eventLog.isLoggable(PlatformLogger.Level.FINE)) {
 660             eventLog.fine(xbe.toString());
 661         }
 662         long when;
 663         int modifiers;
 664         boolean popupTrigger = false;
 665         int button=0;
 666         int lbutton = xbe.get_button();
 667         /*
 668          * Ignore the buttons above 20 due to the bit limit for
 669          * InputEvent.BUTTON_DOWN_MASK.
 670          * One more bit is reserved for FIRST_HIGH_BIT.
 671          */
 672         if (lbutton > SunToolkit.MAX_BUTTONS_SUPPORTED) {
 673             return;
 674         }
 675         int type = xev.get_type();
 676         when = xbe.get_time();
 677         long jWhen = XToolkit.nowMillisUTC_offset(when);
 678 
 679         int x = xbe.get_x();
 680         int y = xbe.get_y();
 681         if (xev.get_xany().get_window() != window) {
 682             Point localXY = toLocal(xbe.get_x_root(), xbe.get_y_root());

 683             x = localXY.x;
 684             y = localXY.y;
 685         }
 686 
 687         if (type == XConstants.ButtonPress) {
 688             //Allow this mouse button to generate CLICK event on next ButtonRelease
 689             mouseButtonClickAllowed |= XlibUtil.getButtonMask(lbutton);
 690             XWindow lastWindow = (lastWindowRef != null) ? (lastWindowRef.get()):(null);
 691             /*
 692                multiclick checking
 693             */
 694             if (eventLog.isLoggable(PlatformLogger.Level.FINEST)) {
 695                 eventLog.finest("lastWindow = " + lastWindow + ", lastButton "
 696                 + lastButton + ", lastTime " + lastTime + ", multiClickTime "
 697                 + XToolkit.getMultiClickTime());
 698             }
 699             if (lastWindow == this && lastButton == lbutton && (when - lastTime) < XToolkit.getMultiClickTime()) {
 700                 clickCount++;
 701             } else {
 702                 clickCount = 1;


 713             */
 714             popupTrigger = (lbutton == 3);
 715         }
 716 
 717         button = XConstants.buttons[lbutton - 1];
 718 
 719         // mapping extra buttons to numbers starting from 4.
 720         if ((button > XConstants.buttons[4]) && (!Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled())){
 721             return;
 722         }
 723 
 724         if (button > XConstants.buttons[4]){
 725             button -= 2;
 726         }
 727 
 728         if (!isWheel(lbutton)) {
 729             modifiers = getModifiers(xbe.get_state(), button, 0);
 730             MouseEvent me = new MouseEvent(getEventSource(),
 731                                            type == XConstants.ButtonPress ? MouseEvent.MOUSE_PRESSED : MouseEvent.MOUSE_RELEASED,
 732                                            jWhen,modifiers, x, y,
 733                                            xbe.get_x_root(),
 734                                            xbe.get_y_root(),
 735                                            clickCount,popupTrigger,button);
 736 
 737             postEventToEventQueue(me);
 738 
 739             if ((type == XConstants.ButtonRelease) &&
 740                 ((mouseButtonClickAllowed & XlibUtil.getButtonMask(lbutton)) != 0) ) // No up-button in the drag-state
 741             {
 742                 postEventToEventQueue(me = new MouseEvent(getEventSource(),
 743                                                      MouseEvent.MOUSE_CLICKED,
 744                                                      jWhen,
 745                                                      modifiers,
 746                                                      x, y,
 747                                                      xbe.get_x_root(),
 748                                                      xbe.get_y_root(),
 749                                                      clickCount,
 750                                                      false, button));
 751             }
 752 
 753         }
 754         else {
 755             modifiers = getWheelModifiers(xbe.get_state(), button);
 756             if (xev.get_type() == XConstants.ButtonPress) {
 757                 MouseWheelEvent mwe = new MouseWheelEvent(getEventSource(),MouseEvent.MOUSE_WHEEL, jWhen,
 758                                                           modifiers,
 759                                                           x, y,
 760                                                           xbe.get_x_root(),
 761                                                           xbe.get_y_root(),
 762                                                           1,false,MouseWheelEvent.WHEEL_UNIT_SCROLL,
 763                                                           3,button==4 ?  -1 : 1);
 764                 postEventToEventQueue(mwe);
 765             }
 766         }
 767 
 768         /* Update the state variable AFTER the CLICKED event post. */
 769         if (type == XConstants.ButtonRelease) {
 770             /* Exclude this mouse button from allowed list.*/
 771             mouseButtonClickAllowed &= ~ XlibUtil.getButtonMask(lbutton);
 772         }
 773     }
 774 
 775     public void handleMotionNotify(XEvent xev) {
 776         super.handleMotionNotify(xev);
 777         XMotionEvent xme = xev.get_xmotion();
 778         if (isEventDisabled(xev)) {
 779             return;
 780         }
 781 


 788 
 789         for (int i = 0; i < buttonsNumber; i++){
 790             // TODO : here is the bug in WM: extra buttons doesn't have state!=0 as they should.
 791             if ((i != 4) && (i != 5)) {
 792                 mouseKeyState = mouseKeyState | (xme.get_state() & XlibUtil.getButtonMask(i + 1));
 793             }
 794         }
 795 
 796         boolean isDragging = (mouseKeyState != 0);
 797         int mouseEventType = 0;
 798 
 799         if (isDragging) {
 800             mouseEventType = MouseEvent.MOUSE_DRAGGED;
 801         } else {
 802             mouseEventType = MouseEvent.MOUSE_MOVED;
 803         }
 804 
 805         /*
 806            Fix for 6176814 .  Add multiclick checking.
 807         */
 808         int x = xme.get_x();
 809         int y = xme.get_y();
 810         XWindow lastWindow = (lastWindowRef != null) ? (lastWindowRef.get()):(null);
 811 
 812         if (!(lastWindow == this &&
 813               (xme.get_time() - lastTime) < XToolkit.getMultiClickTime()  &&
 814               (Math.abs(lastX - x) < AWT_MULTICLICK_SMUDGE &&
 815                Math.abs(lastY - y) < AWT_MULTICLICK_SMUDGE))) {
 816           clickCount = 0;
 817           lastWindowRef = null;
 818           mouseButtonClickAllowed = 0;
 819           lastTime = 0;
 820           lastX = 0;
 821           lastY = 0;
 822         }
 823 
 824         long jWhen = XToolkit.nowMillisUTC_offset(xme.get_time());
 825         int modifiers = getModifiers(xme.get_state(), 0, 0);
 826         boolean popupTrigger = false;
 827 
 828         Component source = getEventSource();
 829 
 830         if (xme.get_window() != window) {
 831             Point localXY = toLocal(xme.get_x_root(), xme.get_y_root());

 832             x = localXY.x;
 833             y = localXY.y;
 834         }
 835         /* Fix for 5039416.
 836          * According to canvas.c we shouldn't post any MouseEvent if mouse is dragging and clickCount!=0.
 837          */
 838         if ((isDragging && clickCount == 0) || !isDragging) {
 839             MouseEvent mme = new MouseEvent(source, mouseEventType, jWhen,
 840                                             modifiers, x, y, xme.get_x_root(), xme.get_y_root(),


 841                                             clickCount, popupTrigger, MouseEvent.NOBUTTON);
 842             postEventToEventQueue(mme);
 843         }
 844     }
 845 
 846 
 847     // REMIND: need to implement looking for disabled events
 848     private native boolean x11inputMethodLookupString(long event,
 849                                                       long[] keysymArray);
 850 
 851     private native boolean haveCurrentX11InputMethodInstance();
 852 
 853     private boolean mouseAboveMe;
 854 
 855     public boolean isMouseAbove() {
 856         synchronized (getStateLock()) {
 857             return mouseAboveMe;
 858         }
 859     }
 860     protected void setMouseAbove(boolean above) {


 932                     // cursor is updated (in XGlobalCursorManager.findHeavyweightUnderCursor()).
 933                     XAwtState.setComponentMouseEntered(getEventSource());
 934                     XGlobalCursorManager.nativeUpdateCursor(getEventSource());
 935                 } else { // LeaveNotify:
 936                     XAwtState.setComponentMouseEntered(null);
 937                 }
 938             } else {
 939                 ((XComponentPeer) AWTAccessor.getComponentAccessor().getPeer(target))
 940                     .pSetCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
 941             }
 942         }
 943 
 944         if (isEventDisabled(xev)) {
 945             return;
 946         }
 947 
 948         long jWhen = XToolkit.nowMillisUTC_offset(xce.get_time());
 949         int modifiers = getModifiers(xce.get_state(),0,0);
 950         int clickCount = 0;
 951         boolean popupTrigger = false;
 952         int x = xce.get_x();
 953         int y = xce.get_y();
 954         if (xce.get_window() != window) {
 955             Point localXY = toLocal(xce.get_x_root(), xce.get_y_root());

 956             x = localXY.x;
 957             y = localXY.y;
 958         }
 959 
 960         // This code tracks boundary crossing and ensures MOUSE_ENTER/EXIT
 961         // are posted in alternate pairs
 962         if (compWithMouse != null) {
 963             MouseEvent me = new MouseEvent(compWithMouse,
 964                 MouseEvent.MOUSE_EXITED, jWhen, modifiers, xce.get_x(),
 965                 xce.get_y(), xce.get_x_root(), xce.get_y_root(), clickCount, popupTrigger,




 966                 MouseEvent.NOBUTTON);
 967             postEventToEventQueue(me);
 968             eventLog.finest("Clearing last window ref");
 969             lastWindowRef = null;
 970         }
 971         if (xce.get_type() == XConstants.EnterNotify) {
 972             MouseEvent me = new MouseEvent(getEventSource(), MouseEvent.MOUSE_ENTERED,
 973                 jWhen, modifiers, xce.get_x(), xce.get_y(), xce.get_x_root(), xce.get_y_root(), clickCount,
 974                 popupTrigger, MouseEvent.NOBUTTON);





 975             postEventToEventQueue(me);
 976         }
 977     }
 978 
 979     public void doLayout(int x, int y, int width, int height) {}
 980 
 981     public void handleConfigureNotifyEvent(XEvent xev) {
 982         Rectangle oldBounds = getBounds();
 983 
 984         super.handleConfigureNotifyEvent(xev);
 985         if (insLog.isLoggable(PlatformLogger.Level.FINER)) {
 986             insLog.finer("Configure, {0}, event disabled: {1}",
 987                      xev.get_xconfigure(), isEventDisabled(xev));
 988         }
 989         if (isEventDisabled(xev)) {
 990             return;
 991         }
 992 
 993 //  if ( Check if it's a resize, a move, or a stacking order change )
 994 //  {


1514     /**
1515      * Indicates if the window is currently in the FSEM.
1516      * Synchronization: state lock.
1517      */
1518     private boolean fullScreenExclusiveModeState = false;
1519 
1520     // Implementation of the X11ComponentPeer
1521     @Override
1522     public void setFullScreenExclusiveModeState(boolean state) {
1523         synchronized (getStateLock()) {
1524             fullScreenExclusiveModeState = state;
1525         }
1526     }
1527 
1528     public final boolean isFullScreenExclusiveMode() {
1529         synchronized (getStateLock()) {
1530             return fullScreenExclusiveModeState;
1531         }
1532     }
1533 














1534 }


 531     protected void flush(){
 532         XToolkit.awtLock();
 533         try {
 534             XlibWrapper.XFlush(XToolkit.getDisplay());
 535         } finally {
 536             XToolkit.awtUnlock();
 537         }
 538     }
 539 
 540     public void popup(int x, int y, int width, int height) {
 541         // TBD: grab the pointer
 542         xSetBounds(x, y, width, height);
 543     }
 544 
 545     public void handleExposeEvent(XEvent xev) {
 546         super.handleExposeEvent(xev);
 547         XExposeEvent xe = xev.get_xexpose();
 548         if (isEventDisabled(xev)) {
 549             return;
 550         }
 551 
 552         int x = scaleDown(xe.get_x());
 553         int y = scaleDown(xe.get_y());
 554         int w = scaleDown(xe.get_width());
 555         int h = scaleDown(xe.get_height());
 556 
 557         Component target = getEventSource();
 558         ComponentAccessor compAccessor = AWTAccessor.getComponentAccessor();
 559 
 560         if (!compAccessor.getIgnoreRepaint(target)
 561             && compAccessor.getWidth(target) != 0
 562             && compAccessor.getHeight(target) != 0)
 563         {
 564             postPaintEvent(target, x, y, w, h);
 565         }
 566     }
 567 
 568     public void postPaintEvent(Component target, int x, int y, int w, int h) {
 569         PaintEvent event = PaintEventDispatcher.getPaintEventDispatcher().
 570             createPaintEvent(target, x, y, w, h);
 571         if (event != null) {
 572             postEventToEventQueue(event);
 573         }
 574     }
 575 


 660         if (eventLog.isLoggable(PlatformLogger.Level.FINE)) {
 661             eventLog.fine(xbe.toString());
 662         }
 663         long when;
 664         int modifiers;
 665         boolean popupTrigger = false;
 666         int button=0;
 667         int lbutton = xbe.get_button();
 668         /*
 669          * Ignore the buttons above 20 due to the bit limit for
 670          * InputEvent.BUTTON_DOWN_MASK.
 671          * One more bit is reserved for FIRST_HIGH_BIT.
 672          */
 673         if (lbutton > SunToolkit.MAX_BUTTONS_SUPPORTED) {
 674             return;
 675         }
 676         int type = xev.get_type();
 677         when = xbe.get_time();
 678         long jWhen = XToolkit.nowMillisUTC_offset(when);
 679 
 680         int x = scaleDown(xbe.get_x());
 681         int y = scaleDown(xbe.get_y());
 682         if (xev.get_xany().get_window() != window) {
 683             Point localXY = toLocal(scaleDown(xbe.get_x_root()),
 684                                     scaleDown(xbe.get_y_root()));
 685             x = localXY.x;
 686             y = localXY.y;
 687         }
 688 
 689         if (type == XConstants.ButtonPress) {
 690             //Allow this mouse button to generate CLICK event on next ButtonRelease
 691             mouseButtonClickAllowed |= XlibUtil.getButtonMask(lbutton);
 692             XWindow lastWindow = (lastWindowRef != null) ? (lastWindowRef.get()):(null);
 693             /*
 694                multiclick checking
 695             */
 696             if (eventLog.isLoggable(PlatformLogger.Level.FINEST)) {
 697                 eventLog.finest("lastWindow = " + lastWindow + ", lastButton "
 698                 + lastButton + ", lastTime " + lastTime + ", multiClickTime "
 699                 + XToolkit.getMultiClickTime());
 700             }
 701             if (lastWindow == this && lastButton == lbutton && (when - lastTime) < XToolkit.getMultiClickTime()) {
 702                 clickCount++;
 703             } else {
 704                 clickCount = 1;


 715             */
 716             popupTrigger = (lbutton == 3);
 717         }
 718 
 719         button = XConstants.buttons[lbutton - 1];
 720 
 721         // mapping extra buttons to numbers starting from 4.
 722         if ((button > XConstants.buttons[4]) && (!Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled())){
 723             return;
 724         }
 725 
 726         if (button > XConstants.buttons[4]){
 727             button -= 2;
 728         }
 729 
 730         if (!isWheel(lbutton)) {
 731             modifiers = getModifiers(xbe.get_state(), button, 0);
 732             MouseEvent me = new MouseEvent(getEventSource(),
 733                                            type == XConstants.ButtonPress ? MouseEvent.MOUSE_PRESSED : MouseEvent.MOUSE_RELEASED,
 734                                            jWhen,modifiers, x, y,
 735                                            scaleDown(xbe.get_x_root()),
 736                                            scaleDown(xbe.get_y_root()),
 737                                            clickCount,popupTrigger,button);
 738 
 739             postEventToEventQueue(me);
 740 
 741             if ((type == XConstants.ButtonRelease) &&
 742                 ((mouseButtonClickAllowed & XlibUtil.getButtonMask(lbutton)) != 0) ) // No up-button in the drag-state
 743             {
 744                 postEventToEventQueue(me = new MouseEvent(getEventSource(),
 745                                                      MouseEvent.MOUSE_CLICKED,
 746                                                      jWhen,
 747                                                      modifiers,
 748                                                      x, y,
 749                                                      scaleDown(xbe.get_x_root()),
 750                                                      scaleDown(xbe.get_y_root()),
 751                                                      clickCount,
 752                                                      false, button));
 753             }
 754 
 755         }
 756         else {
 757             modifiers = getWheelModifiers(xbe.get_state(), button);
 758             if (xev.get_type() == XConstants.ButtonPress) {
 759                 MouseWheelEvent mwe = new MouseWheelEvent(getEventSource(),MouseEvent.MOUSE_WHEEL, jWhen,
 760                                                           modifiers,
 761                                                           x, y,
 762                                                           scaleDown(xbe.get_x_root()),
 763                                                           scaleDown(xbe.get_y_root()),
 764                                                           1,false,MouseWheelEvent.WHEEL_UNIT_SCROLL,
 765                                                           3,button==4 ?  -1 : 1);
 766                 postEventToEventQueue(mwe);
 767             }
 768         }
 769 
 770         /* Update the state variable AFTER the CLICKED event post. */
 771         if (type == XConstants.ButtonRelease) {
 772             /* Exclude this mouse button from allowed list.*/
 773             mouseButtonClickAllowed &= ~ XlibUtil.getButtonMask(lbutton);
 774         }
 775     }
 776 
 777     public void handleMotionNotify(XEvent xev) {
 778         super.handleMotionNotify(xev);
 779         XMotionEvent xme = xev.get_xmotion();
 780         if (isEventDisabled(xev)) {
 781             return;
 782         }
 783 


 790 
 791         for (int i = 0; i < buttonsNumber; i++){
 792             // TODO : here is the bug in WM: extra buttons doesn't have state!=0 as they should.
 793             if ((i != 4) && (i != 5)) {
 794                 mouseKeyState = mouseKeyState | (xme.get_state() & XlibUtil.getButtonMask(i + 1));
 795             }
 796         }
 797 
 798         boolean isDragging = (mouseKeyState != 0);
 799         int mouseEventType = 0;
 800 
 801         if (isDragging) {
 802             mouseEventType = MouseEvent.MOUSE_DRAGGED;
 803         } else {
 804             mouseEventType = MouseEvent.MOUSE_MOVED;
 805         }
 806 
 807         /*
 808            Fix for 6176814 .  Add multiclick checking.
 809         */
 810         int x = scaleDown(xme.get_x());
 811         int y = scaleDown(xme.get_y());
 812         XWindow lastWindow = (lastWindowRef != null) ? (lastWindowRef.get()):(null);
 813 
 814         if (!(lastWindow == this &&
 815               (xme.get_time() - lastTime) < XToolkit.getMultiClickTime()  &&
 816               (Math.abs(lastX - x) < AWT_MULTICLICK_SMUDGE &&
 817                Math.abs(lastY - y) < AWT_MULTICLICK_SMUDGE))) {
 818           clickCount = 0;
 819           lastWindowRef = null;
 820           mouseButtonClickAllowed = 0;
 821           lastTime = 0;
 822           lastX = 0;
 823           lastY = 0;
 824         }
 825 
 826         long jWhen = XToolkit.nowMillisUTC_offset(xme.get_time());
 827         int modifiers = getModifiers(xme.get_state(), 0, 0);
 828         boolean popupTrigger = false;
 829 
 830         Component source = getEventSource();
 831 
 832         if (xme.get_window() != window) {
 833             Point localXY = toLocal(scaleDown(xme.get_x_root()),
 834                                     scaleDown(xme.get_y_root()));
 835             x = localXY.x;
 836             y = localXY.y;
 837         }
 838         /* Fix for 5039416.
 839          * According to canvas.c we shouldn't post any MouseEvent if mouse is dragging and clickCount!=0.
 840          */
 841         if ((isDragging && clickCount == 0) || !isDragging) {
 842             MouseEvent mme = new MouseEvent(source, mouseEventType, jWhen,
 843                                             modifiers, x, y,
 844                                             scaleDown(xme.get_x_root()),
 845                                             scaleDown(xme.get_y_root()),
 846                                             clickCount, popupTrigger, MouseEvent.NOBUTTON);
 847             postEventToEventQueue(mme);
 848         }
 849     }
 850 
 851 
 852     // REMIND: need to implement looking for disabled events
 853     private native boolean x11inputMethodLookupString(long event,
 854                                                       long[] keysymArray);
 855 
 856     private native boolean haveCurrentX11InputMethodInstance();
 857 
 858     private boolean mouseAboveMe;
 859 
 860     public boolean isMouseAbove() {
 861         synchronized (getStateLock()) {
 862             return mouseAboveMe;
 863         }
 864     }
 865     protected void setMouseAbove(boolean above) {


 937                     // cursor is updated (in XGlobalCursorManager.findHeavyweightUnderCursor()).
 938                     XAwtState.setComponentMouseEntered(getEventSource());
 939                     XGlobalCursorManager.nativeUpdateCursor(getEventSource());
 940                 } else { // LeaveNotify:
 941                     XAwtState.setComponentMouseEntered(null);
 942                 }
 943             } else {
 944                 ((XComponentPeer) AWTAccessor.getComponentAccessor().getPeer(target))
 945                     .pSetCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
 946             }
 947         }
 948 
 949         if (isEventDisabled(xev)) {
 950             return;
 951         }
 952 
 953         long jWhen = XToolkit.nowMillisUTC_offset(xce.get_time());
 954         int modifiers = getModifiers(xce.get_state(),0,0);
 955         int clickCount = 0;
 956         boolean popupTrigger = false;
 957         int x = scaleDown(xce.get_x());
 958         int y = scaleDown(xce.get_y());
 959         if (xce.get_window() != window) {
 960             Point localXY = toLocal(scaleDown(xce.get_x_root()),
 961                                     scaleDown(xce.get_y_root()));
 962             x = localXY.x;
 963             y = localXY.y;
 964         }
 965 
 966         // This code tracks boundary crossing and ensures MOUSE_ENTER/EXIT
 967         // are posted in alternate pairs
 968         if (compWithMouse != null) {
 969             MouseEvent me = new MouseEvent(compWithMouse, MouseEvent.MOUSE_EXITED,
 970                                            jWhen, modifiers,
 971                                            scaleDown(xce.get_x()),
 972                                            scaleDown(xce.get_y()),
 973                                            scaleDown(xce.get_x_root()),
 974                                            scaleDown(xce.get_y_root()),
 975                                            clickCount, popupTrigger,
 976                                            MouseEvent.NOBUTTON);
 977             postEventToEventQueue(me);
 978             eventLog.finest("Clearing last window ref");
 979             lastWindowRef = null;
 980         }
 981         if (xce.get_type() == XConstants.EnterNotify) {
 982             MouseEvent me = new MouseEvent(getEventSource(), MouseEvent.MOUSE_ENTERED,
 983                                            jWhen, modifiers,
 984                                            scaleDown(xce.get_x()),
 985                                            scaleDown(xce.get_y()),
 986                                            scaleDown(xce.get_x_root()),
 987                                            scaleDown(xce.get_y_root()),
 988                                            clickCount, popupTrigger,
 989                                            MouseEvent.NOBUTTON);
 990             postEventToEventQueue(me);
 991         }
 992     }
 993 
 994     public void doLayout(int x, int y, int width, int height) {}
 995 
 996     public void handleConfigureNotifyEvent(XEvent xev) {
 997         Rectangle oldBounds = getBounds();
 998 
 999         super.handleConfigureNotifyEvent(xev);
1000         if (insLog.isLoggable(PlatformLogger.Level.FINER)) {
1001             insLog.finer("Configure, {0}, event disabled: {1}",
1002                      xev.get_xconfigure(), isEventDisabled(xev));
1003         }
1004         if (isEventDisabled(xev)) {
1005             return;
1006         }
1007 
1008 //  if ( Check if it's a resize, a move, or a stacking order change )
1009 //  {


1529     /**
1530      * Indicates if the window is currently in the FSEM.
1531      * Synchronization: state lock.
1532      */
1533     private boolean fullScreenExclusiveModeState = false;
1534 
1535     // Implementation of the X11ComponentPeer
1536     @Override
1537     public void setFullScreenExclusiveModeState(boolean state) {
1538         synchronized (getStateLock()) {
1539             fullScreenExclusiveModeState = state;
1540         }
1541     }
1542 
1543     public final boolean isFullScreenExclusiveMode() {
1544         synchronized (getStateLock()) {
1545             return fullScreenExclusiveModeState;
1546         }
1547     }
1548 
1549     @Override
1550     protected int getScale() {
1551         return graphicsConfig.getScale();
1552     }
1553 
1554     @Override
1555     protected int scaleUp(int x) {
1556         return graphicsConfig.scaleUp(x);
1557     }
1558 
1559     @Override
1560     protected int scaleDown(int x) {
1561         return graphicsConfig.scaleDown(x);
1562     }
1563 }
< prev index next >