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