Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
emscripten-core
GitHub Repository: emscripten-core/emscripten
Path: blob/main/system/include/X11/Xutil.h
6162 views
1
2
/***********************************************************
3
4
Copyright 1987, 1998 The Open Group
5
6
Permission to use, copy, modify, distribute, and sell this software and its
7
documentation for any purpose is hereby granted without fee, provided that
8
the above copyright notice appear in all copies and that both that
9
copyright notice and this permission notice appear in supporting
10
documentation.
11
12
The above copyright notice and this permission notice shall be included in
13
all copies or substantial portions of the Software.
14
15
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
19
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
22
Except as contained in this notice, the name of The Open Group shall not be
23
used in advertising or otherwise to promote the sale, use or other dealings
24
in this Software without prior written authorization from The Open Group.
25
26
27
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
28
29
All Rights Reserved
30
31
Permission to use, copy, modify, and distribute this software and its
32
documentation for any purpose and without fee is hereby granted,
33
provided that the above copyright notice appear in all copies and that
34
both that copyright notice and this permission notice appear in
35
supporting documentation, and that the name of Digital not be
36
used in advertising or publicity pertaining to distribution of the
37
software without specific, written prior permission.
38
39
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
40
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
41
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
42
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
43
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
44
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
45
SOFTWARE.
46
47
******************************************************************/
48
49
#ifndef _XUTIL_H_
50
#define _XUTIL_H_
51
52
/* You must include <X11/Xlib.h> before including this file */
53
#include <X11/Xlib.h>
54
#include <X11/keysym.h>
55
56
/*
57
* Bitmask returned by XParseGeometry(). Each bit tells if the corresponding
58
* value (x, y, width, height) was found in the parsed string.
59
*/
60
#define NoValue 0x0000
61
#define XValue 0x0001
62
#define YValue 0x0002
63
#define WidthValue 0x0004
64
#define HeightValue 0x0008
65
#define AllValues 0x000F
66
#define XNegative 0x0010
67
#define YNegative 0x0020
68
69
/*
70
* new version containing base_width, base_height, and win_gravity fields;
71
* used with WM_NORMAL_HINTS.
72
*/
73
typedef struct {
74
long flags; /* marks which fields in this structure are defined */
75
int x, y; /* obsolete for new window mgrs, but clients */
76
int width, height; /* should set so old wm's don't mess up */
77
int min_width, min_height;
78
int max_width, max_height;
79
int width_inc, height_inc;
80
struct {
81
int x; /* numerator */
82
int y; /* denominator */
83
} min_aspect, max_aspect;
84
int base_width, base_height; /* added by ICCCM version 1 */
85
int win_gravity; /* added by ICCCM version 1 */
86
} XSizeHints;
87
88
/*
89
* The next block of definitions are for window manager properties that
90
* clients and applications use for communication.
91
*/
92
93
/* flags argument in size hints */
94
#define USPosition (1L << 0) /* user specified x, y */
95
#define USSize (1L << 1) /* user specified width, height */
96
97
#define PPosition (1L << 2) /* program specified position */
98
#define PSize (1L << 3) /* program specified size */
99
#define PMinSize (1L << 4) /* program specified minimum size */
100
#define PMaxSize (1L << 5) /* program specified maximum size */
101
#define PResizeInc (1L << 6) /* program specified resize increments */
102
#define PAspect (1L << 7) /* program specified min and max aspect ratios */
103
#define PBaseSize (1L << 8) /* program specified base for incrementing */
104
#define PWinGravity (1L << 9) /* program specified window gravity */
105
106
/* obsolete */
107
#define PAllHints (PPosition|PSize|PMinSize|PMaxSize|PResizeInc|PAspect)
108
109
110
111
typedef struct {
112
long flags; /* marks which fields in this structure are defined */
113
Bool input; /* does this application rely on the window manager to
114
get keyboard input? */
115
int initial_state; /* see below */
116
Pixmap icon_pixmap; /* pixmap to be used as icon */
117
Window icon_window; /* window to be used as icon */
118
int icon_x, icon_y; /* initial position of icon */
119
Pixmap icon_mask; /* icon mask bitmap */
120
XID window_group; /* id of related window group */
121
/* this structure may be extended in the future */
122
} XWMHints;
123
124
/* definition for flags of XWMHints */
125
126
#define InputHint (1L << 0)
127
#define StateHint (1L << 1)
128
#define IconPixmapHint (1L << 2)
129
#define IconWindowHint (1L << 3)
130
#define IconPositionHint (1L << 4)
131
#define IconMaskHint (1L << 5)
132
#define WindowGroupHint (1L << 6)
133
#define AllHints (InputHint|StateHint|IconPixmapHint|IconWindowHint| \
134
IconPositionHint|IconMaskHint|WindowGroupHint)
135
#define XUrgencyHint (1L << 8)
136
137
/* definitions for initial window state */
138
#define WithdrawnState 0 /* for windows that are not mapped */
139
#define NormalState 1 /* most applications want to start this way */
140
#define IconicState 3 /* application wants to start as an icon */
141
142
/*
143
* Obsolete states no longer defined by ICCCM
144
*/
145
#define DontCareState 0 /* don't know or care */
146
#define ZoomState 2 /* application wants to start zoomed */
147
#define InactiveState 4 /* application believes it is seldom used; */
148
/* some wm's may put it on inactive menu */
149
150
151
/*
152
* new structure for manipulating TEXT properties; used with WM_NAME,
153
* WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND.
154
*/
155
typedef struct {
156
unsigned char *value; /* same as Property routines */
157
Atom encoding; /* prop type */
158
int format; /* prop data format: 8, 16, or 32 */
159
unsigned long nitems; /* number of data items in value */
160
} XTextProperty;
161
162
#define XNoMemory -1
163
#define XLocaleNotSupported -2
164
#define XConverterNotFound -3
165
166
typedef enum {
167
XStringStyle, /* STRING */
168
XCompoundTextStyle, /* COMPOUND_TEXT */
169
XTextStyle, /* text in owner's encoding (current locale)*/
170
XStdICCTextStyle, /* STRING, else COMPOUND_TEXT */
171
/* The following is an XFree86 extension, introduced in November 2000 */
172
XUTF8StringStyle /* UTF8_STRING */
173
} XICCEncodingStyle;
174
175
typedef struct {
176
int min_width, min_height;
177
int max_width, max_height;
178
int width_inc, height_inc;
179
} XIconSize;
180
181
typedef struct {
182
char *res_name;
183
char *res_class;
184
} XClassHint;
185
186
#ifdef XUTIL_DEFINE_FUNCTIONS
187
extern int XDestroyImage(
188
XImage *ximage);
189
extern unsigned long XGetPixel(
190
XImage *ximage,
191
int x, int y);
192
extern int XPutPixel(
193
XImage *ximage,
194
int x, int y,
195
unsigned long pixel);
196
extern XImage *XSubImage(
197
XImage *ximage,
198
int x, int y,
199
unsigned int width, unsigned int height);
200
extern int XAddPixel(
201
XImage *ximage,
202
long value);
203
#else
204
/*
205
* These macros are used to give some sugar to the image routines so that
206
* naive people are more comfortable with them.
207
*/
208
#define XDestroyImage(ximage) \
209
((*((ximage)->f.destroy_image))((ximage)))
210
#define XGetPixel(ximage, x, y) \
211
((*((ximage)->f.get_pixel))((ximage), (x), (y)))
212
#define XPutPixel(ximage, x, y, pixel) \
213
((*((ximage)->f.put_pixel))((ximage), (x), (y), (pixel)))
214
#define XSubImage(ximage, x, y, width, height) \
215
((*((ximage)->f.sub_image))((ximage), (x), (y), (width), (height)))
216
#define XAddPixel(ximage, value) \
217
((*((ximage)->f.add_pixel))((ximage), (value)))
218
#endif
219
220
/*
221
* Compose sequence status structure, used in calling XLookupString.
222
*/
223
typedef struct _XComposeStatus {
224
XPointer compose_ptr; /* state table pointer */
225
int chars_matched; /* match state */
226
} XComposeStatus;
227
228
/*
229
* Keysym macros, used on Keysyms to test for classes of symbols
230
*/
231
#define IsKeypadKey(keysym) \
232
(((KeySym)(keysym) >= XK_KP_Space) && ((KeySym)(keysym) <= XK_KP_Equal))
233
234
#define IsPrivateKeypadKey(keysym) \
235
(((KeySym)(keysym) >= 0x11000000) && ((KeySym)(keysym) <= 0x1100FFFF))
236
237
#define IsCursorKey(keysym) \
238
(((KeySym)(keysym) >= XK_Home) && ((KeySym)(keysym) < XK_Select))
239
240
#define IsPFKey(keysym) \
241
(((KeySym)(keysym) >= XK_KP_F1) && ((KeySym)(keysym) <= XK_KP_F4))
242
243
#define IsFunctionKey(keysym) \
244
(((KeySym)(keysym) >= XK_F1) && ((KeySym)(keysym) <= XK_F35))
245
246
#define IsMiscFunctionKey(keysym) \
247
(((KeySym)(keysym) >= XK_Select) && ((KeySym)(keysym) <= XK_Break))
248
249
#ifdef XK_XKB_KEYS
250
#define IsModifierKey(keysym) \
251
((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \
252
|| (((KeySym)(keysym) >= XK_ISO_Lock) && \
253
((KeySym)(keysym) <= XK_ISO_Last_Group_Lock)) \
254
|| ((KeySym)(keysym) == XK_Mode_switch) \
255
|| ((KeySym)(keysym) == XK_Num_Lock))
256
#else
257
#define IsModifierKey(keysym) \
258
((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \
259
|| ((KeySym)(keysym) == XK_Mode_switch) \
260
|| ((KeySym)(keysym) == XK_Num_Lock))
261
#endif
262
/*
263
* opaque reference to Region data type
264
*/
265
typedef struct _XRegion *Region;
266
267
/* Return values from XRectInRegion() */
268
269
#define RectangleOut 0
270
#define RectangleIn 1
271
#define RectanglePart 2
272
273
274
/*
275
* Information used by the visual utility routines to find desired visual
276
* type from the many visuals a display may support.
277
*/
278
279
typedef struct {
280
Visual *visual;
281
VisualID visualid;
282
int screen;
283
int depth;
284
#if defined(__cplusplus) || defined(c_plusplus)
285
int c_class; /* C++ */
286
#else
287
int class;
288
#endif
289
unsigned long red_mask;
290
unsigned long green_mask;
291
unsigned long blue_mask;
292
int colormap_size;
293
int bits_per_rgb;
294
} XVisualInfo;
295
296
#define VisualNoMask 0x0
297
#define VisualIDMask 0x1
298
#define VisualScreenMask 0x2
299
#define VisualDepthMask 0x4
300
#define VisualClassMask 0x8
301
#define VisualRedMaskMask 0x10
302
#define VisualGreenMaskMask 0x20
303
#define VisualBlueMaskMask 0x40
304
#define VisualColormapSizeMask 0x80
305
#define VisualBitsPerRGBMask 0x100
306
#define VisualAllMask 0x1FF
307
308
/*
309
* This defines a window manager property that clients may use to
310
* share standard color maps of type RGB_COLOR_MAP:
311
*/
312
typedef struct {
313
Colormap colormap;
314
unsigned long red_max;
315
unsigned long red_mult;
316
unsigned long green_max;
317
unsigned long green_mult;
318
unsigned long blue_max;
319
unsigned long blue_mult;
320
unsigned long base_pixel;
321
VisualID visualid; /* added by ICCCM version 1 */
322
XID killid; /* added by ICCCM version 1 */
323
} XStandardColormap;
324
325
#define ReleaseByFreeingColormap ((XID) 1L) /* for killid field above */
326
327
328
/*
329
* return codes for XReadBitmapFile and XWriteBitmapFile
330
*/
331
#define BitmapSuccess 0
332
#define BitmapOpenFailed 1
333
#define BitmapFileInvalid 2
334
#define BitmapNoMemory 3
335
336
/****************************************************************
337
*
338
* Context Management
339
*
340
****************************************************************/
341
342
343
/* Associative lookup table return codes */
344
345
#define XCSUCCESS 0 /* No error. */
346
#define XCNOMEM 1 /* Out of memory */
347
#define XCNOENT 2 /* No entry in table */
348
349
typedef int XContext;
350
351
#define XUniqueContext() ((XContext) XrmUniqueQuark())
352
#define XStringToContext(string) ((XContext) XrmStringToQuark(string))
353
354
_XFUNCPROTOBEGIN
355
356
/* The following declarations are alphabetized. */
357
358
extern XClassHint *XAllocClassHint (
359
void
360
);
361
362
extern XIconSize *XAllocIconSize (
363
void
364
);
365
366
extern XSizeHints *XAllocSizeHints (
367
void
368
);
369
370
extern XStandardColormap *XAllocStandardColormap (
371
void
372
);
373
374
extern XWMHints *XAllocWMHints (
375
void
376
);
377
378
extern int XClipBox(
379
Region /* r */,
380
XRectangle* /* rect_return */
381
);
382
383
extern Region XCreateRegion(
384
void
385
);
386
387
extern const char *XDefaultString (void);
388
389
extern int XDeleteContext(
390
Display* /* display */,
391
XID /* rid */,
392
XContext /* context */
393
);
394
395
extern int XDestroyRegion(
396
Region /* r */
397
);
398
399
extern int XEmptyRegion(
400
Region /* r */
401
);
402
403
extern int XEqualRegion(
404
Region /* r1 */,
405
Region /* r2 */
406
);
407
408
extern int XFindContext(
409
Display* /* display */,
410
XID /* rid */,
411
XContext /* context */,
412
XPointer* /* data_return */
413
);
414
415
extern Status XGetClassHint(
416
Display* /* display */,
417
Window /* w */,
418
XClassHint* /* class_hints_return */
419
);
420
421
extern Status XGetIconSizes(
422
Display* /* display */,
423
Window /* w */,
424
XIconSize** /* size_list_return */,
425
int* /* count_return */
426
);
427
428
extern Status XGetNormalHints(
429
Display* /* display */,
430
Window /* w */,
431
XSizeHints* /* hints_return */
432
);
433
434
extern Status XGetRGBColormaps(
435
Display* /* display */,
436
Window /* w */,
437
XStandardColormap** /* stdcmap_return */,
438
int* /* count_return */,
439
Atom /* property */
440
);
441
442
extern Status XGetSizeHints(
443
Display* /* display */,
444
Window /* w */,
445
XSizeHints* /* hints_return */,
446
Atom /* property */
447
);
448
449
extern Status XGetStandardColormap(
450
Display* /* display */,
451
Window /* w */,
452
XStandardColormap* /* colormap_return */,
453
Atom /* property */
454
);
455
456
extern Status XGetTextProperty(
457
Display* /* display */,
458
Window /* window */,
459
XTextProperty* /* text_prop_return */,
460
Atom /* property */
461
);
462
463
extern XVisualInfo *XGetVisualInfo(
464
Display* /* display */,
465
long /* vinfo_mask */,
466
XVisualInfo* /* vinfo_template */,
467
int* /* nitems_return */
468
);
469
470
extern Status XGetWMClientMachine(
471
Display* /* display */,
472
Window /* w */,
473
XTextProperty* /* text_prop_return */
474
);
475
476
extern XWMHints *XGetWMHints(
477
Display* /* display */,
478
Window /* w */
479
);
480
481
extern Status XGetWMIconName(
482
Display* /* display */,
483
Window /* w */,
484
XTextProperty* /* text_prop_return */
485
);
486
487
extern Status XGetWMName(
488
Display* /* display */,
489
Window /* w */,
490
XTextProperty* /* text_prop_return */
491
);
492
493
extern Status XGetWMNormalHints(
494
Display* /* display */,
495
Window /* w */,
496
XSizeHints* /* hints_return */,
497
long* /* supplied_return */
498
);
499
500
extern Status XGetWMSizeHints(
501
Display* /* display */,
502
Window /* w */,
503
XSizeHints* /* hints_return */,
504
long* /* supplied_return */,
505
Atom /* property */
506
);
507
508
extern Status XGetZoomHints(
509
Display* /* display */,
510
Window /* w */,
511
XSizeHints* /* zhints_return */
512
);
513
514
extern int XIntersectRegion(
515
Region /* sra */,
516
Region /* srb */,
517
Region /* dr_return */
518
);
519
520
extern void XConvertCase(
521
KeySym /* sym */,
522
KeySym* /* lower */,
523
KeySym* /* upper */
524
);
525
526
extern int XLookupString(
527
XKeyEvent* /* event_struct */,
528
char* /* buffer_return */,
529
int /* bytes_buffer */,
530
KeySym* /* keysym_return */,
531
XComposeStatus* /* status_in_out */
532
);
533
534
extern Status XMatchVisualInfo(
535
Display* /* display */,
536
int /* screen */,
537
int /* depth */,
538
int /* class */,
539
XVisualInfo* /* vinfo_return */
540
);
541
542
extern int XOffsetRegion(
543
Region /* r */,
544
int /* dx */,
545
int /* dy */
546
);
547
548
extern Bool XPointInRegion(
549
Region /* r */,
550
int /* x */,
551
int /* y */
552
);
553
554
extern Region XPolygonRegion(
555
XPoint* /* points */,
556
int /* n */,
557
int /* fill_rule */
558
);
559
560
extern int XRectInRegion(
561
Region /* r */,
562
int /* x */,
563
int /* y */,
564
unsigned int /* width */,
565
unsigned int /* height */
566
);
567
568
extern int XSaveContext(
569
Display* /* display */,
570
XID /* rid */,
571
XContext /* context */,
572
_Xconst char* /* data */
573
);
574
575
extern int XSetClassHint(
576
Display* /* display */,
577
Window /* w */,
578
XClassHint* /* class_hints */
579
);
580
581
extern int XSetIconSizes(
582
Display* /* display */,
583
Window /* w */,
584
XIconSize* /* size_list */,
585
int /* count */
586
);
587
588
extern int XSetNormalHints(
589
Display* /* display */,
590
Window /* w */,
591
XSizeHints* /* hints */
592
);
593
594
extern void XSetRGBColormaps(
595
Display* /* display */,
596
Window /* w */,
597
XStandardColormap* /* stdcmaps */,
598
int /* count */,
599
Atom /* property */
600
);
601
602
extern int XSetSizeHints(
603
Display* /* display */,
604
Window /* w */,
605
XSizeHints* /* hints */,
606
Atom /* property */
607
);
608
609
extern int XSetStandardProperties(
610
Display* /* display */,
611
Window /* w */,
612
_Xconst char* /* window_name */,
613
_Xconst char* /* icon_name */,
614
Pixmap /* icon_pixmap */,
615
char** /* argv */,
616
int /* argc */,
617
XSizeHints* /* hints */
618
);
619
620
extern void XSetTextProperty(
621
Display* /* display */,
622
Window /* w */,
623
XTextProperty* /* text_prop */,
624
Atom /* property */
625
);
626
627
extern void XSetWMClientMachine(
628
Display* /* display */,
629
Window /* w */,
630
XTextProperty* /* text_prop */
631
);
632
633
extern int XSetWMHints(
634
Display* /* display */,
635
Window /* w */,
636
XWMHints* /* wm_hints */
637
);
638
639
extern void XSetWMIconName(
640
Display* /* display */,
641
Window /* w */,
642
XTextProperty* /* text_prop */
643
);
644
645
extern void XSetWMName(
646
Display* /* display */,
647
Window /* w */,
648
XTextProperty* /* text_prop */
649
);
650
651
extern void XSetWMNormalHints(
652
Display* /* display */,
653
Window /* w */,
654
XSizeHints* /* hints */
655
);
656
657
extern void XSetWMProperties(
658
Display* /* display */,
659
Window /* w */,
660
XTextProperty* /* window_name */,
661
XTextProperty* /* icon_name */,
662
char** /* argv */,
663
int /* argc */,
664
XSizeHints* /* normal_hints */,
665
XWMHints* /* wm_hints */,
666
XClassHint* /* class_hints */
667
);
668
669
extern void XmbSetWMProperties(
670
Display* /* display */,
671
Window /* w */,
672
_Xconst char* /* window_name */,
673
_Xconst char* /* icon_name */,
674
char** /* argv */,
675
int /* argc */,
676
XSizeHints* /* normal_hints */,
677
XWMHints* /* wm_hints */,
678
XClassHint* /* class_hints */
679
);
680
681
extern void Xutf8SetWMProperties(
682
Display* /* display */,
683
Window /* w */,
684
_Xconst char* /* window_name */,
685
_Xconst char* /* icon_name */,
686
char** /* argv */,
687
int /* argc */,
688
XSizeHints* /* normal_hints */,
689
XWMHints* /* wm_hints */,
690
XClassHint* /* class_hints */
691
);
692
693
extern void XSetWMSizeHints(
694
Display* /* display */,
695
Window /* w */,
696
XSizeHints* /* hints */,
697
Atom /* property */
698
);
699
700
extern int XSetRegion(
701
Display* /* display */,
702
GC /* gc */,
703
Region /* r */
704
);
705
706
extern void XSetStandardColormap(
707
Display* /* display */,
708
Window /* w */,
709
XStandardColormap* /* colormap */,
710
Atom /* property */
711
);
712
713
extern int XSetZoomHints(
714
Display* /* display */,
715
Window /* w */,
716
XSizeHints* /* zhints */
717
);
718
719
extern int XShrinkRegion(
720
Region /* r */,
721
int /* dx */,
722
int /* dy */
723
);
724
725
extern Status XStringListToTextProperty(
726
char** /* list */,
727
int /* count */,
728
XTextProperty* /* text_prop_return */
729
);
730
731
extern int XSubtractRegion(
732
Region /* sra */,
733
Region /* srb */,
734
Region /* dr_return */
735
);
736
737
extern int XmbTextListToTextProperty(
738
Display* display,
739
char** list,
740
int count,
741
XICCEncodingStyle style,
742
XTextProperty* text_prop_return
743
);
744
745
extern int XwcTextListToTextProperty(
746
Display* display,
747
wchar_t** list,
748
int count,
749
XICCEncodingStyle style,
750
XTextProperty* text_prop_return
751
);
752
753
extern int Xutf8TextListToTextProperty(
754
Display* display,
755
char** list,
756
int count,
757
XICCEncodingStyle style,
758
XTextProperty* text_prop_return
759
);
760
761
extern void XwcFreeStringList(
762
wchar_t** list
763
);
764
765
extern Status XTextPropertyToStringList(
766
XTextProperty* /* text_prop */,
767
char*** /* list_return */,
768
int* /* count_return */
769
);
770
771
extern int XmbTextPropertyToTextList(
772
Display* display,
773
const XTextProperty* text_prop,
774
char*** list_return,
775
int* count_return
776
);
777
778
extern int XwcTextPropertyToTextList(
779
Display* display,
780
const XTextProperty* text_prop,
781
wchar_t*** list_return,
782
int* count_return
783
);
784
785
extern int Xutf8TextPropertyToTextList(
786
Display* display,
787
const XTextProperty* text_prop,
788
char*** list_return,
789
int* count_return
790
);
791
792
extern int XUnionRectWithRegion(
793
XRectangle* /* rectangle */,
794
Region /* src_region */,
795
Region /* dest_region_return */
796
);
797
798
extern int XUnionRegion(
799
Region /* sra */,
800
Region /* srb */,
801
Region /* dr_return */
802
);
803
804
extern int XWMGeometry(
805
Display* /* display */,
806
int /* screen_number */,
807
_Xconst char* /* user_geometry */,
808
_Xconst char* /* default_geometry */,
809
unsigned int /* border_width */,
810
XSizeHints* /* hints */,
811
int* /* x_return */,
812
int* /* y_return */,
813
int* /* width_return */,
814
int* /* height_return */,
815
int* /* gravity_return */
816
);
817
818
extern int XXorRegion(
819
Region /* sra */,
820
Region /* srb */,
821
Region /* dr_return */
822
);
823
824
_XFUNCPROTOEND
825
826
#endif /* _XUTIL_H_ */
827
828