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