diff options
| author | sgilbertson <sgilbertson@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-07 16:49:37 +0000 |
|---|---|---|
| committer | sgilbertson <sgilbertson@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-07 16:49:37 +0000 |
| commit | 2dfcb59597a2fc564033f2c0c988a08e13b16624 (patch) | |
| tree | 441eea7f802c2d97678acc092a8a87d337d789ca /libjava/gnu/awt | |
| parent | 00c61749d8c40660ddb439580c05ec5cba8f6a3c (diff) | |
| download | ppe42-gcc-2dfcb59597a2fc564033f2c0c988a08e13b16624.tar.gz ppe42-gcc-2dfcb59597a2fc564033f2c0c988a08e13b16624.zip | |
2005-04-07 Scott Gilbertson <scottg@mantatest.com>
* gnu/gcj/xlib/natXAnyEvent.cc (loadNext): Added timeout.
* gnu/awt/xlib/XCanvasPeer.java (setBackground): Removed
throw UnsupportedOperationException, fixed comments.
(setFont, setForeground): Fixed comments.
* gnu/awt/xlib/XEventLoop.java (postNextEvent): Changed
return type to boolean.
(getNextEvent): Fixed javadocs.
* gnu/awt/xlib/XToolkit.java (interrupted): Removed field.
(nativeQueueEmpty): Removed unused code.
(iterateNativeQueue): Removed outer loop.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96029 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/gnu/awt')
| -rw-r--r-- | libjava/gnu/awt/xlib/XCanvasPeer.java | 9 | ||||
| -rw-r--r-- | libjava/gnu/awt/xlib/XEventLoop.java | 15 | ||||
| -rw-r--r-- | libjava/gnu/awt/xlib/XToolkit.java | 17 |
3 files changed, 25 insertions, 16 deletions
diff --git a/libjava/gnu/awt/xlib/XCanvasPeer.java b/libjava/gnu/awt/xlib/XCanvasPeer.java index 5daee59dcd7..83646b1f338 100644 --- a/libjava/gnu/awt/xlib/XCanvasPeer.java +++ b/libjava/gnu/awt/xlib/XCanvasPeer.java @@ -349,7 +349,8 @@ public class XCanvasPeer implements CanvasPeer public void setBackground(Color color) { - throw new UnsupportedOperationException("not implemented"); + /* default canvas peer does not keep track of background, since it won't + * paint anything. */ } public void setBounds(int x, int y, int width, int height) @@ -405,13 +406,13 @@ public class XCanvasPeer implements CanvasPeer public void setFont(Font font) { - /* default canvas peer does keep track of font, since it won't - write anything. */ + /* default canvas peer does not keep track of font, since it won't + paint anything. */ } public void setForeground(Color color) { - /* default canvas peer does keep track of foreground, since it won't + /* default canvas peer does not keep track of foreground, since it won't paint anything. */ } diff --git a/libjava/gnu/awt/xlib/XEventLoop.java b/libjava/gnu/awt/xlib/XEventLoop.java index 8f7828770e8..149ee736d7c 100644 --- a/libjava/gnu/awt/xlib/XEventLoop.java +++ b/libjava/gnu/awt/xlib/XEventLoop.java @@ -42,15 +42,20 @@ public class XEventLoop anyEvent.interrupt(); } - void postNextEvent(boolean block) + /** If there's an event available, post it. + * @return true if an event was posted + */ + boolean postNextEvent(boolean block) { AWTEvent evt = getNextEvent(block); if (evt != null) queue.postEvent(evt); + return evt != null; } - /** get next event. Will block until events become available. */ - + /** Get the next event. + * @param block If true, block until an event becomes available + */ public AWTEvent getNextEvent(boolean block) { // ASSERT: @@ -62,7 +67,7 @@ public class XEventLoop { event = createEvent(); event = lightweightRedirector.redirect(event); - } + } return event; } @@ -169,7 +174,7 @@ public class XEventLoop return null; default: - String msg = "Do no know how to handle event (" + anyEvent + ")"; + String msg = "Do not know how to handle event (" + anyEvent + ")"; throw new RuntimeException (msg); } } diff --git a/libjava/gnu/awt/xlib/XToolkit.java b/libjava/gnu/awt/xlib/XToolkit.java index 1e937c23867..c6e140eb3e1 100644 --- a/libjava/gnu/awt/xlib/XToolkit.java +++ b/libjava/gnu/awt/xlib/XToolkit.java @@ -444,8 +444,6 @@ public class XToolkit extends ClasspathToolkit throw new java.lang.UnsupportedOperationException (); } - boolean interrupted; - public boolean nativeQueueEmpty() { return eventLoop.isIdle(); @@ -453,14 +451,19 @@ public class XToolkit extends ClasspathToolkit public void wakeNativeQueue() { - interrupted = true; eventLoop.interrupt(); } + /** Checks the native event queue for events. If blocking, waits until an + * event is available before returning, unless interrupted by + * wakeNativeQueue. If non-blocking, returns immediately even if no + * event is available. + * + * @param locked The calling EventQueue + * @param block If true, waits for a native event before returning + */ public void iterateNativeQueue(java.awt.EventQueue locked, boolean block) { - interrupted = false; - while (!interrupted) - eventLoop.postNextEvent(block); - }; + eventLoop.postNextEvent(block); + } } |

