summaryrefslogtreecommitdiffstats
path: root/libjava/gnu/gcj/xlib/natDrawable.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/gnu/gcj/xlib/natDrawable.cc')
-rw-r--r--libjava/gnu/gcj/xlib/natDrawable.cc20
1 files changed, 20 insertions, 0 deletions
diff --git a/libjava/gnu/gcj/xlib/natDrawable.cc b/libjava/gnu/gcj/xlib/natDrawable.cc
index 6cca3b74901..87c9d3572b2 100644
--- a/libjava/gnu/gcj/xlib/natDrawable.cc
+++ b/libjava/gnu/gcj/xlib/natDrawable.cc
@@ -43,6 +43,26 @@ jboolean gnu::gcj::xlib::Drawable::copyIntoXImageImpl(XImage* image,
return true;
}
+jint gnu::gcj::xlib::Drawable::getDepth ()
+{
+ ::Display* dpy = (::Display*) (getDisplay ()->display);
+ ::Window root;
+ int x, y;
+ unsigned int w, h, bw, depth;
+
+ Status status = XGetGeometry (dpy, getXID(), &root,
+ &x, &y, &w, &h,
+ &bw, &depth);
+ switch (status)
+ {
+ case BadDrawable:
+ throw new XException (display, status);
+ default:
+ ; // All OK, NOP.
+ }
+ return (jint)depth;
+}
+
java::awt::Rectangle*
gnu::gcj::xlib::Drawable::getBounds(java::awt::Rectangle* rv)
{
OpenPOWER on IntegriCloud