4
#include <glib-object.h>
9
#define X_PROTOCOL_MAJOR_VERSION 11
10
#define X_PROTOCOL_MINOR_VERSION 0
12
#define X_RELEASE_NUMBER 0
16
X_EVENT_KeyPress = 0x00000001,
17
X_EVENT_KeyRelease = 0x00000002,
18
X_EVENT_ButtonPress = 0x00000004,
19
X_EVENT_ButtonRelease = 0x00000008,
20
X_EVENT_EnterWindow = 0x00000010,
21
X_EVENT_LeaveWindow = 0x00000020,
22
X_EVENT_PointerMotion = 0x00000040,
23
X_EVENT_PointerMotionHint = 0x00000080,
24
X_EVENT_Button1Motion = 0x00000100,
25
X_EVENT_Button2Motion = 0x00000200,
26
X_EVENT_Button3Motion = 0x00000400,
27
X_EVENT_Button4Motion = 0x00000800,
28
X_EVENT_Button5Motion = 0x00001000,
29
X_EVENT_ButtonMotion = 0x00002000,
30
X_EVENT_KeymapState = 0x00004000,
31
X_EVENT_Exposure = 0x00008000,
32
X_EVENT_VisibilityChange = 0x00010000,
33
X_EVENT_StructureNotify = 0x00020000,
34
X_EVENT_ResizeRedirect = 0x00040000,
35
X_EVENT_SubstructureNotify = 0x00080000,
36
X_EVENT_SubstructureRedirect = 0x00100000,
37
X_EVENT_FocusChange = 0x00200000,
38
X_EVENT_PropertyChange = 0x00400000,
39
X_EVENT_ColormapChange = 0x00800000,
40
X_EVENT_OwnerGrabButton = 0x01000000
45
X_GC_VALUE_MASK_function = 0x00000001,
46
X_GC_VALUE_MASK_plane_mask = 0x00000002,
47
X_GC_VALUE_MASK_foreground = 0x00000004,
48
X_GC_VALUE_MASK_background = 0x00000008,
49
X_GC_VALUE_MASK_line_width = 0x00000010,
50
X_GC_VALUE_MASK_line_style = 0x00000020,
51
X_GC_VALUE_MASK_cap_style = 0x00000040,
52
X_GC_VALUE_MASK_join_style = 0x00000080,
53
X_GC_VALUE_MASK_fill_style = 0x00000100,
54
X_GC_VALUE_MASK_fill_rule = 0x00000200,
55
X_GC_VALUE_MASK_tile = 0x00000400,
56
X_GC_VALUE_MASK_stipple = 0x00000800,
57
X_GC_VALUE_MASK_tile_stipple_x_origin = 0x00001000,
58
X_GC_VALUE_MASK_tile_stipple_y_origin = 0x00002000,
59
X_GC_VALUE_MASK_font = 0x00004000,
60
X_GC_VALUE_MASK_subwindow_mode = 0x00008000,
61
X_GC_VALUE_MASK_graphics_exposures = 0x00010000,
62
X_GC_VALUE_MASK_clip_x_origin = 0x00020000,
63
X_GC_VALUE_MASK_clip_y_origin = 0x00040000,
64
X_GC_VALUE_MASK_clip_mask = 0x00080000,
65
X_GC_VALUE_MASK_dash_offset = 0x00100000,
66
X_GC_VALUE_MASK_dashes = 0x00200000,
67
X_GC_VALUE_MASK_arc_mode = 0x00400000
72
X_WINDOW_VALUE_MASK_background_pixmap = 0x00000001,
73
X_WINDOW_VALUE_MASK_background_pixel = 0x00000002,
74
X_WINDOW_VALUE_MASK_border_pixmap = 0x00000004,
75
X_WINDOW_VALUE_MASK_border_pixel = 0x00000008,
76
X_WINDOW_VALUE_MASK_bit_gravity = 0x00000010,
77
X_WINDOW_VALUE_MASK_win_gravity = 0x00000020,
78
X_WINDOW_VALUE_MASK_backing_store = 0x00000040,
79
X_WINDOW_VALUE_MASK_backing_planes = 0x00000080,
80
X_WINDOW_VALUE_MASK_backing_pixel = 0x00000100,
81
X_WINDOW_VALUE_MASK_override_redirect = 0x00000200,
82
X_WINDOW_VALUE_MASK_save_under = 0x00000400,
83
X_WINDOW_VALUE_MASK_event_mask = 0x00000800,
84
X_WINDOW_VALUE_MASK_do_not_propagate_mask = 0x00001000,
85
X_WINDOW_VALUE_MASK_colormap = 0x00002000,
86
X_WINDOW_VALUE_MASK_cursor = 0x00004000
87
} XCreateWindowValueMask;
90
X_CONFIGURE_WINDOW_VALUE_MASK_x = 0x0001,
91
X_CONFIGURE_WINDOW_VALUE_MASK_y = 0x0002,
92
X_CONFIGURE_WINDOW_VALUE_MASK_width = 0x0004,
93
X_CONFIGURE_WINDOW_VALUE_MASK_height = 0x0008,
94
X_CONFIGURE_WINDOW_VALUE_MASK_border_width = 0x0010,
95
X_CONFIGURE_WINDOW_VALUE_MASK_sibling = 0x0020,
96
X_CONFIGURE_WINDOW_VALUE_MASK_stack_mode = 0x0040
97
} XConfigureWindowValueMask;
102
guint16 protocol_major_version, protocol_minor_version;
103
gchar *authorization_protocol_name;
104
guint8 *authorization_protocol_data;
105
guint16 authorization_protocol_data_length;
110
guint16 sequence_number;
118
guint16 border_width;
122
guint32 background_pixmap;
123
guint32 background_pixel;
124
guint32 border_pixmap;
125
guint32 border_pixel;
128
guint8 backing_store;
129
guint32 backing_planes;
130
guint32 backing_pixel;
131
gboolean override_redirect;
134
guint32 do_not_propogate_mask;
141
guint16 sequence_number;
144
guint32 background_pixmap;
145
guint32 background_pixel;
146
guint32 border_pixmap;
147
guint32 border_pixel;
150
guint8 backing_store;
151
guint32 backing_planes;
152
guint32 backing_pixel;
153
gboolean override_redirect;
156
guint32 do_not_propogate_mask;
159
} XChangeWindowAttributes;
163
guint16 sequence_number;
165
} XGetWindowAttributes;
169
guint16 sequence_number;
175
guint16 sequence_number;
177
} XDestroySubwindows;
181
guint16 sequence_number;
188
guint16 sequence_number;
197
guint16 sequence_number;
203
guint16 sequence_number;
209
guint16 sequence_number;
215
guint16 sequence_number;
221
guint16 sequence_number;
228
guint16 border_width;
235
guint16 sequence_number;
242
guint16 sequence_number;
248
guint16 sequence_number;
254
guint16 sequence_number;
255
gboolean only_if_exists;
261
guint16 sequence_number;
267
guint16 sequence_number;
279
guint16 sequence_number;
286
guint16 sequence_number;
297
guint16 sequence_number;
303
guint16 sequence_number;
313
guint16 sequence_number;
319
guint16 sequence_number;
335
guint16 tile_stipple_x_origin;
336
guint16 tile_stipple_y_origin;
338
guint8 subwindow_mode;
339
gboolean graphics_exposures;
340
guint16 clip_x_origin;
341
guint16 clip_y_origin;
350
guint16 sequence_number;
365
guint16 tile_stipple_x_origin;
366
guint16 tile_stipple_y_origin;
368
guint8 subwindow_mode;
369
gboolean graphics_exposures;
370
guint16 clip_x_origin;
371
guint16 clip_y_origin;
380
guint16 sequence_number;
396
guint16 tile_stipple_x_origin;
397
guint16 tile_stipple_y_origin;
399
guint8 subwindow_mode;
400
gboolean graphics_exposures;
401
guint16 clip_x_origin;
402
guint16 clip_y_origin;
411
guint16 sequence_number;
417
guint16 sequence_number;
423
guint16 sequence_number;
427
typedef struct XClientPrivate XClientPrivate;
431
GObject parent_instance;
432
XClientPrivate *priv;
437
GObjectClass parent_class;
438
void (*connect)(XClient *client, XConnect *message);
439
void (*create_window)(XClient *client, XCreateWindow *message);
440
void (*change_window_attributes)(XClient *client, XChangeWindowAttributes *message);
441
void (*get_window_attributes)(XClient *client, XGetWindowAttributes *message);
442
void (*destroy_window)(XClient *client, XDestroyWindow *message);
443
void (*destroy_subwindows)(XClient *client, XDestroySubwindows *message);
444
void (*change_set_save)(XClient *client, XChangeSetSave *message);
445
void (*reparent_window)(XClient *client, XReparentWindow *message);
446
void (*map_window)(XClient *client, XMapWindow *message);
447
void (*map_subwindows)(XClient *client, XMapSubwindows *message);
448
void (*unmap_window)(XClient *client, XUnmapWindow *message);
449
void (*unmap_subwindows)(XClient *client, XUnmapSubwindows *message);
450
void (*configure_window)(XClient *client, XConfigureWindow *message);
451
void (*circulate_window)(XClient *client, XCirculateWindow *message);
452
void (*get_geometry)(XClient *client, XGetGeometry *message);
453
void (*query_tree)(XClient *client, XQueryTree *message);
454
void (*intern_atom)(XClient *client, XInternAtom *message);
455
void (*get_atom_name)(XClient *client, XGetAtomName *message);
456
void (*change_property)(XClient *client, XChangeProperty *message);
457
void (*delete_property)(XClient *client, XDeleteProperty *message);
458
void (*get_property)(XClient *client, XGetProperty *message);
459
void (*list_properties)(XClient *client, XListProperties *message);
460
void (*create_pixmap)(XClient *client, XCreatePixmap *message);
461
void (*free_pixmap)(XClient *client, XFreePixmap *message);
462
void (*create_gc)(XClient *client, XCreateGC *message);
463
void (*change_gc)(XClient *client, XChangeGC *message);
464
void (*copy_gc)(XClient *client, XCopyGC *message);
465
void (*free_gc)(XClient *client, XFreeGC *message);
466
void (*query_extension)(XClient *client, XQueryExtension *message);
467
void (*bell)(XClient *client, XBell *message);
468
void (*disconnected)(XClient *client);
471
typedef struct XScreenPrivate XScreenPrivate;
475
GObject parent_instance;
476
XScreenPrivate *priv;
481
GObjectClass parent_class;
484
typedef struct XVisualPrivate XVisualPrivate;
488
GObject parent_instance;
489
XVisualPrivate *priv;
494
GObjectClass parent_class;
497
typedef struct XServerPrivate XServerPrivate;
501
GObject parent_instance;
502
XServerPrivate *priv;
507
GObjectClass parent_class;
508
void (*client_connected)(XServer *server, XClient *client);
509
void (*client_disconnected)(XServer *server, XClient *client);
512
GType x_server_get_type (void);
514
XServer *x_server_new (gint display_number);
516
XScreen *x_server_add_screen (XServer *server, guint32 white_pixel, guint32 black_pixel, guint32 current_input_masks, guint16 width_in_pixels, guint16 height_in_pixels, guint16 width_in_millimeters, guint16 height_in_millimeters);
518
void x_server_add_pixmap_format (XServer *server, guint8 depth, guint8 bits_per_pixel, guint8 scanline_pad);
520
void x_server_set_listen_unix (XServer *server, gboolean listen_unix);
522
void x_server_set_listen_tcp (XServer *server, gboolean listen_tcp);
524
gboolean x_server_start (XServer *server);
526
gsize x_server_get_n_clients (XServer *server);
528
GType x_screen_get_type (void);
530
XVisual *x_screen_add_visual (XScreen *screen, guint8 depth, guint8 class, guint8 bits_per_rgb_value, guint16 colormap_entries, guint32 red_mask, guint32 green_mask, guint32 blue_mask);
532
GType x_visual_get_type (void);
534
GType x_client_get_type (void);
536
GInetAddress *x_client_get_address (XClient *client);
538
void x_client_send_failed (XClient *client, const gchar *reason);
540
void x_client_send_success (XClient *client);
542
void x_client_send_get_window_attributes_response (XClient *client, guint16 sequence_number, guint8 backing_store, guint32 visual, guint16 class, guint8 bit_gravity, guint8 win_gravity, guint32 backing_planes, guint32 backing_pixel, gboolean save_under, gboolean map_is_installed, guint8 map_state, gboolean override_redirect, guint32 colormap, guint32 all_event_masks, guint32 your_event_mask, guint16 do_not_propogate_mask);
544
void x_client_send_get_geometry_response (XClient *client, guint16 sequence_number, guint8 depth, guint32 root, gint16 x, gint16 y, guint16 width, guint16 height, guint16 border_width);
546
void x_client_send_query_tree_response (XClient *client, guint16 sequence_number, guint32 root, guint32 parent, guint32* children, guint16 children_length);
548
void x_client_send_intern_atom_response (XClient *client, guint16 sequence_number, guint32 atom);
550
void x_client_send_get_property_response (XClient *client, guint16 sequence_number, guint8 format, guint32 type, guint32 bytes_after, const guint8 *data, guint32 length);
552
void x_client_send_query_extension_response (XClient *client, guint16 sequence_number, gboolean present, guint8 major_opcode, guint8 first_event, guint8 first_error);
554
void x_client_disconnect (XClient *client);
558
#endif /* _X_SERVER_H_ */