00001
00002
00003
00004
00005
00012 #ifndef __RANDR_H
00013 #define __RANDR_H
00014
00015 #include "xcb.h"
00016 #include "xproto.h"
00017
00018 #define XCB_RANDR_MAJOR_VERSION 1
00019 #define XCB_RANDR_MINOR_VERSION 1
00020
00021 extern xcb_extension_t xcb_randr_id;
00022
00023 typedef enum xcb_randr_rotation_t {
00024 XCB_RANDR_ROTATION_ROTATE_0 = 1,
00025 XCB_RANDR_ROTATION_ROTATE_90 = 2,
00026 XCB_RANDR_ROTATION_ROTATE_180 = 4,
00027 XCB_RANDR_ROTATION_ROTATE_270 = 8,
00028 XCB_RANDR_ROTATION_REFLECT_X = 16,
00029 XCB_RANDR_ROTATION_REFLECT_Y = 32
00030 } xcb_randr_rotation_t;
00031
00035 typedef struct xcb_randr_screen_size_t {
00036 int16_t width;
00037 int16_t height;
00038 int16_t mwidth;
00039 int16_t mheight;
00040 } xcb_randr_screen_size_t;
00041
00045 typedef struct xcb_randr_screen_size_iterator_t {
00046 xcb_randr_screen_size_t *data;
00047 int rem;
00048 int index;
00049 } xcb_randr_screen_size_iterator_t;
00050
00054 typedef struct xcb_randr_refresh_rates_t {
00055 uint16_t nRates;
00056 } xcb_randr_refresh_rates_t;
00057
00061 typedef struct xcb_randr_refresh_rates_iterator_t {
00062 xcb_randr_refresh_rates_t *data;
00063 int rem;
00064 int index;
00065 } xcb_randr_refresh_rates_iterator_t;
00066
00070 typedef struct xcb_randr_query_version_cookie_t {
00071 unsigned int sequence;
00072 } xcb_randr_query_version_cookie_t;
00073
00075 #define XCB_RANDR_QUERY_VERSION 0
00076
00080 typedef struct xcb_randr_query_version_request_t {
00081 uint8_t major_opcode;
00082 uint8_t minor_opcode;
00083 uint16_t length;
00084 uint32_t major_version;
00085 uint32_t minor_version;
00086 } xcb_randr_query_version_request_t;
00087
00091 typedef struct xcb_randr_query_version_reply_t {
00092 uint8_t response_type;
00093 uint8_t pad0;
00094 uint16_t sequence;
00095 uint32_t length;
00096 uint32_t major_version;
00097 uint32_t minor_version;
00098 uint8_t pad1[16];
00099 } xcb_randr_query_version_reply_t;
00100
00104 typedef struct xcb_randr_set_screen_config_cookie_t {
00105 unsigned int sequence;
00106 } xcb_randr_set_screen_config_cookie_t;
00107
00109 #define XCB_RANDR_SET_SCREEN_CONFIG 2
00110
00114 typedef struct xcb_randr_set_screen_config_request_t {
00115 uint8_t major_opcode;
00116 uint8_t minor_opcode;
00117 uint16_t length;
00118 xcb_drawable_t drawable;
00119 xcb_timestamp_t timestamp;
00120 xcb_timestamp_t config_timestamp;
00121 uint16_t sizeID;
00122 int16_t rotation;
00123 uint16_t rate;
00124 uint8_t pad0[2];
00125 } xcb_randr_set_screen_config_request_t;
00126
00130 typedef struct xcb_randr_set_screen_config_reply_t {
00131 uint8_t response_type;
00132 uint8_t status;
00133 uint16_t sequence;
00134 uint32_t length;
00135 xcb_timestamp_t new_timestamp;
00136 xcb_timestamp_t config_timestamp;
00137 xcb_window_t root;
00138 uint16_t subpixel_order;
00139 uint8_t pad0[10];
00140 } xcb_randr_set_screen_config_reply_t;
00141
00142 typedef enum xcb_randr_set_config_t {
00143 XCB_RANDR_SET_CONFIG_SUCCESS = 0,
00144 XCB_RANDR_SET_CONFIG_INVALID_CONFIG_TIME = 1,
00145 XCB_RANDR_SET_CONFIG_INVALID_TIME = 2,
00146 XCB_RANDR_SET_CONFIG_FAILED = 3
00147 } xcb_randr_set_config_t;
00148
00150 #define XCB_RANDR_SELECT_INPUT 4
00151
00155 typedef struct xcb_randr_select_input_request_t {
00156 uint8_t major_opcode;
00157 uint8_t minor_opcode;
00158 uint16_t length;
00159 xcb_window_t window;
00160 uint16_t enable;
00161 uint8_t pad0[2];
00162 } xcb_randr_select_input_request_t;
00163
00167 typedef struct xcb_randr_get_screen_info_cookie_t {
00168 unsigned int sequence;
00169 } xcb_randr_get_screen_info_cookie_t;
00170
00172 #define XCB_RANDR_GET_SCREEN_INFO 5
00173
00177 typedef struct xcb_randr_get_screen_info_request_t {
00178 uint8_t major_opcode;
00179 uint8_t minor_opcode;
00180 uint16_t length;
00181 xcb_window_t window;
00182 } xcb_randr_get_screen_info_request_t;
00183
00187 typedef struct xcb_randr_get_screen_info_reply_t {
00188 uint8_t response_type;
00189 uint8_t rotations;
00190 uint16_t sequence;
00191 uint32_t length;
00192 xcb_window_t root;
00193 xcb_timestamp_t timestamp;
00194 xcb_timestamp_t config_timestamp;
00195 uint16_t nSizes;
00196 uint16_t sizeID;
00197 int16_t rotation;
00198 uint16_t rate;
00199 uint16_t nInfo;
00200 uint8_t pad0[2];
00201 } xcb_randr_get_screen_info_reply_t;
00202
00203 typedef enum xcb_randr_sm_t {
00204 XCB_RANDR_SM_SCREEN_CHANGE_NOTIFY = 1
00205 } xcb_randr_sm_t;
00206
00208 #define XCB_RANDR_SCREEN_CHANGE_NOTIFY 0
00209
00213 typedef struct xcb_randr_screen_change_notify_event_t {
00214 uint8_t response_type;
00215 uint8_t rotation;
00216 uint16_t sequence;
00217 xcb_timestamp_t timestamp;
00218 xcb_timestamp_t config_timestamp;
00219 xcb_window_t root;
00220 xcb_window_t request_window;
00221 uint16_t sizeID;
00222 uint16_t subpixel_order;
00223 int16_t width;
00224 int16_t height;
00225 int16_t mwidth;
00226 int16_t mheight;
00227 } xcb_randr_screen_change_notify_event_t;
00228
00229
00230
00231
00232
00233
00234
00235
00236
00237
00238
00239 void
00240 xcb_randr_screen_size_next (xcb_randr_screen_size_iterator_t *i );
00241
00242
00243
00244
00245
00246
00247
00248
00249
00250
00251
00252 xcb_generic_iterator_t
00253 xcb_randr_screen_size_end (xcb_randr_screen_size_iterator_t i );
00254
00255
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265 uint16_t *
00266 xcb_randr_refresh_rates_rates (const xcb_randr_refresh_rates_t *R );
00267
00268
00269
00270
00271
00272
00273
00274
00275
00276
00277
00278 int
00279 xcb_randr_refresh_rates_rates_length (const xcb_randr_refresh_rates_t *R );
00280
00281
00282
00283
00284
00285
00286
00287
00288
00289
00290
00291 xcb_generic_iterator_t
00292 xcb_randr_refresh_rates_rates_end (const xcb_randr_refresh_rates_t *R );
00293
00294
00295
00296
00297
00298
00299
00300
00301
00302
00303
00304 void
00305 xcb_randr_refresh_rates_next (xcb_randr_refresh_rates_iterator_t *i );
00306
00307
00308
00309
00310
00311
00312
00313
00314
00315
00316
00317 xcb_generic_iterator_t
00318 xcb_randr_refresh_rates_end (xcb_randr_refresh_rates_iterator_t i );
00319
00320
00321
00322
00323
00324
00325
00326
00327
00328
00329
00330
00331
00332 xcb_randr_query_version_cookie_t
00333 xcb_randr_query_version (xcb_connection_t *c ,
00334 uint32_t major_version ,
00335 uint32_t minor_version );
00336
00337
00338
00339
00340
00341
00342
00343
00344
00345
00346
00347
00348
00349 xcb_randr_query_version_cookie_t
00350 xcb_randr_query_version_unchecked (xcb_connection_t *c ,
00351 uint32_t major_version ,
00352 uint32_t minor_version );
00353
00354
00355
00356
00357
00358
00359
00360
00361
00362
00363
00364
00365
00366 xcb_randr_query_version_reply_t *
00367 xcb_randr_query_version_reply (xcb_connection_t *c ,
00368 xcb_randr_query_version_cookie_t cookie ,
00369 xcb_generic_error_t **e );
00370
00371
00372
00373
00374
00375
00376
00377
00378
00379
00380
00381
00382
00383
00384
00385
00386
00387 xcb_randr_set_screen_config_cookie_t
00388 xcb_randr_set_screen_config (xcb_connection_t *c ,
00389 xcb_drawable_t drawable ,
00390 xcb_timestamp_t timestamp ,
00391 xcb_timestamp_t config_timestamp ,
00392 uint16_t sizeID ,
00393 int16_t rotation ,
00394 uint16_t rate );
00395
00396
00397
00398
00399
00400
00401
00402
00403
00404
00405
00406
00407
00408
00409
00410
00411
00412 xcb_randr_set_screen_config_cookie_t
00413 xcb_randr_set_screen_config_unchecked (xcb_connection_t *c ,
00414 xcb_drawable_t drawable ,
00415 xcb_timestamp_t timestamp ,
00416 xcb_timestamp_t config_timestamp ,
00417 uint16_t sizeID ,
00418 int16_t rotation ,
00419 uint16_t rate );
00420
00421
00422
00423
00424
00425
00426
00427
00428
00429
00430
00431
00432
00433 xcb_randr_set_screen_config_reply_t *
00434 xcb_randr_set_screen_config_reply (xcb_connection_t *c ,
00435 xcb_randr_set_screen_config_cookie_t cookie ,
00436 xcb_generic_error_t **e );
00437
00438
00439
00440
00441
00442
00443
00444
00445
00446
00447
00448
00449
00450 xcb_void_cookie_t
00451 xcb_randr_select_input_checked (xcb_connection_t *c ,
00452 xcb_window_t window ,
00453 uint16_t enable );
00454
00455
00456
00457
00458
00459
00460
00461
00462
00463
00464
00465
00466
00467 xcb_void_cookie_t
00468 xcb_randr_select_input (xcb_connection_t *c ,
00469 xcb_window_t window ,
00470 uint16_t enable );
00471
00472
00473
00474
00475
00476
00477
00478
00479
00480
00481
00482
00483 xcb_randr_get_screen_info_cookie_t
00484 xcb_randr_get_screen_info (xcb_connection_t *c ,
00485 xcb_window_t window );
00486
00487
00488
00489
00490
00491
00492
00493
00494
00495
00496
00497
00498 xcb_randr_get_screen_info_cookie_t
00499 xcb_randr_get_screen_info_unchecked (xcb_connection_t *c ,
00500 xcb_window_t window );
00501
00502
00503
00504
00505
00506
00507
00508
00509
00510
00511
00512 xcb_randr_screen_size_t *
00513 xcb_randr_get_screen_info_sizes (const xcb_randr_get_screen_info_reply_t *R );
00514
00515
00516
00517
00518
00519
00520
00521
00522
00523
00524
00525 int
00526 xcb_randr_get_screen_info_sizes_length (const xcb_randr_get_screen_info_reply_t *R );
00527
00528
00529
00530
00531
00532
00533
00534
00535
00536
00537
00538 xcb_randr_screen_size_iterator_t
00539 xcb_randr_get_screen_info_sizes_iterator (const xcb_randr_get_screen_info_reply_t *R );
00540
00541
00542
00543
00544
00545
00546
00547
00548
00549
00550
00551 int
00552 xcb_randr_get_screen_info_rates_length (const xcb_randr_get_screen_info_reply_t *R );
00553
00554
00555
00556
00557
00558
00559
00560
00561
00562
00563
00564 xcb_randr_refresh_rates_iterator_t
00565 xcb_randr_get_screen_info_rates_iterator (const xcb_randr_get_screen_info_reply_t *R );
00566
00567
00568
00569
00570
00571
00572
00573
00574
00575
00576
00577
00578
00579 xcb_randr_get_screen_info_reply_t *
00580 xcb_randr_get_screen_info_reply (xcb_connection_t *c ,
00581 xcb_randr_get_screen_info_cookie_t cookie ,
00582 xcb_generic_error_t **e );
00583
00584
00585 #endif
00586