Alphabetized and organized instruction functions, reformatted and fixed comments.
This commit is contained in:
parent
878d8a406c
commit
4595ed51f3
@ -159,7 +159,7 @@ typedef enum guac_line_cap_style {
|
|||||||
GUAC_LINE_CAP_BUTT = 0x0,
|
GUAC_LINE_CAP_BUTT = 0x0,
|
||||||
GUAC_LINE_CAP_ROUND = 0x1,
|
GUAC_LINE_CAP_ROUND = 0x1,
|
||||||
GUAC_LINE_CAP_SQUARE = 0x2,
|
GUAC_LINE_CAP_SQUARE = 0x2,
|
||||||
} guac_line_cap;
|
} guac_line_cap_style;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Supported line join styles
|
* Supported line join styles
|
||||||
@ -168,7 +168,7 @@ typedef enum guac_line_join_style {
|
|||||||
GUAC_LINE_JOIN_BEVEL = 0x0,
|
GUAC_LINE_JOIN_BEVEL = 0x0,
|
||||||
GUAC_LINE_JOIN_MITRE = 0x1,
|
GUAC_LINE_JOIN_MITRE = 0x1,
|
||||||
GUAC_LINE_JOIN_ROUND = 0x2,
|
GUAC_LINE_JOIN_ROUND = 0x2,
|
||||||
} guac_line_join;
|
} guac_line_join_style;
|
||||||
|
|
||||||
typedef struct guac_layer guac_layer;
|
typedef struct guac_layer guac_layer;
|
||||||
|
|
||||||
@ -225,397 +225,6 @@ typedef struct guac_instruction {
|
|||||||
*/
|
*/
|
||||||
void guac_instruction_free(guac_instruction* instruction);
|
void guac_instruction_free(guac_instruction* instruction);
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends an args instruction over the given guac_socket connection.
|
|
||||||
*
|
|
||||||
* If an error occurs sending the instruction, a non-zero value is
|
|
||||||
* returned, and guac_error is set appropriately.
|
|
||||||
*
|
|
||||||
* @param socket The guac_socket connection to use.
|
|
||||||
* @param args The NULL-terminated array of argument names (strings).
|
|
||||||
* @return Zero on success, non-zero on error.
|
|
||||||
*/
|
|
||||||
int guac_protocol_send_args(guac_socket* socket, const char** name);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends a name instruction over the given guac_socket connection.
|
|
||||||
*
|
|
||||||
* @param socket The guac_socket connection to use.
|
|
||||||
* @param name The name to send within the name instruction.
|
|
||||||
* @return Zero on success, non-zero on error.
|
|
||||||
*/
|
|
||||||
int guac_protocol_send_name(guac_socket* socket, const char* name);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends a sync instruction over the given guac_socket connection. The
|
|
||||||
* current time in milliseconds should be passed in as the timestamp.
|
|
||||||
*
|
|
||||||
* If an error occurs sending the instruction, a non-zero value is
|
|
||||||
* returned, and guac_error is set appropriately.
|
|
||||||
*
|
|
||||||
* @param socket The guac_socket connection to use.
|
|
||||||
* @param timestamp The current timestamp (in milliseconds).
|
|
||||||
* @return Zero on success, non-zero on error.
|
|
||||||
*/
|
|
||||||
int guac_protocol_send_sync(guac_socket* socket, guac_timestamp timestamp);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends an error instruction over the given guac_socket connection.
|
|
||||||
*
|
|
||||||
* If an error occurs sending the instruction, a non-zero value is
|
|
||||||
* returned, and guac_error is set appropriately.
|
|
||||||
*
|
|
||||||
* @param socket The guac_socket connection to use.
|
|
||||||
* @param error The description associated with the error.
|
|
||||||
* @return Zero on success, non-zero on error.
|
|
||||||
*/
|
|
||||||
int guac_protocol_send_error(guac_socket* socket, const char* error);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends a clipboard instruction over the given guac_socket connection.
|
|
||||||
*
|
|
||||||
* If an error occurs sending the instruction, a non-zero value is
|
|
||||||
* returned, and guac_error is set appropriately.
|
|
||||||
*
|
|
||||||
* @param socket The guac_socket connection to use.
|
|
||||||
* @param data The clipboard data to send.
|
|
||||||
* @return Zero on success, non-zero on error.
|
|
||||||
*/
|
|
||||||
int guac_protocol_send_clipboard(guac_socket* socket, const char* data);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends a size instruction over the given guac_socket connection.
|
|
||||||
*
|
|
||||||
* If an error occurs sending the instruction, a non-zero value is
|
|
||||||
* returned, and guac_error is set appropriately.
|
|
||||||
*
|
|
||||||
* @param socket The guac_socket connection to use.
|
|
||||||
* @param layer The layer to resize.
|
|
||||||
* @param w The new width of the layer.
|
|
||||||
* @param h The new height of the layer.
|
|
||||||
* @return Zero on success, non-zero on error.
|
|
||||||
*/
|
|
||||||
int guac_protocol_send_size(guac_socket* socket, const guac_layer* layer,
|
|
||||||
int w, int h);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends a move instruction over the given guac_socket connection.
|
|
||||||
*
|
|
||||||
* If an error occurs sending the instruction, a non-zero value is
|
|
||||||
* returned, and guac_error is set appropriately.
|
|
||||||
*
|
|
||||||
* @param socket The guac_socket connection to use.
|
|
||||||
* @param layer The layer to move.
|
|
||||||
* @param parent The parent layer the specified layer will be positioned
|
|
||||||
* relative to.
|
|
||||||
* @param x The X coordinate of the layer.
|
|
||||||
* @param y The Y coordinate of the layer.
|
|
||||||
* @param z The Z index of the layer, relative to other layers in its parent.
|
|
||||||
* @return Zero on success, non-zero on error.
|
|
||||||
*/
|
|
||||||
int guac_protocol_send_move(guac_socket* socket, const guac_layer* layer,
|
|
||||||
const guac_layer* parent, int x, int y, int z);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends a dispose instruction over the given guac_socket connection.
|
|
||||||
*
|
|
||||||
* If an error occurs sending the instruction, a non-zero value is
|
|
||||||
* returned, and guac_error is set appropriately.
|
|
||||||
*
|
|
||||||
* @param socket The guac_socket connection to use.
|
|
||||||
* @param layer The layer to dispose.
|
|
||||||
* @return Zero on success, non-zero on error.
|
|
||||||
*/
|
|
||||||
int guac_protocol_send_dispose(guac_socket* socket, const guac_layer* layer);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends a copy instruction over the given guac_socket connection.
|
|
||||||
*
|
|
||||||
* If an error occurs sending the instruction, a non-zero value is
|
|
||||||
* returned, and guac_error is set appropriately.
|
|
||||||
*
|
|
||||||
* @param socket The guac_socket connection to use.
|
|
||||||
* @param srcl The source layer.
|
|
||||||
* @param srcx The X coordinate of the source rectangle.
|
|
||||||
* @param srcy The Y coordinate of the source rectangle.
|
|
||||||
* @param w The width of the source rectangle.
|
|
||||||
* @param h The height of the source rectangle.
|
|
||||||
* @param mode The composite mode to use.
|
|
||||||
* @param dstl The destination layer.
|
|
||||||
* @param dstx The X coordinate of the destination, where the source rectangle
|
|
||||||
* should be copied.
|
|
||||||
* @param dsty The Y coordinate of the destination, where the source rectangle
|
|
||||||
* should be copied.
|
|
||||||
* @return Zero on success, non-zero on error.
|
|
||||||
*/
|
|
||||||
int guac_protocol_send_copy(guac_socket* socket,
|
|
||||||
const guac_layer* srcl, int srcx, int srcy, int w, int h,
|
|
||||||
guac_composite_mode mode, const guac_layer* dstl, int dstx, int dsty);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends a transfer instruction over the given guac_socket connection.
|
|
||||||
*
|
|
||||||
* If an error occurs sending the instruction, a non-zero value is
|
|
||||||
* returned, and guac_error is set appropriately.
|
|
||||||
*
|
|
||||||
* @param socket The guac_socket connection to use.
|
|
||||||
* @param srcl The source layer.
|
|
||||||
* @param srcx The X coordinate of the source rectangle.
|
|
||||||
* @param srcy The Y coordinate of the source rectangle.
|
|
||||||
* @param w The width of the source rectangle.
|
|
||||||
* @param h The height of the source rectangle.
|
|
||||||
* @param fn The transfer function to use.
|
|
||||||
* @param dstl The destination layer.
|
|
||||||
* @param dstx The X coordinate of the destination, where the source rectangle
|
|
||||||
* should be copied.
|
|
||||||
* @param dsty The Y coordinate of the destination, where the source rectangle
|
|
||||||
* should be copied.
|
|
||||||
* @return Zero on success, non-zero on error.
|
|
||||||
*/
|
|
||||||
int guac_protocol_send_transfer(guac_socket* socket,
|
|
||||||
const guac_layer* srcl, int srcx, int srcy, int w, int h,
|
|
||||||
guac_transfer_function fn, const guac_layer* dstl, int dstx, int dsty);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends a rect instruction over the given guac_socket connection.
|
|
||||||
*
|
|
||||||
* If an error occurs sending the instruction, a non-zero value is
|
|
||||||
* returned, and guac_error is set appropriately.
|
|
||||||
*
|
|
||||||
* @param socket The guac_socket connection to use.
|
|
||||||
* @param layer The destination layer.
|
|
||||||
* @param x The X coordinate of the rectangle.
|
|
||||||
* @param y The Y coordinate of the rectangle.
|
|
||||||
* @param width The width of the rectangle.
|
|
||||||
* @param height The height of the rectangle.
|
|
||||||
* @return Zero on success, non-zero on error.
|
|
||||||
*/
|
|
||||||
int guac_protocol_send_rect(guac_socket* socket, const guac_layer* layer,
|
|
||||||
int x, int y, int width, int height);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends an lpath instruction over the given guac_socket connection.
|
|
||||||
*
|
|
||||||
* If an error occurs sending the instruction, a non-zero value is
|
|
||||||
* returned, and guac_error is set appropriately.
|
|
||||||
*
|
|
||||||
* @param socket The guac_socket connection to use.
|
|
||||||
* @param layer The destination layer.
|
|
||||||
* @param x The X coordinate of the point to add to the path.
|
|
||||||
* @param y The Y coordinate of the point to add to the path.
|
|
||||||
* @return Zero on success, non-zero on error.
|
|
||||||
*/
|
|
||||||
int guac_protocol_send_lpath(guac_socket* socket, const guac_layer* layer,
|
|
||||||
int x, int y);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends a qpath instruction over the given guac_socket connection.
|
|
||||||
*
|
|
||||||
* If an error occurs sending the instruction, a non-zero value is
|
|
||||||
* returned, and guac_error is set appropriately.
|
|
||||||
*
|
|
||||||
* @param socket The guac_socket connection to use.
|
|
||||||
* @param layer The destination layer.
|
|
||||||
* @param x The X coordinate of the point to add to the path.
|
|
||||||
* @param y The Y coordinate of the point to add to the path.
|
|
||||||
* @param cpx The X coordinate of the control point.
|
|
||||||
* @param cpy The Y coordinate of the control point.
|
|
||||||
* @return Zero on success, non-zero on error.
|
|
||||||
*/
|
|
||||||
int guac_protocol_send_qpath(guac_socket* socket, const guac_layer* layer,
|
|
||||||
int x, int y, int cpx, int cpy);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends a cpath instruction over the given guac_socket connection.
|
|
||||||
*
|
|
||||||
* If an error occurs sending the instruction, a non-zero value is
|
|
||||||
* returned, and guac_error is set appropriately.
|
|
||||||
*
|
|
||||||
* @param socket The guac_socket connection to use.
|
|
||||||
* @param layer The destination layer.
|
|
||||||
* @param x The X coordinate of the point to add to the path.
|
|
||||||
* @param y The Y coordinate of the point to add to the path.
|
|
||||||
* @param cp1x The X coordinate of the first control point.
|
|
||||||
* @param cp1y The Y coordinate of the first control point.
|
|
||||||
* @param cp2x The X coordinate of the second control point.
|
|
||||||
* @param cp2y The Y coordinate of the second control point.
|
|
||||||
* @return Zero on success, non-zero on error.
|
|
||||||
*/
|
|
||||||
int guac_protocol_send_cpath(guac_socket* socket, const guac_layer* layer,
|
|
||||||
int x, int y, int cp1x, int cp1y, int cp2x, int cp2y);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends a cfill instruction over the given guac_socket connection.
|
|
||||||
*
|
|
||||||
* If an error occurs sending the instruction, a non-zero value is
|
|
||||||
* returned, and guac_error is set appropriately.
|
|
||||||
*
|
|
||||||
* @param socket The guac_socket connection to use.
|
|
||||||
* @param mode The composite mode to use.
|
|
||||||
* @param layer The destination layer.
|
|
||||||
* @param r The red component of the color of the rectangle.
|
|
||||||
* @param g The green component of the color of the rectangle.
|
|
||||||
* @param b The blue component of the color of the rectangle.
|
|
||||||
* @param a The alpha (transparency) component of the color of the rectangle.
|
|
||||||
* @return Zero on success, non-zero on error.
|
|
||||||
*/
|
|
||||||
int guac_protocol_send_cfill(guac_socket* socket,
|
|
||||||
guac_composite_mode mode, const guac_layer* layer,
|
|
||||||
int r, int g, int b, int a);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends an rfill instruction over the given guac_socket connection.
|
|
||||||
*
|
|
||||||
* If an error occurs sending the instruction, a non-zero value is
|
|
||||||
* returned, and guac_error is set appropriately.
|
|
||||||
*
|
|
||||||
* @param socket The guac_socket connection to use.
|
|
||||||
* @param mode The composite mode to use.
|
|
||||||
* @param layer The destination layer.
|
|
||||||
* @param srcl The source layer.
|
|
||||||
* @param srcx The X coordinate of the source rectangle.
|
|
||||||
* @param srcy The Y coordinate of the source rectangle.
|
|
||||||
* @param w The width of the source rectangle.
|
|
||||||
* @param h The height of the source rectangle.
|
|
||||||
* @return Zero on success, non-zero on error.
|
|
||||||
*/
|
|
||||||
int guac_protocol_send_rfill(guac_socket* socket,
|
|
||||||
guac_composite_mode mode, const guac_layer* layer,
|
|
||||||
const guac_layer* srcl, int srcx, int srcy, int w, int h);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends a cstroke instruction over the given guac_socket connection.
|
|
||||||
*
|
|
||||||
* If an error occurs sending the instruction, a non-zero value is
|
|
||||||
* returned, and guac_error is set appropriately.
|
|
||||||
*
|
|
||||||
* @param socket The guac_socket connection to use.
|
|
||||||
* @param mode The composite mode to use.
|
|
||||||
* @param layer The destination layer.
|
|
||||||
* @param cap The style of line cap to use when drawing the stroke.
|
|
||||||
* @param join The style of line join to use when drawing the stroke.
|
|
||||||
* @param thickness The thickness of the stroke in pixels.
|
|
||||||
* @param r The red component of the color of the rectangle.
|
|
||||||
* @param g The green component of the color of the rectangle.
|
|
||||||
* @param b The blue component of the color of the rectangle.
|
|
||||||
* @param a The alpha (transparency) component of the color of the rectangle.
|
|
||||||
* @return Zero on success, non-zero on error.
|
|
||||||
*/
|
|
||||||
int guac_protocol_send_cstroke(guac_socket* socket,
|
|
||||||
guac_composite_mode mode, const guac_layer* layer,
|
|
||||||
guac_line_cap_style cap, guac_line_join_style join, int thickness,
|
|
||||||
int r, int g, int b, int a);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends an rstroke instruction over the given guac_socket connection.
|
|
||||||
*
|
|
||||||
* If an error occurs sending the instruction, a non-zero value is
|
|
||||||
* returned, and guac_error is set appropriately.
|
|
||||||
*
|
|
||||||
* @param socket The guac_socket connection to use.
|
|
||||||
* @param mode The composite mode to use.
|
|
||||||
* @param layer The destination layer.
|
|
||||||
* @param cap The style of line cap to use when drawing the stroke.
|
|
||||||
* @param join The style of line join to use when drawing the stroke.
|
|
||||||
* @param thickness The thickness of the stroke in pixels.
|
|
||||||
* @param srcl The source layer.
|
|
||||||
* @param srcx The X coordinate of the source rectangle.
|
|
||||||
* @param srcy The Y coordinate of the source rectangle.
|
|
||||||
* @param w The width of the source rectangle.
|
|
||||||
* @param h The height of the source rectangle.
|
|
||||||
* @return Zero on success, non-zero on error.
|
|
||||||
*/
|
|
||||||
int guac_protocol_send_rstroke(guac_socket* socket,
|
|
||||||
guac_composite_mode mode, const guac_layer* layer,
|
|
||||||
guac_line_cap_style cap, guac_line_join_style join, int thickness,
|
|
||||||
const guac_layer* srcl, int srcx, int srcy, int w, int h);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends a clip instruction over the given guac_socket connection.
|
|
||||||
*
|
|
||||||
* If an error occurs sending the instruction, a non-zero value is
|
|
||||||
* returned, and guac_error is set appropriately.
|
|
||||||
*
|
|
||||||
* @param socket The guac_socket connection to use.
|
|
||||||
* @param layer The layer to set the clipping region of.
|
|
||||||
* @return Zero on success, non-zero on error.
|
|
||||||
*/
|
|
||||||
int guac_protocol_send_clip(guac_socket* socket, const guac_layer* layer);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends a push instruction over the given guac_socket connection.
|
|
||||||
*
|
|
||||||
* If an error occurs sending the instruction, a non-zero value is
|
|
||||||
* returned, and guac_error is set appropriately.
|
|
||||||
*
|
|
||||||
* @param socket The guac_socket connection to use.
|
|
||||||
* @param layer The layer to set the clipping region of.
|
|
||||||
* @return Zero on success, non-zero on error.
|
|
||||||
*/
|
|
||||||
int guac_protocol_send_push(guac_socket* socket, const guac_layer* layer);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends a pop instruction over the given guac_socket connection.
|
|
||||||
*
|
|
||||||
* If an error occurs sending the instruction, a non-zero value is
|
|
||||||
* returned, and guac_error is set appropriately.
|
|
||||||
*
|
|
||||||
* @param socket The guac_socket connection to use.
|
|
||||||
* @param layer The layer to set the clipping region of.
|
|
||||||
* @return Zero on success, non-zero on error.
|
|
||||||
*/
|
|
||||||
int guac_protocol_send_pop(guac_socket* socket, const guac_layer* layer);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends a reset instruction over the given guac_socket connection.
|
|
||||||
*
|
|
||||||
* If an error occurs sending the instruction, a non-zero value is
|
|
||||||
* returned, and guac_error is set appropriately.
|
|
||||||
*
|
|
||||||
* @param socket The guac_socket connection to use.
|
|
||||||
* @param layer The layer to set the clipping region of.
|
|
||||||
* @return Zero on success, non-zero on error.
|
|
||||||
*/
|
|
||||||
int guac_protocol_send_reset(guac_socket* socket, const guac_layer* layer);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends a png instruction over the given guac_socket connection. The PNG image data
|
|
||||||
* given will be automatically base64-encoded for transmission.
|
|
||||||
*
|
|
||||||
* If an error occurs sending the instruction, a non-zero value is
|
|
||||||
* returned, and guac_error is set appropriately.
|
|
||||||
*
|
|
||||||
* @param socket The guac_socket connection to use.
|
|
||||||
* @param mode The composite mode to use.
|
|
||||||
* @param layer The destination layer.
|
|
||||||
* @param x The destination X coordinate.
|
|
||||||
* @param y The destination Y coordinate.
|
|
||||||
* @param surface A cairo surface containing the image data to send.
|
|
||||||
* @return Zero on success, non-zero on error.
|
|
||||||
*/
|
|
||||||
int guac_protocol_send_png(guac_socket* socket, guac_composite_mode mode,
|
|
||||||
const guac_layer* layer, int x, int y, cairo_surface_t* surface);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends a cursor instruction over the given guac_socket connection. The PNG image
|
|
||||||
* data given will be automatically base64-encoded for transmission.
|
|
||||||
*
|
|
||||||
* If an error occurs sending the instruction, a non-zero value is
|
|
||||||
* returned, and guac_error is set appropriately.
|
|
||||||
*
|
|
||||||
* @param socket The guac_socket connection to use.
|
|
||||||
* @param x The X coordinate of the cursor hotspot.
|
|
||||||
* @param y The Y coordinate of the cursor hotspot.
|
|
||||||
* @param srcl The source layer.
|
|
||||||
* @param srcx The X coordinate of the source rectangle.
|
|
||||||
* @param srcy The Y coordinate of the source rectangle.
|
|
||||||
* @param w The width of the source rectangle.
|
|
||||||
* @param h The height of the source rectangle.
|
|
||||||
* @return Zero on success, non-zero on error.
|
|
||||||
*/
|
|
||||||
int guac_protocol_send_cursor(guac_socket* socket, int x, int y,
|
|
||||||
const guac_layer* srcl, int srcx, int srcy, int w, int h);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns whether new instruction data is available on the given guac_socket
|
* Returns whether new instruction data is available on the given guac_socket
|
||||||
* connection for parsing.
|
* connection for parsing.
|
||||||
@ -641,10 +250,11 @@ int guac_protocol_instructions_waiting(guac_socket* socket, int usec_timeout);
|
|||||||
* error or if the instruction could not be read completely
|
* error or if the instruction could not be read completely
|
||||||
* because the timeout elapsed, in which case guac_error will be
|
* because the timeout elapsed, in which case guac_error will be
|
||||||
* set to GUAC_STATUS_INPUT_TIMEOUT and subsequent calls to
|
* set to GUAC_STATUS_INPUT_TIMEOUT and subsequent calls to
|
||||||
* guac_protocol_read_instruction() will return the parsed instruction once
|
* guac_protocol_read_instruction() will return the parsed instruction
|
||||||
* enough data is available.
|
* once enough data is available.
|
||||||
*/
|
*/
|
||||||
guac_instruction* guac_protocol_read_instruction(guac_socket* socket, int usec_timeout);
|
guac_instruction* guac_protocol_read_instruction(guac_socket* socket,
|
||||||
|
int usec_timeout);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reads a single instruction with the given opcode from the given guac_socket
|
* Reads a single instruction with the given opcode from the given guac_socket
|
||||||
@ -678,5 +288,383 @@ guac_instruction* guac_protocol_expect_instruction(guac_socket* socket,
|
|||||||
*/
|
*/
|
||||||
guac_timestamp guac_protocol_get_timestamp();
|
guac_timestamp guac_protocol_get_timestamp();
|
||||||
|
|
||||||
|
/* CONTROL INSTRUCTIONS */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends an args instruction over the given guac_socket connection.
|
||||||
|
*
|
||||||
|
* If an error occurs sending the instruction, a non-zero value is
|
||||||
|
* returned, and guac_error is set appropriately.
|
||||||
|
*
|
||||||
|
* @param socket The guac_socket connection to use.
|
||||||
|
* @param args The NULL-terminated array of argument names (strings).
|
||||||
|
* @return Zero on success, non-zero on error.
|
||||||
|
*/
|
||||||
|
int guac_protocol_send_args(guac_socket* socket, const char** args);
|
||||||
|
|
||||||
|
/* TODO: guac_protocol_send_connect */
|
||||||
|
/* TODO: guac_protocol_send_disconnect */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends an error instruction over the given guac_socket connection.
|
||||||
|
*
|
||||||
|
* If an error occurs sending the instruction, a non-zero value is
|
||||||
|
* returned, and guac_error is set appropriately.
|
||||||
|
*
|
||||||
|
* @param socket The guac_socket connection to use.
|
||||||
|
* @param error The description associated with the error.
|
||||||
|
* @return Zero on success, non-zero on error.
|
||||||
|
*/
|
||||||
|
int guac_protocol_send_error(guac_socket* socket, const char* error);
|
||||||
|
|
||||||
|
/* TODO: guac_protocol_send_set */
|
||||||
|
/* TODO: guac_protocol_send_select */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends a sync instruction over the given guac_socket connection. The
|
||||||
|
* current time in milliseconds should be passed in as the timestamp.
|
||||||
|
*
|
||||||
|
* If an error occurs sending the instruction, a non-zero value is
|
||||||
|
* returned, and guac_error is set appropriately.
|
||||||
|
*
|
||||||
|
* @param socket The guac_socket connection to use.
|
||||||
|
* @param timestamp The current timestamp (in milliseconds).
|
||||||
|
* @return Zero on success, non-zero on error.
|
||||||
|
*/
|
||||||
|
int guac_protocol_send_sync(guac_socket* socket, guac_timestamp timestamp);
|
||||||
|
|
||||||
|
/* DRAWING INSTRUCTIONS */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends a cfill instruction over the given guac_socket connection.
|
||||||
|
*
|
||||||
|
* If an error occurs sending the instruction, a non-zero value is
|
||||||
|
* returned, and guac_error is set appropriately.
|
||||||
|
*
|
||||||
|
* @param socket The guac_socket connection to use.
|
||||||
|
* @param mode The composite mode to use.
|
||||||
|
* @param layer The destination layer.
|
||||||
|
* @param r The red component of the color of the rectangle.
|
||||||
|
* @param g The green component of the color of the rectangle.
|
||||||
|
* @param b The blue component of the color of the rectangle.
|
||||||
|
* @param a The alpha (transparency) component of the color of the rectangle.
|
||||||
|
* @return Zero on success, non-zero on error.
|
||||||
|
*/
|
||||||
|
int guac_protocol_send_cfill(guac_socket* socket,
|
||||||
|
guac_composite_mode mode, const guac_layer* layer,
|
||||||
|
int r, int g, int b, int a);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends a clip instruction over the given guac_socket connection.
|
||||||
|
*
|
||||||
|
* If an error occurs sending the instruction, a non-zero value is
|
||||||
|
* returned, and guac_error is set appropriately.
|
||||||
|
*
|
||||||
|
* @param socket The guac_socket connection to use.
|
||||||
|
* @param layer The layer to set the clipping region of.
|
||||||
|
* @return Zero on success, non-zero on error.
|
||||||
|
*/
|
||||||
|
int guac_protocol_send_clip(guac_socket* socket, const guac_layer* layer);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends a copy instruction over the given guac_socket connection.
|
||||||
|
*
|
||||||
|
* If an error occurs sending the instruction, a non-zero value is
|
||||||
|
* returned, and guac_error is set appropriately.
|
||||||
|
*
|
||||||
|
* @param socket The guac_socket connection to use.
|
||||||
|
* @param srcl The source layer.
|
||||||
|
* @param srcx The X coordinate of the source rectangle.
|
||||||
|
* @param srcy The Y coordinate of the source rectangle.
|
||||||
|
* @param w The width of the source rectangle.
|
||||||
|
* @param h The height of the source rectangle.
|
||||||
|
* @param mode The composite mode to use.
|
||||||
|
* @param dstl The destination layer.
|
||||||
|
* @param dstx The X coordinate of the destination, where the source rectangle
|
||||||
|
* should be copied.
|
||||||
|
* @param dsty The Y coordinate of the destination, where the source rectangle
|
||||||
|
* should be copied.
|
||||||
|
* @return Zero on success, non-zero on error.
|
||||||
|
*/
|
||||||
|
int guac_protocol_send_copy(guac_socket* socket,
|
||||||
|
const guac_layer* srcl, int srcx, int srcy, int w, int h,
|
||||||
|
guac_composite_mode mode, const guac_layer* dstl, int dstx, int dsty);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends a cstroke instruction over the given guac_socket connection.
|
||||||
|
*
|
||||||
|
* If an error occurs sending the instruction, a non-zero value is
|
||||||
|
* returned, and guac_error is set appropriately.
|
||||||
|
*
|
||||||
|
* @param socket The guac_socket connection to use.
|
||||||
|
* @param mode The composite mode to use.
|
||||||
|
* @param layer The destination layer.
|
||||||
|
* @param cap The style of line cap to use when drawing the stroke.
|
||||||
|
* @param join The style of line join to use when drawing the stroke.
|
||||||
|
* @param thickness The thickness of the stroke in pixels.
|
||||||
|
* @param r The red component of the color of the rectangle.
|
||||||
|
* @param g The green component of the color of the rectangle.
|
||||||
|
* @param b The blue component of the color of the rectangle.
|
||||||
|
* @param a The alpha (transparency) component of the color of the rectangle.
|
||||||
|
* @return Zero on success, non-zero on error.
|
||||||
|
*/
|
||||||
|
int guac_protocol_send_cstroke(guac_socket* socket,
|
||||||
|
guac_composite_mode mode, const guac_layer* layer,
|
||||||
|
guac_line_cap_style cap, guac_line_join_style join, int thickness,
|
||||||
|
int r, int g, int b, int a);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends a cursor instruction over the given guac_socket connection.
|
||||||
|
*
|
||||||
|
* If an error occurs sending the instruction, a non-zero value is
|
||||||
|
* returned, and guac_error is set appropriately.
|
||||||
|
*
|
||||||
|
* @param socket The guac_socket connection to use.
|
||||||
|
* @param x The X coordinate of the cursor hotspot.
|
||||||
|
* @param y The Y coordinate of the cursor hotspot.
|
||||||
|
* @param srcl The source layer.
|
||||||
|
* @param srcx The X coordinate of the source rectangle.
|
||||||
|
* @param srcy The Y coordinate of the source rectangle.
|
||||||
|
* @param w The width of the source rectangle.
|
||||||
|
* @param h The height of the source rectangle.
|
||||||
|
* @return Zero on success, non-zero on error.
|
||||||
|
*/
|
||||||
|
int guac_protocol_send_cursor(guac_socket* socket, int x, int y,
|
||||||
|
const guac_layer* srcl, int srcx, int srcy, int w, int h);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends a path instruction over the given guac_socket connection.
|
||||||
|
*
|
||||||
|
* If an error occurs sending the instruction, a non-zero value is
|
||||||
|
* returned, and guac_error is set appropriately.
|
||||||
|
*
|
||||||
|
* @param socket The guac_socket connection to use.
|
||||||
|
* @param layer The destination layer.
|
||||||
|
* @param x The X coordinate of the point to add to the path.
|
||||||
|
* @param y The Y coordinate of the point to add to the path.
|
||||||
|
* @param cp1x The X coordinate of the first control point.
|
||||||
|
* @param cp1y The Y coordinate of the first control point.
|
||||||
|
* @param cp2x The X coordinate of the second control point.
|
||||||
|
* @param cp2y The Y coordinate of the second control point.
|
||||||
|
* @return Zero on success, non-zero on error.
|
||||||
|
*/
|
||||||
|
int guac_protocol_send_path(guac_socket* socket, const guac_layer* layer,
|
||||||
|
int x, int y, int cp1x, int cp1y, int cp2x, int cp2y);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends a png instruction over the given guac_socket connection. The PNG image
|
||||||
|
* data given will be automatically base64-encoded for transmission.
|
||||||
|
*
|
||||||
|
* If an error occurs sending the instruction, a non-zero value is
|
||||||
|
* returned, and guac_error is set appropriately.
|
||||||
|
*
|
||||||
|
* @param socket The guac_socket connection to use.
|
||||||
|
* @param mode The composite mode to use.
|
||||||
|
* @param layer The destination layer.
|
||||||
|
* @param x The destination X coordinate.
|
||||||
|
* @param y The destination Y coordinate.
|
||||||
|
* @param surface A cairo surface containing the image data to send.
|
||||||
|
* @return Zero on success, non-zero on error.
|
||||||
|
*/
|
||||||
|
int guac_protocol_send_png(guac_socket* socket, guac_composite_mode mode,
|
||||||
|
const guac_layer* layer, int x, int y, cairo_surface_t* surface);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends a pop instruction over the given guac_socket connection.
|
||||||
|
*
|
||||||
|
* If an error occurs sending the instruction, a non-zero value is
|
||||||
|
* returned, and guac_error is set appropriately.
|
||||||
|
*
|
||||||
|
* @param socket The guac_socket connection to use.
|
||||||
|
* @param layer The layer to set the clipping region of.
|
||||||
|
* @return Zero on success, non-zero on error.
|
||||||
|
*/
|
||||||
|
int guac_protocol_send_pop(guac_socket* socket, const guac_layer* layer);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends a push instruction over the given guac_socket connection.
|
||||||
|
*
|
||||||
|
* If an error occurs sending the instruction, a non-zero value is
|
||||||
|
* returned, and guac_error is set appropriately.
|
||||||
|
*
|
||||||
|
* @param socket The guac_socket connection to use.
|
||||||
|
* @param layer The layer to set the clipping region of.
|
||||||
|
* @return Zero on success, non-zero on error.
|
||||||
|
*/
|
||||||
|
int guac_protocol_send_push(guac_socket* socket, const guac_layer* layer);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends a rect instruction over the given guac_socket connection.
|
||||||
|
*
|
||||||
|
* If an error occurs sending the instruction, a non-zero value is
|
||||||
|
* returned, and guac_error is set appropriately.
|
||||||
|
*
|
||||||
|
* @param socket The guac_socket connection to use.
|
||||||
|
* @param layer The destination layer.
|
||||||
|
* @param x The X coordinate of the rectangle.
|
||||||
|
* @param y The Y coordinate of the rectangle.
|
||||||
|
* @param width The width of the rectangle.
|
||||||
|
* @param height The height of the rectangle.
|
||||||
|
* @return Zero on success, non-zero on error.
|
||||||
|
*/
|
||||||
|
int guac_protocol_send_rect(guac_socket* socket, const guac_layer* layer,
|
||||||
|
int x, int y, int width, int height);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends a reset instruction over the given guac_socket connection.
|
||||||
|
*
|
||||||
|
* If an error occurs sending the instruction, a non-zero value is
|
||||||
|
* returned, and guac_error is set appropriately.
|
||||||
|
*
|
||||||
|
* @param socket The guac_socket connection to use.
|
||||||
|
* @param layer The layer to set the clipping region of.
|
||||||
|
* @return Zero on success, non-zero on error.
|
||||||
|
*/
|
||||||
|
int guac_protocol_send_reset(guac_socket* socket, const guac_layer* layer);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends an rfill instruction over the given guac_socket connection.
|
||||||
|
*
|
||||||
|
* If an error occurs sending the instruction, a non-zero value is
|
||||||
|
* returned, and guac_error is set appropriately.
|
||||||
|
*
|
||||||
|
* @param socket The guac_socket connection to use.
|
||||||
|
* @param mode The composite mode to use.
|
||||||
|
* @param layer The destination layer.
|
||||||
|
* @param srcl The source layer.
|
||||||
|
* @param srcx The X coordinate of the source rectangle.
|
||||||
|
* @param srcy The Y coordinate of the source rectangle.
|
||||||
|
* @param w The width of the source rectangle.
|
||||||
|
* @param h The height of the source rectangle.
|
||||||
|
* @return Zero on success, non-zero on error.
|
||||||
|
*/
|
||||||
|
int guac_protocol_send_rfill(guac_socket* socket,
|
||||||
|
guac_composite_mode mode, const guac_layer* layer,
|
||||||
|
const guac_layer* srcl, int srcx, int srcy, int w, int h);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends an rstroke instruction over the given guac_socket connection.
|
||||||
|
*
|
||||||
|
* If an error occurs sending the instruction, a non-zero value is
|
||||||
|
* returned, and guac_error is set appropriately.
|
||||||
|
*
|
||||||
|
* @param socket The guac_socket connection to use.
|
||||||
|
* @param mode The composite mode to use.
|
||||||
|
* @param layer The destination layer.
|
||||||
|
* @param cap The style of line cap to use when drawing the stroke.
|
||||||
|
* @param join The style of line join to use when drawing the stroke.
|
||||||
|
* @param thickness The thickness of the stroke in pixels.
|
||||||
|
* @param srcl The source layer.
|
||||||
|
* @param srcx The X coordinate of the source rectangle.
|
||||||
|
* @param srcy The Y coordinate of the source rectangle.
|
||||||
|
* @param w The width of the source rectangle.
|
||||||
|
* @param h The height of the source rectangle.
|
||||||
|
* @return Zero on success, non-zero on error.
|
||||||
|
*/
|
||||||
|
int guac_protocol_send_rstroke(guac_socket* socket,
|
||||||
|
guac_composite_mode mode, const guac_layer* layer,
|
||||||
|
guac_line_cap_style cap, guac_line_join_style join, int thickness,
|
||||||
|
const guac_layer* srcl, int srcx, int srcy, int w, int h);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends a transfer instruction over the given guac_socket connection.
|
||||||
|
*
|
||||||
|
* If an error occurs sending the instruction, a non-zero value is
|
||||||
|
* returned, and guac_error is set appropriately.
|
||||||
|
*
|
||||||
|
* @param socket The guac_socket connection to use.
|
||||||
|
* @param srcl The source layer.
|
||||||
|
* @param srcx The X coordinate of the source rectangle.
|
||||||
|
* @param srcy The Y coordinate of the source rectangle.
|
||||||
|
* @param w The width of the source rectangle.
|
||||||
|
* @param h The height of the source rectangle.
|
||||||
|
* @param fn The transfer function to use.
|
||||||
|
* @param dstl The destination layer.
|
||||||
|
* @param dstx The X coordinate of the destination, where the source rectangle
|
||||||
|
* should be copied.
|
||||||
|
* @param dsty The Y coordinate of the destination, where the source rectangle
|
||||||
|
* should be copied.
|
||||||
|
* @return Zero on success, non-zero on error.
|
||||||
|
*/
|
||||||
|
int guac_protocol_send_transfer(guac_socket* socket,
|
||||||
|
const guac_layer* srcl, int srcx, int srcy, int w, int h,
|
||||||
|
guac_transfer_function fn, const guac_layer* dstl, int dstx, int dsty);
|
||||||
|
|
||||||
|
/* TODO: guac_protocol_send_transform */
|
||||||
|
|
||||||
|
/* LAYER INSTRUCTIONS */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends a dispose instruction over the given guac_socket connection.
|
||||||
|
*
|
||||||
|
* If an error occurs sending the instruction, a non-zero value is
|
||||||
|
* returned, and guac_error is set appropriately.
|
||||||
|
*
|
||||||
|
* @param socket The guac_socket connection to use.
|
||||||
|
* @param layer The layer to dispose.
|
||||||
|
* @return Zero on success, non-zero on error.
|
||||||
|
*/
|
||||||
|
int guac_protocol_send_dispose(guac_socket* socket, const guac_layer* layer);
|
||||||
|
|
||||||
|
/* TODO: guac_protocol_send_distort */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends a move instruction over the given guac_socket connection.
|
||||||
|
*
|
||||||
|
* If an error occurs sending the instruction, a non-zero value is
|
||||||
|
* returned, and guac_error is set appropriately.
|
||||||
|
*
|
||||||
|
* @param socket The guac_socket connection to use.
|
||||||
|
* @param layer The layer to move.
|
||||||
|
* @param parent The parent layer the specified layer will be positioned
|
||||||
|
* relative to.
|
||||||
|
* @param x The X coordinate of the layer.
|
||||||
|
* @param y The Y coordinate of the layer.
|
||||||
|
* @param z The Z index of the layer, relative to other layers in its parent.
|
||||||
|
* @return Zero on success, non-zero on error.
|
||||||
|
*/
|
||||||
|
int guac_protocol_send_move(guac_socket* socket, const guac_layer* layer,
|
||||||
|
const guac_layer* parent, int x, int y, int z);
|
||||||
|
|
||||||
|
/* TODO: guac_protocol_send_shade */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends a size instruction over the given guac_socket connection.
|
||||||
|
*
|
||||||
|
* If an error occurs sending the instruction, a non-zero value is
|
||||||
|
* returned, and guac_error is set appropriately.
|
||||||
|
*
|
||||||
|
* @param socket The guac_socket connection to use.
|
||||||
|
* @param layer The layer to resize.
|
||||||
|
* @param w The new width of the layer.
|
||||||
|
* @param h The new height of the layer.
|
||||||
|
* @return Zero on success, non-zero on error.
|
||||||
|
*/
|
||||||
|
int guac_protocol_send_size(guac_socket* socket, const guac_layer* layer,
|
||||||
|
int w, int h);
|
||||||
|
|
||||||
|
/* TEXT INSTRUCTIONS */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends a clipboard instruction over the given guac_socket connection.
|
||||||
|
*
|
||||||
|
* If an error occurs sending the instruction, a non-zero value is
|
||||||
|
* returned, and guac_error is set appropriately.
|
||||||
|
*
|
||||||
|
* @param socket The guac_socket connection to use.
|
||||||
|
* @param data The clipboard data to send.
|
||||||
|
* @return Zero on success, non-zero on error.
|
||||||
|
*/
|
||||||
|
int guac_protocol_send_clipboard(guac_socket* socket, const char* data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends a name instruction over the given guac_socket connection.
|
||||||
|
*
|
||||||
|
* @param socket The guac_socket connection to use.
|
||||||
|
* @param name The name to send within the name instruction.
|
||||||
|
* @return Zero on success, non-zero on error.
|
||||||
|
*/
|
||||||
|
int guac_protocol_send_name(guac_socket* socket, const char* name);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user