xenocara/dist/xcb-util/aux/xcb_aux.h
2009-05-31 16:49:15 +00:00

215 lines
6.7 KiB
C

#ifndef __XCB_AUX_H__
#define __XCB_AUX_H__
#ifdef __cplusplus
extern "C" {
#endif
uint8_t xcb_aux_get_depth (xcb_connection_t *c,
xcb_screen_t *screen);
uint8_t xcb_aux_get_depth_of_visual (xcb_screen_t *screen,
xcb_visualid_t id);
xcb_screen_t *xcb_aux_get_screen (xcb_connection_t *c,
int screen);
xcb_visualtype_t *xcb_aux_get_visualtype (xcb_connection_t *c,
int screen,
xcb_visualid_t vid);
xcb_visualtype_t *
xcb_aux_find_visual_by_id (xcb_screen_t *screen,
xcb_visualid_t id);
xcb_visualtype_t *
xcb_aux_find_visual_by_attrs (xcb_screen_t *screen,
int8_t class_,
int8_t depth);
void xcb_aux_sync (xcb_connection_t *c);
/* internal helper macro for XCB_AUX_ADD_PARAM
It gives the offset of the field 'param' in the structure pointed to by
'paramsp' in multiples of an uint32_t's size. */
#define XCB_AUX_INTERNAL_OFFSETOF(paramsp, param) \
((uint32_t const*)(&((paramsp)->param))-(uint32_t const*)(paramsp))
/* add an optional parameter to an xcb_params_* structure
parameters:
maskp: pointer to bitmask whos bits mark used parameters
paramsp: pointer to structure with parameters
param: parameter to set
value: value to set the parameter to
*/
#define XCB_AUX_ADD_PARAM(maskp, paramsp, param, value) \
((*(maskp)|=1<<XCB_AUX_INTERNAL_OFFSETOF((paramsp),param)), \
((paramsp)->param=(value)))
typedef struct {
uint32_t back_pixmap;
uint32_t back_pixel;
uint32_t border_pixmap;
uint32_t border_pixel;
uint32_t bit_gravity;
uint32_t win_gravity;
uint32_t backing_store;
uint32_t backing_planes;
uint32_t backing_pixel;
uint32_t override_redirect;
uint32_t save_under;
uint32_t event_mask;
uint32_t dont_propagate;
uint32_t colormap;
uint32_t cursor;
} xcb_params_cw_t;
xcb_void_cookie_t
xcb_aux_create_window (xcb_connection_t *c,
uint8_t depth,
xcb_window_t wid,
xcb_window_t parent,
int16_t x,
int16_t y,
uint16_t width,
uint16_t height,
uint16_t border_width,
uint16_t class_,
xcb_visualid_t visual,
uint32_t mask,
const xcb_params_cw_t *params);
xcb_void_cookie_t
xcb_aux_create_window_checked (xcb_connection_t *c,
uint8_t depth,
xcb_window_t wid,
xcb_window_t parent,
int16_t x,
int16_t y,
uint16_t width,
uint16_t height,
uint16_t border_width,
uint16_t class_,
xcb_visualid_t visual,
uint32_t mask,
const xcb_params_cw_t *params);
xcb_void_cookie_t
xcb_aux_change_window_attributes (xcb_connection_t *c,
xcb_window_t window,
uint32_t mask,
const xcb_params_cw_t *params);
xcb_void_cookie_t
xcb_aux_change_window_attributes_checked (xcb_connection_t *c,
xcb_window_t window,
uint32_t mask,
const xcb_params_cw_t *params);
typedef struct {
int32_t x;
int32_t y;
uint32_t width;
uint32_t height;
uint32_t border_width;
uint32_t sibling;
uint32_t stack_mode;
} xcb_params_configure_window_t;
xcb_void_cookie_t
xcb_aux_configure_window (xcb_connection_t *c,
xcb_window_t window,
uint16_t mask,
const xcb_params_configure_window_t *params);
typedef struct {
uint32_t function;
uint32_t plane_mask;
uint32_t foreground;
uint32_t background;
uint32_t line_width;
uint32_t line_style;
uint32_t cap_style;
uint32_t join_style;
uint32_t fill_style;
uint32_t fill_rule;
uint32_t tile;
uint32_t stipple;
uint32_t tile_stipple_origin_x;
uint32_t tile_stipple_origin_y;
uint32_t font;
uint32_t subwindow_mode;
uint32_t graphics_exposures;
uint32_t clip_originX;
uint32_t clip_originY;
uint32_t mask;
uint32_t dash_offset;
uint32_t dash_list;
uint32_t arc_mode;
} xcb_params_gc_t;
xcb_void_cookie_t
xcb_aux_create_gc (xcb_connection_t *c,
xcb_gcontext_t cid,
xcb_drawable_t drawable,
uint32_t mask,
const xcb_params_gc_t *params);
xcb_void_cookie_t
xcb_aux_create_gc_checked (xcb_connection_t *c,
xcb_gcontext_t gid,
xcb_drawable_t drawable,
uint32_t mask,
const xcb_params_gc_t *params);
xcb_void_cookie_t
xcb_aux_change_gc (xcb_connection_t *c,
xcb_gcontext_t gc,
uint32_t mask,
const xcb_params_gc_t *params);
xcb_void_cookie_t
xcb_aux_change_gc_checked (xcb_connection_t *c,
xcb_gcontext_t gc,
uint32_t mask,
const xcb_params_gc_t *params);
typedef struct {
uint32_t key_click_percent;
uint32_t bell_percent;
uint32_t bell_pitch;
uint32_t bell_duration;
uint32_t led;
uint32_t led_mode;
uint32_t key;
uint32_t auto_repeat_mode;
} xcb_params_keyboard_t;
xcb_void_cookie_t
xcb_aux_change_keyboard_control (xcb_connection_t *c,
uint32_t mask,
const xcb_params_keyboard_t *params);
int
xcb_aux_parse_color(char *color_name,
uint16_t *red, uint16_t *green, uint16_t *blue);
xcb_void_cookie_t
xcb_aux_set_line_attributes_checked (xcb_connection_t *dpy,
xcb_gcontext_t gc,
uint16_t linewidth,
int32_t linestyle,
int32_t capstyle,
int32_t joinstyle);
xcb_void_cookie_t
xcb_aux_clear_window(xcb_connection_t * dpy,
xcb_window_t w);
#ifdef __cplusplus
}
#endif
#endif /* __XCB_AUX_H__ */