// 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 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 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); }
// render opcode 8 - composite /** * @param operation * {@link #CLEAR} * {@link #SRC} * {@link #DST} * {@link #OVER} * {@link #OVER_REVERSE} * {@link #IN} * {@link #IN_REVERSE} * {@link #OUT} * {@link #OUT_REVERSE} * {@link #ATOP} * {@link #ATOP_REVERSE} * {@link #XOR} * {@link #ADD} * {@link #SATURATE} * {@link #MAXIMUM} * * @see <a href="XRenderComposite.html">XRenderComposite</a> */ public void composite(int op, Picture src, Picture mask, Picture dst, int src_x, int src_y, int mask_x, int mask_y, int dst_x, int dst_y, int width, int height) { Request request = new Request (display, major_opcode, 8, 9); request.write1 (op); request.write3_unused (); request.write4 (src.id); request.write4 (mask.id); request.write4 (dst.id); request.write2 (src_x); request.write2 (src_y); request.write2 (mask_x); request.write2 (mask_y); request.write2 (dst_x); request.write2 (dst_y); request.write2 (width); request.write2 (height); display.send_request (request); }
// print 19 - get one attribute /** * @param pool valid: * {@link #JOB_ATTRIBUTE_POOL}, * {@link #DOC_ATTRIBUTE_POOL}, * {@link #PAGE_ATTRIBUTE_POOL}, * {@link #PRINTER_ATTRIBUTE_POOL}, * {@link #SERVER_ATTRIBUTE_POOL} * * @param rule valid: * {@link #ATTRIBUTE_REPLACE}, * {@link #ATTRIBUTE_MERGE} * * @see <a href="XpGetOneAttribute.html">XpGetOneAttribute</a> */ public String one_attribute(int pool, String name) { int len = 4 + Data.unit (name); Request request = new Request (this.display, this.owner.major_opcode, 19, len); request.write4 (id); request.write4 (name.Length); request.write1 (pool); request.write3_unused (); request.write1 (name); Data reply = this.display.read_reply (request); len = reply.read4 (8); return reply.read_string (32, len); }
// dbe opcode 3 - swap buffers /** * @param actions array of actions; valid action: * {@link #UNDEFINED} * {@link #BACKGROUND} * {@link #UNTOUCHED} * {@link #COPIED} * * @see <a href="XdbeSwapBuffers.html">XdbeSwapBuffers</a> */ public void swap(Window [] windows, int [] actions) { int n = windows.Length; Request request = new Request (this.display, major_opcode, 3, 2+2*n); request.write4 (n); for (int i=0; i<n; i++) { request.write4 (windows [i].id); request.write1 (actions [i]); request.write3_unused (); } this.display.send_request (request); }
// shape opcode 4 - offset /** * @see <a href="XShapeOffsetShape.html">XShapeOffsetShape</a> */ public void offset_shape(Window dest, int dest_kind, int x_offset, int y_offset) { Request request = new Request (display, major_opcode, 4, 4); request.write1 (dest_kind); request.write3_unused (); request.write4 (dest.id); request.write2 (x_offset); request.write2 (y_offset); display.send_request (request); }