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