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