/** Interface to C language function:
XRenderPictFormat * XRenderFindVisualFormat(Display * dpy, const Visual * visual);
*/
public static boolean XRenderFindVisualFormat(long dpy, long visual, XRenderPictFormat dest) {
if( dest == null ) {
throw new RuntimeException("dest is null");
}
final ByteBuffer destBuffer = dest.getBuffer();
if( !Buffers.isDirect(destBuffer) ) {
throw new RuntimeException("dest buffer is not direct");
}
return XRenderFindVisualFormat1(dpy, visual, destBuffer);
}
/** Entry point to C language function: XVisualInfo * XGetVisualInfo(Display * , long, XVisualInfo * , int * );
*/
private static native boolean XRenderFindVisualFormat1(long dpy, long visual, ByteBuffer xRenderPictFormat);
/** Interface to C language function:
XVisualInfo * XGetVisualInfo(Display * , long, XVisualInfo * , int * );
*/
public static XVisualInfo[] XGetVisualInfo(long arg0, long arg1, XVisualInfo arg2, int[] arg3, int arg3_offset)
{
if(arg3 != null && arg3.length <= arg3_offset)
throw new RuntimeException("array offset argument \"arg3_offset\" (" + arg3_offset + ") equals or exceeds array length (" + arg3.length + ")");
java.nio.ByteBuffer _res;
_res = XGetVisualInfo1(arg0, arg1, ((arg2 == null) ? null : arg2.getBuffer()), arg3, Buffers.SIZEOF_INT * arg3_offset);
if (_res == null) return null;
Buffers.nativeOrder(_res);
final int count = getFirstElement(arg3, arg3_offset);
if (count <= 0) return null;
final int esize = _res.capacity() / count;
if( esize < XVisualInfo.size() ) {
throw new RuntimeException("element-size "+_res.capacity()+"/"+count+"="+esize+" < "+XVisualInfo.size());
}
XVisualInfo[] _retarray = new XVisualInfo[count];
for (int i = 0; i < count; i++) {
_res.position(i * esize); // XVisualInfo.size());
_res.limit ((1 + i) * esize); // XVisualInfo.size());
java.nio.ByteBuffer _tmp = _res.slice();
_res.position(0);
_res.limit(_res.capacity());
_retarray[i] = XVisualInfo.create(_tmp);
}
return _retarray;
}
/** Entry point to C language function: XVisualInfo * XGetVisualInfo(Display * , long, XVisualInfo * , int * );
*/
private static native java.nio.ByteBuffer XGetVisualInfo1(long arg0, long arg1, java.nio.ByteBuffer arg2, Object arg3, int arg3_byte_offset);
public static native int GetVisualIDFromWindow(long display, long window);
public static native int DefaultVisualID(long display, int screen);
public static native long CreateWindow(long parent, long display, int screen_index, int visualID, int width, int height, boolean input, boolean visible);
public static native void DestroyWindow(long display, long window);
public static native void SetWindowPosSize(long display, long window, int x, int y, int width, int height);
public static Point GetRelativeLocation(long display, int screen_index, long src_win, long dest_win, int src_x, int src_y) {
return (Point) GetRelativeLocation0(display, screen_index, src_win, dest_win, src_x, src_y);
}
private static native Object GetRelativeLocation0(long display, int screen_index, long src_win, long dest_win, int src_x, int src_y);
public static boolean QueryExtension(long display, String extensionName) {
return QueryExtension0(display, extensionName);
}
private static native boolean QueryExtension0(long display, String extensionName);
public static native int XCloseDisplay(long display);
public static native void XUnlockDisplay(long display);
public static native void XLockDisplay(long display);