1 /* Copyright (C) 2000  Free Software Foundation
2 
3    This file is part of libgcj.
4 
5 This software is copyrighted work licensed under the terms of the
6 Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
7 details.  */
8 
9 #include <X11/Xlib.h>
10 #include <X11/Xutil.h>
11 
12 #include <gcj/cni.h>
13 #include <gnu/gcj/RawData.h>
14 
15 #include <java/lang/OutOfMemoryError.h>
16 
17 #include <gnu/gcj/xlib/Display.h>
18 #include <gnu/gcj/xlib/Screen.h>
19 #include <gnu/gcj/xlib/Visual.h>
20 #include <gnu/gcj/xlib/Drawable.h>
21 #include <gnu/gcj/xlib/XImage.h>
22 #include <gnu/gcj/xlib/Pixmap.h>
23 
createXID(Drawable * drawable,jint width,jint height,jint depth)24 jint gnu::gcj::xlib::Pixmap::createXID(Drawable* drawable,
25 				       jint width, jint height,
26 				       jint depth)
27 {
28   Display* display = drawable->getDisplay();
29   ::Display* dpy = (::Display*) (display->display);
30   jint xid = drawable->getXID();
31 
32   return XCreatePixmap(dpy, xid, width, height, depth);
33 }
34 
finalize()35 void gnu::gcj::xlib::Pixmap::finalize()
36 {
37   ::Display* dpy = (::Display*) (getDisplay()->display);
38   XFreePixmap(dpy, getXID());
39 }
40