/** * @see <a href="XOpenDisplay.html">XOpenDisplay</a> */ public Display(String hostname, int display_no, int screen_no) { default_screen_no = screen_no; connection = new Connection(this, hostname, display_no); // authorization protocol String auth_name = ""; String auth_data = ""; int n = Data.len(auth_name); int d = Data.len(auth_data); Request request = new Request(this, 'B', // java = MSB 3 + Data.unit(auth_name) + Data.unit(auth_data)); request.index = 2; // connection setup request hack request.write2(11); // major version request.write2(0); // minor version request.write2(auth_name.Length); request.write2(auth_data.Length); request.write1(auth_name); request.write1(auth_data); init_server_info(read_reply(request)); init_defaults(); init_big_request_extension(); }
// opcode 74 - poly text8 /** * @see <a href="XDrawText.html">XDrawText</a> */ public void poly_text(GC gc, int x, int y, Text [] texts) { Request request = new Request(display, 74, 4 + Data.unit(length(texts, 8))); request.write4(id); request.write4(gc.id); request.write2(x); request.write2(y); for (int i = 0; i < texts.Length; i++) { if (texts [i].font != null) { request.write1(255); // font-shift indicator request.write4(texts [i].font.id); // java = MSB } request.write1(texts [i].s.Length); request.write1(texts [i].delta); request.write1(texts [i].s); } display.send_request(request); }
// opcode 89 - store colors /** * @see <a href="XStoreColors.html">XStoreColors</a> */ public void store_colors(int [] pixels, bool [] do_reds, bool [] do_greens, bool [] do_blues, RGB [] rgbs) { Request request = new Request(display, 89, 2 + 3 * pixels.Length); request.write4(id); for (int i = 0; i < pixels.Length; i++) { request.write4(pixels [i]); request.write2(rgbs [i].red); request.write2(rgbs [i].green); request.write2(rgbs [i].blue); int do_color = 0; if (do_reds [i]) { do_color |= 0x01; } if (do_greens [i]) { do_color |= 0x02; } if (do_blues [i]) { do_color |= 0x04; } request.write1(do_color); request.write1_unused(); } display.send_request(request); }
// opcode 7 - reparent window /** * @see <a href="XReparentWindow.html">XReparentWindow</a> */ public void reparent (Window parent, int x, int y) { Request request = new Request (display, 7, 4); request.write4 (id); request.write4 (parent.id); request.write2 (x); request.write2 (y); display.send_request (request); }
// opcode 58 - set dashes /** * @see <a href="XSetDashes.html">XSetDashes</a> */ public void set_dashes(int dash_offset, byte [] dashes) { Request request = new Request(display, 58, 3 + Data.unit(dashes)); request.write4(id); request.write2(dash_offset); request.write2(dashes.Length); request.write1(dashes); display.send_request(request); }
// opcode 97 - query best size /** * @param klass valid: * {@link #CURSOR}, * {@link #TILE}, * {@link #STIPPLE} * * @see <a href="XQueryBestSize.html">XQueryBestSize</a> */ public Size best_size(int klass, int width, int height) { Request request = new Request (display, 97, 3); request.write4 (id); request.write2 (width); request.write2 (height); Data reply = display.read_reply (request); return new Size (reply.read2 (8), reply.read2 (10)); }
// opcode 40 - translate coordinates /** * @see <a href="XTranslateCoordinates.html">XTranslateCoordinates</a> */ public CoordinateReply translate_coordinates (Window src, int src_x, int src_y) { Request request = new Request (display, 40, 4); request.write4 (src.id); request.write4 (id); request.write2 (src_x); request.write2 (src_y); return new CoordinateReply (display.read_reply (request)); }
// opcode 86 - alloc color cells /** * @see <a href="XAllocColorCells.html">XAllocColorCells</a> */ public ColorCellsReply alloc_color_cells(bool contiguous, int color_count, int plane_count) { Request request = new Request(display, 86, contiguous, 3); request.write4(id); request.write2(color_count); request.write2(plane_count); return(new ColorCellsReply(display.read_reply(request))); }
// opcode 107 - set screen saver /** * @param prefer_blanking valid: * {@link #NO}, * {@link #YES}, * {@link #DEFAULT} * * @param allow_exposures valid: * {@link #NO}, * {@link #YES}, * {@link #DEFAULT} * * @see <a href="XSetScreenSaver.html">XSetScreenSaver</a> */ public void set_screen_saver(int timeout, int interval, int prefer_blanking, int allow_exposures) { Request request = new Request(this, 107, 3); request.write2(timeout); request.write2(interval); request.write1(prefer_blanking); request.write1(allow_exposures); send_request(request); }
// opcode 61 - clear area /** * @see <a href="XClearArea.html">XClearArea</a> */ public void clear_area (int x, int y, int width, int height, bool exposures) { Request request = new Request (display, 61, exposures, 4); request.write4 (id); request.write2 (x); request.write2 (y); request.write2 (width); request.write2 (height); display.send_request (request); }
// opcode 114 - rotate properties /** * @see <a href="XRotateWindowProperties.html"> * XRotateWindowProperties</a> */ public void rotate_properties (Atom [] properties, int delta) { Request request = new Request (display, 114, 3+properties.Length); request.write4 (id); request.write2 (properties.Length); request.write2 (delta); for (int i=0; i<properties.Length; i++) request.write4 (properties [i].id); display.send_request (request); }
// opcode 87 - alloc color planes /** * @see <a href="XAllocColorPlanes.html">XAllocColorPlanes</a> */ public Data alloc_planes(bool contiguous, int color_count, int red_count, int green_count, int blue_count) { Request request = new Request(display, 87, contiguous, 4); request.write4(id); request.write2(color_count); request.write2(red_count); request.write2(green_count); request.write2(blue_count); return(display.read_reply(request)); }
public Enum fonts(String pattern, int max_name_count) { Request request = new Request(this, 49, 2 + Data.unit(pattern)); request.write2(max_name_count); request.write2(pattern.Length); request.write1(pattern); Data reply = read_reply(request); return(new FontsEnum(this, reply, 32, reply.read2(8))); }
// opcode 77 - image text16 /** * @see <a href="XDrawImageString16.html">XDrawImageString16</a> */ public void image_text16(GC gc, int x, int y, String s) { Request request = new Request(display, 77, s.Length / 2, 4 + Data.unit(s)); request.write4(id); request.write4(gc.id); request.write2(x); request.write2(y); request.write1(s); display.send_request(request); }
//throws NotFoundException { // xc-misc opcode 0 - get version public XCMisc(gnu.x11.Display display) : base(display, "XC-MISC", MINOR_OPCODE_STRINGS) { // check version before any other operations Request request = new Request (display, major_opcode, 0, 2); request.write2 (CLIENT_MAJOR_VERSION); request.write2 (CLIENT_MINOR_VERSION); Data reply = display.read_reply (request); server_major_version = reply.read2 (8); server_minor_version = reply.read2 (10); }
// opcode 97 - query best size /** * @param klass valid: * {@link #CURSOR}, * {@link #TILE}, * {@link #STIPPLE} * * @see <a href="XQueryBestSize.html">XQueryBestSize</a> */ public Size best_size(int klass, int width, int height) { Request request = new Request(display, 97, 3); request.write4(id); request.write2(width); request.write2(height); Data reply = display.read_reply(request); return(new Size(reply.read2(8), reply.read2(10))); }
// opcode 50 - list fonts with info /** * @see <a href="XListFontsWithInfo.html">XListFontsWithInfo</a> */ public Data fonts_with_info(String pattern, int max_name_count) { Request request = new Request(this, 50, 2 + Data.unit(pattern)); request.write2(max_name_count); request.write2(pattern.Length); request.write1(pattern); // TODO deal with multiple replies return(read_reply(request)); }
// opcode 53 - create pixmap /** * @see <a href="XCreatePixmap.html">XCreatePixmap</a> */ public Pixmap(Drawable drawable, int width, int height, int depth) : base(drawable.display) { this.width = width; this.height = height; Request request = new Request (display, 53, depth, 4); request.write4 (id); request.write4 (drawable.id); request.write2 (width); request.write2 (height); display.send_request (request); }
// opcode 105 - change pointer control /** * @see <a href="XChangePointerControl.html">XChangePointerControl</a> */ public void change_pointer_control(bool do_accel, bool do_threshold, int accel_numerator, int accel_denominator, int threshold) { Request request = new Request(display, 105, 3); request.write2(accel_numerator); request.write2(accel_denominator); request.write2(threshold); request.write1(do_accel); request.write1(do_threshold); display.send_request(request); }
// opcode 84 - alloc color /** * @see <a href="XAllocColor.html">XAllocColor</a> */ public Color alloc_color(int red, int green, int blue) { Request request = new Request (display, 84, 4); request.write4 (id); request.write2 (red); request.write2 (green); request.write2 (blue); Data reply = display.read_reply (request); Color color = new Color (reply.read4 (16)); color.exact = new RGB (reply.read2 (8), reply.read2 (10), reply.read2 (12)); return color; }
// opcode 73 - get image TODO /** * @see <a href="XGetImage.html">XGetImage</a> */ public Data image(int x, int y, int width, int height, int plane_mask, int format) { Request request = new Request(display, 73, format, 5); request.write4(id); request.write2(x); request.write2(y); request.write2(width); request.write2(height); request.write2(plane_mask); return(display.read_reply(request)); }
// opcode 53 - create pixmap /** * @see <a href="XCreatePixmap.html">XCreatePixmap</a> */ public Pixmap(Drawable drawable, int width, int height, int depth) : base(drawable.display) { this.width = width; this.height = height; Request request = new Request(display, 53, depth, 4); request.write4(id); request.write4(drawable.id); request.write2(width); request.write2(height); display.send_request(request); }
// opcode 84 - alloc color /** * @see <a href="XAllocColor.html">XAllocColor</a> */ public Color alloc_color(int red, int green, int blue) { Request request = new Request(display, 84, 4); request.write4(id); request.write2(red); request.write2(green); request.write2(blue); Data reply = display.read_reply(request); Color color = new Color(reply.read4(16)); color.exact = new RGB(reply.read2(8), reply.read2(10), reply.read2(12)); return(color); }
// opcode 90 - store named color /** * @see <a href="XStoreNamedColor.html">XStoreNamedColor</a> */ public void store_named_color(int pixel, String name, bool do_reds, bool do_greens, bool do_blues) { int do_color = 0; if (do_reds) { do_color |= 0x01; } if (do_greens) { do_color |= 0x02; } if (do_blues) { do_color |= 0x04; } Request request = new Request(display, 90, do_color, 4 + Data.unit(name)); request.write4(id); request.write4(pixel); request.write2(name.Length); request.write1(name); display.send_request(request); }
// opcode 28 - grab button /** * @param button possible: {@link #ANY_BUTTON} * @param modifiers possible: {@link #ANY_MODIFIER} * @param pointer_mode valid: * {@link #SYNCHRONOUS}, * {@link #ASYNCHRONOUS} * * @param keyboard_mode valid: * {@link #SYNCHRONOUS}, * {@link #ASYNCHRONOUS} * * @param confine_to possible: {@link #NONE} * @param cursor possible: {@link Cursor#NONE} * @see <a href="XGrabButton.html">XGrabButton</a> */ public void grab_button (int button, int modifiers, bool owner_events, int event_mask, int pointer_mode, int keyboard_mode, Window confine_to, Cursor cursor) { Request request = new Request (display, 28, owner_events, 6); request.write4 (id); request.write2 (event_mask); request.write1 (pointer_mode); request.write1 (keyboard_mode); request.write4 (confine_to.id); request.write4 (cursor.id); request.write1 (button); request.write1_unused (); request.write2 (modifiers); display.send_request (request); }
// render opcode 26 - fill rectangles /** * @see <a href="XRenderFillRectangle.html">XRenderFillRectangle</a> */ public void fill_rectangle(int op, Color color, int x, int y, int width, int height) { Request request = new Request (display, render.major_opcode, 26, 7); request.write1 (op); request.write3_unused (); request.write4 (id); request.write2 (x); request.write2 (y); request.write2 (width); request.write2 (height); request.write2 (color.red); request.write2 (color.green); request.write2 (color.blue); request.write2 (color.alpha); display.send_request (request); }
// opcode 34 - ungrab key /** * @param key possible: {@link #ANY_KEY} * @param modifiers possible: {@link #ANY_MODIFIER} * @see <a href="XUngrabKey.html">XUngrabKey</a> */ public void ungrab_key (int keysym, int modifiers) { int keycode = keysym == 0 ? 0 : display.input.keysym_to_keycode (keysym); Request request = new Request (display, 34, keycode, 3); request.write4 (id); request.write2 (modifiers); display.send_request (request); }
// opcode 98 - query extension /** * @see <a href="XQueryExtension.html">XQueryExtension</a> */ public ExtensionReply extension(String name) { Request request = new Request(this, 98, 2 + Data.unit(name)); request.write2(name.Length); request.write2_unused(); request.write1(name); return(new ExtensionReply(read_reply(request))); }
// opcode 51 - set font path /** * @see <a href="XSetFontPath.html">XSetFontPath</a> */ public void set_font_path(int count, String path) { Request request = new Request(this, 51, 2 + Data.unit(path)); request.write2(count); request.write2_unused(); request.write1(path); send_request(request); }
// opcode 109 - change hosts /** * @param mode valid: * {@link #INSERT}, * {@link #DELETE} * * @see <a href="XAddHost.html">XAddHost</a> * @see <a href="XRemoveHost.html">XRemoveHost</a> */ public void change_hosts(int mode, int family, byte [] host) { Request request = new Request(this, 109, mode, 2 + Data.unit(host)); request.write1(family); request.write1_unused(); request.write2(host.Length); request.write1(host); send_request(request); }
// opcode 30 - change active pointer grab /** * @param cursor possible: {@link Cursor#NONE} * @param time possible: {@link Display#CURRENT_TIME} * @see <a href="XChangeActivePointerGrab.html"> * XChangeActivePointerGrab</a> */ public void change_active_pointer_grab(int event_mask, Cursor cursor, int time) { Request request = new Request(display, 30, 4); request.write4(cursor.id); request.write4(time); request.write2(event_mask); display.send_request(request); }
// opcode 45 - open font /** * @see <a href="XLoadFont.html">XLoadFont</a> */ public Font(Display display, String name) : base(display) { this.name = name; Request request = new Request (display, 45, 3+Data.unit (name)); request.write4 (id); request.write2 (name.Length); request.write2_unused (); request.write1 (name); display.send_request (request); }
// opcode 72 - put image public void put_small_image(GC gc, Image image, int y1, int y2, int x, int y) { int offset = image.line_byte_count * y1; int length = image.line_byte_count * (y2 - y1); Request request = new Request(display, 72, image.format, 6 + Data.unit(length)); request.write4(id); request.write4(gc.id); request.write2(image.width); request.write2(y2 - y1); request.write2(x); request.write2(y); request.write1(image.left_pad); request.write1(image.pixmap_format.depth()); request.write2_unused(); request.write1(image.data, offset, length); display.send_request(request); }
// opcode 33 - grab key /** * @param modifiers possible: {@link #ANY_MODIFIER} * @param pointer_mode valid: * {@link #SYNCHRONOUS}, * {@link #ASYNCHRONOUS} * * @param keyboard_mode valid: * {@link #SYNCHRONOUS}, * {@link #ASYNCHRONOUS} * * @see <a href="XGrabKey.html">XGrabKey</a> */ public void grab_key (int keysym, int modifiers, bool owner_events, int pointer_mode, int keyboard_mode) { int keycode = display.input.keysym_to_keycode (keysym); Request request = new Request (display, 33, owner_events, 4); request.write4 (id); request.write2 (modifiers); request.write1 (keycode); request.write1 (pointer_mode); request.write1 (keyboard_mode); display.send_request (request); }
// opcode 26 - grab pointer /** * @param pointer_mode valid: * {@link #SYNCHRONOUS}, * {@link #ASYNCHRONOUS} * * @param keyboard_mode valid: * {@link #SYNCHRONOUS}, * {@link #ASYNCHRONOUS} * * @param confine_to possible: {@link #NONE} * @param cursor possible: {@link Cursor#NONE} * @param time possible: {@link Display#CURRENT_TIME} * * @return valid: * {@link #SUCCESS}, * {@link #ALREADY_GRABBED}, * {@link #FROZEN}, * {@link #INVALID_TIME}, * {@link #NOT_VIEWABLE} * * @see <a href="XGrabPointer.html">XGrabPointer</a> */ public int grab_pointer (bool owner_events, int event_mask, int pointer_mode, int keyboard_mode, Window confine_to, Cursor cursor, int time) { Request request = new Request (display, 26, owner_events, 6); request.write4 (id); request.write2 (event_mask); request.write1 (pointer_mode); request.write1 (keyboard_mode); request.write4 (confine_to.id); request.write4 (cursor.id); request.write4 (time); return display.read_reply (request).read1 (1); }
// opcode 45 - open font /** * @see <a href="XLoadFont.html">XLoadFont</a> */ public Font(Display display, String name) : base(display) { this.name = name; Request request = new Request(display, 45, 3 + Data.unit(name)); request.write4(id); request.write2(name.Length); request.write2_unused(); request.write1(name); display.send_request(request); }
// opcode 58 - set dashes /** * @see <a href="XSetDashes.html">XSetDashes</a> */ public void set_dashes(int dash_offset, byte [] dashes) { Request request = new Request (display, 58, 3+Data.unit (dashes)); request.write4 (id); request.write2 (dash_offset); request.write2 (dashes.Length); request.write1 (dashes); display.send_request (request); }
// render opcode 8 - scale public void scale(int color_scale, int alpha_scale, Picture src, int src_x, int src_y, int dst_x, int dst_y, int width, int height) { Request request = new Request (display, render.major_opcode, 9, 8); request.write4 (src.id); request.write4 (id); request.write4 (color_scale); request.write4 (alpha_scale); request.write2 (src_x); request.write2 (src_y); request.write2 (dst_x); request.write2 (dst_y); request.write2 (width); request.write2 (height); display.send_request (request); }
// opcode 41 - warp pointer /** * @param src possible: {@link #NONE} * @see <a href="XWarpPointer.html">XWarpPointer</a> */ public void warp_pointer(Window src, int src_x, int src_y, int src_width, int src_height, int dest_x, int dest_y) { Request request = new Request (display, 41, 6); request.write4 (src.id); request.write4 (id); request.write2 (src_x); request.write2 (src_y); request.write2 (src_width); request.write2 (src_height); request.write2 (dest_x); request.write2 (dest_y); display.send_request (request); }
// render opcode 6 - set picture clip rectangles /** * @see <a href="XRenderSetPictureClipRectangles.html"> * XRenderSetPictureClipRectangles</a> */ public void set_clip_rectangles(int x_origin, int y_origin, Rectangle [] rectangles) { Request request = new Request (display, render.major_opcode, 7, 3+2*rectangles.Length); request.write4 (id); for (int i=0; i<rectangles.Length; i++) { request.write2 (rectangles [i].x); request.write2 (rectangles [i].y); request.write2 (rectangles [i].width); request.write2 (rectangles [i].height); } display.send_request (request); }
// opcode 107 - set screen saver /** * @param prefer_blanking valid: * {@link #NO}, * {@link #YES}, * {@link #DEFAULT} * * @param allow_exposures valid: * {@link #NO}, * {@link #YES}, * {@link #DEFAULT} * * @see <a href="XSetScreenSaver.html">XSetScreenSaver</a> */ public void set_screen_saver(int timeout, int interval, int prefer_blanking, int allow_exposures) { Request request = new Request (this, 107, 3); request.write2 (timeout); request.write2 (interval); request.write1 (prefer_blanking); request.write1 (allow_exposures); send_request (request); }
// opcode 26 - grab pointer /** * @param pointer_mode valid: * {@link #SYNCHRONOUS}, * {@link #ASYNCHRONOUS} * * @param keyboard_mode valid: * {@link #SYNCHRONOUS}, * {@link #ASYNCHRONOUS} * * @param confine_to possible: {@link #NONE} * @param cursor possible: {@link Cursor#NONE} * @param time possible: {@link Display#CURRENT_TIME} * * @return valid: * {@link #SUCCESS}, * {@link #ALREADY_GRABBED}, * {@link #FROZEN}, * {@link #INVALID_TIME}, * {@link #NOT_VIEWABLE} * * @see <a href="XGrabPointer.html">XGrabPointer</a> */ public int grab_pointer(bool owner_events, int event_mask, int pointer_mode, int keyboard_mode, Window confine_to, Cursor cursor, int time) { Request request = new Request (display, 26, owner_events, 6); request.write4 (id); request.write2 (event_mask); request.write1 (pointer_mode); request.write1 (keyboard_mode); request.write4 (confine_to.id); request.write4 (cursor.id); request.write4 (time); return display.read_reply (request).read1 (1); }
// opcode 51 - set font path /** * @see <a href="XSetFontPath.html">XSetFontPath</a> */ public void set_font_path(int count, String path) { Request request = new Request (this, 51, 2+Data.unit (path)); request.write2 (count); request.write2_unused (); request.write1 (path); send_request (request); }
// opcode 30 - change active pointer grab /** * @param cursor possible: {@link Cursor#NONE} * @param time possible: {@link Display#CURRENT_TIME} * @see <a href="XChangeActivePointerGrab.html"> * XChangeActivePointerGrab</a> */ public void change_active_pointer_grab(int event_mask, Cursor cursor, int time) { Request request = new Request (display, 30, 4); request.write4 (cursor.id); request.write4 (time); request.write2 (event_mask); display.send_request (request); }
// opcode 59 - set clip rectangles /** * @param ordering valid: * {@link #UN_SORTED}, * {@link #Y_SORTED}, * {@link #YX_SORTED}, * {@link #YX_BANDED} * * @see <a href="XSetClipRectangles.html">XSetClipRectangles</a> */ public void set_clip_rectangles(int clip_x_origin, int clip_y_origin, Rectangle [] rectangles, int ordering) { Request request = new Request (display, 59, ordering, 3+2*rectangles.Length); request.write4 (id); request.write2 (clip_x_origin); request.write2 (clip_y_origin); for (int i=0; i<rectangles.Length; i++) { request.write2 (rectangles [i].x); request.write2 (rectangles [i].y); request.write2 (rectangles [i].width); request.write2 (rectangles [i].height); } display.send_request (request); }
// opcode 18 - change property /** * Extra parameters (offset and data_format) are used to support Data * class as parameter for writing. See set_wm_normal_hints (). * * @param mode valid: * {@link #REPLACE}, * {@link #PREPEND}, * {@link #APPEND} * * @param format: valid: * <code>8</code>, * <code>16</code>, * <code>32</code> * * @param data_format: valid: * <code>8</code>, * <code>16</code>, * <code>32</code> * * @see <a href="XChangeProperty.html">XChangeProperty</a> */ public void change_property(int mode, int n, Atom property, Atom type, int format, Object data, int offset, int data_format) { Request request = new Request (display, 18, mode, 6+Data.unit (n*format/8)); request.write4 (id); request.write4 (property.id); request.write4 (type.id); request.write1 (format); request.write3_unused (); request.write4 (n); // data length in format unit // data switch (data_format) { case 8: request.write1 ((byte []) data, offset); break; case 16: request.write2 ((int []) data, offset); break; case 32: request.write4 ((int []) data, offset); break; } display.send_request (request); }
// opcode 61 - clear area /** * @see <a href="XClearArea.html">XClearArea</a> */ public void clear_area(int x, int y, int width, int height, bool exposures) { Request request = new Request (display, 61, exposures, 4); request.write4 (id); request.write2 (x); request.write2 (y); request.write2 (width); request.write2 (height); display.send_request (request); }
// opcode 114 - rotate properties /** * @see <a href="XRotateWindowProperties.html"> * XRotateWindowProperties</a> */ public void rotate_properties(Atom [] properties, int delta) { Request request = new Request (display, 114, 3+properties.Length); request.write4 (id); request.write2 (properties.Length); request.write2 (delta); for (int i=0; i<properties.Length; i++) request.write4 (properties [i].id); display.send_request (request); }
/** * @see <a href="XOpenDisplay.html">XOpenDisplay</a> */ public Display(String hostname, int display_no, int screen_no) { default_screen_no = screen_no; connection = new Connection (this, hostname, display_no); // authorization protocol String auth_name = ""; String auth_data = ""; int n = Data.len (auth_name); int d = Data.len (auth_data); Request request = new Request (this, 'B', // java = MSB 3 + Data.unit (auth_name) + Data.unit (auth_data)); request.index = 2; // connection setup request hack request.write2 (11); // major version request.write2 (0); // minor version request.write2 (auth_name.Length); request.write2 (auth_data.Length); request.write1 (auth_name); request.write1 (auth_data); init_server_info (read_reply (request)); init_defaults (); init_big_request_extension (); }
public Enum fonts(String pattern, int max_name_count) { Request request = new Request (this, 49, 2+Data.unit (pattern)); request.write2 (max_name_count); request.write2 (pattern.Length); request.write1 (pattern); Data reply = read_reply (request); return new FontsEnum (this, reply, 32, reply.read2 (8)); }
// xtest opcode 2 - fake input /** * @param type valid: * {@link #KEY_PRESS}, * {@link #KEY_RELEASE}, * {@link #BUTTON_PRESS}, * {@link #BUTTON_RELEASE}, * {@link #MOTION_NOTIFY} * * @param time possible: {@link gnu.x11.Display#CURRENT_TIME} */ public void fake_input(int type, int detail, int delay, Window root, int x, int y) { Request request = new Request (display, major_opcode, 2, 9); request.write1 (type); request.write1 (detail); request.write2_unused (); request.write4 (delay); request.write4 (root.id); request.write_unused (8); request.write2 (x); request.write2 (y); display.send_request (request); }
// opcode 33 - grab key /** * @param modifiers possible: {@link #ANY_MODIFIER} * @param pointer_mode valid: * {@link #SYNCHRONOUS}, * {@link #ASYNCHRONOUS} * * @param keyboard_mode valid: * {@link #SYNCHRONOUS}, * {@link #ASYNCHRONOUS} * * @see <a href="XGrabKey.html">XGrabKey</a> */ public void grab_key(int keysym, int modifiers, bool owner_events, int pointer_mode, int keyboard_mode) { int keycode = display.input.keysym_to_keycode (keysym); Request request = new Request (display, 33, owner_events, 4); request.write4 (id); request.write2 (modifiers); request.write1 (keycode); request.write1 (pointer_mode); request.write1 (keyboard_mode); display.send_request (request); }
// opcode 105 - change pointer control /** * @see <a href="XChangePointerControl.html">XChangePointerControl</a> */ public void change_pointer_control(bool do_accel, bool do_threshold, int accel_numerator, int accel_denominator, int threshold) { Request request = new Request (display, 105, 3); request.write2 (accel_numerator); request.write2 (accel_denominator); request.write2 (threshold); request.write1 (do_accel); request.write1 (do_threshold); display.send_request (request); }
// opcode 50 - list fonts with info /** * @see <a href="XListFontsWithInfo.html">XListFontsWithInfo</a> */ public Data fonts_with_info(String pattern, int max_name_count) { Request request = new Request (this, 50, 2+Data.unit (pattern)); request.write2 (max_name_count); request.write2 (pattern.Length); request.write1 (pattern); // TODO deal with multiple replies return read_reply (request); }
// opcode 28 - grab button /** * @param button possible: {@link #ANY_BUTTON} * @param modifiers possible: {@link #ANY_MODIFIER} * @param pointer_mode valid: * {@link #SYNCHRONOUS}, * {@link #ASYNCHRONOUS} * * @param keyboard_mode valid: * {@link #SYNCHRONOUS}, * {@link #ASYNCHRONOUS} * * @param confine_to possible: {@link #NONE} * @param cursor possible: {@link Cursor#NONE} * @see <a href="XGrabButton.html">XGrabButton</a> */ public void grab_button(int button, int modifiers, bool owner_events, int event_mask, int pointer_mode, int keyboard_mode, Window confine_to, Cursor cursor) { Request request = new Request (display, 28, owner_events, 6); request.write4 (id); request.write2 (event_mask); request.write1 (pointer_mode); request.write1 (keyboard_mode); request.write4 (confine_to.id); request.write4 (cursor.id); request.write1 (button); request.write1_unused (); request.write2 (modifiers); display.send_request (request); }
// opcode 1 - create window /** * @param depth possible: {@link #COPY_FROM_PARENT} * @param klass valid: * {@link #COPY_FROM_PARENT}, * {@link #INPUT_OUTPUT}, * {@link #INPUT_ONLY} * * @param visual_id possible: {@link #COPY_FROM_PARENT} * @see <a href="XCreateWindow.html">XCreateWindow</a> */ public void create(int border_width, int depth, int klass, int visual_id, Attributes attr) { Request request = new Request (display, 1, depth, 8+attr.count ()); request.write4 (id); request.write4 (parent.id); request.write2 (x); request.write2 (y); request.write2 (width); request.write2 (height); request.write2 (border_width); request.write2 (klass); request.write4 (visual_id); request.write4 (attr.bitmask); attr.write (request); display.send_request (request); }
// opcode 109 - change hosts /** * @param mode valid: * {@link #INSERT}, * {@link #DELETE} * * @see <a href="XAddHost.html">XAddHost</a> * @see <a href="XRemoveHost.html">XRemoveHost</a> */ public void change_hosts(int mode, int family, byte [] host) { Request request = new Request (this, 109, mode, 2+Data.unit (host)); request.write1 (family); request.write1_unused (); request.write2 (host.Length); request.write1 (host); send_request (request); }
// opcode 7 - reparent window /** * @see <a href="XReparentWindow.html">XReparentWindow</a> */ public void reparent(Window parent, int x, int y) { Request request = new Request (display, 7, 4); request.write4 (id); request.write4 (parent.id); request.write2 (x); request.write2 (y); display.send_request (request); }
// opcode 16 - intern atom /** * @see <a href="XInternAtom.html">XInternAtom</a> */ public Atom(Display display, String name, bool only_if_exists) { this.display = display; this.name = name; Request request = new Request (display, 16, only_if_exists, 2+Data.unit (name)); request.write2 (name.Length); request.write2_unused (); request.write1 (name); Data reply = display.read_reply (request); id = reply.read4 (8); display.atom_ids.Add (id, this); display.atom_names.Add (name, this); }
// opcode 98 - query extension /** * @see <a href="XQueryExtension.html">XQueryExtension</a> */ public ExtensionReply extension(String name) { Request request = new Request (this, 98, 2+Data.unit (name)); request.write2 (name.Length); request.write2_unused (); request.write1 (name); return new ExtensionReply (read_reply (request)); }