home *** CD-ROM | disk | FTP | other *** search
/ Netrunner 2004 October / NETRUNNER0410.ISO / regular / ActivePerl-5.8.4.810-MSWin32-x86.msi / _92deece5450ba792c7c9cf772205951d < prev    next >
Text File  |  2004-06-01  |  21KB  |  856 lines

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