< prev index next >

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

Print this page




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

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


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

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


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


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

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


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


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

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




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





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


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














1530 }


 530     protected void flush(){
 531         XToolkit.awtLock();
 532         try {
 533             XlibWrapper.XFlush(XToolkit.getDisplay());
 534         } finally {
 535             XToolkit.awtUnlock();
 536         }
 537     }
 538 
 539     public void popup(int x, int y, int width, int height) {
 540         // TBD: grab the pointer
 541         xSetBounds(x, y, width, height);
 542     }
 543 
 544     public void handleExposeEvent(XEvent xev) {
 545         super.handleExposeEvent(xev);
 546         XExposeEvent xe = xev.get_xexpose();
 547         if (isEventDisabled(xev)) {
 548             return;
 549         }
 550 
 551         int x = scaleDown(xe.get_x());
 552         int y = scaleDown(xe.get_y());
 553         int w = scaleDown(xe.get_width());
 554         int h = scaleDown(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 = scaleDown(xbe.get_x());
 680         int y = scaleDown(xbe.get_y());
 681         if (xev.get_xany().get_window() != window) {
 682             Point localXY = toLocal(scaleDown(xbe.get_x_root()),
 683                                     scaleDown(xbe.get_y_root()));
 684             x = localXY.x;
 685             y = localXY.y;
 686         }
 687 
 688         if (type == XConstants.ButtonPress) {
 689             //Allow this mouse button to generate CLICK event on next ButtonRelease
 690             mouseButtonClickAllowed |= XlibUtil.getButtonMask(lbutton);
 691             XWindow lastWindow = (lastWindowRef != null) ? (lastWindowRef.get()):(null);
 692             /*
 693                multiclick checking
 694             */
 695             if (eventLog.isLoggable(PlatformLogger.Level.FINEST)) {
 696                 eventLog.finest("lastWindow = " + lastWindow + ", lastButton "
 697                 + lastButton + ", lastTime " + lastTime + ", multiClickTime "
 698                 + XToolkit.getMultiClickTime());
 699             }
 700             if (lastWindow == this && lastButton == lbutton && (when - lastTime) < XToolkit.getMultiClickTime()) {
 701                 clickCount++;
 702             } else {
 703                 clickCount = 1;


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


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


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


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