File indexing completed on 2025-01-18 10:14:40
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef __SHAPE_H
0013 #define __SHAPE_H
0014
0015 #include "xcb.h"
0016 #include "xproto.h"
0017
0018 #ifdef __cplusplus
0019 extern "C" {
0020 #endif
0021
0022 #define XCB_SHAPE_MAJOR_VERSION 1
0023 #define XCB_SHAPE_MINOR_VERSION 1
0024
0025 extern xcb_extension_t xcb_shape_id;
0026
0027 typedef uint8_t xcb_shape_op_t;
0028
0029
0030
0031
0032 typedef struct xcb_shape_op_iterator_t {
0033 xcb_shape_op_t *data;
0034 int rem;
0035 int index;
0036 } xcb_shape_op_iterator_t;
0037
0038 typedef uint8_t xcb_shape_kind_t;
0039
0040
0041
0042
0043 typedef struct xcb_shape_kind_iterator_t {
0044 xcb_shape_kind_t *data;
0045 int rem;
0046 int index;
0047 } xcb_shape_kind_iterator_t;
0048
0049 typedef enum xcb_shape_so_t {
0050 XCB_SHAPE_SO_SET = 0,
0051 XCB_SHAPE_SO_UNION = 1,
0052 XCB_SHAPE_SO_INTERSECT = 2,
0053 XCB_SHAPE_SO_SUBTRACT = 3,
0054 XCB_SHAPE_SO_INVERT = 4
0055 } xcb_shape_so_t;
0056
0057 typedef enum xcb_shape_sk_t {
0058 XCB_SHAPE_SK_BOUNDING = 0,
0059 XCB_SHAPE_SK_CLIP = 1,
0060 XCB_SHAPE_SK_INPUT = 2
0061 } xcb_shape_sk_t;
0062
0063
0064 #define XCB_SHAPE_NOTIFY 0
0065
0066
0067
0068
0069 typedef struct xcb_shape_notify_event_t {
0070 uint8_t response_type;
0071 xcb_shape_kind_t shape_kind;
0072 uint16_t sequence;
0073 xcb_window_t affected_window;
0074 int16_t extents_x;
0075 int16_t extents_y;
0076 uint16_t extents_width;
0077 uint16_t extents_height;
0078 xcb_timestamp_t server_time;
0079 uint8_t shaped;
0080 uint8_t pad0[11];
0081 } xcb_shape_notify_event_t;
0082
0083
0084
0085
0086 typedef struct xcb_shape_query_version_cookie_t {
0087 unsigned int sequence;
0088 } xcb_shape_query_version_cookie_t;
0089
0090
0091 #define XCB_SHAPE_QUERY_VERSION 0
0092
0093
0094
0095
0096 typedef struct xcb_shape_query_version_request_t {
0097 uint8_t major_opcode;
0098 uint8_t minor_opcode;
0099 uint16_t length;
0100 } xcb_shape_query_version_request_t;
0101
0102
0103
0104
0105 typedef struct xcb_shape_query_version_reply_t {
0106 uint8_t response_type;
0107 uint8_t pad0;
0108 uint16_t sequence;
0109 uint32_t length;
0110 uint16_t major_version;
0111 uint16_t minor_version;
0112 } xcb_shape_query_version_reply_t;
0113
0114
0115 #define XCB_SHAPE_RECTANGLES 1
0116
0117
0118
0119
0120 typedef struct xcb_shape_rectangles_request_t {
0121 uint8_t major_opcode;
0122 uint8_t minor_opcode;
0123 uint16_t length;
0124 xcb_shape_op_t operation;
0125 xcb_shape_kind_t destination_kind;
0126 uint8_t ordering;
0127 uint8_t pad0;
0128 xcb_window_t destination_window;
0129 int16_t x_offset;
0130 int16_t y_offset;
0131 } xcb_shape_rectangles_request_t;
0132
0133
0134 #define XCB_SHAPE_MASK 2
0135
0136
0137
0138
0139 typedef struct xcb_shape_mask_request_t {
0140 uint8_t major_opcode;
0141 uint8_t minor_opcode;
0142 uint16_t length;
0143 xcb_shape_op_t operation;
0144 xcb_shape_kind_t destination_kind;
0145 uint8_t pad0[2];
0146 xcb_window_t destination_window;
0147 int16_t x_offset;
0148 int16_t y_offset;
0149 xcb_pixmap_t source_bitmap;
0150 } xcb_shape_mask_request_t;
0151
0152
0153 #define XCB_SHAPE_COMBINE 3
0154
0155
0156
0157
0158 typedef struct xcb_shape_combine_request_t {
0159 uint8_t major_opcode;
0160 uint8_t minor_opcode;
0161 uint16_t length;
0162 xcb_shape_op_t operation;
0163 xcb_shape_kind_t destination_kind;
0164 xcb_shape_kind_t source_kind;
0165 uint8_t pad0;
0166 xcb_window_t destination_window;
0167 int16_t x_offset;
0168 int16_t y_offset;
0169 xcb_window_t source_window;
0170 } xcb_shape_combine_request_t;
0171
0172
0173 #define XCB_SHAPE_OFFSET 4
0174
0175
0176
0177
0178 typedef struct xcb_shape_offset_request_t {
0179 uint8_t major_opcode;
0180 uint8_t minor_opcode;
0181 uint16_t length;
0182 xcb_shape_kind_t destination_kind;
0183 uint8_t pad0[3];
0184 xcb_window_t destination_window;
0185 int16_t x_offset;
0186 int16_t y_offset;
0187 } xcb_shape_offset_request_t;
0188
0189
0190
0191
0192 typedef struct xcb_shape_query_extents_cookie_t {
0193 unsigned int sequence;
0194 } xcb_shape_query_extents_cookie_t;
0195
0196
0197 #define XCB_SHAPE_QUERY_EXTENTS 5
0198
0199
0200
0201
0202 typedef struct xcb_shape_query_extents_request_t {
0203 uint8_t major_opcode;
0204 uint8_t minor_opcode;
0205 uint16_t length;
0206 xcb_window_t destination_window;
0207 } xcb_shape_query_extents_request_t;
0208
0209
0210
0211
0212 typedef struct xcb_shape_query_extents_reply_t {
0213 uint8_t response_type;
0214 uint8_t pad0;
0215 uint16_t sequence;
0216 uint32_t length;
0217 uint8_t bounding_shaped;
0218 uint8_t clip_shaped;
0219 uint8_t pad1[2];
0220 int16_t bounding_shape_extents_x;
0221 int16_t bounding_shape_extents_y;
0222 uint16_t bounding_shape_extents_width;
0223 uint16_t bounding_shape_extents_height;
0224 int16_t clip_shape_extents_x;
0225 int16_t clip_shape_extents_y;
0226 uint16_t clip_shape_extents_width;
0227 uint16_t clip_shape_extents_height;
0228 } xcb_shape_query_extents_reply_t;
0229
0230
0231 #define XCB_SHAPE_SELECT_INPUT 6
0232
0233
0234
0235
0236 typedef struct xcb_shape_select_input_request_t {
0237 uint8_t major_opcode;
0238 uint8_t minor_opcode;
0239 uint16_t length;
0240 xcb_window_t destination_window;
0241 uint8_t enable;
0242 uint8_t pad0[3];
0243 } xcb_shape_select_input_request_t;
0244
0245
0246
0247
0248 typedef struct xcb_shape_input_selected_cookie_t {
0249 unsigned int sequence;
0250 } xcb_shape_input_selected_cookie_t;
0251
0252
0253 #define XCB_SHAPE_INPUT_SELECTED 7
0254
0255
0256
0257
0258 typedef struct xcb_shape_input_selected_request_t {
0259 uint8_t major_opcode;
0260 uint8_t minor_opcode;
0261 uint16_t length;
0262 xcb_window_t destination_window;
0263 } xcb_shape_input_selected_request_t;
0264
0265
0266
0267
0268 typedef struct xcb_shape_input_selected_reply_t {
0269 uint8_t response_type;
0270 uint8_t enabled;
0271 uint16_t sequence;
0272 uint32_t length;
0273 } xcb_shape_input_selected_reply_t;
0274
0275
0276
0277
0278 typedef struct xcb_shape_get_rectangles_cookie_t {
0279 unsigned int sequence;
0280 } xcb_shape_get_rectangles_cookie_t;
0281
0282
0283 #define XCB_SHAPE_GET_RECTANGLES 8
0284
0285
0286
0287
0288 typedef struct xcb_shape_get_rectangles_request_t {
0289 uint8_t major_opcode;
0290 uint8_t minor_opcode;
0291 uint16_t length;
0292 xcb_window_t window;
0293 xcb_shape_kind_t source_kind;
0294 uint8_t pad0[3];
0295 } xcb_shape_get_rectangles_request_t;
0296
0297
0298
0299
0300 typedef struct xcb_shape_get_rectangles_reply_t {
0301 uint8_t response_type;
0302 uint8_t ordering;
0303 uint16_t sequence;
0304 uint32_t length;
0305 uint32_t rectangles_len;
0306 uint8_t pad0[20];
0307 } xcb_shape_get_rectangles_reply_t;
0308
0309
0310
0311
0312
0313
0314
0315
0316
0317 void
0318 xcb_shape_op_next (xcb_shape_op_iterator_t *i);
0319
0320
0321
0322
0323
0324
0325
0326
0327
0328
0329 xcb_generic_iterator_t
0330 xcb_shape_op_end (xcb_shape_op_iterator_t i);
0331
0332
0333
0334
0335
0336
0337
0338
0339
0340 void
0341 xcb_shape_kind_next (xcb_shape_kind_iterator_t *i);
0342
0343
0344
0345
0346
0347
0348
0349
0350
0351
0352 xcb_generic_iterator_t
0353 xcb_shape_kind_end (xcb_shape_kind_iterator_t i);
0354
0355
0356
0357
0358
0359
0360
0361
0362
0363 xcb_shape_query_version_cookie_t
0364 xcb_shape_query_version (xcb_connection_t *c);
0365
0366
0367
0368
0369
0370
0371
0372
0373
0374
0375
0376
0377 xcb_shape_query_version_cookie_t
0378 xcb_shape_query_version_unchecked (xcb_connection_t *c);
0379
0380
0381
0382
0383
0384
0385
0386
0387
0388
0389
0390
0391
0392
0393
0394 xcb_shape_query_version_reply_t *
0395 xcb_shape_query_version_reply (xcb_connection_t *c,
0396 xcb_shape_query_version_cookie_t cookie ,
0397 xcb_generic_error_t **e);
0398
0399 int
0400 xcb_shape_rectangles_sizeof (const void *_buffer,
0401 uint32_t rectangles_len);
0402
0403
0404
0405
0406
0407
0408
0409
0410
0411
0412
0413
0414 xcb_void_cookie_t
0415 xcb_shape_rectangles_checked (xcb_connection_t *c,
0416 xcb_shape_op_t operation,
0417 xcb_shape_kind_t destination_kind,
0418 uint8_t ordering,
0419 xcb_window_t destination_window,
0420 int16_t x_offset,
0421 int16_t y_offset,
0422 uint32_t rectangles_len,
0423 const xcb_rectangle_t *rectangles);
0424
0425
0426
0427
0428
0429
0430
0431
0432
0433 xcb_void_cookie_t
0434 xcb_shape_rectangles (xcb_connection_t *c,
0435 xcb_shape_op_t operation,
0436 xcb_shape_kind_t destination_kind,
0437 uint8_t ordering,
0438 xcb_window_t destination_window,
0439 int16_t x_offset,
0440 int16_t y_offset,
0441 uint32_t rectangles_len,
0442 const xcb_rectangle_t *rectangles);
0443
0444 xcb_rectangle_t *
0445 xcb_shape_rectangles_rectangles (const xcb_shape_rectangles_request_t *R);
0446
0447 int
0448 xcb_shape_rectangles_rectangles_length (const xcb_shape_rectangles_request_t *R);
0449
0450 xcb_rectangle_iterator_t
0451 xcb_shape_rectangles_rectangles_iterator (const xcb_shape_rectangles_request_t *R);
0452
0453
0454
0455
0456
0457
0458
0459
0460
0461
0462
0463
0464 xcb_void_cookie_t
0465 xcb_shape_mask_checked (xcb_connection_t *c,
0466 xcb_shape_op_t operation,
0467 xcb_shape_kind_t destination_kind,
0468 xcb_window_t destination_window,
0469 int16_t x_offset,
0470 int16_t y_offset,
0471 xcb_pixmap_t source_bitmap);
0472
0473
0474
0475
0476
0477
0478
0479
0480
0481 xcb_void_cookie_t
0482 xcb_shape_mask (xcb_connection_t *c,
0483 xcb_shape_op_t operation,
0484 xcb_shape_kind_t destination_kind,
0485 xcb_window_t destination_window,
0486 int16_t x_offset,
0487 int16_t y_offset,
0488 xcb_pixmap_t source_bitmap);
0489
0490
0491
0492
0493
0494
0495
0496
0497
0498
0499
0500
0501 xcb_void_cookie_t
0502 xcb_shape_combine_checked (xcb_connection_t *c,
0503 xcb_shape_op_t operation,
0504 xcb_shape_kind_t destination_kind,
0505 xcb_shape_kind_t source_kind,
0506 xcb_window_t destination_window,
0507 int16_t x_offset,
0508 int16_t y_offset,
0509 xcb_window_t source_window);
0510
0511
0512
0513
0514
0515
0516
0517
0518
0519 xcb_void_cookie_t
0520 xcb_shape_combine (xcb_connection_t *c,
0521 xcb_shape_op_t operation,
0522 xcb_shape_kind_t destination_kind,
0523 xcb_shape_kind_t source_kind,
0524 xcb_window_t destination_window,
0525 int16_t x_offset,
0526 int16_t y_offset,
0527 xcb_window_t source_window);
0528
0529
0530
0531
0532
0533
0534
0535
0536
0537
0538
0539
0540 xcb_void_cookie_t
0541 xcb_shape_offset_checked (xcb_connection_t *c,
0542 xcb_shape_kind_t destination_kind,
0543 xcb_window_t destination_window,
0544 int16_t x_offset,
0545 int16_t y_offset);
0546
0547
0548
0549
0550
0551
0552
0553
0554
0555 xcb_void_cookie_t
0556 xcb_shape_offset (xcb_connection_t *c,
0557 xcb_shape_kind_t destination_kind,
0558 xcb_window_t destination_window,
0559 int16_t x_offset,
0560 int16_t y_offset);
0561
0562
0563
0564
0565
0566
0567
0568
0569
0570 xcb_shape_query_extents_cookie_t
0571 xcb_shape_query_extents (xcb_connection_t *c,
0572 xcb_window_t destination_window);
0573
0574
0575
0576
0577
0578
0579
0580
0581
0582
0583
0584
0585 xcb_shape_query_extents_cookie_t
0586 xcb_shape_query_extents_unchecked (xcb_connection_t *c,
0587 xcb_window_t destination_window);
0588
0589
0590
0591
0592
0593
0594
0595
0596
0597
0598
0599
0600
0601
0602
0603 xcb_shape_query_extents_reply_t *
0604 xcb_shape_query_extents_reply (xcb_connection_t *c,
0605 xcb_shape_query_extents_cookie_t cookie ,
0606 xcb_generic_error_t **e);
0607
0608
0609
0610
0611
0612
0613
0614
0615
0616
0617
0618
0619 xcb_void_cookie_t
0620 xcb_shape_select_input_checked (xcb_connection_t *c,
0621 xcb_window_t destination_window,
0622 uint8_t enable);
0623
0624
0625
0626
0627
0628
0629
0630
0631
0632 xcb_void_cookie_t
0633 xcb_shape_select_input (xcb_connection_t *c,
0634 xcb_window_t destination_window,
0635 uint8_t enable);
0636
0637
0638
0639
0640
0641
0642
0643
0644
0645 xcb_shape_input_selected_cookie_t
0646 xcb_shape_input_selected (xcb_connection_t *c,
0647 xcb_window_t destination_window);
0648
0649
0650
0651
0652
0653
0654
0655
0656
0657
0658
0659
0660 xcb_shape_input_selected_cookie_t
0661 xcb_shape_input_selected_unchecked (xcb_connection_t *c,
0662 xcb_window_t destination_window);
0663
0664
0665
0666
0667
0668
0669
0670
0671
0672
0673
0674
0675
0676
0677
0678 xcb_shape_input_selected_reply_t *
0679 xcb_shape_input_selected_reply (xcb_connection_t *c,
0680 xcb_shape_input_selected_cookie_t cookie ,
0681 xcb_generic_error_t **e);
0682
0683 int
0684 xcb_shape_get_rectangles_sizeof (const void *_buffer);
0685
0686
0687
0688
0689
0690
0691
0692
0693
0694 xcb_shape_get_rectangles_cookie_t
0695 xcb_shape_get_rectangles (xcb_connection_t *c,
0696 xcb_window_t window,
0697 xcb_shape_kind_t source_kind);
0698
0699
0700
0701
0702
0703
0704
0705
0706
0707
0708
0709
0710 xcb_shape_get_rectangles_cookie_t
0711 xcb_shape_get_rectangles_unchecked (xcb_connection_t *c,
0712 xcb_window_t window,
0713 xcb_shape_kind_t source_kind);
0714
0715 xcb_rectangle_t *
0716 xcb_shape_get_rectangles_rectangles (const xcb_shape_get_rectangles_reply_t *R);
0717
0718 int
0719 xcb_shape_get_rectangles_rectangles_length (const xcb_shape_get_rectangles_reply_t *R);
0720
0721 xcb_rectangle_iterator_t
0722 xcb_shape_get_rectangles_rectangles_iterator (const xcb_shape_get_rectangles_reply_t *R);
0723
0724
0725
0726
0727
0728
0729
0730
0731
0732
0733
0734
0735
0736
0737
0738 xcb_shape_get_rectangles_reply_t *
0739 xcb_shape_get_rectangles_reply (xcb_connection_t *c,
0740 xcb_shape_get_rectangles_cookie_t cookie ,
0741 xcb_generic_error_t **e);
0742
0743
0744 #ifdef __cplusplus
0745 }
0746 #endif
0747
0748 #endif
0749
0750
0751
0752