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
|