~ubuntu-branches/ubuntu/vivid/emscripten/vivid

« back to all changes in this revision

Viewing changes to system/include/X11/Xutil.h

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2013-05-02 13:11:51 UTC
  • Revision ID: package-import@ubuntu.com-20130502131151-q8dvteqr1ef2x7xz
Tags: upstream-1.4.1~20130504~adb56cb
ImportĀ upstreamĀ versionĀ 1.4.1~20130504~adb56cb

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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_ */