Xlib.h revision 61b2299d
1/* $XdotOrg: lib/X11/include/X11/Xlib.h,v 1.6 2005-11-08 06:33:25 jkj Exp $ */ 2/* $Xorg: Xlib.h,v 1.6 2001/02/09 02:03:38 xorgcvs Exp $ */ 3/* 4 5Copyright 1985, 1986, 1987, 1991, 1998 The Open Group 6 7Permission to use, copy, modify, distribute, and sell this software and its 8documentation for any purpose is hereby granted without fee, provided that 9the above copyright notice appear in all copies and that both that 10copyright notice and this permission notice appear in supporting 11documentation. 12 13The above copyright notice and this permission notice shall be included in 14all copies or substantial portions of the Software. 15 16THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 20AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 21CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 23Except as contained in this notice, the name of The Open Group shall not be 24used in advertising or otherwise to promote the sale, use or other dealings 25in this Software without prior written authorization from The Open Group. 26 27*/ 28/* $XFree86: xc/lib/X11/Xlib.h,v 3.25 2003/11/17 22:20:10 dawes Exp $ */ 29 30 31/* 32 * Xlib.h - Header definition and support file for the C subroutine 33 * interface library (Xlib) to the X Window System Protocol (V11). 34 * Structures and symbols starting with "_" are private to the library. 35 */ 36#ifndef _XLIB_H_ 37#define _XLIB_H_ 38 39#define XlibSpecificationRelease 6 40 41#ifdef USG 42#ifndef __TYPES__ 43#include <sys/types.h> /* forgot to protect it... */ 44#define __TYPES__ 45#endif /* __TYPES__ */ 46#else 47#if defined(_POSIX_SOURCE) && defined(MOTOROLA) 48#undef _POSIX_SOURCE 49#include <sys/types.h> 50#define _POSIX_SOURCE 51#else 52#include <sys/types.h> 53#endif 54#endif /* USG */ 55 56#if defined(__SCO__) || defined(__UNIXWARE__) 57#include <stdint.h> 58#endif 59 60#include <X11/X.h> 61 62/* applications should not depend on these two headers being included! */ 63#include <X11/Xfuncproto.h> 64#include <X11/Xosdefs.h> 65 66#ifndef X_WCHAR 67#ifdef X_NOT_STDC_ENV 68#ifndef ISC 69#define X_WCHAR 70#endif 71#endif 72#endif 73 74#ifndef X_WCHAR 75#include <stddef.h> 76#else 77#ifdef __UNIXOS2__ 78#include <stdlib.h> 79#else 80/* replace this with #include or typedef appropriate for your system */ 81typedef unsigned long wchar_t; 82#endif 83#endif 84 85#if defined(ISC) && defined(USE_XMBTOWC) 86#define wctomb(a,b) _Xwctomb(a,b) 87#define mblen(a,b) _Xmblen(a,b) 88#ifndef USE_XWCHAR_STRING 89#define mbtowc(a,b,c) _Xmbtowc(a,b,c) 90#endif 91#endif 92 93extern int 94_Xmblen( 95#ifdef ISC 96 char const *str, 97 size_t len 98#else 99 char *str, 100 int len 101#endif 102 ); 103 104/* API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in 105 November 2000. Its presence is indicated through the following macro. */ 106#define X_HAVE_UTF8_STRING 1 107 108typedef char *XPointer; 109 110#define Bool int 111#define Status int 112#define True 1 113#define False 0 114 115#define QueuedAlready 0 116#define QueuedAfterReading 1 117#define QueuedAfterFlush 2 118 119#define ConnectionNumber(dpy) (((_XPrivDisplay)dpy)->fd) 120#define RootWindow(dpy, scr) (ScreenOfDisplay(dpy,scr)->root) 121#define DefaultScreen(dpy) (((_XPrivDisplay)dpy)->default_screen) 122#define DefaultRootWindow(dpy) (ScreenOfDisplay(dpy,DefaultScreen(dpy))->root) 123#define DefaultVisual(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_visual) 124#define DefaultGC(dpy, scr) (ScreenOfDisplay(dpy,scr)->default_gc) 125#define BlackPixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->black_pixel) 126#define WhitePixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->white_pixel) 127#define AllPlanes ((unsigned long)~0L) 128#define QLength(dpy) (((_XPrivDisplay)dpy)->qlen) 129#define DisplayWidth(dpy, scr) (ScreenOfDisplay(dpy,scr)->width) 130#define DisplayHeight(dpy, scr) (ScreenOfDisplay(dpy,scr)->height) 131#define DisplayWidthMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mwidth) 132#define DisplayHeightMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mheight) 133#define DisplayPlanes(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth) 134#define DisplayCells(dpy, scr) (DefaultVisual(dpy,scr)->map_entries) 135#define ScreenCount(dpy) (((_XPrivDisplay)dpy)->nscreens) 136#define ServerVendor(dpy) (((_XPrivDisplay)dpy)->vendor) 137#define ProtocolVersion(dpy) (((_XPrivDisplay)dpy)->proto_major_version) 138#define ProtocolRevision(dpy) (((_XPrivDisplay)dpy)->proto_minor_version) 139#define VendorRelease(dpy) (((_XPrivDisplay)dpy)->release) 140#define DisplayString(dpy) (((_XPrivDisplay)dpy)->display_name) 141#define DefaultDepth(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth) 142#define DefaultColormap(dpy, scr)(ScreenOfDisplay(dpy,scr)->cmap) 143#define BitmapUnit(dpy) (((_XPrivDisplay)dpy)->bitmap_unit) 144#define BitmapBitOrder(dpy) (((_XPrivDisplay)dpy)->bitmap_bit_order) 145#define BitmapPad(dpy) (((_XPrivDisplay)dpy)->bitmap_pad) 146#define ImageByteOrder(dpy) (((_XPrivDisplay)dpy)->byte_order) 147#ifdef CRAY /* unable to get WORD64 without pulling in other symbols */ 148#define NextRequest(dpy) XNextRequest(dpy) 149#else 150#define NextRequest(dpy) (((_XPrivDisplay)dpy)->request + 1) 151#endif 152#define LastKnownRequestProcessed(dpy) (((_XPrivDisplay)dpy)->last_request_read) 153 154/* macros for screen oriented applications (toolkit) */ 155#define ScreenOfDisplay(dpy, scr)(&((_XPrivDisplay)dpy)->screens[scr]) 156#define DefaultScreenOfDisplay(dpy) ScreenOfDisplay(dpy,DefaultScreen(dpy)) 157#define DisplayOfScreen(s) ((s)->display) 158#define RootWindowOfScreen(s) ((s)->root) 159#define BlackPixelOfScreen(s) ((s)->black_pixel) 160#define WhitePixelOfScreen(s) ((s)->white_pixel) 161#define DefaultColormapOfScreen(s)((s)->cmap) 162#define DefaultDepthOfScreen(s) ((s)->root_depth) 163#define DefaultGCOfScreen(s) ((s)->default_gc) 164#define DefaultVisualOfScreen(s)((s)->root_visual) 165#define WidthOfScreen(s) ((s)->width) 166#define HeightOfScreen(s) ((s)->height) 167#define WidthMMOfScreen(s) ((s)->mwidth) 168#define HeightMMOfScreen(s) ((s)->mheight) 169#define PlanesOfScreen(s) ((s)->root_depth) 170#define CellsOfScreen(s) (DefaultVisualOfScreen((s))->map_entries) 171#define MinCmapsOfScreen(s) ((s)->min_maps) 172#define MaxCmapsOfScreen(s) ((s)->max_maps) 173#define DoesSaveUnders(s) ((s)->save_unders) 174#define DoesBackingStore(s) ((s)->backing_store) 175#define EventMaskOfScreen(s) ((s)->root_input_mask) 176 177/* 178 * Extensions need a way to hang private data on some structures. 179 */ 180typedef struct _XExtData { 181 int number; /* number returned by XRegisterExtension */ 182 struct _XExtData *next; /* next item on list of data for structure */ 183 int (*free_private)( /* called to free private storage */ 184 struct _XExtData *extension 185 ); 186 XPointer private_data; /* data private to this extension. */ 187} XExtData; 188 189/* 190 * This file contains structures used by the extension mechanism. 191 */ 192typedef struct { /* public to extension, cannot be changed */ 193 int extension; /* extension number */ 194 int major_opcode; /* major op-code assigned by server */ 195 int first_event; /* first event number for the extension */ 196 int first_error; /* first error number for the extension */ 197} XExtCodes; 198 199/* 200 * Data structure for retrieving info about pixmap formats. 201 */ 202 203typedef struct { 204 int depth; 205 int bits_per_pixel; 206 int scanline_pad; 207} XPixmapFormatValues; 208 209 210/* 211 * Data structure for setting graphics context. 212 */ 213typedef struct { 214 int function; /* logical operation */ 215 unsigned long plane_mask;/* plane mask */ 216 unsigned long foreground;/* foreground pixel */ 217 unsigned long background;/* background pixel */ 218 int line_width; /* line width */ 219 int line_style; /* LineSolid, LineOnOffDash, LineDoubleDash */ 220 int cap_style; /* CapNotLast, CapButt, 221 CapRound, CapProjecting */ 222 int join_style; /* JoinMiter, JoinRound, JoinBevel */ 223 int fill_style; /* FillSolid, FillTiled, 224 FillStippled, FillOpaeueStippled */ 225 int fill_rule; /* EvenOddRule, WindingRule */ 226 int arc_mode; /* ArcChord, ArcPieSlice */ 227 Pixmap tile; /* tile pixmap for tiling operations */ 228 Pixmap stipple; /* stipple 1 plane pixmap for stipping */ 229 int ts_x_origin; /* offset for tile or stipple operations */ 230 int ts_y_origin; 231 Font font; /* default text font for text operations */ 232 int subwindow_mode; /* ClipByChildren, IncludeInferiors */ 233 Bool graphics_exposures;/* boolean, should exposures be generated */ 234 int clip_x_origin; /* origin for clipping */ 235 int clip_y_origin; 236 Pixmap clip_mask; /* bitmap clipping; other calls for rects */ 237 int dash_offset; /* patterned/dashed line information */ 238 char dashes; 239} XGCValues; 240 241/* 242 * Graphics context. The contents of this structure are implementation 243 * dependent. A GC should be treated as opaque by application code. 244 */ 245 246typedef struct _XGC 247#ifdef XLIB_ILLEGAL_ACCESS 248{ 249 XExtData *ext_data; /* hook for extension to hang data */ 250 GContext gid; /* protocol ID for graphics context */ 251 /* there is more to this structure, but it is private to Xlib */ 252} 253#endif 254*GC; 255 256/* 257 * Visual structure; contains information about colormapping possible. 258 */ 259typedef struct { 260 XExtData *ext_data; /* hook for extension to hang data */ 261 VisualID visualid; /* visual id of this visual */ 262#if defined(__cplusplus) || defined(c_plusplus) 263 int c_class; /* C++ class of screen (monochrome, etc.) */ 264#else 265 int class; /* class of screen (monochrome, etc.) */ 266#endif 267 unsigned long red_mask, green_mask, blue_mask; /* mask values */ 268 int bits_per_rgb; /* log base 2 of distinct color values */ 269 int map_entries; /* color map entries */ 270} Visual; 271 272/* 273 * Depth structure; contains information for each possible depth. 274 */ 275typedef struct { 276 int depth; /* this depth (Z) of the depth */ 277 int nvisuals; /* number of Visual types at this depth */ 278 Visual *visuals; /* list of visuals possible at this depth */ 279} Depth; 280 281/* 282 * Information about the screen. The contents of this structure are 283 * implementation dependent. A Screen should be treated as opaque 284 * by application code. 285 */ 286 287struct _XDisplay; /* Forward declare before use for C++ */ 288 289typedef struct { 290 XExtData *ext_data; /* hook for extension to hang data */ 291 struct _XDisplay *display;/* back pointer to display structure */ 292 Window root; /* Root window id. */ 293 int width, height; /* width and height of screen */ 294 int mwidth, mheight; /* width and height of in millimeters */ 295 int ndepths; /* number of depths possible */ 296 Depth *depths; /* list of allowable depths on the screen */ 297 int root_depth; /* bits per pixel */ 298 Visual *root_visual; /* root visual */ 299 GC default_gc; /* GC for the root root visual */ 300 Colormap cmap; /* default color map */ 301 unsigned long white_pixel; 302 unsigned long black_pixel; /* White and Black pixel values */ 303 int max_maps, min_maps; /* max and min color maps */ 304 int backing_store; /* Never, WhenMapped, Always */ 305 Bool save_unders; 306 long root_input_mask; /* initial root input mask */ 307} Screen; 308 309/* 310 * Format structure; describes ZFormat data the screen will understand. 311 */ 312typedef struct { 313 XExtData *ext_data; /* hook for extension to hang data */ 314 int depth; /* depth of this image format */ 315 int bits_per_pixel; /* bits/pixel at this depth */ 316 int scanline_pad; /* scanline must padded to this multiple */ 317} ScreenFormat; 318 319/* 320 * Data structure for setting window attributes. 321 */ 322typedef struct { 323 Pixmap background_pixmap; /* background or None or ParentRelative */ 324 unsigned long background_pixel; /* background pixel */ 325 Pixmap border_pixmap; /* border of the window */ 326 unsigned long border_pixel; /* border pixel value */ 327 int bit_gravity; /* one of bit gravity values */ 328 int win_gravity; /* one of the window gravity values */ 329 int backing_store; /* NotUseful, WhenMapped, Always */ 330 unsigned long backing_planes;/* planes to be preseved if possible */ 331 unsigned long backing_pixel;/* value to use in restoring planes */ 332 Bool save_under; /* should bits under be saved? (popups) */ 333 long event_mask; /* set of events that should be saved */ 334 long do_not_propagate_mask; /* set of events that should not propagate */ 335 Bool override_redirect; /* boolean value for override-redirect */ 336 Colormap colormap; /* color map to be associated with window */ 337 Cursor cursor; /* cursor to be displayed (or None) */ 338} XSetWindowAttributes; 339 340typedef struct { 341 int x, y; /* location of window */ 342 int width, height; /* width and height of window */ 343 int border_width; /* border width of window */ 344 int depth; /* depth of window */ 345 Visual *visual; /* the associated visual structure */ 346 Window root; /* root of screen containing window */ 347#if defined(__cplusplus) || defined(c_plusplus) 348 int c_class; /* C++ InputOutput, InputOnly*/ 349#else 350 int class; /* InputOutput, InputOnly*/ 351#endif 352 int bit_gravity; /* one of bit gravity values */ 353 int win_gravity; /* one of the window gravity values */ 354 int backing_store; /* NotUseful, WhenMapped, Always */ 355 unsigned long backing_planes;/* planes to be preserved if possible */ 356 unsigned long backing_pixel;/* value to be used when restoring planes */ 357 Bool save_under; /* boolean, should bits under be saved? */ 358 Colormap colormap; /* color map to be associated with window */ 359 Bool map_installed; /* boolean, is color map currently installed*/ 360 int map_state; /* IsUnmapped, IsUnviewable, IsViewable */ 361 long all_event_masks; /* set of events all people have interest in*/ 362 long your_event_mask; /* my event mask */ 363 long do_not_propagate_mask; /* set of events that should not propagate */ 364 Bool override_redirect; /* boolean value for override-redirect */ 365 Screen *screen; /* back pointer to correct screen */ 366} XWindowAttributes; 367 368/* 369 * Data structure for host setting; getting routines. 370 * 371 */ 372 373typedef struct { 374 int family; /* for example FamilyInternet */ 375 int length; /* length of address, in bytes */ 376 char *address; /* pointer to where to find the bytes */ 377} XHostAddress; 378 379/* 380 * Data structure for ServerFamilyInterpreted addresses in host routines 381 */ 382typedef struct { 383 int typelength; /* length of type string, in bytes */ 384 int valuelength; /* length of value string, in bytes */ 385 char *type; /* pointer to where to find the type string */ 386 char *value; /* pointer to where to find the address */ 387} XServerInterpretedAddress; 388 389/* 390 * Data structure for "image" data, used by image manipulation routines. 391 */ 392typedef struct _XImage { 393 int width, height; /* size of image */ 394 int xoffset; /* number of pixels offset in X direction */ 395 int format; /* XYBitmap, XYPixmap, ZPixmap */ 396 char *data; /* pointer to image data */ 397 int byte_order; /* data byte order, LSBFirst, MSBFirst */ 398 int bitmap_unit; /* quant. of scanline 8, 16, 32 */ 399 int bitmap_bit_order; /* LSBFirst, MSBFirst */ 400 int bitmap_pad; /* 8, 16, 32 either XY or ZPixmap */ 401 int depth; /* depth of image */ 402 int bytes_per_line; /* accelarator to next line */ 403 int bits_per_pixel; /* bits per pixel (ZPixmap) */ 404 unsigned long red_mask; /* bits in z arrangment */ 405 unsigned long green_mask; 406 unsigned long blue_mask; 407 XPointer obdata; /* hook for the object routines to hang on */ 408 struct funcs { /* image manipulation routines */ 409 struct _XImage *(*create_image)( 410 struct _XDisplay* /* display */, 411 Visual* /* visual */, 412 unsigned int /* depth */, 413 int /* format */, 414 int /* offset */, 415 char* /* data */, 416 unsigned int /* width */, 417 unsigned int /* height */, 418 int /* bitmap_pad */, 419 int /* bytes_per_line */); 420 int (*destroy_image) (struct _XImage *); 421 unsigned long (*get_pixel) (struct _XImage *, int, int); 422 int (*put_pixel) (struct _XImage *, int, int, unsigned long); 423 struct _XImage *(*sub_image)(struct _XImage *, int, int, unsigned int, unsigned int); 424 int (*add_pixel) (struct _XImage *, long); 425 } f; 426} XImage; 427 428/* 429 * Data structure for XReconfigureWindow 430 */ 431typedef struct { 432 int x, y; 433 int width, height; 434 int border_width; 435 Window sibling; 436 int stack_mode; 437} XWindowChanges; 438 439/* 440 * Data structure used by color operations 441 */ 442typedef struct { 443 unsigned long pixel; 444 unsigned short red, green, blue; 445 char flags; /* do_red, do_green, do_blue */ 446 char pad; 447} XColor; 448 449/* 450 * Data structures for graphics operations. On most machines, these are 451 * congruent with the wire protocol structures, so reformatting the data 452 * can be avoided on these architectures. 453 */ 454typedef struct { 455 short x1, y1, x2, y2; 456} XSegment; 457 458typedef struct { 459 short x, y; 460} XPoint; 461 462typedef struct { 463 short x, y; 464 unsigned short width, height; 465} XRectangle; 466 467typedef struct { 468 short x, y; 469 unsigned short width, height; 470 short angle1, angle2; 471} XArc; 472 473 474/* Data structure for XChangeKeyboardControl */ 475 476typedef struct { 477 int key_click_percent; 478 int bell_percent; 479 int bell_pitch; 480 int bell_duration; 481 int led; 482 int led_mode; 483 int key; 484 int auto_repeat_mode; /* On, Off, Default */ 485} XKeyboardControl; 486 487/* Data structure for XGetKeyboardControl */ 488 489typedef struct { 490 int key_click_percent; 491 int bell_percent; 492 unsigned int bell_pitch, bell_duration; 493 unsigned long led_mask; 494 int global_auto_repeat; 495 char auto_repeats[32]; 496} XKeyboardState; 497 498/* Data structure for XGetMotionEvents. */ 499 500typedef struct { 501 Time time; 502 short x, y; 503} XTimeCoord; 504 505/* Data structure for X{Set,Get}ModifierMapping */ 506 507typedef struct { 508 int max_keypermod; /* The server's max # of keys per modifier */ 509 KeyCode *modifiermap; /* An 8 by max_keypermod array of modifiers */ 510} XModifierKeymap; 511 512 513/* 514 * Display datatype maintaining display specific data. 515 * The contents of this structure are implementation dependent. 516 * A Display should be treated as opaque by application code. 517 */ 518#ifndef XLIB_ILLEGAL_ACCESS 519typedef struct _XDisplay Display; 520#endif 521 522struct _XPrivate; /* Forward declare before use for C++ */ 523struct _XrmHashBucketRec; 524 525typedef struct 526#ifdef XLIB_ILLEGAL_ACCESS 527_XDisplay 528#endif 529{ 530 XExtData *ext_data; /* hook for extension to hang data */ 531 struct _XPrivate *private1; 532 int fd; /* Network socket. */ 533 int private2; 534 int proto_major_version;/* major version of server's X protocol */ 535 int proto_minor_version;/* minor version of servers X protocol */ 536 char *vendor; /* vendor of the server hardware */ 537 XID private3; 538 XID private4; 539 XID private5; 540 int private6; 541 XID (*resource_alloc)( /* allocator function */ 542 struct _XDisplay* 543 ); 544 int byte_order; /* screen byte order, LSBFirst, MSBFirst */ 545 int bitmap_unit; /* padding and data requirements */ 546 int bitmap_pad; /* padding requirements on bitmaps */ 547 int bitmap_bit_order; /* LeastSignificant or MostSignificant */ 548 int nformats; /* number of pixmap formats in list */ 549 ScreenFormat *pixmap_format; /* pixmap format list */ 550 int private8; 551 int release; /* release of the server */ 552 struct _XPrivate *private9, *private10; 553 int qlen; /* Length of input event queue */ 554 unsigned long last_request_read; /* seq number of last event read */ 555 unsigned long request; /* sequence number of last request. */ 556 XPointer private11; 557 XPointer private12; 558 XPointer private13; 559 XPointer private14; 560 unsigned max_request_size; /* maximum number 32 bit words in request*/ 561 struct _XrmHashBucketRec *db; 562 int (*private15)( 563 struct _XDisplay* 564 ); 565 char *display_name; /* "host:display" string used on this connect*/ 566 int default_screen; /* default screen for operations */ 567 int nscreens; /* number of screens on this server*/ 568 Screen *screens; /* pointer to list of screens */ 569 unsigned long motion_buffer; /* size of motion buffer */ 570 unsigned long private16; 571 int min_keycode; /* minimum defined keycode */ 572 int max_keycode; /* maximum defined keycode */ 573 XPointer private17; 574 XPointer private18; 575 int private19; 576 char *xdefaults; /* contents of defaults from server */ 577 /* there is more to this structure, but it is private to Xlib */ 578} 579#ifdef XLIB_ILLEGAL_ACCESS 580Display, 581#endif 582*_XPrivDisplay; 583 584#undef _XEVENT_ 585#ifndef _XEVENT_ 586/* 587 * Definitions of specific events. 588 */ 589typedef struct { 590 int type; /* of event */ 591 unsigned long serial; /* # of last request processed by server */ 592 Bool send_event; /* true if this came from a SendEvent request */ 593 Display *display; /* Display the event was read from */ 594 Window window; /* "event" window it is reported relative to */ 595 Window root; /* root window that the event occurred on */ 596 Window subwindow; /* child window */ 597 Time time; /* milliseconds */ 598 int x, y; /* pointer x, y coordinates in event window */ 599 int x_root, y_root; /* coordinates relative to root */ 600 unsigned int state; /* key or button mask */ 601 unsigned int keycode; /* detail */ 602 Bool same_screen; /* same screen flag */ 603} XKeyEvent; 604typedef XKeyEvent XKeyPressedEvent; 605typedef XKeyEvent XKeyReleasedEvent; 606 607typedef struct { 608 int type; /* of event */ 609 unsigned long serial; /* # of last request processed by server */ 610 Bool send_event; /* true if this came from a SendEvent request */ 611 Display *display; /* Display the event was read from */ 612 Window window; /* "event" window it is reported relative to */ 613 Window root; /* root window that the event occurred on */ 614 Window subwindow; /* child window */ 615 Time time; /* milliseconds */ 616 int x, y; /* pointer x, y coordinates in event window */ 617 int x_root, y_root; /* coordinates relative to root */ 618 unsigned int state; /* key or button mask */ 619 unsigned int button; /* detail */ 620 Bool same_screen; /* same screen flag */ 621} XButtonEvent; 622typedef XButtonEvent XButtonPressedEvent; 623typedef XButtonEvent XButtonReleasedEvent; 624 625typedef struct { 626 int type; /* of event */ 627 unsigned long serial; /* # of last request processed by server */ 628 Bool send_event; /* true if this came from a SendEvent request */ 629 Display *display; /* Display the event was read from */ 630 Window window; /* "event" window reported relative to */ 631 Window root; /* root window that the event occurred on */ 632 Window subwindow; /* child window */ 633 Time time; /* milliseconds */ 634 int x, y; /* pointer x, y coordinates in event window */ 635 int x_root, y_root; /* coordinates relative to root */ 636 unsigned int state; /* key or button mask */ 637 char is_hint; /* detail */ 638 Bool same_screen; /* same screen flag */ 639} XMotionEvent; 640typedef XMotionEvent XPointerMovedEvent; 641 642typedef struct { 643 int type; /* of event */ 644 unsigned long serial; /* # of last request processed by server */ 645 Bool send_event; /* true if this came from a SendEvent request */ 646 Display *display; /* Display the event was read from */ 647 Window window; /* "event" window reported relative to */ 648 Window root; /* root window that the event occurred on */ 649 Window subwindow; /* child window */ 650 Time time; /* milliseconds */ 651 int x, y; /* pointer x, y coordinates in event window */ 652 int x_root, y_root; /* coordinates relative to root */ 653 int mode; /* NotifyNormal, NotifyGrab, NotifyUngrab */ 654 int detail; 655 /* 656 * NotifyAncestor, NotifyVirtual, NotifyInferior, 657 * NotifyNonlinear,NotifyNonlinearVirtual 658 */ 659 Bool same_screen; /* same screen flag */ 660 Bool focus; /* boolean focus */ 661 unsigned int state; /* key or button mask */ 662} XCrossingEvent; 663typedef XCrossingEvent XEnterWindowEvent; 664typedef XCrossingEvent XLeaveWindowEvent; 665 666typedef struct { 667 int type; /* FocusIn or FocusOut */ 668 unsigned long serial; /* # of last request processed by server */ 669 Bool send_event; /* true if this came from a SendEvent request */ 670 Display *display; /* Display the event was read from */ 671 Window window; /* window of event */ 672 int mode; /* NotifyNormal, NotifyWhileGrabbed, 673 NotifyGrab, NotifyUngrab */ 674 int detail; 675 /* 676 * NotifyAncestor, NotifyVirtual, NotifyInferior, 677 * NotifyNonlinear,NotifyNonlinearVirtual, NotifyPointer, 678 * NotifyPointerRoot, NotifyDetailNone 679 */ 680} XFocusChangeEvent; 681typedef XFocusChangeEvent XFocusInEvent; 682typedef XFocusChangeEvent XFocusOutEvent; 683 684/* generated on EnterWindow and FocusIn when KeyMapState selected */ 685typedef struct { 686 int type; 687 unsigned long serial; /* # of last request processed by server */ 688 Bool send_event; /* true if this came from a SendEvent request */ 689 Display *display; /* Display the event was read from */ 690 Window window; 691 char key_vector[32]; 692} XKeymapEvent; 693 694typedef struct { 695 int type; 696 unsigned long serial; /* # of last request processed by server */ 697 Bool send_event; /* true if this came from a SendEvent request */ 698 Display *display; /* Display the event was read from */ 699 Window window; 700 int x, y; 701 int width, height; 702 int count; /* if non-zero, at least this many more */ 703} XExposeEvent; 704 705typedef struct { 706 int type; 707 unsigned long serial; /* # of last request processed by server */ 708 Bool send_event; /* true if this came from a SendEvent request */ 709 Display *display; /* Display the event was read from */ 710 Drawable drawable; 711 int x, y; 712 int width, height; 713 int count; /* if non-zero, at least this many more */ 714 int major_code; /* core is CopyArea or CopyPlane */ 715 int minor_code; /* not defined in the core */ 716} XGraphicsExposeEvent; 717 718typedef struct { 719 int type; 720 unsigned long serial; /* # of last request processed by server */ 721 Bool send_event; /* true if this came from a SendEvent request */ 722 Display *display; /* Display the event was read from */ 723 Drawable drawable; 724 int major_code; /* core is CopyArea or CopyPlane */ 725 int minor_code; /* not defined in the core */ 726} XNoExposeEvent; 727 728typedef struct { 729 int type; 730 unsigned long serial; /* # of last request processed by server */ 731 Bool send_event; /* true if this came from a SendEvent request */ 732 Display *display; /* Display the event was read from */ 733 Window window; 734 int state; /* Visibility state */ 735} XVisibilityEvent; 736 737typedef struct { 738 int type; 739 unsigned long serial; /* # of last request processed by server */ 740 Bool send_event; /* true if this came from a SendEvent request */ 741 Display *display; /* Display the event was read from */ 742 Window parent; /* parent of the window */ 743 Window window; /* window id of window created */ 744 int x, y; /* window location */ 745 int width, height; /* size of window */ 746 int border_width; /* border width */ 747 Bool override_redirect; /* creation should be overridden */ 748} XCreateWindowEvent; 749 750typedef struct { 751 int type; 752 unsigned long serial; /* # of last request processed by server */ 753 Bool send_event; /* true if this came from a SendEvent request */ 754 Display *display; /* Display the event was read from */ 755 Window event; 756 Window window; 757} XDestroyWindowEvent; 758 759typedef struct { 760 int type; 761 unsigned long serial; /* # of last request processed by server */ 762 Bool send_event; /* true if this came from a SendEvent request */ 763 Display *display; /* Display the event was read from */ 764 Window event; 765 Window window; 766 Bool from_configure; 767} XUnmapEvent; 768 769typedef struct { 770 int type; 771 unsigned long serial; /* # of last request processed by server */ 772 Bool send_event; /* true if this came from a SendEvent request */ 773 Display *display; /* Display the event was read from */ 774 Window event; 775 Window window; 776 Bool override_redirect; /* boolean, is override set... */ 777} XMapEvent; 778 779typedef struct { 780 int type; 781 unsigned long serial; /* # of last request processed by server */ 782 Bool send_event; /* true if this came from a SendEvent request */ 783 Display *display; /* Display the event was read from */ 784 Window parent; 785 Window window; 786} XMapRequestEvent; 787 788typedef struct { 789 int type; 790 unsigned long serial; /* # of last request processed by server */ 791 Bool send_event; /* true if this came from a SendEvent request */ 792 Display *display; /* Display the event was read from */ 793 Window event; 794 Window window; 795 Window parent; 796 int x, y; 797 Bool override_redirect; 798} XReparentEvent; 799 800typedef struct { 801 int type; 802 unsigned long serial; /* # of last request processed by server */ 803 Bool send_event; /* true if this came from a SendEvent request */ 804 Display *display; /* Display the event was read from */ 805 Window event; 806 Window window; 807 int x, y; 808 int width, height; 809 int border_width; 810 Window above; 811 Bool override_redirect; 812} XConfigureEvent; 813 814typedef struct { 815 int type; 816 unsigned long serial; /* # of last request processed by server */ 817 Bool send_event; /* true if this came from a SendEvent request */ 818 Display *display; /* Display the event was read from */ 819 Window event; 820 Window window; 821 int x, y; 822} XGravityEvent; 823 824typedef struct { 825 int type; 826 unsigned long serial; /* # of last request processed by server */ 827 Bool send_event; /* true if this came from a SendEvent request */ 828 Display *display; /* Display the event was read from */ 829 Window window; 830 int width, height; 831} XResizeRequestEvent; 832 833typedef struct { 834 int type; 835 unsigned long serial; /* # of last request processed by server */ 836 Bool send_event; /* true if this came from a SendEvent request */ 837 Display *display; /* Display the event was read from */ 838 Window parent; 839 Window window; 840 int x, y; 841 int width, height; 842 int border_width; 843 Window above; 844 int detail; /* Above, Below, TopIf, BottomIf, Opposite */ 845 unsigned long value_mask; 846} XConfigureRequestEvent; 847 848typedef struct { 849 int type; 850 unsigned long serial; /* # of last request processed by server */ 851 Bool send_event; /* true if this came from a SendEvent request */ 852 Display *display; /* Display the event was read from */ 853 Window event; 854 Window window; 855 int place; /* PlaceOnTop, PlaceOnBottom */ 856} XCirculateEvent; 857 858typedef struct { 859 int type; 860 unsigned long serial; /* # of last request processed by server */ 861 Bool send_event; /* true if this came from a SendEvent request */ 862 Display *display; /* Display the event was read from */ 863 Window parent; 864 Window window; 865 int place; /* PlaceOnTop, PlaceOnBottom */ 866} XCirculateRequestEvent; 867 868typedef struct { 869 int type; 870 unsigned long serial; /* # of last request processed by server */ 871 Bool send_event; /* true if this came from a SendEvent request */ 872 Display *display; /* Display the event was read from */ 873 Window window; 874 Atom atom; 875 Time time; 876 int state; /* NewValue, Deleted */ 877} XPropertyEvent; 878 879typedef struct { 880 int type; 881 unsigned long serial; /* # of last request processed by server */ 882 Bool send_event; /* true if this came from a SendEvent request */ 883 Display *display; /* Display the event was read from */ 884 Window window; 885 Atom selection; 886 Time time; 887} XSelectionClearEvent; 888 889typedef struct { 890 int type; 891 unsigned long serial; /* # of last request processed by server */ 892 Bool send_event; /* true if this came from a SendEvent request */ 893 Display *display; /* Display the event was read from */ 894 Window owner; 895 Window requestor; 896 Atom selection; 897 Atom target; 898 Atom property; 899 Time time; 900} XSelectionRequestEvent; 901 902typedef struct { 903 int type; 904 unsigned long serial; /* # of last request processed by server */ 905 Bool send_event; /* true if this came from a SendEvent request */ 906 Display *display; /* Display the event was read from */ 907 Window requestor; 908 Atom selection; 909 Atom target; 910 Atom property; /* ATOM or None */ 911 Time time; 912} XSelectionEvent; 913 914typedef struct { 915 int type; 916 unsigned long serial; /* # of last request processed by server */ 917 Bool send_event; /* true if this came from a SendEvent request */ 918 Display *display; /* Display the event was read from */ 919 Window window; 920 Colormap colormap; /* COLORMAP or None */ 921#if defined(__cplusplus) || defined(c_plusplus) 922 Bool c_new; /* C++ */ 923#else 924 Bool new; 925#endif 926 int state; /* ColormapInstalled, ColormapUninstalled */ 927} XColormapEvent; 928 929typedef struct { 930 int type; 931 unsigned long serial; /* # of last request processed by server */ 932 Bool send_event; /* true if this came from a SendEvent request */ 933 Display *display; /* Display the event was read from */ 934 Window window; 935 Atom message_type; 936 int format; 937 union { 938 char b[20]; 939 short s[10]; 940 long l[5]; 941 } data; 942} XClientMessageEvent; 943 944typedef struct { 945 int type; 946 unsigned long serial; /* # of last request processed by server */ 947 Bool send_event; /* true if this came from a SendEvent request */ 948 Display *display; /* Display the event was read from */ 949 Window window; /* unused */ 950 int request; /* one of MappingModifier, MappingKeyboard, 951 MappingPointer */ 952 int first_keycode; /* first keycode */ 953 int count; /* defines range of change w. first_keycode*/ 954} XMappingEvent; 955 956typedef struct { 957 int type; 958 Display *display; /* Display the event was read from */ 959 XID resourceid; /* resource id */ 960 unsigned long serial; /* serial number of failed request */ 961 unsigned char error_code; /* error code of failed request */ 962 unsigned char request_code; /* Major op-code of failed request */ 963 unsigned char minor_code; /* Minor op-code of failed request */ 964} XErrorEvent; 965 966typedef struct { 967 int type; 968 unsigned long serial; /* # of last request processed by server */ 969 Bool send_event; /* true if this came from a SendEvent request */ 970 Display *display;/* Display the event was read from */ 971 Window window; /* window on which event was requested in event mask */ 972} XAnyEvent; 973 974 975/*************************************************************** 976 * 977 * GenericEvent. This event is the standard event for all newer extensions. 978 */ 979 980typedef struct 981 { 982 int type; /* of event. Always GenericEvent */ 983 unsigned long serial; /* # of last request processed */ 984 Bool send_event; /* true if from SendEvent request */ 985 Display *display; /* Display the event was read from */ 986 int extension; /* major opcode of extension that caused the event */ 987 int evtype; /* actual event type. */ 988 } XGenericEvent; 989 990/* 991 * this union is defined so Xlib can always use the same sized 992 * event structure internally, to avoid memory fragmentation. 993 */ 994typedef union _XEvent { 995 int type; /* must not be changed; first element */ 996 XAnyEvent xany; 997 XKeyEvent xkey; 998 XButtonEvent xbutton; 999 XMotionEvent xmotion; 1000 XCrossingEvent xcrossing; 1001 XFocusChangeEvent xfocus; 1002 XExposeEvent xexpose; 1003 XGraphicsExposeEvent xgraphicsexpose; 1004 XNoExposeEvent xnoexpose; 1005 XVisibilityEvent xvisibility; 1006 XCreateWindowEvent xcreatewindow; 1007 XDestroyWindowEvent xdestroywindow; 1008 XUnmapEvent xunmap; 1009 XMapEvent xmap; 1010 XMapRequestEvent xmaprequest; 1011 XReparentEvent xreparent; 1012 XConfigureEvent xconfigure; 1013 XGravityEvent xgravity; 1014 XResizeRequestEvent xresizerequest; 1015 XConfigureRequestEvent xconfigurerequest; 1016 XCirculateEvent xcirculate; 1017 XCirculateRequestEvent xcirculaterequest; 1018 XPropertyEvent xproperty; 1019 XSelectionClearEvent xselectionclear; 1020 XSelectionRequestEvent xselectionrequest; 1021 XSelectionEvent xselection; 1022 XColormapEvent xcolormap; 1023 XClientMessageEvent xclient; 1024 XMappingEvent xmapping; 1025 XErrorEvent xerror; 1026 XKeymapEvent xkeymap; 1027 long pad[24]; 1028} XEvent; 1029#endif 1030 1031#define XAllocID(dpy) ((*((_XPrivDisplay)dpy)->resource_alloc)((dpy))) 1032 1033/* 1034 * per character font metric information. 1035 */ 1036typedef struct { 1037 short lbearing; /* origin to left edge of raster */ 1038 short rbearing; /* origin to right edge of raster */ 1039 short width; /* advance to next char's origin */ 1040 short ascent; /* baseline to top edge of raster */ 1041 short descent; /* baseline to bottom edge of raster */ 1042 unsigned short attributes; /* per char flags (not predefined) */ 1043} XCharStruct; 1044 1045/* 1046 * To allow arbitrary information with fonts, there are additional properties 1047 * returned. 1048 */ 1049typedef struct { 1050 Atom name; 1051 unsigned long card32; 1052} XFontProp; 1053 1054typedef struct { 1055 XExtData *ext_data; /* hook for extension to hang data */ 1056 Font fid; /* Font id for this font */ 1057 unsigned direction; /* hint about direction the font is painted */ 1058 unsigned min_char_or_byte2;/* first character */ 1059 unsigned max_char_or_byte2;/* last character */ 1060 unsigned min_byte1; /* first row that exists */ 1061 unsigned max_byte1; /* last row that exists */ 1062 Bool all_chars_exist;/* flag if all characters have non-zero size*/ 1063 unsigned default_char; /* char to print for undefined character */ 1064 int n_properties; /* how many properties there are */ 1065 XFontProp *properties; /* pointer to array of additional properties*/ 1066 XCharStruct min_bounds; /* minimum bounds over all existing char*/ 1067 XCharStruct max_bounds; /* maximum bounds over all existing char*/ 1068 XCharStruct *per_char; /* first_char to last_char information */ 1069 int ascent; /* log. extent above baseline for spacing */ 1070 int descent; /* log. descent below baseline for spacing */ 1071} XFontStruct; 1072 1073/* 1074 * PolyText routines take these as arguments. 1075 */ 1076typedef struct { 1077 char *chars; /* pointer to string */ 1078 int nchars; /* number of characters */ 1079 int delta; /* delta between strings */ 1080 Font font; /* font to print it in, None don't change */ 1081} XTextItem; 1082 1083typedef struct { /* normal 16 bit characters are two bytes */ 1084 unsigned char byte1; 1085 unsigned char byte2; 1086} XChar2b; 1087 1088typedef struct { 1089 XChar2b *chars; /* two byte characters */ 1090 int nchars; /* number of characters */ 1091 int delta; /* delta between strings */ 1092 Font font; /* font to print it in, None don't change */ 1093} XTextItem16; 1094 1095 1096typedef union { Display *display; 1097 GC gc; 1098 Visual *visual; 1099 Screen *screen; 1100 ScreenFormat *pixmap_format; 1101 XFontStruct *font; } XEDataObject; 1102 1103typedef struct { 1104 XRectangle max_ink_extent; 1105 XRectangle max_logical_extent; 1106} XFontSetExtents; 1107 1108/* unused: 1109typedef void (*XOMProc)(); 1110 */ 1111 1112typedef struct _XOM *XOM; 1113typedef struct _XOC *XOC, *XFontSet; 1114 1115typedef struct { 1116 char *chars; 1117 int nchars; 1118 int delta; 1119 XFontSet font_set; 1120} XmbTextItem; 1121 1122typedef struct { 1123 wchar_t *chars; 1124 int nchars; 1125 int delta; 1126 XFontSet font_set; 1127} XwcTextItem; 1128 1129#define XNRequiredCharSet "requiredCharSet" 1130#define XNQueryOrientation "queryOrientation" 1131#define XNBaseFontName "baseFontName" 1132#define XNOMAutomatic "omAutomatic" 1133#define XNMissingCharSet "missingCharSet" 1134#define XNDefaultString "defaultString" 1135#define XNOrientation "orientation" 1136#define XNDirectionalDependentDrawing "directionalDependentDrawing" 1137#define XNContextualDrawing "contextualDrawing" 1138#define XNFontInfo "fontInfo" 1139 1140typedef struct { 1141 int charset_count; 1142 char **charset_list; 1143} XOMCharSetList; 1144 1145typedef enum { 1146 XOMOrientation_LTR_TTB, 1147 XOMOrientation_RTL_TTB, 1148 XOMOrientation_TTB_LTR, 1149 XOMOrientation_TTB_RTL, 1150 XOMOrientation_Context 1151} XOrientation; 1152 1153typedef struct { 1154 int num_orientation; 1155 XOrientation *orientation; /* Input Text description */ 1156} XOMOrientation; 1157 1158typedef struct { 1159 int num_font; 1160 XFontStruct **font_struct_list; 1161 char **font_name_list; 1162} XOMFontInfo; 1163 1164typedef struct _XIM *XIM; 1165typedef struct _XIC *XIC; 1166 1167typedef void (*XIMProc)( 1168 XIM, 1169 XPointer, 1170 XPointer 1171); 1172 1173typedef Bool (*XICProc)( 1174 XIC, 1175 XPointer, 1176 XPointer 1177); 1178 1179typedef void (*XIDProc)( 1180 Display*, 1181 XPointer, 1182 XPointer 1183); 1184 1185typedef unsigned long XIMStyle; 1186 1187typedef struct { 1188 unsigned short count_styles; 1189 XIMStyle *supported_styles; 1190} XIMStyles; 1191 1192#define XIMPreeditArea 0x0001L 1193#define XIMPreeditCallbacks 0x0002L 1194#define XIMPreeditPosition 0x0004L 1195#define XIMPreeditNothing 0x0008L 1196#define XIMPreeditNone 0x0010L 1197#define XIMStatusArea 0x0100L 1198#define XIMStatusCallbacks 0x0200L 1199#define XIMStatusNothing 0x0400L 1200#define XIMStatusNone 0x0800L 1201 1202#define XNVaNestedList "XNVaNestedList" 1203#define XNQueryInputStyle "queryInputStyle" 1204#define XNClientWindow "clientWindow" 1205#define XNInputStyle "inputStyle" 1206#define XNFocusWindow "focusWindow" 1207#define XNResourceName "resourceName" 1208#define XNResourceClass "resourceClass" 1209#define XNGeometryCallback "geometryCallback" 1210#define XNDestroyCallback "destroyCallback" 1211#define XNFilterEvents "filterEvents" 1212#define XNPreeditStartCallback "preeditStartCallback" 1213#define XNPreeditDoneCallback "preeditDoneCallback" 1214#define XNPreeditDrawCallback "preeditDrawCallback" 1215#define XNPreeditCaretCallback "preeditCaretCallback" 1216#define XNPreeditStateNotifyCallback "preeditStateNotifyCallback" 1217#define XNPreeditAttributes "preeditAttributes" 1218#define XNStatusStartCallback "statusStartCallback" 1219#define XNStatusDoneCallback "statusDoneCallback" 1220#define XNStatusDrawCallback "statusDrawCallback" 1221#define XNStatusAttributes "statusAttributes" 1222#define XNArea "area" 1223#define XNAreaNeeded "areaNeeded" 1224#define XNSpotLocation "spotLocation" 1225#define XNColormap "colorMap" 1226#define XNStdColormap "stdColorMap" 1227#define XNForeground "foreground" 1228#define XNBackground "background" 1229#define XNBackgroundPixmap "backgroundPixmap" 1230#define XNFontSet "fontSet" 1231#define XNLineSpace "lineSpace" 1232#define XNCursor "cursor" 1233 1234#define XNQueryIMValuesList "queryIMValuesList" 1235#define XNQueryICValuesList "queryICValuesList" 1236#define XNVisiblePosition "visiblePosition" 1237#define XNR6PreeditCallback "r6PreeditCallback" 1238#define XNStringConversionCallback "stringConversionCallback" 1239#define XNStringConversion "stringConversion" 1240#define XNResetState "resetState" 1241#define XNHotKey "hotKey" 1242#define XNHotKeyState "hotKeyState" 1243#define XNPreeditState "preeditState" 1244#define XNSeparatorofNestedList "separatorofNestedList" 1245 1246#define XBufferOverflow -1 1247#define XLookupNone 1 1248#define XLookupChars 2 1249#define XLookupKeySym 3 1250#define XLookupBoth 4 1251 1252typedef void *XVaNestedList; 1253 1254typedef struct { 1255 XPointer client_data; 1256 XIMProc callback; 1257} XIMCallback; 1258 1259typedef struct { 1260 XPointer client_data; 1261 XICProc callback; 1262} XICCallback; 1263 1264typedef unsigned long XIMFeedback; 1265 1266#define XIMReverse 1L 1267#define XIMUnderline (1L<<1) 1268#define XIMHighlight (1L<<2) 1269#define XIMPrimary (1L<<5) 1270#define XIMSecondary (1L<<6) 1271#define XIMTertiary (1L<<7) 1272#define XIMVisibleToForward (1L<<8) 1273#define XIMVisibleToBackword (1L<<9) 1274#define XIMVisibleToCenter (1L<<10) 1275 1276typedef struct _XIMText { 1277 unsigned short length; 1278 XIMFeedback *feedback; 1279 Bool encoding_is_wchar; 1280 union { 1281 char *multi_byte; 1282 wchar_t *wide_char; 1283 } string; 1284} XIMText; 1285 1286typedef unsigned long XIMPreeditState; 1287 1288#define XIMPreeditUnKnown 0L 1289#define XIMPreeditEnable 1L 1290#define XIMPreeditDisable (1L<<1) 1291 1292typedef struct _XIMPreeditStateNotifyCallbackStruct { 1293 XIMPreeditState state; 1294} XIMPreeditStateNotifyCallbackStruct; 1295 1296typedef unsigned long XIMResetState; 1297 1298#define XIMInitialState 1L 1299#define XIMPreserveState (1L<<1) 1300 1301typedef unsigned long XIMStringConversionFeedback; 1302 1303#define XIMStringConversionLeftEdge (0x00000001) 1304#define XIMStringConversionRightEdge (0x00000002) 1305#define XIMStringConversionTopEdge (0x00000004) 1306#define XIMStringConversionBottomEdge (0x00000008) 1307#define XIMStringConversionConcealed (0x00000010) 1308#define XIMStringConversionWrapped (0x00000020) 1309 1310typedef struct _XIMStringConversionText { 1311 unsigned short length; 1312 XIMStringConversionFeedback *feedback; 1313 Bool encoding_is_wchar; 1314 union { 1315 char *mbs; 1316 wchar_t *wcs; 1317 } string; 1318} XIMStringConversionText; 1319 1320typedef unsigned short XIMStringConversionPosition; 1321 1322typedef unsigned short XIMStringConversionType; 1323 1324#define XIMStringConversionBuffer (0x0001) 1325#define XIMStringConversionLine (0x0002) 1326#define XIMStringConversionWord (0x0003) 1327#define XIMStringConversionChar (0x0004) 1328 1329typedef unsigned short XIMStringConversionOperation; 1330 1331#define XIMStringConversionSubstitution (0x0001) 1332#define XIMStringConversionRetrieval (0x0002) 1333 1334typedef enum { 1335 XIMForwardChar, XIMBackwardChar, 1336 XIMForwardWord, XIMBackwardWord, 1337 XIMCaretUp, XIMCaretDown, 1338 XIMNextLine, XIMPreviousLine, 1339 XIMLineStart, XIMLineEnd, 1340 XIMAbsolutePosition, 1341 XIMDontChange 1342} XIMCaretDirection; 1343 1344typedef struct _XIMStringConversionCallbackStruct { 1345 XIMStringConversionPosition position; 1346 XIMCaretDirection direction; 1347 XIMStringConversionOperation operation; 1348 unsigned short factor; 1349 XIMStringConversionText *text; 1350} XIMStringConversionCallbackStruct; 1351 1352typedef struct _XIMPreeditDrawCallbackStruct { 1353 int caret; /* Cursor offset within pre-edit string */ 1354 int chg_first; /* Starting change position */ 1355 int chg_length; /* Length of the change in character count */ 1356 XIMText *text; 1357} XIMPreeditDrawCallbackStruct; 1358 1359typedef enum { 1360 XIMIsInvisible, /* Disable caret feedback */ 1361 XIMIsPrimary, /* UI defined caret feedback */ 1362 XIMIsSecondary /* UI defined caret feedback */ 1363} XIMCaretStyle; 1364 1365typedef struct _XIMPreeditCaretCallbackStruct { 1366 int position; /* Caret offset within pre-edit string */ 1367 XIMCaretDirection direction; /* Caret moves direction */ 1368 XIMCaretStyle style; /* Feedback of the caret */ 1369} XIMPreeditCaretCallbackStruct; 1370 1371typedef enum { 1372 XIMTextType, 1373 XIMBitmapType 1374} XIMStatusDataType; 1375 1376typedef struct _XIMStatusDrawCallbackStruct { 1377 XIMStatusDataType type; 1378 union { 1379 XIMText *text; 1380 Pixmap bitmap; 1381 } data; 1382} XIMStatusDrawCallbackStruct; 1383 1384typedef struct _XIMHotKeyTrigger { 1385 KeySym keysym; 1386 int modifier; 1387 int modifier_mask; 1388} XIMHotKeyTrigger; 1389 1390typedef struct _XIMHotKeyTriggers { 1391 int num_hot_key; 1392 XIMHotKeyTrigger *key; 1393} XIMHotKeyTriggers; 1394 1395typedef unsigned long XIMHotKeyState; 1396 1397#define XIMHotKeyStateON (0x0001L) 1398#define XIMHotKeyStateOFF (0x0002L) 1399 1400typedef struct { 1401 unsigned short count_values; 1402 char **supported_values; 1403} XIMValuesList; 1404 1405_XFUNCPROTOBEGIN 1406 1407#if defined(WIN32) && !defined(_XLIBINT_) 1408#define _Xdebug (*_Xdebug_p) 1409#endif 1410 1411extern int _Xdebug; 1412 1413extern XFontStruct *XLoadQueryFont( 1414 Display* /* display */, 1415 _Xconst char* /* name */ 1416); 1417 1418extern XFontStruct *XQueryFont( 1419 Display* /* display */, 1420 XID /* font_ID */ 1421); 1422 1423 1424extern XTimeCoord *XGetMotionEvents( 1425 Display* /* display */, 1426 Window /* w */, 1427 Time /* start */, 1428 Time /* stop */, 1429 int* /* nevents_return */ 1430); 1431 1432extern XModifierKeymap *XDeleteModifiermapEntry( 1433 XModifierKeymap* /* modmap */, 1434#if NeedWidePrototypes 1435 unsigned int /* keycode_entry */, 1436#else 1437 KeyCode /* keycode_entry */, 1438#endif 1439 int /* modifier */ 1440); 1441 1442extern XModifierKeymap *XGetModifierMapping( 1443 Display* /* display */ 1444); 1445 1446extern XModifierKeymap *XInsertModifiermapEntry( 1447 XModifierKeymap* /* modmap */, 1448#if NeedWidePrototypes 1449 unsigned int /* keycode_entry */, 1450#else 1451 KeyCode /* keycode_entry */, 1452#endif 1453 int /* modifier */ 1454); 1455 1456extern XModifierKeymap *XNewModifiermap( 1457 int /* max_keys_per_mod */ 1458); 1459 1460extern XImage *XCreateImage( 1461 Display* /* display */, 1462 Visual* /* visual */, 1463 unsigned int /* depth */, 1464 int /* format */, 1465 int /* offset */, 1466 char* /* data */, 1467 unsigned int /* width */, 1468 unsigned int /* height */, 1469 int /* bitmap_pad */, 1470 int /* bytes_per_line */ 1471); 1472extern Status XInitImage( 1473 XImage* /* image */ 1474); 1475extern XImage *XGetImage( 1476 Display* /* display */, 1477 Drawable /* d */, 1478 int /* x */, 1479 int /* y */, 1480 unsigned int /* width */, 1481 unsigned int /* height */, 1482 unsigned long /* plane_mask */, 1483 int /* format */ 1484); 1485extern XImage *XGetSubImage( 1486 Display* /* display */, 1487 Drawable /* d */, 1488 int /* x */, 1489 int /* y */, 1490 unsigned int /* width */, 1491 unsigned int /* height */, 1492 unsigned long /* plane_mask */, 1493 int /* format */, 1494 XImage* /* dest_image */, 1495 int /* dest_x */, 1496 int /* dest_y */ 1497); 1498 1499/* 1500 * X function declarations. 1501 */ 1502extern Display *XOpenDisplay( 1503 _Xconst char* /* display_name */ 1504); 1505 1506extern void XrmInitialize( 1507 void 1508); 1509 1510extern char *XFetchBytes( 1511 Display* /* display */, 1512 int* /* nbytes_return */ 1513); 1514extern char *XFetchBuffer( 1515 Display* /* display */, 1516 int* /* nbytes_return */, 1517 int /* buffer */ 1518); 1519extern char *XGetAtomName( 1520 Display* /* display */, 1521 Atom /* atom */ 1522); 1523extern Status XGetAtomNames( 1524 Display* /* dpy */, 1525 Atom* /* atoms */, 1526 int /* count */, 1527 char** /* names_return */ 1528); 1529extern char *XGetDefault( 1530 Display* /* display */, 1531 _Xconst char* /* program */, 1532 _Xconst char* /* option */ 1533); 1534extern char *XDisplayName( 1535 _Xconst char* /* string */ 1536); 1537extern char *XKeysymToString( 1538 KeySym /* keysym */ 1539); 1540 1541extern int (*XSynchronize( 1542 Display* /* display */, 1543 Bool /* onoff */ 1544))( 1545 Display* /* display */ 1546); 1547extern int (*XSetAfterFunction( 1548 Display* /* display */, 1549 int (*) ( 1550 Display* /* display */ 1551 ) /* procedure */ 1552))( 1553 Display* /* display */ 1554); 1555extern Atom XInternAtom( 1556 Display* /* display */, 1557 _Xconst char* /* atom_name */, 1558 Bool /* only_if_exists */ 1559); 1560extern Status XInternAtoms( 1561 Display* /* dpy */, 1562 char** /* names */, 1563 int /* count */, 1564 Bool /* onlyIfExists */, 1565 Atom* /* atoms_return */ 1566); 1567extern Colormap XCopyColormapAndFree( 1568 Display* /* display */, 1569 Colormap /* colormap */ 1570); 1571extern Colormap XCreateColormap( 1572 Display* /* display */, 1573 Window /* w */, 1574 Visual* /* visual */, 1575 int /* alloc */ 1576); 1577extern Cursor XCreatePixmapCursor( 1578 Display* /* display */, 1579 Pixmap /* source */, 1580 Pixmap /* mask */, 1581 XColor* /* foreground_color */, 1582 XColor* /* background_color */, 1583 unsigned int /* x */, 1584 unsigned int /* y */ 1585); 1586extern Cursor XCreateGlyphCursor( 1587 Display* /* display */, 1588 Font /* source_font */, 1589 Font /* mask_font */, 1590 unsigned int /* source_char */, 1591 unsigned int /* mask_char */, 1592 XColor _Xconst * /* foreground_color */, 1593 XColor _Xconst * /* background_color */ 1594); 1595extern Cursor XCreateFontCursor( 1596 Display* /* display */, 1597 unsigned int /* shape */ 1598); 1599extern Font XLoadFont( 1600 Display* /* display */, 1601 _Xconst char* /* name */ 1602); 1603extern GC XCreateGC( 1604 Display* /* display */, 1605 Drawable /* d */, 1606 unsigned long /* valuemask */, 1607 XGCValues* /* values */ 1608); 1609extern GContext XGContextFromGC( 1610 GC /* gc */ 1611); 1612extern void XFlushGC( 1613 Display* /* display */, 1614 GC /* gc */ 1615); 1616extern Pixmap XCreatePixmap( 1617 Display* /* display */, 1618 Drawable /* d */, 1619 unsigned int /* width */, 1620 unsigned int /* height */, 1621 unsigned int /* depth */ 1622); 1623extern Pixmap XCreateBitmapFromData( 1624 Display* /* display */, 1625 Drawable /* d */, 1626 _Xconst char* /* data */, 1627 unsigned int /* width */, 1628 unsigned int /* height */ 1629); 1630extern Pixmap XCreatePixmapFromBitmapData( 1631 Display* /* display */, 1632 Drawable /* d */, 1633 char* /* data */, 1634 unsigned int /* width */, 1635 unsigned int /* height */, 1636 unsigned long /* fg */, 1637 unsigned long /* bg */, 1638 unsigned int /* depth */ 1639); 1640extern Window XCreateSimpleWindow( 1641 Display* /* display */, 1642 Window /* parent */, 1643 int /* x */, 1644 int /* y */, 1645 unsigned int /* width */, 1646 unsigned int /* height */, 1647 unsigned int /* border_width */, 1648 unsigned long /* border */, 1649 unsigned long /* background */ 1650); 1651extern Window XGetSelectionOwner( 1652 Display* /* display */, 1653 Atom /* selection */ 1654); 1655extern Window XCreateWindow( 1656 Display* /* display */, 1657 Window /* parent */, 1658 int /* x */, 1659 int /* y */, 1660 unsigned int /* width */, 1661 unsigned int /* height */, 1662 unsigned int /* border_width */, 1663 int /* depth */, 1664 unsigned int /* class */, 1665 Visual* /* visual */, 1666 unsigned long /* valuemask */, 1667 XSetWindowAttributes* /* attributes */ 1668); 1669extern Colormap *XListInstalledColormaps( 1670 Display* /* display */, 1671 Window /* w */, 1672 int* /* num_return */ 1673); 1674extern char **XListFonts( 1675 Display* /* display */, 1676 _Xconst char* /* pattern */, 1677 int /* maxnames */, 1678 int* /* actual_count_return */ 1679); 1680extern char **XListFontsWithInfo( 1681 Display* /* display */, 1682 _Xconst char* /* pattern */, 1683 int /* maxnames */, 1684 int* /* count_return */, 1685 XFontStruct** /* info_return */ 1686); 1687extern char **XGetFontPath( 1688 Display* /* display */, 1689 int* /* npaths_return */ 1690); 1691extern char **XListExtensions( 1692 Display* /* display */, 1693 int* /* nextensions_return */ 1694); 1695extern Atom *XListProperties( 1696 Display* /* display */, 1697 Window /* w */, 1698 int* /* num_prop_return */ 1699); 1700extern XHostAddress *XListHosts( 1701 Display* /* display */, 1702 int* /* nhosts_return */, 1703 Bool* /* state_return */ 1704); 1705extern KeySym XKeycodeToKeysym( 1706 Display* /* display */, 1707#if NeedWidePrototypes 1708 unsigned int /* keycode */, 1709#else 1710 KeyCode /* keycode */, 1711#endif 1712 int /* index */ 1713); 1714extern KeySym XLookupKeysym( 1715 XKeyEvent* /* key_event */, 1716 int /* index */ 1717); 1718extern KeySym *XGetKeyboardMapping( 1719 Display* /* display */, 1720#if NeedWidePrototypes 1721 unsigned int /* first_keycode */, 1722#else 1723 KeyCode /* first_keycode */, 1724#endif 1725 int /* keycode_count */, 1726 int* /* keysyms_per_keycode_return */ 1727); 1728extern KeySym XStringToKeysym( 1729 _Xconst char* /* string */ 1730); 1731extern long XMaxRequestSize( 1732 Display* /* display */ 1733); 1734extern long XExtendedMaxRequestSize( 1735 Display* /* display */ 1736); 1737extern char *XResourceManagerString( 1738 Display* /* display */ 1739); 1740extern char *XScreenResourceString( 1741 Screen* /* screen */ 1742); 1743extern unsigned long XDisplayMotionBufferSize( 1744 Display* /* display */ 1745); 1746extern VisualID XVisualIDFromVisual( 1747 Visual* /* visual */ 1748); 1749 1750/* multithread routines */ 1751 1752extern Status XInitThreads( 1753 void 1754); 1755 1756extern void XLockDisplay( 1757 Display* /* display */ 1758); 1759 1760extern void XUnlockDisplay( 1761 Display* /* display */ 1762); 1763 1764/* routines for dealing with extensions */ 1765 1766extern XExtCodes *XInitExtension( 1767 Display* /* display */, 1768 _Xconst char* /* name */ 1769); 1770 1771extern XExtCodes *XAddExtension( 1772 Display* /* display */ 1773); 1774extern XExtData *XFindOnExtensionList( 1775 XExtData** /* structure */, 1776 int /* number */ 1777); 1778extern XExtData **XEHeadOfExtensionList( 1779 XEDataObject /* object */ 1780); 1781 1782/* these are routines for which there are also macros */ 1783extern Window XRootWindow( 1784 Display* /* display */, 1785 int /* screen_number */ 1786); 1787extern Window XDefaultRootWindow( 1788 Display* /* display */ 1789); 1790extern Window XRootWindowOfScreen( 1791 Screen* /* screen */ 1792); 1793extern Visual *XDefaultVisual( 1794 Display* /* display */, 1795 int /* screen_number */ 1796); 1797extern Visual *XDefaultVisualOfScreen( 1798 Screen* /* screen */ 1799); 1800extern GC XDefaultGC( 1801 Display* /* display */, 1802 int /* screen_number */ 1803); 1804extern GC XDefaultGCOfScreen( 1805 Screen* /* screen */ 1806); 1807extern unsigned long XBlackPixel( 1808 Display* /* display */, 1809 int /* screen_number */ 1810); 1811extern unsigned long XWhitePixel( 1812 Display* /* display */, 1813 int /* screen_number */ 1814); 1815extern unsigned long XAllPlanes( 1816 void 1817); 1818extern unsigned long XBlackPixelOfScreen( 1819 Screen* /* screen */ 1820); 1821extern unsigned long XWhitePixelOfScreen( 1822 Screen* /* screen */ 1823); 1824extern unsigned long XNextRequest( 1825 Display* /* display */ 1826); 1827extern unsigned long XLastKnownRequestProcessed( 1828 Display* /* display */ 1829); 1830extern char *XServerVendor( 1831 Display* /* display */ 1832); 1833extern char *XDisplayString( 1834 Display* /* display */ 1835); 1836extern Colormap XDefaultColormap( 1837 Display* /* display */, 1838 int /* screen_number */ 1839); 1840extern Colormap XDefaultColormapOfScreen( 1841 Screen* /* screen */ 1842); 1843extern Display *XDisplayOfScreen( 1844 Screen* /* screen */ 1845); 1846extern Screen *XScreenOfDisplay( 1847 Display* /* display */, 1848 int /* screen_number */ 1849); 1850extern Screen *XDefaultScreenOfDisplay( 1851 Display* /* display */ 1852); 1853extern long XEventMaskOfScreen( 1854 Screen* /* screen */ 1855); 1856 1857extern int XScreenNumberOfScreen( 1858 Screen* /* screen */ 1859); 1860 1861typedef int (*XErrorHandler) ( /* WARNING, this type not in Xlib spec */ 1862 Display* /* display */, 1863 XErrorEvent* /* error_event */ 1864); 1865 1866extern XErrorHandler XSetErrorHandler ( 1867 XErrorHandler /* handler */ 1868); 1869 1870 1871typedef int (*XIOErrorHandler) ( /* WARNING, this type not in Xlib spec */ 1872 Display* /* display */ 1873); 1874 1875extern XIOErrorHandler XSetIOErrorHandler ( 1876 XIOErrorHandler /* handler */ 1877); 1878 1879 1880extern XPixmapFormatValues *XListPixmapFormats( 1881 Display* /* display */, 1882 int* /* count_return */ 1883); 1884extern int *XListDepths( 1885 Display* /* display */, 1886 int /* screen_number */, 1887 int* /* count_return */ 1888); 1889 1890/* ICCCM routines for things that don't require special include files; */ 1891/* other declarations are given in Xutil.h */ 1892extern Status XReconfigureWMWindow( 1893 Display* /* display */, 1894 Window /* w */, 1895 int /* screen_number */, 1896 unsigned int /* mask */, 1897 XWindowChanges* /* changes */ 1898); 1899 1900extern Status XGetWMProtocols( 1901 Display* /* display */, 1902 Window /* w */, 1903 Atom** /* protocols_return */, 1904 int* /* count_return */ 1905); 1906extern Status XSetWMProtocols( 1907 Display* /* display */, 1908 Window /* w */, 1909 Atom* /* protocols */, 1910 int /* count */ 1911); 1912extern Status XIconifyWindow( 1913 Display* /* display */, 1914 Window /* w */, 1915 int /* screen_number */ 1916); 1917extern Status XWithdrawWindow( 1918 Display* /* display */, 1919 Window /* w */, 1920 int /* screen_number */ 1921); 1922extern Status XGetCommand( 1923 Display* /* display */, 1924 Window /* w */, 1925 char*** /* argv_return */, 1926 int* /* argc_return */ 1927); 1928extern Status XGetWMColormapWindows( 1929 Display* /* display */, 1930 Window /* w */, 1931 Window** /* windows_return */, 1932 int* /* count_return */ 1933); 1934extern Status XSetWMColormapWindows( 1935 Display* /* display */, 1936 Window /* w */, 1937 Window* /* colormap_windows */, 1938 int /* count */ 1939); 1940extern void XFreeStringList( 1941 char** /* list */ 1942); 1943extern int XSetTransientForHint( 1944 Display* /* display */, 1945 Window /* w */, 1946 Window /* prop_window */ 1947); 1948 1949/* The following are given in alphabetical order */ 1950 1951extern int XActivateScreenSaver( 1952 Display* /* display */ 1953); 1954 1955extern int XAddHost( 1956 Display* /* display */, 1957 XHostAddress* /* host */ 1958); 1959 1960extern int XAddHosts( 1961 Display* /* display */, 1962 XHostAddress* /* hosts */, 1963 int /* num_hosts */ 1964); 1965 1966extern int XAddToExtensionList( 1967 struct _XExtData** /* structure */, 1968 XExtData* /* ext_data */ 1969); 1970 1971extern int XAddToSaveSet( 1972 Display* /* display */, 1973 Window /* w */ 1974); 1975 1976extern Status XAllocColor( 1977 Display* /* display */, 1978 Colormap /* colormap */, 1979 XColor* /* screen_in_out */ 1980); 1981 1982extern Status XAllocColorCells( 1983 Display* /* display */, 1984 Colormap /* colormap */, 1985 Bool /* contig */, 1986 unsigned long* /* plane_masks_return */, 1987 unsigned int /* nplanes */, 1988 unsigned long* /* pixels_return */, 1989 unsigned int /* npixels */ 1990); 1991 1992extern Status XAllocColorPlanes( 1993 Display* /* display */, 1994 Colormap /* colormap */, 1995 Bool /* contig */, 1996 unsigned long* /* pixels_return */, 1997 int /* ncolors */, 1998 int /* nreds */, 1999 int /* ngreens */, 2000 int /* nblues */, 2001 unsigned long* /* rmask_return */, 2002 unsigned long* /* gmask_return */, 2003 unsigned long* /* bmask_return */ 2004); 2005 2006extern Status XAllocNamedColor( 2007 Display* /* display */, 2008 Colormap /* colormap */, 2009 _Xconst char* /* color_name */, 2010 XColor* /* screen_def_return */, 2011 XColor* /* exact_def_return */ 2012); 2013 2014extern int XAllowEvents( 2015 Display* /* display */, 2016 int /* event_mode */, 2017 Time /* time */ 2018); 2019 2020extern int XAutoRepeatOff( 2021 Display* /* display */ 2022); 2023 2024extern int XAutoRepeatOn( 2025 Display* /* display */ 2026); 2027 2028extern int XBell( 2029 Display* /* display */, 2030 int /* percent */ 2031); 2032 2033extern int XBitmapBitOrder( 2034 Display* /* display */ 2035); 2036 2037extern int XBitmapPad( 2038 Display* /* display */ 2039); 2040 2041extern int XBitmapUnit( 2042 Display* /* display */ 2043); 2044 2045extern int XCellsOfScreen( 2046 Screen* /* screen */ 2047); 2048 2049extern int XChangeActivePointerGrab( 2050 Display* /* display */, 2051 unsigned int /* event_mask */, 2052 Cursor /* cursor */, 2053 Time /* time */ 2054); 2055 2056extern int XChangeGC( 2057 Display* /* display */, 2058 GC /* gc */, 2059 unsigned long /* valuemask */, 2060 XGCValues* /* values */ 2061); 2062 2063extern int XChangeKeyboardControl( 2064 Display* /* display */, 2065 unsigned long /* value_mask */, 2066 XKeyboardControl* /* values */ 2067); 2068 2069extern int XChangeKeyboardMapping( 2070 Display* /* display */, 2071 int /* first_keycode */, 2072 int /* keysyms_per_keycode */, 2073 KeySym* /* keysyms */, 2074 int /* num_codes */ 2075); 2076 2077extern int XChangePointerControl( 2078 Display* /* display */, 2079 Bool /* do_accel */, 2080 Bool /* do_threshold */, 2081 int /* accel_numerator */, 2082 int /* accel_denominator */, 2083 int /* threshold */ 2084); 2085 2086extern int XChangeProperty( 2087 Display* /* display */, 2088 Window /* w */, 2089 Atom /* property */, 2090 Atom /* type */, 2091 int /* format */, 2092 int /* mode */, 2093 _Xconst unsigned char* /* data */, 2094 int /* nelements */ 2095); 2096 2097extern int XChangeSaveSet( 2098 Display* /* display */, 2099 Window /* w */, 2100 int /* change_mode */ 2101); 2102 2103extern int XChangeWindowAttributes( 2104 Display* /* display */, 2105 Window /* w */, 2106 unsigned long /* valuemask */, 2107 XSetWindowAttributes* /* attributes */ 2108); 2109 2110extern Bool XCheckIfEvent( 2111 Display* /* display */, 2112 XEvent* /* event_return */, 2113 Bool (*) ( 2114 Display* /* display */, 2115 XEvent* /* event */, 2116 XPointer /* arg */ 2117 ) /* predicate */, 2118 XPointer /* arg */ 2119); 2120 2121extern Bool XCheckMaskEvent( 2122 Display* /* display */, 2123 long /* event_mask */, 2124 XEvent* /* event_return */ 2125); 2126 2127extern Bool XCheckTypedEvent( 2128 Display* /* display */, 2129 int /* event_type */, 2130 XEvent* /* event_return */ 2131); 2132 2133extern Bool XCheckTypedWindowEvent( 2134 Display* /* display */, 2135 Window /* w */, 2136 int /* event_type */, 2137 XEvent* /* event_return */ 2138); 2139 2140extern Bool XCheckWindowEvent( 2141 Display* /* display */, 2142 Window /* w */, 2143 long /* event_mask */, 2144 XEvent* /* event_return */ 2145); 2146 2147extern int XCirculateSubwindows( 2148 Display* /* display */, 2149 Window /* w */, 2150 int /* direction */ 2151); 2152 2153extern int XCirculateSubwindowsDown( 2154 Display* /* display */, 2155 Window /* w */ 2156); 2157 2158extern int XCirculateSubwindowsUp( 2159 Display* /* display */, 2160 Window /* w */ 2161); 2162 2163extern int XClearArea( 2164 Display* /* display */, 2165 Window /* w */, 2166 int /* x */, 2167 int /* y */, 2168 unsigned int /* width */, 2169 unsigned int /* height */, 2170 Bool /* exposures */ 2171); 2172 2173extern int XClearWindow( 2174 Display* /* display */, 2175 Window /* w */ 2176); 2177 2178extern int XCloseDisplay( 2179 Display* /* display */ 2180); 2181 2182extern int XConfigureWindow( 2183 Display* /* display */, 2184 Window /* w */, 2185 unsigned int /* value_mask */, 2186 XWindowChanges* /* values */ 2187); 2188 2189extern int XConnectionNumber( 2190 Display* /* display */ 2191); 2192 2193extern int XConvertSelection( 2194 Display* /* display */, 2195 Atom /* selection */, 2196 Atom /* target */, 2197 Atom /* property */, 2198 Window /* requestor */, 2199 Time /* time */ 2200); 2201 2202extern int XCopyArea( 2203 Display* /* display */, 2204 Drawable /* src */, 2205 Drawable /* dest */, 2206 GC /* gc */, 2207 int /* src_x */, 2208 int /* src_y */, 2209 unsigned int /* width */, 2210 unsigned int /* height */, 2211 int /* dest_x */, 2212 int /* dest_y */ 2213); 2214 2215extern int XCopyGC( 2216 Display* /* display */, 2217 GC /* src */, 2218 unsigned long /* valuemask */, 2219 GC /* dest */ 2220); 2221 2222extern int XCopyPlane( 2223 Display* /* display */, 2224 Drawable /* src */, 2225 Drawable /* dest */, 2226 GC /* gc */, 2227 int /* src_x */, 2228 int /* src_y */, 2229 unsigned int /* width */, 2230 unsigned int /* height */, 2231 int /* dest_x */, 2232 int /* dest_y */, 2233 unsigned long /* plane */ 2234); 2235 2236extern int XDefaultDepth( 2237 Display* /* display */, 2238 int /* screen_number */ 2239); 2240 2241extern int XDefaultDepthOfScreen( 2242 Screen* /* screen */ 2243); 2244 2245extern int XDefaultScreen( 2246 Display* /* display */ 2247); 2248 2249extern int XDefineCursor( 2250 Display* /* display */, 2251 Window /* w */, 2252 Cursor /* cursor */ 2253); 2254 2255extern int XDeleteProperty( 2256 Display* /* display */, 2257 Window /* w */, 2258 Atom /* property */ 2259); 2260 2261extern int XDestroyWindow( 2262 Display* /* display */, 2263 Window /* w */ 2264); 2265 2266extern int XDestroySubwindows( 2267 Display* /* display */, 2268 Window /* w */ 2269); 2270 2271extern int XDoesBackingStore( 2272 Screen* /* screen */ 2273); 2274 2275extern Bool XDoesSaveUnders( 2276 Screen* /* screen */ 2277); 2278 2279extern int XDisableAccessControl( 2280 Display* /* display */ 2281); 2282 2283 2284extern int XDisplayCells( 2285 Display* /* display */, 2286 int /* screen_number */ 2287); 2288 2289extern int XDisplayHeight( 2290 Display* /* display */, 2291 int /* screen_number */ 2292); 2293 2294extern int XDisplayHeightMM( 2295 Display* /* display */, 2296 int /* screen_number */ 2297); 2298 2299extern int XDisplayKeycodes( 2300 Display* /* display */, 2301 int* /* min_keycodes_return */, 2302 int* /* max_keycodes_return */ 2303); 2304 2305extern int XDisplayPlanes( 2306 Display* /* display */, 2307 int /* screen_number */ 2308); 2309 2310extern int XDisplayWidth( 2311 Display* /* display */, 2312 int /* screen_number */ 2313); 2314 2315extern int XDisplayWidthMM( 2316 Display* /* display */, 2317 int /* screen_number */ 2318); 2319 2320extern int XDrawArc( 2321 Display* /* display */, 2322 Drawable /* d */, 2323 GC /* gc */, 2324 int /* x */, 2325 int /* y */, 2326 unsigned int /* width */, 2327 unsigned int /* height */, 2328 int /* angle1 */, 2329 int /* angle2 */ 2330); 2331 2332extern int XDrawArcs( 2333 Display* /* display */, 2334 Drawable /* d */, 2335 GC /* gc */, 2336 XArc* /* arcs */, 2337 int /* narcs */ 2338); 2339 2340extern int XDrawImageString( 2341 Display* /* display */, 2342 Drawable /* d */, 2343 GC /* gc */, 2344 int /* x */, 2345 int /* y */, 2346 _Xconst char* /* string */, 2347 int /* length */ 2348); 2349 2350extern int XDrawImageString16( 2351 Display* /* display */, 2352 Drawable /* d */, 2353 GC /* gc */, 2354 int /* x */, 2355 int /* y */, 2356 _Xconst XChar2b* /* string */, 2357 int /* length */ 2358); 2359 2360extern int XDrawLine( 2361 Display* /* display */, 2362 Drawable /* d */, 2363 GC /* gc */, 2364 int /* x1 */, 2365 int /* y1 */, 2366 int /* x2 */, 2367 int /* y2 */ 2368); 2369 2370extern int XDrawLines( 2371 Display* /* display */, 2372 Drawable /* d */, 2373 GC /* gc */, 2374 XPoint* /* points */, 2375 int /* npoints */, 2376 int /* mode */ 2377); 2378 2379extern int XDrawPoint( 2380 Display* /* display */, 2381 Drawable /* d */, 2382 GC /* gc */, 2383 int /* x */, 2384 int /* y */ 2385); 2386 2387extern int XDrawPoints( 2388 Display* /* display */, 2389 Drawable /* d */, 2390 GC /* gc */, 2391 XPoint* /* points */, 2392 int /* npoints */, 2393 int /* mode */ 2394); 2395 2396extern int XDrawRectangle( 2397 Display* /* display */, 2398 Drawable /* d */, 2399 GC /* gc */, 2400 int /* x */, 2401 int /* y */, 2402 unsigned int /* width */, 2403 unsigned int /* height */ 2404); 2405 2406extern int XDrawRectangles( 2407 Display* /* display */, 2408 Drawable /* d */, 2409 GC /* gc */, 2410 XRectangle* /* rectangles */, 2411 int /* nrectangles */ 2412); 2413 2414extern int XDrawSegments( 2415 Display* /* display */, 2416 Drawable /* d */, 2417 GC /* gc */, 2418 XSegment* /* segments */, 2419 int /* nsegments */ 2420); 2421 2422extern int XDrawString( 2423 Display* /* display */, 2424 Drawable /* d */, 2425 GC /* gc */, 2426 int /* x */, 2427 int /* y */, 2428 _Xconst char* /* string */, 2429 int /* length */ 2430); 2431 2432extern int XDrawString16( 2433 Display* /* display */, 2434 Drawable /* d */, 2435 GC /* gc */, 2436 int /* x */, 2437 int /* y */, 2438 _Xconst XChar2b* /* string */, 2439 int /* length */ 2440); 2441 2442extern int XDrawText( 2443 Display* /* display */, 2444 Drawable /* d */, 2445 GC /* gc */, 2446 int /* x */, 2447 int /* y */, 2448 XTextItem* /* items */, 2449 int /* nitems */ 2450); 2451 2452extern int XDrawText16( 2453 Display* /* display */, 2454 Drawable /* d */, 2455 GC /* gc */, 2456 int /* x */, 2457 int /* y */, 2458 XTextItem16* /* items */, 2459 int /* nitems */ 2460); 2461 2462extern int XEnableAccessControl( 2463 Display* /* display */ 2464); 2465 2466extern int XEventsQueued( 2467 Display* /* display */, 2468 int /* mode */ 2469); 2470 2471extern Status XFetchName( 2472 Display* /* display */, 2473 Window /* w */, 2474 char** /* window_name_return */ 2475); 2476 2477extern int XFillArc( 2478 Display* /* display */, 2479 Drawable /* d */, 2480 GC /* gc */, 2481 int /* x */, 2482 int /* y */, 2483 unsigned int /* width */, 2484 unsigned int /* height */, 2485 int /* angle1 */, 2486 int /* angle2 */ 2487); 2488 2489extern int XFillArcs( 2490 Display* /* display */, 2491 Drawable /* d */, 2492 GC /* gc */, 2493 XArc* /* arcs */, 2494 int /* narcs */ 2495); 2496 2497extern int XFillPolygon( 2498 Display* /* display */, 2499 Drawable /* d */, 2500 GC /* gc */, 2501 XPoint* /* points */, 2502 int /* npoints */, 2503 int /* shape */, 2504 int /* mode */ 2505); 2506 2507extern int XFillRectangle( 2508 Display* /* display */, 2509 Drawable /* d */, 2510 GC /* gc */, 2511 int /* x */, 2512 int /* y */, 2513 unsigned int /* width */, 2514 unsigned int /* height */ 2515); 2516 2517extern int XFillRectangles( 2518 Display* /* display */, 2519 Drawable /* d */, 2520 GC /* gc */, 2521 XRectangle* /* rectangles */, 2522 int /* nrectangles */ 2523); 2524 2525extern int XFlush( 2526 Display* /* display */ 2527); 2528 2529extern int XForceScreenSaver( 2530 Display* /* display */, 2531 int /* mode */ 2532); 2533 2534extern int XFree( 2535 void* /* data */ 2536); 2537 2538extern int XFreeColormap( 2539 Display* /* display */, 2540 Colormap /* colormap */ 2541); 2542 2543extern int XFreeColors( 2544 Display* /* display */, 2545 Colormap /* colormap */, 2546 unsigned long* /* pixels */, 2547 int /* npixels */, 2548 unsigned long /* planes */ 2549); 2550 2551extern int XFreeCursor( 2552 Display* /* display */, 2553 Cursor /* cursor */ 2554); 2555 2556extern int XFreeExtensionList( 2557 char** /* list */ 2558); 2559 2560extern int XFreeFont( 2561 Display* /* display */, 2562 XFontStruct* /* font_struct */ 2563); 2564 2565extern int XFreeFontInfo( 2566 char** /* names */, 2567 XFontStruct* /* free_info */, 2568 int /* actual_count */ 2569); 2570 2571extern int XFreeFontNames( 2572 char** /* list */ 2573); 2574 2575extern int XFreeFontPath( 2576 char** /* list */ 2577); 2578 2579extern int XFreeGC( 2580 Display* /* display */, 2581 GC /* gc */ 2582); 2583 2584extern int XFreeModifiermap( 2585 XModifierKeymap* /* modmap */ 2586); 2587 2588extern int XFreePixmap( 2589 Display* /* display */, 2590 Pixmap /* pixmap */ 2591); 2592 2593extern int XGeometry( 2594 Display* /* display */, 2595 int /* screen */, 2596 _Xconst char* /* position */, 2597 _Xconst char* /* default_position */, 2598 unsigned int /* bwidth */, 2599 unsigned int /* fwidth */, 2600 unsigned int /* fheight */, 2601 int /* xadder */, 2602 int /* yadder */, 2603 int* /* x_return */, 2604 int* /* y_return */, 2605 int* /* width_return */, 2606 int* /* height_return */ 2607); 2608 2609extern int XGetErrorDatabaseText( 2610 Display* /* display */, 2611 _Xconst char* /* name */, 2612 _Xconst char* /* message */, 2613 _Xconst char* /* default_string */, 2614 char* /* buffer_return */, 2615 int /* length */ 2616); 2617 2618extern int XGetErrorText( 2619 Display* /* display */, 2620 int /* code */, 2621 char* /* buffer_return */, 2622 int /* length */ 2623); 2624 2625extern Bool XGetFontProperty( 2626 XFontStruct* /* font_struct */, 2627 Atom /* atom */, 2628 unsigned long* /* value_return */ 2629); 2630 2631extern Status XGetGCValues( 2632 Display* /* display */, 2633 GC /* gc */, 2634 unsigned long /* valuemask */, 2635 XGCValues* /* values_return */ 2636); 2637 2638extern Status XGetGeometry( 2639 Display* /* display */, 2640 Drawable /* d */, 2641 Window* /* root_return */, 2642 int* /* x_return */, 2643 int* /* y_return */, 2644 unsigned int* /* width_return */, 2645 unsigned int* /* height_return */, 2646 unsigned int* /* border_width_return */, 2647 unsigned int* /* depth_return */ 2648); 2649 2650extern Status XGetIconName( 2651 Display* /* display */, 2652 Window /* w */, 2653 char** /* icon_name_return */ 2654); 2655 2656extern int XGetInputFocus( 2657 Display* /* display */, 2658 Window* /* focus_return */, 2659 int* /* revert_to_return */ 2660); 2661 2662extern int XGetKeyboardControl( 2663 Display* /* display */, 2664 XKeyboardState* /* values_return */ 2665); 2666 2667extern int XGetPointerControl( 2668 Display* /* display */, 2669 int* /* accel_numerator_return */, 2670 int* /* accel_denominator_return */, 2671 int* /* threshold_return */ 2672); 2673 2674extern int XGetPointerMapping( 2675 Display* /* display */, 2676 unsigned char* /* map_return */, 2677 int /* nmap */ 2678); 2679 2680extern int XGetScreenSaver( 2681 Display* /* display */, 2682 int* /* timeout_return */, 2683 int* /* interval_return */, 2684 int* /* prefer_blanking_return */, 2685 int* /* allow_exposures_return */ 2686); 2687 2688extern Status XGetTransientForHint( 2689 Display* /* display */, 2690 Window /* w */, 2691 Window* /* prop_window_return */ 2692); 2693 2694extern int XGetWindowProperty( 2695 Display* /* display */, 2696 Window /* w */, 2697 Atom /* property */, 2698 long /* long_offset */, 2699 long /* long_length */, 2700 Bool /* delete */, 2701 Atom /* req_type */, 2702 Atom* /* actual_type_return */, 2703 int* /* actual_format_return */, 2704 unsigned long* /* nitems_return */, 2705 unsigned long* /* bytes_after_return */, 2706 unsigned char** /* prop_return */ 2707); 2708 2709extern Status XGetWindowAttributes( 2710 Display* /* display */, 2711 Window /* w */, 2712 XWindowAttributes* /* window_attributes_return */ 2713); 2714 2715extern int XGrabButton( 2716 Display* /* display */, 2717 unsigned int /* button */, 2718 unsigned int /* modifiers */, 2719 Window /* grab_window */, 2720 Bool /* owner_events */, 2721 unsigned int /* event_mask */, 2722 int /* pointer_mode */, 2723 int /* keyboard_mode */, 2724 Window /* confine_to */, 2725 Cursor /* cursor */ 2726); 2727 2728extern int XGrabKey( 2729 Display* /* display */, 2730 int /* keycode */, 2731 unsigned int /* modifiers */, 2732 Window /* grab_window */, 2733 Bool /* owner_events */, 2734 int /* pointer_mode */, 2735 int /* keyboard_mode */ 2736); 2737 2738extern int XGrabKeyboard( 2739 Display* /* display */, 2740 Window /* grab_window */, 2741 Bool /* owner_events */, 2742 int /* pointer_mode */, 2743 int /* keyboard_mode */, 2744 Time /* time */ 2745); 2746 2747extern int XGrabPointer( 2748 Display* /* display */, 2749 Window /* grab_window */, 2750 Bool /* owner_events */, 2751 unsigned int /* event_mask */, 2752 int /* pointer_mode */, 2753 int /* keyboard_mode */, 2754 Window /* confine_to */, 2755 Cursor /* cursor */, 2756 Time /* time */ 2757); 2758 2759extern int XGrabServer( 2760 Display* /* display */ 2761); 2762 2763extern int XHeightMMOfScreen( 2764 Screen* /* screen */ 2765); 2766 2767extern int XHeightOfScreen( 2768 Screen* /* screen */ 2769); 2770 2771extern int XIfEvent( 2772 Display* /* display */, 2773 XEvent* /* event_return */, 2774 Bool (*) ( 2775 Display* /* display */, 2776 XEvent* /* event */, 2777 XPointer /* arg */ 2778 ) /* predicate */, 2779 XPointer /* arg */ 2780); 2781 2782extern int XImageByteOrder( 2783 Display* /* display */ 2784); 2785 2786extern int XInstallColormap( 2787 Display* /* display */, 2788 Colormap /* colormap */ 2789); 2790 2791extern KeyCode XKeysymToKeycode( 2792 Display* /* display */, 2793 KeySym /* keysym */ 2794); 2795 2796extern int XKillClient( 2797 Display* /* display */, 2798 XID /* resource */ 2799); 2800 2801extern Status XLookupColor( 2802 Display* /* display */, 2803 Colormap /* colormap */, 2804 _Xconst char* /* color_name */, 2805 XColor* /* exact_def_return */, 2806 XColor* /* screen_def_return */ 2807); 2808 2809extern int XLowerWindow( 2810 Display* /* display */, 2811 Window /* w */ 2812); 2813 2814extern int XMapRaised( 2815 Display* /* display */, 2816 Window /* w */ 2817); 2818 2819extern int XMapSubwindows( 2820 Display* /* display */, 2821 Window /* w */ 2822); 2823 2824extern int XMapWindow( 2825 Display* /* display */, 2826 Window /* w */ 2827); 2828 2829extern int XMaskEvent( 2830 Display* /* display */, 2831 long /* event_mask */, 2832 XEvent* /* event_return */ 2833); 2834 2835extern int XMaxCmapsOfScreen( 2836 Screen* /* screen */ 2837); 2838 2839extern int XMinCmapsOfScreen( 2840 Screen* /* screen */ 2841); 2842 2843extern int XMoveResizeWindow( 2844 Display* /* display */, 2845 Window /* w */, 2846 int /* x */, 2847 int /* y */, 2848 unsigned int /* width */, 2849 unsigned int /* height */ 2850); 2851 2852extern int XMoveWindow( 2853 Display* /* display */, 2854 Window /* w */, 2855 int /* x */, 2856 int /* y */ 2857); 2858 2859extern int XNextEvent( 2860 Display* /* display */, 2861 XEvent* /* event_return */ 2862); 2863 2864extern int XNoOp( 2865 Display* /* display */ 2866); 2867 2868extern Status XParseColor( 2869 Display* /* display */, 2870 Colormap /* colormap */, 2871 _Xconst char* /* spec */, 2872 XColor* /* exact_def_return */ 2873); 2874 2875extern int XParseGeometry( 2876 _Xconst char* /* parsestring */, 2877 int* /* x_return */, 2878 int* /* y_return */, 2879 unsigned int* /* width_return */, 2880 unsigned int* /* height_return */ 2881); 2882 2883extern int XPeekEvent( 2884 Display* /* display */, 2885 XEvent* /* event_return */ 2886); 2887 2888extern int XPeekIfEvent( 2889 Display* /* display */, 2890 XEvent* /* event_return */, 2891 Bool (*) ( 2892 Display* /* display */, 2893 XEvent* /* event */, 2894 XPointer /* arg */ 2895 ) /* predicate */, 2896 XPointer /* arg */ 2897); 2898 2899extern int XPending( 2900 Display* /* display */ 2901); 2902 2903extern int XPlanesOfScreen( 2904 Screen* /* screen */ 2905); 2906 2907extern int XProtocolRevision( 2908 Display* /* display */ 2909); 2910 2911extern int XProtocolVersion( 2912 Display* /* display */ 2913); 2914 2915 2916extern int XPutBackEvent( 2917 Display* /* display */, 2918 XEvent* /* event */ 2919); 2920 2921extern int XPutImage( 2922 Display* /* display */, 2923 Drawable /* d */, 2924 GC /* gc */, 2925 XImage* /* image */, 2926 int /* src_x */, 2927 int /* src_y */, 2928 int /* dest_x */, 2929 int /* dest_y */, 2930 unsigned int /* width */, 2931 unsigned int /* height */ 2932); 2933 2934extern int XQLength( 2935 Display* /* display */ 2936); 2937 2938extern Status XQueryBestCursor( 2939 Display* /* display */, 2940 Drawable /* d */, 2941 unsigned int /* width */, 2942 unsigned int /* height */, 2943 unsigned int* /* width_return */, 2944 unsigned int* /* height_return */ 2945); 2946 2947extern Status XQueryBestSize( 2948 Display* /* display */, 2949 int /* class */, 2950 Drawable /* which_screen */, 2951 unsigned int /* width */, 2952 unsigned int /* height */, 2953 unsigned int* /* width_return */, 2954 unsigned int* /* height_return */ 2955); 2956 2957extern Status XQueryBestStipple( 2958 Display* /* display */, 2959 Drawable /* which_screen */, 2960 unsigned int /* width */, 2961 unsigned int /* height */, 2962 unsigned int* /* width_return */, 2963 unsigned int* /* height_return */ 2964); 2965 2966extern Status XQueryBestTile( 2967 Display* /* display */, 2968 Drawable /* which_screen */, 2969 unsigned int /* width */, 2970 unsigned int /* height */, 2971 unsigned int* /* width_return */, 2972 unsigned int* /* height_return */ 2973); 2974 2975extern int XQueryColor( 2976 Display* /* display */, 2977 Colormap /* colormap */, 2978 XColor* /* def_in_out */ 2979); 2980 2981extern int XQueryColors( 2982 Display* /* display */, 2983 Colormap /* colormap */, 2984 XColor* /* defs_in_out */, 2985 int /* ncolors */ 2986); 2987 2988extern Bool XQueryExtension( 2989 Display* /* display */, 2990 _Xconst char* /* name */, 2991 int* /* major_opcode_return */, 2992 int* /* first_event_return */, 2993 int* /* first_error_return */ 2994); 2995 2996extern int XQueryKeymap( 2997 Display* /* display */, 2998 char [32] /* keys_return */ 2999); 3000 3001extern Bool XQueryPointer( 3002 Display* /* display */, 3003 Window /* w */, 3004 Window* /* root_return */, 3005 Window* /* child_return */, 3006 int* /* root_x_return */, 3007 int* /* root_y_return */, 3008 int* /* win_x_return */, 3009 int* /* win_y_return */, 3010 unsigned int* /* mask_return */ 3011); 3012 3013extern int XQueryTextExtents( 3014 Display* /* display */, 3015 XID /* font_ID */, 3016 _Xconst char* /* string */, 3017 int /* nchars */, 3018 int* /* direction_return */, 3019 int* /* font_ascent_return */, 3020 int* /* font_descent_return */, 3021 XCharStruct* /* overall_return */ 3022); 3023 3024extern int XQueryTextExtents16( 3025 Display* /* display */, 3026 XID /* font_ID */, 3027 _Xconst XChar2b* /* string */, 3028 int /* nchars */, 3029 int* /* direction_return */, 3030 int* /* font_ascent_return */, 3031 int* /* font_descent_return */, 3032 XCharStruct* /* overall_return */ 3033); 3034 3035extern Status XQueryTree( 3036 Display* /* display */, 3037 Window /* w */, 3038 Window* /* root_return */, 3039 Window* /* parent_return */, 3040 Window** /* children_return */, 3041 unsigned int* /* nchildren_return */ 3042); 3043 3044extern int XRaiseWindow( 3045 Display* /* display */, 3046 Window /* w */ 3047); 3048 3049extern int XReadBitmapFile( 3050 Display* /* display */, 3051 Drawable /* d */, 3052 _Xconst char* /* filename */, 3053 unsigned int* /* width_return */, 3054 unsigned int* /* height_return */, 3055 Pixmap* /* bitmap_return */, 3056 int* /* x_hot_return */, 3057 int* /* y_hot_return */ 3058); 3059 3060extern int XReadBitmapFileData( 3061 _Xconst char* /* filename */, 3062 unsigned int* /* width_return */, 3063 unsigned int* /* height_return */, 3064 unsigned char** /* data_return */, 3065 int* /* x_hot_return */, 3066 int* /* y_hot_return */ 3067); 3068 3069extern int XRebindKeysym( 3070 Display* /* display */, 3071 KeySym /* keysym */, 3072 KeySym* /* list */, 3073 int /* mod_count */, 3074 _Xconst unsigned char* /* string */, 3075 int /* bytes_string */ 3076); 3077 3078extern int XRecolorCursor( 3079 Display* /* display */, 3080 Cursor /* cursor */, 3081 XColor* /* foreground_color */, 3082 XColor* /* background_color */ 3083); 3084 3085extern int XRefreshKeyboardMapping( 3086 XMappingEvent* /* event_map */ 3087); 3088 3089extern int XRemoveFromSaveSet( 3090 Display* /* display */, 3091 Window /* w */ 3092); 3093 3094extern int XRemoveHost( 3095 Display* /* display */, 3096 XHostAddress* /* host */ 3097); 3098 3099extern int XRemoveHosts( 3100 Display* /* display */, 3101 XHostAddress* /* hosts */, 3102 int /* num_hosts */ 3103); 3104 3105extern int XReparentWindow( 3106 Display* /* display */, 3107 Window /* w */, 3108 Window /* parent */, 3109 int /* x */, 3110 int /* y */ 3111); 3112 3113extern int XResetScreenSaver( 3114 Display* /* display */ 3115); 3116 3117extern int XResizeWindow( 3118 Display* /* display */, 3119 Window /* w */, 3120 unsigned int /* width */, 3121 unsigned int /* height */ 3122); 3123 3124extern int XRestackWindows( 3125 Display* /* display */, 3126 Window* /* windows */, 3127 int /* nwindows */ 3128); 3129 3130extern int XRotateBuffers( 3131 Display* /* display */, 3132 int /* rotate */ 3133); 3134 3135extern int XRotateWindowProperties( 3136 Display* /* display */, 3137 Window /* w */, 3138 Atom* /* properties */, 3139 int /* num_prop */, 3140 int /* npositions */ 3141); 3142 3143extern int XScreenCount( 3144 Display* /* display */ 3145); 3146 3147extern int XSelectInput( 3148 Display* /* display */, 3149 Window /* w */, 3150 long /* event_mask */ 3151); 3152 3153extern Status XSendEvent( 3154 Display* /* display */, 3155 Window /* w */, 3156 Bool /* propagate */, 3157 long /* event_mask */, 3158 XEvent* /* event_send */ 3159); 3160 3161extern int XSetAccessControl( 3162 Display* /* display */, 3163 int /* mode */ 3164); 3165 3166extern int XSetArcMode( 3167 Display* /* display */, 3168 GC /* gc */, 3169 int /* arc_mode */ 3170); 3171 3172extern int XSetBackground( 3173 Display* /* display */, 3174 GC /* gc */, 3175 unsigned long /* background */ 3176); 3177 3178extern int XSetClipMask( 3179 Display* /* display */, 3180 GC /* gc */, 3181 Pixmap /* pixmap */ 3182); 3183 3184extern int XSetClipOrigin( 3185 Display* /* display */, 3186 GC /* gc */, 3187 int /* clip_x_origin */, 3188 int /* clip_y_origin */ 3189); 3190 3191extern int XSetClipRectangles( 3192 Display* /* display */, 3193 GC /* gc */, 3194 int /* clip_x_origin */, 3195 int /* clip_y_origin */, 3196 XRectangle* /* rectangles */, 3197 int /* n */, 3198 int /* ordering */ 3199); 3200 3201extern int XSetCloseDownMode( 3202 Display* /* display */, 3203 int /* close_mode */ 3204); 3205 3206extern int XSetCommand( 3207 Display* /* display */, 3208 Window /* w */, 3209 char** /* argv */, 3210 int /* argc */ 3211); 3212 3213extern int XSetDashes( 3214 Display* /* display */, 3215 GC /* gc */, 3216 int /* dash_offset */, 3217 _Xconst char* /* dash_list */, 3218 int /* n */ 3219); 3220 3221extern int XSetFillRule( 3222 Display* /* display */, 3223 GC /* gc */, 3224 int /* fill_rule */ 3225); 3226 3227extern int XSetFillStyle( 3228 Display* /* display */, 3229 GC /* gc */, 3230 int /* fill_style */ 3231); 3232 3233extern int XSetFont( 3234 Display* /* display */, 3235 GC /* gc */, 3236 Font /* font */ 3237); 3238 3239extern int XSetFontPath( 3240 Display* /* display */, 3241 char** /* directories */, 3242 int /* ndirs */ 3243); 3244 3245extern int XSetForeground( 3246 Display* /* display */, 3247 GC /* gc */, 3248 unsigned long /* foreground */ 3249); 3250 3251extern int XSetFunction( 3252 Display* /* display */, 3253 GC /* gc */, 3254 int /* function */ 3255); 3256 3257extern int XSetGraphicsExposures( 3258 Display* /* display */, 3259 GC /* gc */, 3260 Bool /* graphics_exposures */ 3261); 3262 3263extern int XSetIconName( 3264 Display* /* display */, 3265 Window /* w */, 3266 _Xconst char* /* icon_name */ 3267); 3268 3269extern int XSetInputFocus( 3270 Display* /* display */, 3271 Window /* focus */, 3272 int /* revert_to */, 3273 Time /* time */ 3274); 3275 3276extern int XSetLineAttributes( 3277 Display* /* display */, 3278 GC /* gc */, 3279 unsigned int /* line_width */, 3280 int /* line_style */, 3281 int /* cap_style */, 3282 int /* join_style */ 3283); 3284 3285extern int XSetModifierMapping( 3286 Display* /* display */, 3287 XModifierKeymap* /* modmap */ 3288); 3289 3290extern int XSetPlaneMask( 3291 Display* /* display */, 3292 GC /* gc */, 3293 unsigned long /* plane_mask */ 3294); 3295 3296extern int XSetPointerMapping( 3297 Display* /* display */, 3298 _Xconst unsigned char* /* map */, 3299 int /* nmap */ 3300); 3301 3302extern int XSetScreenSaver( 3303 Display* /* display */, 3304 int /* timeout */, 3305 int /* interval */, 3306 int /* prefer_blanking */, 3307 int /* allow_exposures */ 3308); 3309 3310extern int XSetSelectionOwner( 3311 Display* /* display */, 3312 Atom /* selection */, 3313 Window /* owner */, 3314 Time /* time */ 3315); 3316 3317extern int XSetState( 3318 Display* /* display */, 3319 GC /* gc */, 3320 unsigned long /* foreground */, 3321 unsigned long /* background */, 3322 int /* function */, 3323 unsigned long /* plane_mask */ 3324); 3325 3326extern int XSetStipple( 3327 Display* /* display */, 3328 GC /* gc */, 3329 Pixmap /* stipple */ 3330); 3331 3332extern int XSetSubwindowMode( 3333 Display* /* display */, 3334 GC /* gc */, 3335 int /* subwindow_mode */ 3336); 3337 3338extern int XSetTSOrigin( 3339 Display* /* display */, 3340 GC /* gc */, 3341 int /* ts_x_origin */, 3342 int /* ts_y_origin */ 3343); 3344 3345extern int XSetTile( 3346 Display* /* display */, 3347 GC /* gc */, 3348 Pixmap /* tile */ 3349); 3350 3351extern int XSetWindowBackground( 3352 Display* /* display */, 3353 Window /* w */, 3354 unsigned long /* background_pixel */ 3355); 3356 3357extern int XSetWindowBackgroundPixmap( 3358 Display* /* display */, 3359 Window /* w */, 3360 Pixmap /* background_pixmap */ 3361); 3362 3363extern int XSetWindowBorder( 3364 Display* /* display */, 3365 Window /* w */, 3366 unsigned long /* border_pixel */ 3367); 3368 3369extern int XSetWindowBorderPixmap( 3370 Display* /* display */, 3371 Window /* w */, 3372 Pixmap /* border_pixmap */ 3373); 3374 3375extern int XSetWindowBorderWidth( 3376 Display* /* display */, 3377 Window /* w */, 3378 unsigned int /* width */ 3379); 3380 3381extern int XSetWindowColormap( 3382 Display* /* display */, 3383 Window /* w */, 3384 Colormap /* colormap */ 3385); 3386 3387extern int XStoreBuffer( 3388 Display* /* display */, 3389 _Xconst char* /* bytes */, 3390 int /* nbytes */, 3391 int /* buffer */ 3392); 3393 3394extern int XStoreBytes( 3395 Display* /* display */, 3396 _Xconst char* /* bytes */, 3397 int /* nbytes */ 3398); 3399 3400extern int XStoreColor( 3401 Display* /* display */, 3402 Colormap /* colormap */, 3403 XColor* /* color */ 3404); 3405 3406extern int XStoreColors( 3407 Display* /* display */, 3408 Colormap /* colormap */, 3409 XColor* /* color */, 3410 int /* ncolors */ 3411); 3412 3413extern int XStoreName( 3414 Display* /* display */, 3415 Window /* w */, 3416 _Xconst char* /* window_name */ 3417); 3418 3419extern int XStoreNamedColor( 3420 Display* /* display */, 3421 Colormap /* colormap */, 3422 _Xconst char* /* color */, 3423 unsigned long /* pixel */, 3424 int /* flags */ 3425); 3426 3427extern int XSync( 3428 Display* /* display */, 3429 Bool /* discard */ 3430); 3431 3432extern int XTextExtents( 3433 XFontStruct* /* font_struct */, 3434 _Xconst char* /* string */, 3435 int /* nchars */, 3436 int* /* direction_return */, 3437 int* /* font_ascent_return */, 3438 int* /* font_descent_return */, 3439 XCharStruct* /* overall_return */ 3440); 3441 3442extern int XTextExtents16( 3443 XFontStruct* /* font_struct */, 3444 _Xconst XChar2b* /* string */, 3445 int /* nchars */, 3446 int* /* direction_return */, 3447 int* /* font_ascent_return */, 3448 int* /* font_descent_return */, 3449 XCharStruct* /* overall_return */ 3450); 3451 3452extern int XTextWidth( 3453 XFontStruct* /* font_struct */, 3454 _Xconst char* /* string */, 3455 int /* count */ 3456); 3457 3458extern int XTextWidth16( 3459 XFontStruct* /* font_struct */, 3460 _Xconst XChar2b* /* string */, 3461 int /* count */ 3462); 3463 3464extern Bool XTranslateCoordinates( 3465 Display* /* display */, 3466 Window /* src_w */, 3467 Window /* dest_w */, 3468 int /* src_x */, 3469 int /* src_y */, 3470 int* /* dest_x_return */, 3471 int* /* dest_y_return */, 3472 Window* /* child_return */ 3473); 3474 3475extern int XUndefineCursor( 3476 Display* /* display */, 3477 Window /* w */ 3478); 3479 3480extern int XUngrabButton( 3481 Display* /* display */, 3482 unsigned int /* button */, 3483 unsigned int /* modifiers */, 3484 Window /* grab_window */ 3485); 3486 3487extern int XUngrabKey( 3488 Display* /* display */, 3489 int /* keycode */, 3490 unsigned int /* modifiers */, 3491 Window /* grab_window */ 3492); 3493 3494extern int XUngrabKeyboard( 3495 Display* /* display */, 3496 Time /* time */ 3497); 3498 3499extern int XUngrabPointer( 3500 Display* /* display */, 3501 Time /* time */ 3502); 3503 3504extern int XUngrabServer( 3505 Display* /* display */ 3506); 3507 3508extern int XUninstallColormap( 3509 Display* /* display */, 3510 Colormap /* colormap */ 3511); 3512 3513extern int XUnloadFont( 3514 Display* /* display */, 3515 Font /* font */ 3516); 3517 3518extern int XUnmapSubwindows( 3519 Display* /* display */, 3520 Window /* w */ 3521); 3522 3523extern int XUnmapWindow( 3524 Display* /* display */, 3525 Window /* w */ 3526); 3527 3528extern int XVendorRelease( 3529 Display* /* display */ 3530); 3531 3532extern int XWarpPointer( 3533 Display* /* display */, 3534 Window /* src_w */, 3535 Window /* dest_w */, 3536 int /* src_x */, 3537 int /* src_y */, 3538 unsigned int /* src_width */, 3539 unsigned int /* src_height */, 3540 int /* dest_x */, 3541 int /* dest_y */ 3542); 3543 3544extern int XWidthMMOfScreen( 3545 Screen* /* screen */ 3546); 3547 3548extern int XWidthOfScreen( 3549 Screen* /* screen */ 3550); 3551 3552extern int XWindowEvent( 3553 Display* /* display */, 3554 Window /* w */, 3555 long /* event_mask */, 3556 XEvent* /* event_return */ 3557); 3558 3559extern int XWriteBitmapFile( 3560 Display* /* display */, 3561 _Xconst char* /* filename */, 3562 Pixmap /* bitmap */, 3563 unsigned int /* width */, 3564 unsigned int /* height */, 3565 int /* x_hot */, 3566 int /* y_hot */ 3567); 3568 3569extern Bool XSupportsLocale (void); 3570 3571extern char *XSetLocaleModifiers( 3572 const char* /* modifier_list */ 3573); 3574 3575extern XOM XOpenOM( 3576 Display* /* display */, 3577 struct _XrmHashBucketRec* /* rdb */, 3578 _Xconst char* /* res_name */, 3579 _Xconst char* /* res_class */ 3580); 3581 3582extern Status XCloseOM( 3583 XOM /* om */ 3584); 3585 3586extern char *XSetOMValues( 3587 XOM /* om */, 3588 ... 3589) _X_SENTINEL(0); 3590 3591extern char *XGetOMValues( 3592 XOM /* om */, 3593 ... 3594) _X_SENTINEL(0); 3595 3596extern Display *XDisplayOfOM( 3597 XOM /* om */ 3598); 3599 3600extern char *XLocaleOfOM( 3601 XOM /* om */ 3602); 3603 3604extern XOC XCreateOC( 3605 XOM /* om */, 3606 ... 3607) _X_SENTINEL(0); 3608 3609extern void XDestroyOC( 3610 XOC /* oc */ 3611); 3612 3613extern XOM XOMOfOC( 3614 XOC /* oc */ 3615); 3616 3617extern char *XSetOCValues( 3618 XOC /* oc */, 3619 ... 3620) _X_SENTINEL(0); 3621 3622extern char *XGetOCValues( 3623 XOC /* oc */, 3624 ... 3625) _X_SENTINEL(0); 3626 3627extern XFontSet XCreateFontSet( 3628 Display* /* display */, 3629 _Xconst char* /* base_font_name_list */, 3630 char*** /* missing_charset_list */, 3631 int* /* missing_charset_count */, 3632 char** /* def_string */ 3633); 3634 3635extern void XFreeFontSet( 3636 Display* /* display */, 3637 XFontSet /* font_set */ 3638); 3639 3640extern int XFontsOfFontSet( 3641 XFontSet /* font_set */, 3642 XFontStruct*** /* font_struct_list */, 3643 char*** /* font_name_list */ 3644); 3645 3646extern char *XBaseFontNameListOfFontSet( 3647 XFontSet /* font_set */ 3648); 3649 3650extern char *XLocaleOfFontSet( 3651 XFontSet /* font_set */ 3652); 3653 3654extern Bool XContextDependentDrawing( 3655 XFontSet /* font_set */ 3656); 3657 3658extern Bool XDirectionalDependentDrawing( 3659 XFontSet /* font_set */ 3660); 3661 3662extern Bool XContextualDrawing( 3663 XFontSet /* font_set */ 3664); 3665 3666extern XFontSetExtents *XExtentsOfFontSet( 3667 XFontSet /* font_set */ 3668); 3669 3670extern int XmbTextEscapement( 3671 XFontSet /* font_set */, 3672 _Xconst char* /* text */, 3673 int /* bytes_text */ 3674); 3675 3676extern int XwcTextEscapement( 3677 XFontSet /* font_set */, 3678 _Xconst wchar_t* /* text */, 3679 int /* num_wchars */ 3680); 3681 3682extern int Xutf8TextEscapement( 3683 XFontSet /* font_set */, 3684 _Xconst char* /* text */, 3685 int /* bytes_text */ 3686); 3687 3688extern int XmbTextExtents( 3689 XFontSet /* font_set */, 3690 _Xconst char* /* text */, 3691 int /* bytes_text */, 3692 XRectangle* /* overall_ink_return */, 3693 XRectangle* /* overall_logical_return */ 3694); 3695 3696extern int XwcTextExtents( 3697 XFontSet /* font_set */, 3698 _Xconst wchar_t* /* text */, 3699 int /* num_wchars */, 3700 XRectangle* /* overall_ink_return */, 3701 XRectangle* /* overall_logical_return */ 3702); 3703 3704extern int Xutf8TextExtents( 3705 XFontSet /* font_set */, 3706 _Xconst char* /* text */, 3707 int /* bytes_text */, 3708 XRectangle* /* overall_ink_return */, 3709 XRectangle* /* overall_logical_return */ 3710); 3711 3712extern Status XmbTextPerCharExtents( 3713 XFontSet /* font_set */, 3714 _Xconst char* /* text */, 3715 int /* bytes_text */, 3716 XRectangle* /* ink_extents_buffer */, 3717 XRectangle* /* logical_extents_buffer */, 3718 int /* buffer_size */, 3719 int* /* num_chars */, 3720 XRectangle* /* overall_ink_return */, 3721 XRectangle* /* overall_logical_return */ 3722); 3723 3724extern Status XwcTextPerCharExtents( 3725 XFontSet /* font_set */, 3726 _Xconst wchar_t* /* text */, 3727 int /* num_wchars */, 3728 XRectangle* /* ink_extents_buffer */, 3729 XRectangle* /* logical_extents_buffer */, 3730 int /* buffer_size */, 3731 int* /* num_chars */, 3732 XRectangle* /* overall_ink_return */, 3733 XRectangle* /* overall_logical_return */ 3734); 3735 3736extern Status Xutf8TextPerCharExtents( 3737 XFontSet /* font_set */, 3738 _Xconst char* /* text */, 3739 int /* bytes_text */, 3740 XRectangle* /* ink_extents_buffer */, 3741 XRectangle* /* logical_extents_buffer */, 3742 int /* buffer_size */, 3743 int* /* num_chars */, 3744 XRectangle* /* overall_ink_return */, 3745 XRectangle* /* overall_logical_return */ 3746); 3747 3748extern void XmbDrawText( 3749 Display* /* display */, 3750 Drawable /* d */, 3751 GC /* gc */, 3752 int /* x */, 3753 int /* y */, 3754 XmbTextItem* /* text_items */, 3755 int /* nitems */ 3756); 3757 3758extern void XwcDrawText( 3759 Display* /* display */, 3760 Drawable /* d */, 3761 GC /* gc */, 3762 int /* x */, 3763 int /* y */, 3764 XwcTextItem* /* text_items */, 3765 int /* nitems */ 3766); 3767 3768extern void Xutf8DrawText( 3769 Display* /* display */, 3770 Drawable /* d */, 3771 GC /* gc */, 3772 int /* x */, 3773 int /* y */, 3774 XmbTextItem* /* text_items */, 3775 int /* nitems */ 3776); 3777 3778extern void XmbDrawString( 3779 Display* /* display */, 3780 Drawable /* d */, 3781 XFontSet /* font_set */, 3782 GC /* gc */, 3783 int /* x */, 3784 int /* y */, 3785 _Xconst char* /* text */, 3786 int /* bytes_text */ 3787); 3788 3789extern void XwcDrawString( 3790 Display* /* display */, 3791 Drawable /* d */, 3792 XFontSet /* font_set */, 3793 GC /* gc */, 3794 int /* x */, 3795 int /* y */, 3796 _Xconst wchar_t* /* text */, 3797 int /* num_wchars */ 3798); 3799 3800extern void Xutf8DrawString( 3801 Display* /* display */, 3802 Drawable /* d */, 3803 XFontSet /* font_set */, 3804 GC /* gc */, 3805 int /* x */, 3806 int /* y */, 3807 _Xconst char* /* text */, 3808 int /* bytes_text */ 3809); 3810 3811extern void XmbDrawImageString( 3812 Display* /* display */, 3813 Drawable /* d */, 3814 XFontSet /* font_set */, 3815 GC /* gc */, 3816 int /* x */, 3817 int /* y */, 3818 _Xconst char* /* text */, 3819 int /* bytes_text */ 3820); 3821 3822extern void XwcDrawImageString( 3823 Display* /* display */, 3824 Drawable /* d */, 3825 XFontSet /* font_set */, 3826 GC /* gc */, 3827 int /* x */, 3828 int /* y */, 3829 _Xconst wchar_t* /* text */, 3830 int /* num_wchars */ 3831); 3832 3833extern void Xutf8DrawImageString( 3834 Display* /* display */, 3835 Drawable /* d */, 3836 XFontSet /* font_set */, 3837 GC /* gc */, 3838 int /* x */, 3839 int /* y */, 3840 _Xconst char* /* text */, 3841 int /* bytes_text */ 3842); 3843 3844extern XIM XOpenIM( 3845 Display* /* dpy */, 3846 struct _XrmHashBucketRec* /* rdb */, 3847 char* /* res_name */, 3848 char* /* res_class */ 3849); 3850 3851extern Status XCloseIM( 3852 XIM /* im */ 3853); 3854 3855extern char *XGetIMValues( 3856 XIM /* im */, ... 3857) _X_SENTINEL(0); 3858 3859extern char *XSetIMValues( 3860 XIM /* im */, ... 3861) _X_SENTINEL(0); 3862 3863extern Display *XDisplayOfIM( 3864 XIM /* im */ 3865); 3866 3867extern char *XLocaleOfIM( 3868 XIM /* im*/ 3869); 3870 3871extern XIC XCreateIC( 3872 XIM /* im */, ... 3873) _X_SENTINEL(0); 3874 3875extern void XDestroyIC( 3876 XIC /* ic */ 3877); 3878 3879extern void XSetICFocus( 3880 XIC /* ic */ 3881); 3882 3883extern void XUnsetICFocus( 3884 XIC /* ic */ 3885); 3886 3887extern wchar_t *XwcResetIC( 3888 XIC /* ic */ 3889); 3890 3891extern char *XmbResetIC( 3892 XIC /* ic */ 3893); 3894 3895extern char *Xutf8ResetIC( 3896 XIC /* ic */ 3897); 3898 3899extern char *XSetICValues( 3900 XIC /* ic */, ... 3901) _X_SENTINEL(0); 3902 3903extern char *XGetICValues( 3904 XIC /* ic */, ... 3905) _X_SENTINEL(0); 3906 3907extern XIM XIMOfIC( 3908 XIC /* ic */ 3909); 3910 3911extern Bool XFilterEvent( 3912 XEvent* /* event */, 3913 Window /* window */ 3914); 3915 3916extern int XmbLookupString( 3917 XIC /* ic */, 3918 XKeyPressedEvent* /* event */, 3919 char* /* buffer_return */, 3920 int /* bytes_buffer */, 3921 KeySym* /* keysym_return */, 3922 Status* /* status_return */ 3923); 3924 3925extern int XwcLookupString( 3926 XIC /* ic */, 3927 XKeyPressedEvent* /* event */, 3928 wchar_t* /* buffer_return */, 3929 int /* wchars_buffer */, 3930 KeySym* /* keysym_return */, 3931 Status* /* status_return */ 3932); 3933 3934extern int Xutf8LookupString( 3935 XIC /* ic */, 3936 XKeyPressedEvent* /* event */, 3937 char* /* buffer_return */, 3938 int /* bytes_buffer */, 3939 KeySym* /* keysym_return */, 3940 Status* /* status_return */ 3941); 3942 3943extern XVaNestedList XVaCreateNestedList( 3944 int /*unused*/, ... 3945) _X_SENTINEL(0); 3946 3947/* internal connections for IMs */ 3948 3949extern Bool XRegisterIMInstantiateCallback( 3950 Display* /* dpy */, 3951 struct _XrmHashBucketRec* /* rdb */, 3952 char* /* res_name */, 3953 char* /* res_class */, 3954 XIDProc /* callback */, 3955 XPointer /* client_data */ 3956); 3957 3958extern Bool XUnregisterIMInstantiateCallback( 3959 Display* /* dpy */, 3960 struct _XrmHashBucketRec* /* rdb */, 3961 char* /* res_name */, 3962 char* /* res_class */, 3963 XIDProc /* callback */, 3964 XPointer /* client_data */ 3965); 3966 3967typedef void (*XConnectionWatchProc)( 3968 Display* /* dpy */, 3969 XPointer /* client_data */, 3970 int /* fd */, 3971 Bool /* opening */, /* open or close flag */ 3972 XPointer* /* watch_data */ /* open sets, close uses */ 3973); 3974 3975 3976extern Status XInternalConnectionNumbers( 3977 Display* /* dpy */, 3978 int** /* fd_return */, 3979 int* /* count_return */ 3980); 3981 3982extern void XProcessInternalConnection( 3983 Display* /* dpy */, 3984 int /* fd */ 3985); 3986 3987extern Status XAddConnectionWatch( 3988 Display* /* dpy */, 3989 XConnectionWatchProc /* callback */, 3990 XPointer /* client_data */ 3991); 3992 3993extern void XRemoveConnectionWatch( 3994 Display* /* dpy */, 3995 XConnectionWatchProc /* callback */, 3996 XPointer /* client_data */ 3997); 3998 3999extern void XSetAuthorization( 4000 char * /* name */, 4001 int /* namelen */, 4002 char * /* data */, 4003 int /* datalen */ 4004); 4005 4006extern int _Xmbtowc( 4007 wchar_t * /* wstr */, 4008#ifdef ISC 4009 char const * /* str */, 4010 size_t /* len */ 4011#else 4012 char * /* str */, 4013 int /* len */ 4014#endif 4015); 4016 4017extern int _Xwctomb( 4018 char * /* str */, 4019 wchar_t /* wc */ 4020); 4021 4022_XFUNCPROTOEND 4023 4024#endif /* _XLIB_H_ */ 4025