// 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 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); }
//throws NotFoundException { // xtest opcode 0 - get version /** * @see <a href="XTestQueryExtension.html">XTestQueryExtension</a> */ public XTest(gnu.x11.Display display) : base(display, "XTEST", MINOR_OPCODE_STRINGS) { // check version before any other operations Request request = new Request (display, major_opcode, 0, 2); request.write1 (CLIENT_MAJOR_VERSION); request.write1_unused (); request.write2 (CLIENT_MINOR_VERSION); Data reply = display.read_reply (request); server_major_version = reply.read1 (1); server_minor_version = reply.read2 (10); }
// 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 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 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 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); }
// shape opcode 3 - combine /** * @param dest_kind valid: * {@link #BOUNDING}, * {@link #CLIP} * * @param src_kind valid: * {@link #BOUNDING}, * {@link #CLIP} * * @param operation valid: * {@link #SET}, * {@link #UNION}, * {@link #INTERSECT}, * {@link #SUBTRACT}, * {@link #INVERT} * * @see <a href="XShapeCombineShape.html">XShapeCombineShape</a> */ public void combine_shape(Window dest, int dest_kind, int x_offset, int y_offset, Window src, int src_kind, int operation) { Request request = new Request (display, major_opcode, 3, 5); request.write1 (operation); request.write1 (dest_kind); request.write1 (src_kind); request.write1_unused (); request.write4 (dest.id); request.write2 (x_offset); request.write2 (y_offset); request.write4 (src.id); display.send_request (request); }
// shape opcode 1 - rectangles /** * @param dest_kind valid: * {@link #BOUNDING}, * {@link #CLIP} * * @param operation valid: * {@link #SET}, * {@link #UNION}, * {@link #INTERSECT}, * {@link #SUBTRACT}, * {@link #INVERT} * * @param ordering valid: * {@link #UN_SORTED}, * {@link #Y_SORTED}, * {@link #YX_SORTED}, * {@link #YX_BANDED} * * @see <a href="XShapeCombineRectangles.html">XShapeCombineRectangles</a> */ public void combine_rectangles(Window dest, int dest_kind, int x_offset, int y_offset, Rectangle [] rectangles, int operation, int ordering) { Request request = new Request (display, major_opcode, 1, 4+2*rectangles.Length); request.write1 (operation); request.write1 (dest_kind); request.write1 (ordering); request.write1_unused (); request.write4 (dest.id); request.write2 (x_offset); request.write2 (y_offset); 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); }