src/java.desktop/unix/classes/sun/awt/X11/XlibWrapper.java

Print this page




 296 
 297     static native int XEventsQueued(long display, int mode);
 298 
 299 /*
 300   Atom XInternAtom(display, atom_name, only_if_exists)
 301   Display *display;
 302   char *atom_name;
 303   Bool only_if_exists;
 304 */
 305 
 306     static native int XInternAtoms(long display, String[] names, boolean only_if_exists, long atoms);
 307 
 308     static native void SetProperty(long display, long window, long atom, String str);
 309     static native String GetProperty(long display ,long window, long atom);
 310     static native long InternAtom(long display, String string, int only_if_exists);
 311     static native int XGetWindowProperty(long display, long window, long atom,
 312                                          long long_offset, long long_length,
 313                                          long delete, long req_type, long actualy_type,
 314                                          long actualy_format, long nitems_ptr,
 315                                          long bytes_after, long data_ptr);
 316     native static void XChangePropertyImpl(long display, long window, long atom,
 317                                            long type, int format, int mode, long data,
 318                                            int nelements);
 319     static void XChangeProperty(long display, long window, long atom,
 320                                 long type, int format, int mode, long data,
 321                                 int nelements) {
 322         // TODO: handling of XChangePropertyImpl return value, if not Success - don't cache
 323         if (XPropertyCache.isCachingSupported() &&
 324             XToolkit.windowToXWindow(window) != null &&
 325             WindowPropertyGetter.isCacheableProperty(XAtom.get(atom)) &&
 326             mode == XConstants.PropModeReplace)
 327         {
 328             int length = (format / 8) * nelements;
 329             XPropertyCache.storeCache(
 330                 new XPropertyCache.PropertyCacheEntry(format,
 331                                                       nelements,
 332                                                       0,
 333                                                       data,
 334                                                       length),
 335                 window,
 336                 XAtom.get(atom));


 549      */
 550     static native String[] XTextPropertyToStringList(byte[] bytes, long encoding_atom);
 551 
 552     /**
 553      * XSHAPE extension support.
 554      */
 555     static native boolean XShapeQueryExtension(long display, long event_base_return, long error_base_return);
 556     static native void SetRectangularShape(long display, long window,
 557             int lox, int loy, int hix, int hiy,
 558             sun.java2d.pipe.Region region);
 559     /** Each int in the bitmap array is one pixel with a 32-bit color:
 560      *  R, G, B, and Alpha.
 561      */
 562     static native void SetBitmapShape(long display, long window,
 563              int width, int height, int[] bitmap);
 564 
 565     static native void SetZOrder(long display, long window, long above);
 566 
 567 /* Global memory area used for X lib parameter passing */
 568 
 569     final static long lbuffer = unsafe.allocateMemory(64);  // array to hold 8 longs
 570     final static long ibuffer = unsafe.allocateMemory(32);  // array to hold 8 ints
 571 
 572     static final long larg1 = lbuffer;
 573     static final long larg2 = larg1+8;
 574     static final long larg3 = larg2+8;
 575     static final long larg4 = larg3+8;
 576     static final long larg5 = larg4+8;
 577     static final long larg6 = larg5+8;
 578     static final long larg7 = larg6+8;
 579     static final long larg8 = larg7+8;
 580 
 581     static final long iarg1 = ibuffer;
 582     static final long iarg2 = iarg1+4;
 583     static final long iarg3 = iarg2+4;
 584     static final long iarg4 = iarg3+4;
 585     static final long iarg5 = iarg4+4;
 586     static final long iarg6 = iarg5+4;
 587     static final long iarg7 = iarg6+4;
 588     static final long iarg8 = iarg7+4;
 589 
 590 




 296 
 297     static native int XEventsQueued(long display, int mode);
 298 
 299 /*
 300   Atom XInternAtom(display, atom_name, only_if_exists)
 301   Display *display;
 302   char *atom_name;
 303   Bool only_if_exists;
 304 */
 305 
 306     static native int XInternAtoms(long display, String[] names, boolean only_if_exists, long atoms);
 307 
 308     static native void SetProperty(long display, long window, long atom, String str);
 309     static native String GetProperty(long display ,long window, long atom);
 310     static native long InternAtom(long display, String string, int only_if_exists);
 311     static native int XGetWindowProperty(long display, long window, long atom,
 312                                          long long_offset, long long_length,
 313                                          long delete, long req_type, long actualy_type,
 314                                          long actualy_format, long nitems_ptr,
 315                                          long bytes_after, long data_ptr);
 316     static native void XChangePropertyImpl(long display, long window, long atom,
 317                                            long type, int format, int mode, long data,
 318                                            int nelements);
 319     static void XChangeProperty(long display, long window, long atom,
 320                                 long type, int format, int mode, long data,
 321                                 int nelements) {
 322         // TODO: handling of XChangePropertyImpl return value, if not Success - don't cache
 323         if (XPropertyCache.isCachingSupported() &&
 324             XToolkit.windowToXWindow(window) != null &&
 325             WindowPropertyGetter.isCacheableProperty(XAtom.get(atom)) &&
 326             mode == XConstants.PropModeReplace)
 327         {
 328             int length = (format / 8) * nelements;
 329             XPropertyCache.storeCache(
 330                 new XPropertyCache.PropertyCacheEntry(format,
 331                                                       nelements,
 332                                                       0,
 333                                                       data,
 334                                                       length),
 335                 window,
 336                 XAtom.get(atom));


 549      */
 550     static native String[] XTextPropertyToStringList(byte[] bytes, long encoding_atom);
 551 
 552     /**
 553      * XSHAPE extension support.
 554      */
 555     static native boolean XShapeQueryExtension(long display, long event_base_return, long error_base_return);
 556     static native void SetRectangularShape(long display, long window,
 557             int lox, int loy, int hix, int hiy,
 558             sun.java2d.pipe.Region region);
 559     /** Each int in the bitmap array is one pixel with a 32-bit color:
 560      *  R, G, B, and Alpha.
 561      */
 562     static native void SetBitmapShape(long display, long window,
 563              int width, int height, int[] bitmap);
 564 
 565     static native void SetZOrder(long display, long window, long above);
 566 
 567 /* Global memory area used for X lib parameter passing */
 568 
 569     static final long lbuffer = unsafe.allocateMemory(64);  // array to hold 8 longs
 570     static final long ibuffer = unsafe.allocateMemory(32);  // array to hold 8 ints
 571 
 572     static final long larg1 = lbuffer;
 573     static final long larg2 = larg1+8;
 574     static final long larg3 = larg2+8;
 575     static final long larg4 = larg3+8;
 576     static final long larg5 = larg4+8;
 577     static final long larg6 = larg5+8;
 578     static final long larg7 = larg6+8;
 579     static final long larg8 = larg7+8;
 580 
 581     static final long iarg1 = ibuffer;
 582     static final long iarg2 = iarg1+4;
 583     static final long iarg3 = iarg2+4;
 584     static final long iarg4 = iarg3+4;
 585     static final long iarg5 = iarg4+4;
 586     static final long iarg6 = iarg5+4;
 587     static final long iarg7 = iarg6+4;
 588     static final long iarg8 = iarg7+4;
 589 
 590