- Main Page
- Modules
- Data Structures
- Files
- Related Pages

# XCB Shape API

Shape XCB Protocol Implementation. More...

## Data Structures
struct | xcb_shape_op_iterator_t
| xcb_shape_op_iterator_t More...
struct | xcb_shape_kind_iterator_t
| xcb_shape_kind_iterator_t More...
struct | xcb_shape_notify_event_t
| xcb_shape_notify_event_t More...
struct | xcb_shape_query_version_cookie_t
| xcb_shape_query_version_cookie_t More...
struct | xcb_shape_query_version_request_t
| xcb_shape_query_version_request_t More...
struct | xcb_shape_query_version_reply_t
| xcb_shape_query_version_reply_t More...
struct | xcb_shape_rectangles_request_t
| xcb_shape_rectangles_request_t More...
struct | xcb_shape_mask_request_t
| xcb_shape_mask_request_t More...
struct | xcb_shape_combine_request_t
| xcb_shape_combine_request_t More...
struct | xcb_shape_offset_request_t
| xcb_shape_offset_request_t More...
struct | xcb_shape_query_extents_cookie_t
| xcb_shape_query_extents_cookie_t More...
struct | xcb_shape_query_extents_request_t
| xcb_shape_query_extents_request_t More...
struct | xcb_shape_query_extents_reply_t
| xcb_shape_query_extents_reply_t More...
struct | xcb_shape_select_input_request_t
| xcb_shape_select_input_request_t More...
struct | xcb_shape_input_selected_cookie_t
| xcb_shape_input_selected_cookie_t More...
struct | xcb_shape_input_selected_request_t
| xcb_shape_input_selected_request_t More...
struct | xcb_shape_input_selected_reply_t
| xcb_shape_input_selected_reply_t More...
struct | xcb_shape_get_rectangles_cookie_t
| xcb_shape_get_rectangles_cookie_t More...
struct | xcb_shape_get_rectangles_request_t
| xcb_shape_get_rectangles_request_t More...
struct | xcb_shape_get_rectangles_reply_t
| xcb_shape_get_rectangles_reply_t More...
## Defines
#define | XCB_SHAPE_MAJOR_VERSION 1
#define | XCB_SHAPE_MINOR_VERSION 1
#define | XCB_SHAPE_NOTIFY 0
#define | XCB_SHAPE_QUERY_VERSION 0
#define | XCB_SHAPE_RECTANGLES 1
#define | XCB_SHAPE_MASK 2
#define | XCB_SHAPE_COMBINE 3
#define | XCB_SHAPE_OFFSET 4
#define | XCB_SHAPE_QUERY_EXTENTS 5
#define | XCB_SHAPE_SELECT_INPUT 6
#define | XCB_SHAPE_INPUT_SELECTED 7
#define | XCB_SHAPE_GET_RECTANGLES 8
## Typedefs
typedef uint8_t | xcb_shape_op_t
typedef uint8_t | xcb_shape_kind_t
## Enumerations
enum | xcb_shape_so_t { XCB_SHAPE_SO_SET, XCB_SHAPE_SO_UNION, XCB_SHAPE_SO_INTERSECT, XCB_SHAPE_SO_SUBTRACT, XCB_SHAPE_SO_INVERT }
enum | xcb_shape_sk_t { XCB_SHAPE_SK_BOUNDING, XCB_SHAPE_SK_CLIP, XCB_SHAPE_SK_INPUT }
## Functions
void | xcb_shape_op_next (xcb_shape_op_iterator_t *i)
xcb_generic_iterator_t | xcb_shape_op_end (xcb_shape_op_iterator_t i)
void | xcb_shape_kind_next (xcb_shape_kind_iterator_t *i)
xcb_generic_iterator_t | xcb_shape_kind_end (xcb_shape_kind_iterator_t i)
xcb_shape_query_version_cookie_t | xcb_shape_query_version (xcb_connection_t *c)
xcb_shape_query_version_cookie_t | xcb_shape_query_version_unchecked (xcb_connection_t *c)
xcb_shape_query_version_reply_t * | xcb_shape_query_version_reply (xcb_connection_t *c, xcb_shape_query_version_cookie_t cookie, xcb_generic_error_t **e)
xcb_void_cookie_t | xcb_shape_rectangles_checked (xcb_connection_t *c, xcb_shape_op_t operation, xcb_shape_kind_t destination_kind, uint8_t ordering, xcb_window_t destination_window, int16_t x_offset, int16_t y_offset, uint32_t rectangles_len, const xcb_rectangle_t *rectangles)
xcb_void_cookie_t | xcb_shape_rectangles (xcb_connection_t *c, xcb_shape_op_t operation, xcb_shape_kind_t destination_kind, uint8_t ordering, xcb_window_t destination_window, int16_t x_offset, int16_t y_offset, uint32_t rectangles_len, const xcb_rectangle_t *rectangles)
xcb_void_cookie_t | xcb_shape_mask_checked (xcb_connection_t *c, xcb_shape_op_t operation, xcb_shape_kind_t destination_kind, xcb_window_t destination_window, int16_t x_offset, int16_t y_offset, xcb_pixmap_t source_bitmap)
xcb_void_cookie_t | xcb_shape_mask (xcb_connection_t *c, xcb_shape_op_t operation, xcb_shape_kind_t destination_kind, xcb_window_t destination_window, int16_t x_offset, int16_t y_offset, xcb_pixmap_t source_bitmap)
xcb_void_cookie_t | xcb_shape_combine_checked (xcb_connection_t *c, xcb_shape_op_t operation, xcb_shape_kind_t destination_kind, xcb_shape_kind_t source_kind, xcb_window_t destination_window, int16_t x_offset, int16_t y_offset, xcb_window_t source_window)
xcb_void_cookie_t | xcb_shape_combine (xcb_connection_t *c, xcb_shape_op_t operation, xcb_shape_kind_t destination_kind, xcb_shape_kind_t source_kind, xcb_window_t destination_window, int16_t x_offset, int16_t y_offset, xcb_window_t source_window)
xcb_void_cookie_t | xcb_shape_offset_checked (xcb_connection_t *c, xcb_shape_kind_t destination_kind, xcb_window_t destination_window, int16_t x_offset, int16_t y_offset)
xcb_void_cookie_t | xcb_shape_offset (xcb_connection_t *c, xcb_shape_kind_t destination_kind, xcb_window_t destination_window, int16_t x_offset, int16_t y_offset)
xcb_shape_query_extents_cookie_t | xcb_shape_query_extents (xcb_connection_t *c, xcb_window_t destination_window)
xcb_shape_query_extents_cookie_t | xcb_shape_query_extents_unchecked (xcb_connection_t *c, xcb_window_t destination_window)
xcb_shape_query_extents_reply_t * | xcb_shape_query_extents_reply (xcb_connection_t *c, xcb_shape_query_extents_cookie_t cookie, xcb_generic_error_t **e)
xcb_void_cookie_t | xcb_shape_select_input_checked (xcb_connection_t *c, xcb_window_t destination_window, uint8_t enable)
xcb_void_cookie_t | xcb_shape_select_input (xcb_connection_t *c, xcb_window_t destination_window, uint8_t enable)
xcb_shape_input_selected_cookie_t | xcb_shape_input_selected (xcb_connection_t *c, xcb_window_t destination_window)
xcb_shape_input_selected_cookie_t | xcb_shape_input_selected_unchecked (xcb_connection_t *c, xcb_window_t destination_window)
xcb_shape_input_selected_reply_t * | xcb_shape_input_selected_reply (xcb_connection_t *c, xcb_shape_input_selected_cookie_t cookie, xcb_generic_error_t **e)
xcb_shape_get_rectangles_cookie_t | xcb_shape_get_rectangles (xcb_connection_t *c, xcb_window_t window, xcb_shape_kind_t source_kind)
xcb_shape_get_rectangles_cookie_t | xcb_shape_get_rectangles_unchecked (xcb_connection_t *c, xcb_window_t window, xcb_shape_kind_t source_kind)
xcb_rectangle_t * | xcb_shape_get_rectangles_rectangles (const xcb_shape_get_rectangles_reply_t *R)
int | xcb_shape_get_rectangles_rectangles_length (const xcb_shape_get_rectangles_reply_t *R)
xcb_rectangle_iterator_t | xcb_shape_get_rectangles_rectangles_iterator (const xcb_shape_get_rectangles_reply_t *R)
xcb_shape_get_rectangles_reply_t * | xcb_shape_get_rectangles_reply (xcb_connection_t *c, xcb_shape_get_rectangles_cookie_t cookie, xcb_generic_error_t **e)
## Variables
xcb_extension_t | xcb_shape_id

## Detailed Description

Shape XCB Protocol Implementation.

## Define Documentation

#define XCB_SHAPE_COMBINE 3

Opcode for xcb_shape_combine.

#define XCB_SHAPE_GET_RECTANGLES 8

Opcode for xcb_shape_get_rectangles.

#define XCB_SHAPE_INPUT_SELECTED 7

Opcode for xcb_shape_input_selected.

#define XCB_SHAPE_MASK 2

Opcode for xcb_shape_mask.

#define XCB_SHAPE_NOTIFY 0

Opcode for xcb_shape_notify.

#define XCB_SHAPE_OFFSET 4

Opcode for xcb_shape_offset.

#define XCB_SHAPE_QUERY_EXTENTS 5

Opcode for xcb_shape_query_extents.

#define XCB_SHAPE_QUERY_VERSION 0

Opcode for xcb_shape_query_version.

#define XCB_SHAPE_RECTANGLES 1

Opcode for xcb_shape_rectangles.

#define XCB_SHAPE_SELECT_INPUT 6

Opcode for xcb_shape_select_input.

## Function Documentation

xcb_void_cookie_t xcb_shape_combine | ( | xcb_connection_t * | c,
|  | xcb_shape_op_t | operation,
|  | xcb_shape_kind_t | destination_kind,
|  | xcb_shape_kind_t | source_kind,
|  | xcb_window_t | destination_window,
|  | int16_t | x_offset,
|  | int16_t | y_offset,
|  | xcb_window_t | source_window |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_void_cookie_t xcb_shape_combine_checked | ( | xcb_connection_t * | c,
|  | xcb_shape_op_t | operation,
|  | xcb_shape_kind_t | destination_kind,
|  | xcb_shape_kind_t | source_kind,
|  | xcb_window_t | destination_window,
|  | int16_t | x_offset,
|  | int16_t | y_offset,
|  | xcb_window_t | source_window |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

This form can be used only if the request will not cause a reply to be generated. Any returned error will be saved for handling by xcb_request_check().

xcb_shape_get_rectangles_cookie_t xcb_shape_get_rectangles | ( | xcb_connection_t * | c,
|  | xcb_window_t | window,
|  | xcb_shape_kind_t | source_kind |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_shape_get_rectangles_reply_t* xcb_shape_get_rectangles_reply | ( | xcb_connection_t * | c,
|  | xcb_shape_get_rectangles_cookie_t | cookie,
|  | xcb_generic_error_t ** | e |
| ) |  |  |

Return the reply

Parameters:

  | c | The connection
  | cookie | The cookie
  | e | The xcb_generic_error_t supplied

Returns the reply of the request asked by

The parameter `e` supplied to this function must be NULL if xcb_shape_get_rectangles_unchecked(). is used. Otherwise, it stores the error if any.

The returned value must be freed by the caller using free().

xcb_shape_get_rectangles_cookie_t xcb_shape_get_rectangles_unchecked | ( | xcb_connection_t * | c,
|  | xcb_window_t | window,
|  | xcb_shape_kind_t | source_kind |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

This form can be used only if the request will cause a reply to be generated. Any returned error will be placed in the event queue.

xcb_shape_input_selected_cookie_t xcb_shape_input_selected | ( | xcb_connection_t * | c,
|  | xcb_window_t | destination_window |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_shape_input_selected_reply_t* xcb_shape_input_selected_reply | ( | xcb_connection_t * | c,
|  | xcb_shape_input_selected_cookie_t | cookie,
|  | xcb_generic_error_t ** | e |
| ) |  |  |

Return the reply

Parameters:

  | c | The connection
  | cookie | The cookie
  | e | The xcb_generic_error_t supplied

Returns the reply of the request asked by

The parameter `e` supplied to this function must be NULL if xcb_shape_input_selected_unchecked(). is used. Otherwise, it stores the error if any.

The returned value must be freed by the caller using free().

xcb_shape_input_selected_cookie_t xcb_shape_input_selected_unchecked | ( | xcb_connection_t * | c,
|  | xcb_window_t | destination_window |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

This form can be used only if the request will cause a reply to be generated. Any returned error will be placed in the event queue.

xcb_generic_iterator_t xcb_shape_kind_end | ( | xcb_shape_kind_iterator_t | i | ) |

Return the iterator pointing to the last element

Parameters:

  | i | An xcb_shape_kind_iterator_t

Returns:
  The iterator pointing to the last element

Set the current element in the iterator to the last element. The member rem is set to 0. The member data points to the last element.

void xcb_shape_kind_next | ( | xcb_shape_kind_iterator_t * | i | ) |

Get the next element of the iterator

Parameters:

  | i | Pointer to a xcb_shape_kind_iterator_t

Get the next element in the iterator. The member rem is decreased by one. The member data points to the next element. The member index is increased by sizeof(xcb_shape_kind_t)

xcb_void_cookie_t xcb_shape_mask | ( | xcb_connection_t * | c,
|  | xcb_shape_op_t | operation,
|  | xcb_shape_kind_t | destination_kind,
|  | xcb_window_t | destination_window,
|  | int16_t | x_offset,
|  | int16_t | y_offset,
|  | xcb_pixmap_t | source_bitmap |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_void_cookie_t xcb_shape_mask_checked | ( | xcb_connection_t * | c,
|  | xcb_shape_op_t | operation,
|  | xcb_shape_kind_t | destination_kind,
|  | xcb_window_t | destination_window,
|  | int16_t | x_offset,
|  | int16_t | y_offset,
|  | xcb_pixmap_t | source_bitmap |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

This form can be used only if the request will not cause a reply to be generated. Any returned error will be saved for handling by xcb_request_check().

xcb_void_cookie_t xcb_shape_offset | ( | xcb_connection_t * | c,
|  | xcb_shape_kind_t | destination_kind,
|  | xcb_window_t | destination_window,
|  | int16_t | x_offset,
|  | int16_t | y_offset |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_void_cookie_t xcb_shape_offset_checked | ( | xcb_connection_t * | c,
|  | xcb_shape_kind_t | destination_kind,
|  | xcb_window_t | destination_window,
|  | int16_t | x_offset,
|  | int16_t | y_offset |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

This form can be used only if the request will not cause a reply to be generated. Any returned error will be saved for handling by xcb_request_check().

xcb_generic_iterator_t xcb_shape_op_end | ( | xcb_shape_op_iterator_t | i | ) |

Return the iterator pointing to the last element

Parameters:

  | i | An xcb_shape_op_iterator_t

Returns:
  The iterator pointing to the last element

Set the current element in the iterator to the last element. The member rem is set to 0. The member data points to the last element.

void xcb_shape_op_next | ( | xcb_shape_op_iterator_t * | i | ) |

Get the next element of the iterator

Parameters:

  | i | Pointer to a xcb_shape_op_iterator_t

Get the next element in the iterator. The member rem is decreased by one. The member data points to the next element. The member index is increased by sizeof(xcb_shape_op_t)

xcb_shape_query_extents_cookie_t xcb_shape_query_extents | ( | xcb_connection_t * | c,
|  | xcb_window_t | destination_window |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_shape_query_extents_reply_t* xcb_shape_query_extents_reply | ( | xcb_connection_t * | c,
|  | xcb_shape_query_extents_cookie_t | cookie,
|  | xcb_generic_error_t ** | e |
| ) |  |  |

Return the reply

Parameters:

  | c | The connection
  | cookie | The cookie
  | e | The xcb_generic_error_t supplied

Returns the reply of the request asked by

The parameter `e` supplied to this function must be NULL if xcb_shape_query_extents_unchecked(). is used. Otherwise, it stores the error if any.

The returned value must be freed by the caller using free().

xcb_shape_query_extents_cookie_t xcb_shape_query_extents_unchecked | ( | xcb_connection_t * | c,
|  | xcb_window_t | destination_window |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

This form can be used only if the request will cause a reply to be generated. Any returned error will be placed in the event queue.

xcb_shape_query_version_cookie_t xcb_shape_query_version | ( | xcb_connection_t * | c | ) |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_shape_query_version_reply_t* xcb_shape_query_version_reply | ( | xcb_connection_t * | c,
|  | xcb_shape_query_version_cookie_t | cookie,
|  | xcb_generic_error_t ** | e |
| ) |  |  |

Return the reply

Parameters:

  | c | The connection
  | cookie | The cookie
  | e | The xcb_generic_error_t supplied

Returns the reply of the request asked by

The parameter `e` supplied to this function must be NULL if xcb_shape_query_version_unchecked(). is used. Otherwise, it stores the error if any.

The returned value must be freed by the caller using free().

xcb_shape_query_version_cookie_t xcb_shape_query_version_unchecked | ( | xcb_connection_t * | c | ) |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

This form can be used only if the request will cause a reply to be generated. Any returned error will be placed in the event queue.

xcb_void_cookie_t xcb_shape_rectangles | ( | xcb_connection_t * | c,
|  | xcb_shape_op_t | operation,
|  | xcb_shape_kind_t | destination_kind,
|  | uint8_t | ordering,
|  | xcb_window_t | destination_window,
|  | int16_t | x_offset,
|  | int16_t | y_offset,
|  | uint32_t | rectangles_len,
|  | const xcb_rectangle_t * | rectangles |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_void_cookie_t xcb_shape_rectangles_checked | ( | xcb_connection_t * | c,
|  | xcb_shape_op_t | operation,
|  | xcb_shape_kind_t | destination_kind,
|  | uint8_t | ordering,
|  | xcb_window_t | destination_window,
|  | int16_t | x_offset,
|  | int16_t | y_offset,
|  | uint32_t | rectangles_len,
|  | const xcb_rectangle_t * | rectangles |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

This form can be used only if the request will not cause a reply to be generated. Any returned error will be saved for handling by xcb_request_check().

xcb_void_cookie_t xcb_shape_select_input | ( | xcb_connection_t * | c,
|  | xcb_window_t | destination_window,
|  | uint8_t | enable |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

xcb_void_cookie_t xcb_shape_select_input_checked | ( | xcb_connection_t * | c,
|  | xcb_window_t | destination_window,
|  | uint8_t | enable |
| ) |  |  |

Delivers a request to the X server

Parameters:

  | c | The connection

Returns:
  A cookie

Delivers a request to the X server.

This form can be used only if the request will not cause a reply to be generated. Any returned error will be saved for handling by xcb_request_check().