diff options
author | sgilbertson <sgilbertson@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-07-15 16:07:18 +0000 |
---|---|---|
committer | sgilbertson <sgilbertson@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-07-15 16:07:18 +0000 |
commit | 581d57e6c0faef95b511984510372d09ca55210c (patch) | |
tree | 36d9688009aa0d1293f407c7660e7901e7986ce0 /libjava/gnu/gcj/xlib | |
parent | 53c0d211319a9f957d984f6e40b2828e1c586d47 (diff) | |
download | ppe42-gcc-581d57e6c0faef95b511984510372d09ca55210c.tar.gz ppe42-gcc-581d57e6c0faef95b511984510372d09ca55210c.zip |
2005-07-15 Scott Gilbertson <scottg@mantatest.com>
* gnu/awt/xlib/XCanvasPeer.java (attributes): New field.
(eventMask): New field.
(XCanvasPeer(Component)): Use attributes field.
(setBackground): Implemented.
(setEventMask): Process mask only if changed.
* gnu/awt/xlib/XEventLoop.java (class): Iplement Runnable.
(eventLoopThread): New field.
(XEventLoop(Display,EventQueue)): Start eventLoopThread.
(interrupt): Removed.
(run): New method.
* gnu/awt/xlib/XEventQueue.java (getNextEvent): Process Container
and Component events.
* gnu/awt/xlib/XFramePeer.java (processingConfigureNotify): New
field.
(configureNotify): Set and clear processingConfigureNotify.
(setBounds): Process only if processingConfigureNotify is false.
(toBack): Implemented.
(toFront): Implemented.
* gnu/awt/xlib/XGraphics.java (setColor): Ignore null color.
* gnu/awt/xlib/XGraphicsConfiguration.java (getPixel): Ignore null
color.
* gnu/awt/xlib/XToolkit.java (nativeQueueEmpty): Always return true.
(wakeNativeQueue): Do nothing.
(iterateNativeQueue): Do queue.wait if blocking.
* gnu/gcj/xlib/Font.java (loadFont): New method.
(loadFontImpl): Renamed native method, was loadFont.
* gnu/gcj/xlib/Window.java (toFront): New method.
(toBack): New method.
* gnu/gcj/xlib/natFont.cc (loadFontImpl): Renamed method, was
loadFont.
* gnu/gcj/xlib/natWindow.cc (toBack): New method.
(toFront): New method.
* gnu/gcj/xlib/natXAnyEvent.cc (loadNext): Removed timeout.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102057 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/gnu/gcj/xlib')
-rw-r--r-- | libjava/gnu/gcj/xlib/Font.java | 16 | ||||
-rw-r--r-- | libjava/gnu/gcj/xlib/Window.java | 2 | ||||
-rw-r--r-- | libjava/gnu/gcj/xlib/natFont.cc | 2 | ||||
-rw-r--r-- | libjava/gnu/gcj/xlib/natWindow.cc | 14 | ||||
-rw-r--r-- | libjava/gnu/gcj/xlib/natXAnyEvent.cc | 5 |
5 files changed, 33 insertions, 6 deletions
diff --git a/libjava/gnu/gcj/xlib/Font.java b/libjava/gnu/gcj/xlib/Font.java index cd2fff9630d..74985b9388e 100644 --- a/libjava/gnu/gcj/xlib/Font.java +++ b/libjava/gnu/gcj/xlib/Font.java @@ -34,7 +34,21 @@ public final class Font extends XID structure = struct; } - static native RawData loadFont(Display display, String lfdNamePattern); + static RawData loadFont(Display display, String lfdNamePattern) + { + RawData returnValue = null; + try + { + returnValue = loadFontImpl (display,lfdNamePattern); + } + catch (XException e) + { + // Throw a descriptive exception, including the font pattern + throw new XException ("Font not found: " + lfdNamePattern); + } + return returnValue; + } + static native RawData loadFontImpl(Display display, String lfdNamePattern); static native int getXIDFromStruct(RawData structure); diff --git a/libjava/gnu/gcj/xlib/Window.java b/libjava/gnu/gcj/xlib/Window.java index ae3dbfd688b..3ff3657c45c 100644 --- a/libjava/gnu/gcj/xlib/Window.java +++ b/libjava/gnu/gcj/xlib/Window.java @@ -73,6 +73,8 @@ public class Window extends Drawable public native void map(); public native void unmap(); + public native void toFront(); + public native void toBack(); protected boolean owned = false; diff --git a/libjava/gnu/gcj/xlib/natFont.cc b/libjava/gnu/gcj/xlib/natFont.cc index 54ac655d17b..cd5d87c7ab6 100644 --- a/libjava/gnu/gcj/xlib/natFont.cc +++ b/libjava/gnu/gcj/xlib/natFont.cc @@ -16,7 +16,7 @@ details. */ #include <gnu/gcj/xlib/Font.h> #include <gnu/gcj/xlib/XException.h> -gnu::gcj::RawData* gnu::gcj::xlib::Font::loadFont(Display* display, +gnu::gcj::RawData* gnu::gcj::xlib::Font::loadFontImpl(Display* display, jstring lfdNamePattern) { ::Display* dpy = (::Display*) display->display; diff --git a/libjava/gnu/gcj/xlib/natWindow.cc b/libjava/gnu/gcj/xlib/natWindow.cc index 6600795574f..62cd086ccb4 100644 --- a/libjava/gnu/gcj/xlib/natWindow.cc +++ b/libjava/gnu/gcj/xlib/natWindow.cc @@ -77,6 +77,20 @@ void gnu::gcj::xlib::Window::setAttributes(WindowAttributes* attributes) // no fast fail } +void gnu::gcj::xlib::Window::toBack() +{ + ::Display* dpy = (::Display*) (display->display); + ::Window window = xid; + XLowerWindow(dpy, window); +} + +void gnu::gcj::xlib::Window::toFront() +{ + ::Display* dpy = (::Display*) (display->display); + ::Window window = xid; + XRaiseWindow(dpy, window); +} + void gnu::gcj::xlib::Window::map() { ::Display* dpy = (::Display*) (display->display); diff --git a/libjava/gnu/gcj/xlib/natXAnyEvent.cc b/libjava/gnu/gcj/xlib/natXAnyEvent.cc index 26d3b604b04..0bef563ed2d 100644 --- a/libjava/gnu/gcj/xlib/natXAnyEvent.cc +++ b/libjava/gnu/gcj/xlib/natXAnyEvent.cc @@ -69,14 +69,11 @@ jboolean gnu::gcj::xlib::XAnyEvent::loadNext(jboolean block) int xfd = XConnectionNumber(dpy); int pipefd = pipe[0]; int n = (xfd > pipefd ? xfd : pipefd) + 1; - struct timeval timeout; - timeout.tv_usec = 100000; // 100ms timeout - timeout.tv_sec = 0; fd_set rfds; FD_ZERO(&rfds); FD_SET(xfd, &rfds); FD_SET(pipefd, &rfds); - int sel = _Jv_select (n, &rfds, NULL, NULL, &timeout); + int sel = _Jv_select (n, &rfds, NULL, NULL, NULL); if (sel > 0) { if (FD_ISSET(xfd, &rfds)) |