From 3898fe8e7cdf79c37a476c2169b4386f33a9bee3 Mon Sep 17 00:00:00 2001 From: Thomas Fitzsimmons Date: Wed, 5 Dec 2007 18:04:44 +0000 Subject: [PATCH] 2007-12-05 Thomas Fitzsimmons * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java, native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.c (isWindowUnderMouse): New method. * include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h: Regenerate. * gnu/java/awt/peer/gtk/GtkComponentPeer.java (getLocationOnScreen): Move WindowPeer section to... * gnu/java/awt/peer/gtk/GtkWindowPeer.java (getLocationOnScreen): New method. * gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java (isWindowUnderMouse): Implement. * java/awt/Component.java (getMousePosition): New method. (getMousePositionHelper): Likewise. (mouseOverComponent): Likewise. * java/awt/Container.java (getMousePosition): New method. (mouseOverComponent): Likewise. * classpath/lib/java/awt/Component.class, classpath/lib/java/awt/Component$BltBufferStrategy.class, classpath/lib/java/awt/Container$GfxPaintAllVisitor.class, classpath/lib/java/awt/Component$AccessibleAWTComponent $AccessibleAWTFocusHandler.class, classpath/lib/java/awt/Component$FlipBufferStrategy.class, classpath/lib/java/awt/Container$GfxVisitor.class, classpath/lib/java/awt/Component$AccessibleAWTComponent $AccessibleAWTComponentHandler.class, classpath/lib/java/awt/Container$AccessibleAWTContainer $AccessibleContainerHandler.class, classpath/lib/java/awt/Container.class, classpath/lib/java/awt/Container$AccessibleAWTContainer.class, classpath/lib/java/awt/Container$GfxPrintAllVisitor.class, classpath/lib/java/awt/Component$AccessibleAWTComponent.class, classpath/lib/java/awt/Container$GfxPaintVisitor.class, classpath/lib/java/awt/Container$GfxPrintVisitor.class, classpath/lib/java/awt/Component$HeavyweightInLightweightListener.class, classpath/lib/gnu/java/awt/peer/gtk/GtkComponentPeer.class, classpath/lib/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.class, classpath/lib/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.class, classpath/lib/gnu/java/awt/peer/gtk/GtkWindowPeer.class, classpath/lib/gnu/java/awt/peer/gtk/GtkComponentPeer $RepaintTimerTask.class: Regenerate. 2007-12-05 Thomas Fitzsimmons * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.h: Regenerate. * gnu/java/awt/peer/gtk/GtkWindowPeer.h: Likewise. * java/awt/Component.h: Likewise. * java/awt/Container.h: Likewise. From-SVN: r130627 --- libjava/ChangeLog | 7 +++ libjava/classpath/ChangeLog | 44 ++++++++++++++ .../awt/peer/gtk/GdkGraphicsEnvironment.java | 1 + .../java/awt/peer/gtk/GtkComponentPeer.java | 6 +- .../java/awt/peer/gtk/GtkMouseInfoPeer.java | 14 +---- .../gnu/java/awt/peer/gtk/GtkWindowPeer.java | 8 +++ ...java_awt_peer_gtk_GdkGraphicsEnvironment.h | 5 +- libjava/classpath/java/awt/Component.java | 56 ++++++++++++++++++ libjava/classpath/java/awt/Container.java | 27 +++++++++ .../awt/peer/gtk/GdkGraphicsEnvironment.class | Bin 3454 -> 3526 bytes .../GtkComponentPeer$RepaintTimerTask.class | Bin 1498 -> 1498 bytes .../java/awt/peer/gtk/GtkComponentPeer.class | Bin 18688 -> 18625 bytes .../java/awt/peer/gtk/GtkMouseInfoPeer.class | Bin 1504 -> 1154 bytes .../gnu/java/awt/peer/gtk/GtkWindowPeer.class | Bin 8207 -> 8439 bytes ...ponent$AccessibleAWTComponentHandler.class | Bin 1391 -> 1391 bytes ...TComponent$AccessibleAWTFocusHandler.class | Bin 1188 -> 1188 bytes .../Component$AccessibleAWTComponent.class | Bin 7344 -> 7344 bytes .../awt/Component$BltBufferStrategy.class | Bin 3283 -> 3283 bytes .../awt/Component$FlipBufferStrategy.class | Bin 3475 -> 3475 bytes ...ent$HeavyweightInLightweightListener.class | Bin 1500 -> 1500 bytes .../classpath/lib/java/awt/Component.class | Bin 57212 -> 58484 bytes ...Container$AccessibleContainerHandler.class | Bin 1195 -> 1195 bytes .../Container$AccessibleAWTContainer.class | Bin 2043 -> 2043 bytes .../awt/Container$GfxPaintAllVisitor.class | Bin 822 -> 822 bytes .../java/awt/Container$GfxPaintVisitor.class | Bin 810 -> 810 bytes .../awt/Container$GfxPrintAllVisitor.class | Bin 822 -> 822 bytes .../java/awt/Container$GfxPrintVisitor.class | Bin 810 -> 810 bytes .../lib/java/awt/Container$GfxVisitor.class | Bin 421 -> 421 bytes .../classpath/lib/java/awt/Container.class | Bin 25778 -> 26135 bytes ...java_awt_peer_gtk_GdkGraphicsEnvironment.c | 34 +++++++++++ .../awt/peer/gtk/GdkGraphicsEnvironment.h | 2 + libjava/gnu/java/awt/peer/gtk/GtkWindowPeer.h | 2 + libjava/java/awt/Component.h | 5 ++ libjava/java/awt/Container.h | 4 ++ 34 files changed, 196 insertions(+), 19 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 7da809b8bf42..31b06d9db983 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,10 @@ +2007-12-05 Thomas Fitzsimmons + + * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.h: Regenerate. + * gnu/java/awt/peer/gtk/GtkWindowPeer.h: Likewise. + * java/awt/Component.h: Likewise. + * java/awt/Container.h: Likewise. + 2007-11-05 H.J. Lu * configure.ac: Don't run config-ml.in directly. diff --git a/libjava/classpath/ChangeLog b/libjava/classpath/ChangeLog index c24ad7b80841..4086a236ceac 100644 --- a/libjava/classpath/ChangeLog +++ b/libjava/classpath/ChangeLog @@ -1,3 +1,47 @@ +2007-12-05 Thomas Fitzsimmons + + * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java, + native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.c + (isWindowUnderMouse): New method. + * include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h: + Regenerate. + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (getLocationOnScreen): Move WindowPeer section to... + * gnu/java/awt/peer/gtk/GtkWindowPeer.java (getLocationOnScreen): + New method. + * gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java + (isWindowUnderMouse): Implement. + * java/awt/Component.java (getMousePosition): New method. + (getMousePositionHelper): Likewise. + (mouseOverComponent): Likewise. + * java/awt/Container.java (getMousePosition): New method. + (mouseOverComponent): Likewise. + * classpath/lib/java/awt/Component.class, + classpath/lib/java/awt/Component$BltBufferStrategy.class, + classpath/lib/java/awt/Container$GfxPaintAllVisitor.class, + classpath/lib/java/awt/Component$AccessibleAWTComponent + $AccessibleAWTFocusHandler.class, + classpath/lib/java/awt/Component$FlipBufferStrategy.class, + classpath/lib/java/awt/Container$GfxVisitor.class, + classpath/lib/java/awt/Component$AccessibleAWTComponent + $AccessibleAWTComponentHandler.class, + classpath/lib/java/awt/Container$AccessibleAWTContainer + $AccessibleContainerHandler.class, + classpath/lib/java/awt/Container.class, + classpath/lib/java/awt/Container$AccessibleAWTContainer.class, + classpath/lib/java/awt/Container$GfxPrintAllVisitor.class, + classpath/lib/java/awt/Component$AccessibleAWTComponent.class, + classpath/lib/java/awt/Container$GfxPaintVisitor.class, + classpath/lib/java/awt/Container$GfxPrintVisitor.class, + classpath/lib/java/awt/Component$HeavyweightInLightweightListener.class, + classpath/lib/gnu/java/awt/peer/gtk/GtkComponentPeer.class, + classpath/lib/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.class, + classpath/lib/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.class, + classpath/lib/gnu/java/awt/peer/gtk/GtkWindowPeer.class, + classpath/lib/gnu/java/awt/peer/gtk/GtkComponentPeer + $RepaintTimerTask.class: + Regenerate. + 2007-10-01 Alexandre Oliva * scripts/check_jni_methods.sh: Don't depend on diff -b ignoring diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java b/libjava/classpath/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java index 67040b82a0f5..d06af84433f3 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java @@ -155,6 +155,7 @@ public class GdkGraphicsEnvironment extends ClasspathGraphicsEnvironment * Used by GtkMouseInfoPeer. */ native int[] getMouseCoordinates(); + native boolean isWindowUnderMouse(GtkWindowPeer windowPeer); public WritableRaster createRaster(ColorModel cm, SampleModel sm) { diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkComponentPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkComponentPeer.java index 16c20ee253f9..f658c17afbb7 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkComponentPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkComponentPeer.java @@ -76,7 +76,6 @@ import java.awt.image.VolatileImage; import java.awt.peer.ComponentPeer; import java.awt.peer.ContainerPeer; import java.awt.peer.LightweightPeer; -import java.awt.peer.WindowPeer; import java.util.Timer; import java.util.TimerTask; @@ -251,10 +250,7 @@ public class GtkComponentPeer extends GtkGenericPeer public Point getLocationOnScreen () { int point[] = new int[2]; - if( this instanceof WindowPeer ) - gtkWindowGetLocationOnScreen (point); - else - gtkWidgetGetLocationOnScreen (point); + gtkWidgetGetLocationOnScreen (point); return new Point (point[0], point[1]); } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java index 7aea50991dfa..7407744af9e8 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java @@ -60,17 +60,7 @@ public class GtkMouseInfoPeer implements MouseInfoPeer public boolean isWindowUnderMouse(Window w) { - int[] coords = gde.getMouseCoordinates(); - GraphicsDevice[] gds = gde.getScreenDevices(); - - // Check if the screen of the Window and the cursor match - if( gds[ coords[0] ] != w.getGraphicsConfiguration().getDevice() ) - return false; - - // Return the bounds-check. - Point p = w.getLocationOnScreen(); - return (coords[1] >= p.x && coords[1] < p.x + w.getWidth() && - coords[2] >= p.y && coords[2] < p.y + w.getHeight() ); - } + return gde.isWindowUnderMouse((GtkWindowPeer) w.getPeer()); + } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkWindowPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkWindowPeer.java index d8054150dea5..5dc4b2e5b377 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkWindowPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkWindowPeer.java @@ -45,6 +45,7 @@ import java.awt.Font; import java.awt.Frame; import java.awt.Graphics; import java.awt.KeyboardFocusManager; +import java.awt.Point; import java.awt.Rectangle; import java.awt.Window; import java.awt.event.ComponentEvent; @@ -392,6 +393,13 @@ public class GtkWindowPeer extends GtkContainerPeer clickCount, popupTrigger); } + public Point getLocationOnScreen() + { + int point[] = new int[2]; + gtkWindowGetLocationOnScreen(point); + return new Point(point[0], point[1]); + } + // We override this to keep it in sync with our internal // representation. public Rectangle getBounds() diff --git a/libjava/classpath/include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h b/libjava/classpath/include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h index aa0bd0156899..de83f57a5979 100644 --- a/libjava/classpath/include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h +++ b/libjava/classpath/include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h @@ -1,10 +1,10 @@ /* DO NOT EDIT THIS FILE - it is machine generated */ +#include + #ifndef __gnu_java_awt_peer_gtk_GdkGraphicsEnvironment__ #define __gnu_java_awt_peer_gtk_GdkGraphicsEnvironment__ -#include - #ifdef __cplusplus extern "C" { @@ -17,6 +17,7 @@ JNIEXPORT jobject JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphicsEnvironment_nati JNIEXPORT jint JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphicsEnvironment_nativeGetNumFontFamilies (JNIEnv *env, jobject); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphicsEnvironment_nativeGetFontFamilies (JNIEnv *env, jobject, jobjectArray); JNIEXPORT jintArray JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphicsEnvironment_getMouseCoordinates (JNIEnv *env, jobject); +JNIEXPORT jboolean JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphicsEnvironment_isWindowUnderMouse (JNIEnv *env, jobject, jobject); #ifdef __cplusplus } diff --git a/libjava/classpath/java/awt/Component.java b/libjava/classpath/java/awt/Component.java index f8bed17618ea..fe4fb9b8b0da 100644 --- a/libjava/classpath/java/awt/Component.java +++ b/libjava/classpath/java/awt/Component.java @@ -5833,6 +5833,62 @@ p *
  • the set of backward traversal keys return visible; } + /** + * Returns the mouse pointer position relative to this Component's + * top-left corner. + * + * @return relative mouse pointer position + * + * @throws HeadlessException if in a headless environment + */ + public Point getMousePosition() throws HeadlessException + { + return getMousePositionHelper(true); + } + + Point getMousePositionHelper(boolean allowChildren) throws HeadlessException + { + if (GraphicsEnvironment.isHeadless()) + throw new HeadlessException("can't get mouse position" + + " in headless environment"); + if (!isShowing()) + return null; + + Component parent = this; + int windowRelativeXOffset = 0; + int windowRelativeYOffset = 0; + while (parent != null && !(parent instanceof Window)) + { + windowRelativeXOffset += parent.getX(); + windowRelativeYOffset += parent.getY(); + parent = parent.getParent(); + } + if (parent == null) + return null; + + Window window = (Window) parent; + if (!Toolkit.getDefaultToolkit() + .getMouseInfoPeer().isWindowUnderMouse(window)) + return null; + + PointerInfo info = MouseInfo.getPointerInfo(); + Point mouseLocation = info.getLocation(); + Point windowLocation = window.getLocationOnScreen(); + + int x = mouseLocation.x - windowLocation.x; + int y = mouseLocation.y - windowLocation.y; + + if (!mouseOverComponent(window.getComponentAt(x, y), allowChildren)) + return null; + + return new Point(x - windowRelativeXOffset, y - windowRelativeYOffset); + } + + boolean mouseOverComponent(Component component, boolean allowChildren) + { + return component == this; + } + /** * This method is used to implement transferFocus(). CHILD is the child * making the request. This is overridden by Container; when called for an diff --git a/libjava/classpath/java/awt/Container.java b/libjava/classpath/java/awt/Container.java index 83d9f7b78c5b..e7622f2e8396 100644 --- a/libjava/classpath/java/awt/Container.java +++ b/libjava/classpath/java/awt/Container.java @@ -1097,6 +1097,33 @@ public class Container extends Component return locate (x, y); } + /** + * Returns the mouse pointer position relative to this Container's + * top-left corner. If allowChildren is false, the mouse pointer + * must be directly over this container. If allowChildren is true, + * the mouse pointer may be over this container or any of its + * descendents. + * + * @param allowChildren true to allow descendents, false if pointer + * must be directly over Container. + * + * @return relative mouse pointer position + * + * @throws HeadlessException if in a headless environment + */ + public Point getMousePosition(boolean allowChildren) throws HeadlessException + { + return super.getMousePositionHelper(allowChildren); + } + + boolean mouseOverComponent(Component component, boolean allowChildren) + { + if (allowChildren) + return isAncestorOf(component); + else + return component == this; + } + /** * Returns the component located at the specified point. This is done * by checking whether or not a child component claims to contain this diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.class index dfb28e4bf3ece359dd067cd75655587ef1450c28..6e3a11a3cf1c30a780846a4a025ad41b7afd06ff 100644 GIT binary patch delta 293 zcmXAjyG{aO5QV=V47*EKQ7n)(F+>|s3W=o_mNpt2L)^lO4Xh@Rz#1zH@qR<`_lCDZ z(Hdi-L=zhm3*W$3@F9r5v6wS6XU;j9mi5`&`PF)T2U6T<_ykFr@<$&NA6g{rmeOuM zQ&^hGXPn|>VX@>0;_+&=C*&>sU#1#^2vaXLA6%I8H z1eRRZtznZYg91J4cxgA|<$_d@CdYrIp~wlx&E~uyHm4^2oXHX6UUWTu8v}k@zzSvc zsbG~gg&{T1(}rL5ShC4_4Qr^$c8%^g?Ahcq`>Kv!IBAH6()fre3@ZoRqH#wDb^3Ua XQ|*!HIW?83lDObfX$4nm^KtzPcg07F delta 261 zcmXAkyGjF55Qe|AE7`NlL4#IVK~}BQEt1~C(l?N#HY5={w-@iXcs<@WijYY9h@e5y zMzHWXe2(BO4$MC@Kl9J!dwdY)e+F-#K#6+~M-khSTX>rJ@@%YEbK8a;cI|^+$n6^r zIJCcd-fwc^ajXdKhYpK|Q)U&qR!x=~%Sk<;$+_VoBYhzktBqPc38-*snBvN=`CXNN zE(Fu=I*JW81xMtB6^3vnMsc65lyI)kUdq@zm2&*Tk@(pwwx@d1;}8jsiUQhrbQtE5 f3A#)Q6aCMjC~svJam|fv$+BBgQ7c+fxej-K+7~wY diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkComponentPeer$RepaintTimerTask.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkComponentPeer$RepaintTimerTask.class index 097713c014afc4df54b9ce0c14ba1f082809f87c..abf76c0d9ee15a930e5b17492d91a488995a12d5 100644 GIT binary patch delta 75 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 C+6uM+ diff --git a/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.class b/libjava/classpath/lib/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.class index 35c5677f5b867b069d0e57e595bea78c4b3a725b..fc028c27fbbb5e0101ee076f6d2ca3d69b406035 100644 GIT binary patch delta 231 zcmaFB-Neat>ff$?3=9m03^p6NESdcE7!24M^cflWvl7b^^%KiW^usgrQu51rfGUg_ z8Q9ZPO9E0;ix?T?H8g$TY6^ft`p)^e1^IcYd0++B>y2P~;e`)C;yZZlLl{>(DJcowtiAU7*Z=Q-t$ot@`$qWU?~k9rB%9yD^MR^C z!XU|n;#SG>b_x~CauNb)0zgEs*fv1X2 zdCs?{c+k>smv8gEWU$PNqIXY7dAHECwdMHZD|*`L+pg_+&1qK+GGrAULfW;9URj|< zW4Xp6UKp%3poWQc%Py6@&wm1uL9JAjHAeos#B-&kRP`4cLHU#SXLQ$zY&4JY&GERF zm>R1yS!ebuL9HhFVp@;uiTnC@22Po1r2;(L|H5EA*o1~pxzkDodM;236Jmuf_A>O7<&jJ+D-VmAYrV@5N90b_9YgBYpnh;K*>>aC_hVfxxgxE-G%>7$yB87zG3`XMm1sI#a?)D$xHcQ_wlUQ`msF^MFq$`XuZv24v1$*C z2@=a*QWztTaZ1=nH4jkBej1pdi3e$Ak~?^q0FSr}$)lbrqB!6-`&wfjH|`UpanPOc zto=oKPe$Tbx!j?<$55!O3pn= zQ#Lzbvq#C%6ifA(E65G>wA&R%*h!>&&Usr(O3&!FH&x$Vx~RM~vivnQPTN+5{Ra@w zBG5r1b%+=}89vUm1?oS?8HrEL+JNjqwP>SzDEFrHBjLO_Tf^>r;n<~CcRsg3N8L}k zsn%c!KOe%ao3z<73oQ3m`%Dkb*sx$ADpW+r!v&WvZ2o(X(iXLcMWn6vOd`xeN4W5* au*f#|eqKT0%r&NU4L8IHneGf}sq1g=OXcAJ delta 837 zcmZvZSxD7s7{-5(cFLu+qsMbRX`Z8%+o?QKiIs*nT4^PNE!aj_9%#k(qP-h!m?G*U zrX;D0qK#H(m=>6cAc!v7iy7MJVixG4i=q{xSFgJ0;?MJZ-}^l8^SV>2mDP1#DJEf?5+rLcZF5-rDtTk3w>0yP#k^-JA6U*uTKU9EyIaR+ zw(*6%f?p&$6~_t1bH?zzdUIU~+*BgBmBiml=DFcZrMS((JHa%Pm5yINa+SeQ`6*X` zN@cp10gt9;(?>a^DvwMJB1eNwF@zH3Gs^f_6;Pu>>QzLOikYJb&Bj|ajMW;>X2WeN zpx6jiv_S&M?T#wL)Zi44{x3XBg^Em76E71_;daQCzKl}@+J88+EW z3N?#}noKjBk($F8&7(>!Oj3*nEum4%Y=&01f8c?{HF&gJ=HMr t-#ELy6Ku1dZnj;BIJ>FqNjm!7ZuRbLI8P_ty>KA4TQAd3wvKU{@)fBUuB!k5 diff --git a/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent$AccessibleAWTComponentHandler.class b/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent$AccessibleAWTComponentHandler.class index f48c922ff792d49fb88ea272c16cca4c14a50970..6c5bdeb7565acf653b2fb2ea1b17693ac629f441 100644 GIT binary patch delta 73 zcmaFQ^`2|P4`$YF46KryC;w%3<=xM~B6)y;OL9L0ujIkW{w)5yr+^}-fg-1XB4>ai Z@{>=oC^KH0Y{)7*nVVIW@d1!!2LN+D7Cis} delta 73 zcmaFQ^`2|P4`$Xn23E=H$$yz$dD|ISBs& YPd>$>%s6kdA*<|UZdO&s6+o6901ZtOod5s; diff --git a/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent$AccessibleAWTFocusHandler.class b/libjava/classpath/lib/java/awt/Component$AccessibleAWTComponent$AccessibleAWTFocusHandler.class index 029692cc4f01be7ea4ba5ae559cf8b6743549703..e2e3e879254f03f02233e762137559a317e310bf 100644 GIT binary patch delta 58 zcmZ3&xrB4WW@gq;46KsxC+}c(<^9dTBKe1bOY%1ZujJp!Tr7TkQfv$?QtS*|K$=&I M11KarxtT=~0RMCjP5=M^ delta 58 zcmZ3&xrB4WW@gr146KsdC+}c(b$7Ef^WT3aVb~=;vS<{dS;t+HDb(Fr2ocvRpoNX1U}KfS zM`R+Mf&L9~igS0gInzVUAu6am# z(6#X@6j*Kxu1kS3#|*qsFio9Z|Ig=>KB&EO|^m5 z^6~_`p)1Dv9c0(#zCIT=Wuk z2G6`1bpgMJ&ed=I*6 zO=gUqsjGEdGO7L|&R49OO#MWGQ@tVl7st4hvkva@k(~AL!N%BR8+ltL&(_GdRUER@ zIlBi}ZCf{~Xj_uWq<0w3=^hz-9OuLT-JgeTeOCN);s*$$-D&}yC{v5L70u`yG-Pk$ YW0dM;a_n71BVD~B>Vc?HERBr+1IfI1GXMYp delta 482 zcmWlTO-NK>6o${4@xvKGX2!Yqp6}i}a%qUdp+pjrLD3sjGk2g2+oWI%ThyXjWSgjj z$dYQ;O9s)VY$w$03Th|V*8Xf`Kie59+DVkzX>-o|oaZdwX0=&u#`)eGWaJuUi_|Umv78^zK2mzDw4@ZFT-eP`Gzug93JZl{Ud2k` zLBG7wr?=E2?v{OFN9$BaT@{vYmgX;2$j>%`5k}otPUva1Bv?p!qly8)i?Zk zcu{AB<5J-z%t>sXs(FSLN%$qYZERMRUt_}7Q+5px?ctQ&z?vT+?GJU?7CE*}u5IC< zKbo?enD=WYO*y|qe-iB-1mh+o@k=-#{O|rEsF{802i1EB!o7R|^)TV1xEqd{6V&NX ZVm*w_3}yUN2ulrfR?|66y;vyq{R3J+fGz+4 diff --git a/libjava/classpath/lib/java/awt/Component$BltBufferStrategy.class b/libjava/classpath/lib/java/awt/Component$BltBufferStrategy.class index 74be60b2956ddd6a065d45be923a6773c063aa7b..e796a03a7f4bd12840c034d0e2138d5811afce4d 100644 GIT binary patch delta 291 zcmWO0%PT~290l+*>E_PdiKsE|sma14V=)=os5`h*Rvu~CQ2qe1F^ZI_Q6tuVl03Q% zvA%h1*x4Y-<1Y9gY^<%E)v53A^!c60jok3JF;#>`4{;8oi6cmH6dC%)vMZTMG;m5U z6G(6xtt=tU8Dy1t&YHlUk1d!#+m9_8Fa9%DR(nkPwnygcGLv6o8 z3vbZITeLGo7w@$2-aI(9p(i=davtTpAjwxX-?Z!1 KypuKu$-+NG$3&F? delta 291 zcmWO0zb->@90l;xaP|Ia2yxrqLu06l8X8wDr6pH1AtJ=4Y)C^fm>SVU=#Kn?s-e7r z#2fS#`WP0o$(c^_{hfS%ryul#uiv=u!r~wt4q=#a__UFsV=TLw@iD-pUdG`vjWH4_ zP9U!gIcd6fHI_4fb`%Ru$@!@)slBXrQSB8OtC&&FF~S1ZQDy~O$~|sipPQ(28&}*x zi@WHsiccQkn}_DyZRd_9ok%*8RKo~QL7riXb^TkDbb&Qqn!I-#G_?I1qr5?qO{Cet zH1D+V-t@dy@lno`oCi4u2|la&s%33t`G#3`P~bb}buY1th#x2bScGLlFJ)d5<$oiO BHkAMX diff --git a/libjava/classpath/lib/java/awt/Component$FlipBufferStrategy.class b/libjava/classpath/lib/java/awt/Component$FlipBufferStrategy.class index 16b024509d292e6caa70d07f2d90b2ccb71f5452..f0857dc8ea3d2d6400478221e574e9de954fef6b 100644 GIT binary patch delta 223 zcmWNKze@sf7{;G(a>L#CH00`1A4$0)h@zo_9Mrg0K^zJSiU^{mmRcgkD`=A(>fJRY z`Z07g<=@uUyFSn7`8-15PsfcI!QmWSE+EGOLKd+|Vu@v}vx1maxp5yu?kHBnEbEFi zP-Tn_?uqpdO-qao*hk5cGp}>VlRtbWZ2WIJ9zA?CsD^e zw)h}3{!xCQ>61PTk>|6vFLLFdua0%|s+*Cv69jz2Jl|2`2P*u;GQY6GZ>%wuKmW}6 Kh2>OEv)lh%J}n3U delta 223 zcmWNK%_@Xp7>4f;@8W&mZ)p1RmFFHmF{U({1vW}FGx=FbqKu7{5EDaTHx>@zIS)A? zg-n^8!K`?;*WGp9O6A+0pOs%Yd54z|jLIi+`NEWZV@`TllpoZkulN2Xmp?cHV;n(F zhZ%a*7&L~XB-12j`V^L22?b8-YuI&Vq?|Xtmeh1TZX~PPjn@+m46_N(Is!MXvt^BK zEOSSP(pGWb=z%>PqR5u5$J$QM7B0-WH0RvbD`aeAoHr2OVwxS4d4~!gQ01cz(o@$( KR{jB?Of0ql diff --git a/libjava/classpath/lib/java/awt/Component$HeavyweightInLightweightListener.class b/libjava/classpath/lib/java/awt/Component$HeavyweightInLightweightListener.class index 5ab9670bde14b26b2b4c862a31be8ab95889d585..60503e61e1d2382e703b079b07461454858baf96 100644 GIT binary patch delta 69 zcmcb^eTRF4Gz(`s1FLun1E+Y}WEB=C#=^*-S_NnE|he$_htixO-M?zNk{@|R5IdBX-Yy96Rl|yYG>GHZ^+{2 zZrp6ZcBX8tKOCJ=rrmKE+A1AqboGY{171S;XlN-^v{n2-EeN*M(hmzrX)Bc$-+LD} zEB@Gfp7Xrt{d&%O?_NEqTz*mUAN%B)g8*9P?K}Nj2Qu^48|mKU)TGg$oQ$XANmJ4u zfr<^$jnU@lrgU?c5sf8`$;r;IjTjTQ-48)~ReFZ@31~MvcNvKZBP9^1TU*~#h|!;n zo9PZO9S~?4iJD8&VfG7;+gZEA6W8;G<7Rm5da|%#Zj7gr=D1;|{bV6yCmpsQ_xXiF z&#Cl09Tq6m-ffO1vjKh%MG}z}Re)tAo z`hV>UxZ_Sg+N`Ol+78a?R8`xP9N`>EPC7TAbe8aq zA5S)S_sxzQou`YEE(nCOj}3+tmHw6e`n~0u^Yord=WxMG?+f?~0ek#-NQ~Jc{aaPM ziqA_Q3D9VAWNMO4g08Acl~V1cPq>e-7!TTe<2WwTe3faQQ)bL5PL`=kx3b17HGvW*<=~iMB%Gk-s`7p12Rz7m)#KT%gPnf4P%e_P zl3&+s%TPs)D#MuIsfZb)(WyjwFcnW5eGhCfM$&$zL{_VEv8>6~3=K&3yG@l9*++)@ zT(U8Hd}y_3&W46RE0*mV9Dd9tF7A5kzNa3^2>PXX5-!(a{#>|OI}2ZB)B+a-uM}}x zG`)k73)}6z&1xs`G-EY?0?*-j-ogG@+#E;z2p*KMao4oV+J?FN$QlmN{ylW?*@z`d zpMWPLc0_uWl}fuihw_Du7CpOeWzfy*%(`}7aH+TP2>gwQJZ;;qooze{kJ!;T<7r#r znHDaK4uw2>=>-=!kk~Ozzg|Hhvgr5<8S+^4rxo6i+$|1-y!?o@`|Qn(y_t!%`y(Mw z&=>Su89FiFqCYzU_KAbTLEpky&>wWi_J|i|+unc*Zu=xiJB3p1G|IIzsL)=;0_`S%zAqD<^r|=vi7Bk4*BE*6C|a?QJ$%?wg&Hhk=;sUM&kd)ruYWZs zPU7Eo|y*V7S;pYQ%nMdOTo}@_Aj1scw z!yJARpesdWlSTi@Asfih$3^Ue7G29>b3lqB@>`Zva)<|{r-6Z|Y0&xZaGX z^cLjwR_xT5VZXi{N9y!8ysY1j6CCsv{Zr0eMDofO?&74UR)(^Dr^_?4Le4LGd7Z1k zOMKh*<&8I3azO)YAK5LIPs=KXS0cNW#d-KK!=wYHV3^5655p~a=wtYcJeHf zygSbZBVD_d?KT#ctew?n8GmA+-@)3fVqNY;h2Du;{VufVtI?r%;V!)!U(na!%lh3| zulFFK_hy%#DQ}lccqCo2&K6nL%LuR4aLWe%7ie<3XN{N`7t7AKX_mm1wAKs7po*{bkBBIn$t1 z0^{yxo^+ZrOQPofG39LetU;#*^1>xwOePY`!b$%%1ZC-;oc2*Z4pl;iz%c#J9nS4LlNSP)G3@vx>6lz)pVS3fj!X-%tx}fu`+ZjreUV zwFdKvceq|>?btM*+W6Voj+K=jIs<&(q93OFl-;uqV@pcgdicVkPFC-Tr9SQV z;9As`Bd+l2Cl9MFI+P>6>(gNmDT}&u#C1L$^)TO}o*Z$DPrrMZWzmU1%#JQ!;nSZU zN-R2=Q(EQI-ySAd)EkL;L8D*#bmq=prtcYfv^g*$v}!3Pu}8ho)oGaO4D!`k6sSHF zsdJdB`cbaV;|Vo@XVeAEQx~yVT|#+MT}Fc%#40s}HR=l1s;gM9uEA5+(X4KuRo%pH zHH}_4A5r`Q7-!YA&4qe~DaSZSukR(I^ diff --git a/libjava/classpath/lib/java/awt/Container$AccessibleAWTContainer$AccessibleContainerHandler.class b/libjava/classpath/lib/java/awt/Container$AccessibleAWTContainer$AccessibleContainerHandler.class index a07e427861d9fe6efe6a64a2fc299b6342ce2393..5f045ab2123f369c9115b8849d05154b22ffa81f 100644 GIT binary patch delta 57 zcmZ3@xteps4rW$W23Ag`$$OdIc=Z`rI1L!MIrSO%I1MKYumtd014V3rBGy0=TcC*S IFgyScJ1jjE1DURO^vK)UHbU6Mp=mXhK9RC>H mIQ}z)axySPa(tVt&0fUEDZn7WDafG4Da4@8DL8pGdjJ6Zp(Vcn delta 136 zcmey(|C@h91*_mb23C&U3|t&r8MryNF^F;Oo!rUVt9Sw^a*Bb6<1~XZ#~B7Sj!3MT*n diff --git a/libjava/classpath/lib/java/awt/Container$GfxPaintVisitor.class b/libjava/classpath/lib/java/awt/Container$GfxPaintVisitor.class index e5a54f8ffdcd4daeaacaa7526c0056e5eb50ca58..791d8579f0ff3cb816670735951113a24851de7d 100644 GIT binary patch delta 33 pcmZ3*wu)^-1{3Ra1}=`NlXIDj7^hBNz+}rhn}L;M&g4f-9ssGL3IYHC delta 33 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 delta 6519 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 + windowAtPointer = gdk_window_get_parent (windowAtPointer); + + gdk_threads_leave (); + + if (windowAtPointer) + retVal = JNI_TRUE; + else + retVal = JNI_FALSE; + + return retVal; +} diff --git a/libjava/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.h b/libjava/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.h index 78d947c6ef4c..978c2ec506b4 100644 --- a/libjava/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.h +++ b/libjava/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.h @@ -27,6 +27,7 @@ extern "Java" { class GdkGraphicsEnvironment; class GdkScreenGraphicsDevice; + class GtkWindowPeer; } } } @@ -77,6 +78,7 @@ public: virtual JArray< ::java::lang::String * > * getAvailableFontFamilyNames(::java::util::Locale *); public: // actually package-private virtual JArray< jint > * getMouseCoordinates(); + virtual jboolean isWindowUnderMouse(::gnu::java::awt::peer::gtk::GtkWindowPeer *); public: virtual ::java::awt::image::WritableRaster * createRaster(::java::awt::image::ColorModel *, ::java::awt::image::SampleModel *); private: diff --git a/libjava/gnu/java/awt/peer/gtk/GtkWindowPeer.h b/libjava/gnu/java/awt/peer/gtk/GtkWindowPeer.h index 3eb4c142aaf7..a40f4168d2bc 100644 --- a/libjava/gnu/java/awt/peer/gtk/GtkWindowPeer.h +++ b/libjava/gnu/java/awt/peer/gtk/GtkWindowPeer.h @@ -32,6 +32,7 @@ extern "Java" class Component; class Dialog; class Graphics; + class Point; class Rectangle; class Window; } @@ -101,6 +102,7 @@ public: public: // actually protected virtual void postMouseEvent(jint, jlong, jint, jint, jint, jint, jboolean); public: + virtual ::java::awt::Point * getLocationOnScreen(); virtual ::java::awt::Rectangle * getBounds(); virtual void updateIconImages(); virtual void updateMinimumSize(); diff --git a/libjava/java/awt/Component.h b/libjava/java/awt/Component.h index f5889d2bc0d3..23edfa77e98b 100644 --- a/libjava/java/awt/Component.h +++ b/libjava/java/awt/Component.h @@ -354,6 +354,11 @@ public: // actually package-private virtual void dispatchEventImpl(::java::awt::AWTEvent *); virtual jboolean eventTypeEnabled(jint); virtual jboolean isHierarchyVisible(); +public: + virtual ::java::awt::Point * getMousePosition(); +public: // actually package-private + virtual ::java::awt::Point * getMousePositionHelper(jboolean); + virtual jboolean mouseOverComponent(::java::awt::Component *, jboolean); virtual ::java::awt::Component * findNextFocusComponent(::java::awt::Component *); private: void readObject(::java::io::ObjectInputStream *); diff --git a/libjava/java/awt/Container.h b/libjava/java/awt/Container.h index 4a44759532af..3ea162aaede6 100644 --- a/libjava/java/awt/Container.h +++ b/libjava/java/awt/Container.h @@ -97,6 +97,10 @@ public: // actually protected public: virtual void deliverEvent(::java::awt::Event *); virtual ::java::awt::Component * getComponentAt(jint, jint); + virtual ::java::awt::Point * getMousePosition(jboolean); +public: // actually package-private + virtual jboolean mouseOverComponent(::java::awt::Component *, jboolean); +public: virtual ::java::awt::Component * locate(jint, jint); virtual ::java::awt::Component * getComponentAt(::java::awt::Point *); virtual ::java::awt::Component * findComponentAt(jint, jint);