1 /* 2 __ 3 / _| 4 __ _ _ _ _ __ ___ _ __ __ _ | |_ ___ ___ ___ 5 / _` | | | | '__/ _ \| '__/ _` | | _/ _ \/ __/ __| 6 | (_| | |_| | | | (_) | | | (_| | | || (_) \__ \__ \ 7 \__,_|\__,_|_| \___/|_| \__,_| |_| \___/|___/___/ 8 9 Copyright (C) 2018-2019 Aurora Free Open Source Software. 10 11 This file is part of the Aurora Free Open Source Software. This 12 organization promote free and open source software that you can 13 redistribute and/or modify under the terms of the GNU Lesser General 14 Public License Version 3 as published by the Free Software Foundation or 15 (at your option) any later version approved by the Aurora Free Open Source 16 Software Organization. The license is available in the package root path 17 as 'LICENSE' file. Please review the following information to ensure the 18 GNU Lesser General Public License version 3 requirements will be met: 19 https://www.gnu.org/licenses/lgpl.html . 20 21 Alternatively, this file may be used under the terms of the GNU General 22 Public License version 3 or later as published by the Free Software 23 Foundation. Please review the following information to ensure the GNU 24 General Public License requirements will be met: 25 http://www.gnu.org/licenses/gpl-3.0.html. 26 27 NOTE: All products, services or anything associated to trademarks and 28 service marks used or referenced on this file are the property of their 29 respective companies/owners or its subsidiaries. Other names and brands 30 may be claimed as the property of others. 31 32 For more info about intellectual property visit: aurorafoss.org or 33 directly send an email to: contact (at) aurorafoss.org . 34 */ 35 36 module riverd.x11.types; 37 38 import core.stdc.config; 39 import core.stdc.stddef; 40 41 alias int Bool; 42 alias int Status; 43 alias uint VisualID; 44 alias byte* XPointer; 45 46 alias void Display; 47 alias uint XID; 48 alias XID Window; 49 alias XID Drawable; 50 alias XID Font; 51 alias XID Pixmap; 52 alias XID Cursor; 53 alias XID Colormap; 54 alias XID GContext; 55 alias XID KeySym; 56 57 struct Visual 58 { 59 XExtData* ext_data; 60 VisualID visualid; 61 int _class; 62 uint red_mask, green_mask, blue_mask; 63 int bits_per_rgb; 64 int map_entries; 65 } 66 67 struct XVisualInfo 68 { 69 Visual* visual; 70 VisualID visualid; 71 int screen; 72 int depth; 73 int _class; 74 uint red_mask; 75 uint green_mask; 76 uint blue_mask; 77 int colormap_size; 78 int bits_per_rgb; 79 } 80 81 alias uint Mask; 82 alias uint Atom; 83 alias uint Time; 84 alias ubyte KeyCode; 85 86 /***************************************************************** 87 * RESERVED RESOURCE AND CONSTANT DEFINITIONS 88 *****************************************************************/ 89 90 enum None = 0; /* universal null resource or null atom */ 91 92 enum ParentRelative = 1L; /* background pixmap in CreateWindow 93 and ChangeWindowAttributes */ 94 95 enum CopyFromParent = 0L; /* border pixmap in CreateWindow 96 and ChangeWindowAttributes 97 special VisualID and special window 98 class passed to CreateWindow */ 99 100 enum PointerWindow = 0L; /* destination window in SendEvent */ 101 enum InputFocus = 1L; /* destination window in SendEvent */ 102 103 enum PointerRoot = 1L; /* focus window in SetInputFocus */ 104 105 enum AnyPropertyType = 0L; /* special Atom, passed to GetProperty */ 106 107 enum AnyKey = 0L; /* special Key Code, passed to GrabKey */ 108 109 enum AnyButton = 0L; /* special Button Code, passed to GrabButton */ 110 111 enum AllTemporary = 0L; /* special Resource ID passed to KillClient */ 112 113 enum CurrentTime = 0L; /* special Time */ 114 115 enum NoSymbol = 0L; /* special KeySym */ 116 117 /***************************************************************** 118 * EVENT DEFINITIONS 119 *****************************************************************/ 120 121 /* Input Event Masks. Used as event-mask window attribute and as arguments 122 to Grab requests. Not to be confused with event names. */ 123 124 enum NoEventMask = 0L; 125 enum KeyPressMask = (1L << 0); 126 enum KeyReleaseMask = (1L << 1); 127 enum ButtonPressMask = (1L << 2); 128 enum ButtonReleaseMask = (1L << 3); 129 enum EnterWindowMask = (1L << 4); 130 enum LeaveWindowMask = (1L << 5); 131 enum PointerMotionMask = (1L << 6); 132 enum PointerMotionHintMask = (1L << 7); 133 enum Button1MotionMask = (1L << 8); 134 enum Button2MotionMask = (1L << 9); 135 enum Button3MotionMask = (1L << 10); 136 enum Button4MotionMask = (1L << 11); 137 enum Button5MotionMask = (1L << 12); 138 enum ButtonMotionMask = (1L << 13); 139 enum KeymapStateMask = (1L << 14); 140 enum ExposureMask = (1L << 15); 141 enum VisibilityChangeMask = (1L << 16); 142 enum StructureNotifyMask = (1L << 17); 143 enum ResizeRedirectMask = (1L << 18); 144 enum SubstructureNotifyMask = (1L << 19); 145 enum SubstructureRedirectMask = (1L << 20); 146 enum FocusChangeMask = (1L << 21); 147 enum PropertyChangeMask = (1L << 22); 148 enum ColormapChangeMask = (1L << 23); 149 enum OwnerGrabButtonMask = (1L << 24); 150 151 /* Event names. Used in "type" field in XEvent structures. Not to be 152 confused with event masks above. They start from 2 because 0 and 1 153 are reserved in the protocol for errors and replies. */ 154 155 enum KeyPress = 2; 156 enum KeyRelease = 3; 157 enum ButtonPress = 4; 158 enum ButtonRelease = 5; 159 enum MotionNotify = 6; 160 enum EnterNotify = 7; 161 enum LeaveNotify = 8; 162 enum FocusIn = 9; 163 enum FocusOut = 10; 164 enum KeymapNotify = 11; 165 enum Expose = 12; 166 enum GraphicsExpose = 13; 167 enum NoExpose = 14; 168 enum VisibilityNotify = 15; 169 enum CreateNotify = 16; 170 enum DestroyNotify = 17; 171 enum UnmapNotify = 18; 172 enum MapNotify = 19; 173 enum MapRequest = 20; 174 enum ReparentNotify = 21; 175 enum ConfigureNotify = 22; 176 enum ConfigureRequest = 23; 177 enum GravityNotify = 24; 178 enum ResizeRequest = 25; 179 enum CirculateNotify = 26; 180 enum CirculateRequest = 27; 181 enum PropertyNotify = 28; 182 enum SelectionClear = 29; 183 enum SelectionRequest = 30; 184 enum SelectionNotify = 31; 185 enum ColormapNotify = 32; 186 enum ClientMessage = 33; 187 enum MappingNotify = 34; 188 enum GenericEvent = 35; 189 enum LASTEvent = 36; /* must be bigger than any event # */ 190 191 /* Key masks. Used as modifiers to GrabButton and GrabKey, results of QueryPointer, 192 state in various key-, mouse-, and button-related events. */ 193 194 enum ShiftMask = (1 << 0); 195 enum LockMask = (1 << 1); 196 enum ControlMask = (1 << 2); 197 enum Mod1Mask = (1 << 3); 198 enum Mod2Mask = (1 << 4); 199 enum Mod3Mask = (1 << 5); 200 enum Mod4Mask = (1 << 6); 201 enum Mod5Mask = (1 << 7); 202 203 /* modifier names. Used to build a SetModifierMapping request or 204 to read a GetModifierMapping request. These correspond to the 205 masks defined above. */ 206 enum ShiftMapIndex = 0; 207 enum LockMapIndex = 1; 208 enum ControlMapIndex = 2; 209 enum Mod1MapIndex = 3; 210 enum Mod2MapIndex = 4; 211 enum Mod3MapIndex = 5; 212 enum Mod4MapIndex = 6; 213 enum Mod5MapIndex = 7; 214 215 /* button masks. Used in same manner as Key masks above. Not to be confused 216 with button names below. */ 217 218 enum Button1Mask = (1 << 8); 219 enum Button2Mask = (1 << 9); 220 enum Button3Mask = (1 << 10); 221 enum Button4Mask = (1 << 11); 222 enum Button5Mask = (1 << 12); 223 224 enum AnyModifier = (1 << 15); /* used in GrabButton, GrabKey */ 225 226 /* button names. Used as arguments to GrabButton and as detail in ButtonPress 227 and ButtonRelease events. Not to be confused with button masks above. 228 Note that 0 is already defined above as "AnyButton". */ 229 230 enum Button1 = 1; 231 enum Button2 = 2; 232 enum Button3 = 3; 233 enum Button4 = 4; 234 enum Button5 = 5; 235 236 /* Notify modes */ 237 238 enum NotifyNormal = 0; 239 enum NotifyGrab = 1; 240 enum NotifyUngrab = 2; 241 enum NotifyWhileGrabbed = 3; 242 243 enum NotifyHint = 1; /* for MotionNotify events */ 244 245 /* Notify detail */ 246 247 enum NotifyAncestor = 0; 248 enum NotifyVirtual = 1; 249 enum NotifyInferior = 2; 250 enum NotifyNonlinear = 3; 251 enum NotifyNonlinearVirtual = 4; 252 enum NotifyPointer = 5; 253 enum NotifyPointerRoot = 6; 254 enum NotifyDetailNone = 7; 255 256 /* Visibility notify */ 257 258 enum VisibilityUnobscured = 0; 259 enum VisibilityPartiallyObscured = 1; 260 enum VisibilityFullyObscured = 2; 261 262 /* Circulation request */ 263 264 enum PlaceOnTop = 0; 265 enum PlaceOnBottom = 1; 266 267 /* protocol families */ 268 269 enum FamilyInternet = 0; /* IPv4 */ 270 enum FamilyDECnet = 1; 271 enum FamilyChaos = 2; 272 enum FamilyInternet6 = 6; /* IPv6 */ 273 274 /* authentication families not tied to a specific protocol */ 275 enum FamilyServerInterpreted = 5; 276 277 /* Property notification */ 278 279 enum PropertyNewValue = 0; 280 enum PropertyDelete = 1; 281 282 /* Color Map notification */ 283 284 enum ColormapUninstalled = 0; 285 enum ColormapInstalled = 1; 286 287 /* GrabPointer, GrabButton, GrabKeyboard, GrabKey Modes */ 288 289 enum GrabModeSync = 0; 290 enum GrabModeAsync = 1; 291 292 /* GrabPointer, GrabKeyboard reply status */ 293 294 enum GrabSuccess = 0; 295 enum AlreadyGrabbed = 1; 296 enum GrabInvalidTime = 2; 297 enum GrabNotViewable = 3; 298 enum GrabFrozen = 4; 299 300 /* AllowEvents modes */ 301 302 enum AsyncPointer = 0; 303 enum SyncPointer = 1; 304 enum ReplayPointer = 2; 305 enum AsyncKeyboard = 3; 306 enum SyncKeyboard = 4; 307 enum ReplayKeyboard = 5; 308 enum AsyncBoth = 6; 309 enum SyncBoth = 7; 310 311 /* Used in SetInputFocus, GetInputFocus */ 312 313 enum RevertToNone = None; 314 enum RevertToPointerRoot = PointerRoot; 315 enum RevertToParent = 2; 316 317 /***************************************************************** 318 * ERROR CODES 319 *****************************************************************/ 320 321 enum Success = 0; /* everything's okay */ 322 enum BadRequest = 1; /* bad request code */ 323 enum BadValue = 2; /* int parameter out of range */ 324 enum BadWindow = 3; /* parameter not a Window */ 325 enum BadPixmap = 4; /* parameter not a Pixmap */ 326 enum BadAtom = 5; /* parameter not an Atom */ 327 enum BadCursor = 6; /* parameter not a Cursor */ 328 enum BadFont = 7; /* parameter not a Font */ 329 enum BadMatch = 8; /* parameter mismatch */ 330 enum BadDrawable = 9; /* parameter not a Pixmap or Window */ 331 enum BadAccess = 10; /* depending on context: 332 - key/button already grabbed 333 - attempt to free an illegal 334 cmap entry 335 - attempt to store into a read-only 336 color map entry. 337 - attempt to modify the access control 338 list from other than the local host. 339 */ 340 enum BadAlloc = 11; /* insufficient resources */ 341 enum BadColor = 12; /* no such colormap */ 342 enum BadGC = 13; /* parameter not a GC */ 343 enum BadIDChoice = 14; /* choice not in range or already used */ 344 enum BadName = 15; /* font or color name doesn't exist */ 345 enum BadLength = 16; /* Request length incorrect */ 346 enum BadImplementation = 17; /* server is defective */ 347 348 enum FirstExtensionError = 128; 349 enum LastExtensionError = 255; 350 351 /***************************************************************** 352 * WINDOW DEFINITIONS 353 *****************************************************************/ 354 355 /* Window classes used by CreateWindow */ 356 /* Note that CopyFromParent is already defined as 0 above */ 357 358 enum InputOutput = 1; 359 enum InputOnly = 2; 360 361 /* Window attributes for CreateWindow and ChangeWindowAttributes */ 362 363 enum CWBackPixmap = (1L << 0); 364 enum CWBackPixel = (1L << 1); 365 enum CWBorderPixmap = (1L << 2); 366 enum CWBorderPixel = (1L << 3); 367 enum CWBitGravity = (1L << 4); 368 enum CWWinGravity = (1L << 5); 369 enum CWBackingStore = (1L << 6); 370 enum CWBackingPlanes = (1L << 7); 371 enum CWBackingPixel = (1L << 8); 372 enum CWOverrideRedirect = (1L << 9); 373 enum CWSaveUnder = (1L << 10); 374 enum CWEventMask = (1L << 11); 375 enum CWDontPropagate = (1L << 12); 376 enum CWColormap = (1L << 13); 377 enum CWCursor = (1L << 14); 378 379 /* ConfigureWindow structure */ 380 381 enum CWX = (1 << 0); 382 enum CWY = (1 << 1); 383 enum CWWidth = (1 << 2); 384 enum CWHeight = (1 << 3); 385 enum CWBorderWidth = (1 << 4); 386 enum CWSibling = (1 << 5); 387 enum CWStackMode = (1 << 6); 388 389 /* Bit Gravity */ 390 391 enum ForgetGravity = 0; 392 enum NorthWestGravity = 1; 393 enum NorthGravity = 2; 394 enum NorthEastGravity = 3; 395 enum WestGravity = 4; 396 enum CenterGravity = 5; 397 enum EastGravity = 6; 398 enum SouthWestGravity = 7; 399 enum SouthGravity = 8; 400 enum SouthEastGravity = 9; 401 enum StaticGravity = 10; 402 403 /* Window gravity + bit gravity above */ 404 405 enum UnmapGravity = 0; 406 407 /* Used in CreateWindow for backing-store hint */ 408 409 enum NotUseful = 0; 410 enum WhenMapped = 1; 411 enum Always = 2; 412 413 /* Used in GetWindowAttributes reply */ 414 415 enum IsUnmapped = 0; 416 enum IsUnviewable = 1; 417 enum IsViewable = 2; 418 419 /* Used in ChangeSaveSet */ 420 421 enum SetModeInsert = 0; 422 enum SetModeDelete = 1; 423 424 /* Used in ChangeCloseDownMode */ 425 426 enum DestroyAll = 0; 427 enum RetainPermanent = 1; 428 enum RetainTemporary = 2; 429 430 /* Window stacking method (in configureWindow) */ 431 432 enum Above = 0; 433 enum Below = 1; 434 enum TopIf = 2; 435 enum BottomIf = 3; 436 enum Opposite = 4; 437 438 /* Circulation direction */ 439 440 enum RaiseLowest = 0; 441 enum LowerHighest = 1; 442 443 /* Property modes */ 444 445 enum PropModeReplace = 0; 446 enum PropModePrepend = 1; 447 enum PropModeAppend = 2; 448 449 /***************************************************************** 450 * GRAPHICS DEFINITIONS 451 *****************************************************************/ 452 453 /* graphics functions, as in GC.alu */ 454 455 enum GXclear = 0x0; /* 0 */ 456 enum GXand = 0x1; /* src AND dst */ 457 enum GXandReverse = 0x2; /* src AND NOT dst */ 458 enum GXcopy = 0x3; /* src */ 459 enum GXandInverted = 0x4; /* NOT src AND dst */ 460 enum GXnoop = 0x5; /* dst */ 461 enum GXxor = 0x6; /* src XOR dst */ 462 enum GXor = 0x7; /* src OR dst */ 463 enum GXnor = 0x8; /* NOT src AND NOT dst */ 464 enum GXequiv = 0x9; /* NOT src XOR dst */ 465 enum GXinvert = 0xa; /* NOT dst */ 466 enum GXorReverse = 0xb; /* src OR NOT dst */ 467 enum GXcopyInverted = 0xc; /* NOT src */ 468 enum GXorInverted = 0xd; /* NOT src OR dst */ 469 enum GXnand = 0xe; /* NOT src OR NOT dst */ 470 enum GXset = 0xf; /* 1 */ 471 472 /* LineStyle */ 473 474 enum LineSolid = 0; 475 enum LineOnOffDash = 1; 476 enum LineDoubleDash = 2; 477 478 /* capStyle */ 479 480 enum CapNotLast = 0; 481 enum CapButt = 1; 482 enum CapRound = 2; 483 enum CapProjecting = 3; 484 485 /* joinStyle */ 486 487 enum JoinMiter = 0; 488 enum JoinRound = 1; 489 enum JoinBevel = 2; 490 491 /* fillStyle */ 492 493 enum FillSolid = 0; 494 enum FillTiled = 1; 495 enum FillStippled = 2; 496 enum FillOpaqueStippled = 3; 497 498 /* fillRule */ 499 500 enum EvenOddRule = 0; 501 enum WindingRule = 1; 502 503 /* subwindow mode */ 504 505 enum ClipByChildren = 0; 506 enum IncludeInferiors = 1; 507 508 /* SetClipRectangles ordering */ 509 510 enum Unsorted = 0; 511 enum YSorted = 1; 512 enum YXSorted = 2; 513 enum YXBanded = 3; 514 515 /* CoordinateMode for drawing routines */ 516 517 enum CoordModeOrigin = 0; /* relative to the origin */ 518 enum CoordModePrevious = 1; /* relative to previous point */ 519 520 /* Polygon shapes */ 521 522 enum Complex = 0; /* paths may intersect */ 523 enum Nonconvex = 1; /* no paths intersect, but not convex */ 524 enum Convex = 2; /* wholly convex */ 525 526 /* Arc modes for PolyFillArc */ 527 528 enum ArcChord = 0; /* join endpoints of arc */ 529 enum ArcPieSlice = 1; /* join endpoints to center of arc */ 530 531 /* GC components: masks used in CreateGC, CopyGC, ChangeGC, OR'ed into 532 GC.stateChanges */ 533 534 enum GCFunction = (1L << 0); 535 enum GCPlaneMask = (1L << 1); 536 enum GCForeground = (1L << 2); 537 enum GCBackground = (1L << 3); 538 enum GCLineWidth = (1L << 4); 539 enum GCLineStyle = (1L << 5); 540 enum GCCapStyle = (1L << 6); 541 enum GCJoinStyle = (1L << 7); 542 enum GCFillStyle = (1L << 8); 543 enum GCFillRule = (1L << 9); 544 enum GCTile = (1L << 10); 545 enum GCStipple = (1L << 11); 546 enum GCTileStipXOrigin = (1L << 12); 547 enum GCTileStipYOrigin = (1L << 13); 548 enum GCFont = (1L << 14); 549 enum GCSubwindowMode = (1L << 15); 550 enum GCGraphicsExposures = (1L << 16); 551 enum GCClipXOrigin = (1L << 17); 552 enum GCClipYOrigin = (1L << 18); 553 enum GCClipMask = (1L << 19); 554 enum GCDashOffset = (1L << 20); 555 enum GCDashList = (1L << 21); 556 enum GCArcMode = (1L << 22); 557 558 enum GCLastBit = 22; 559 /***************************************************************** 560 * FONTS 561 *****************************************************************/ 562 563 /* used in QueryFont -- draw direction */ 564 565 enum FontLeftToRight = 0; 566 enum FontRightToLeft = 1; 567 568 enum FontChange = 255; 569 570 /***************************************************************** 571 * IMAGING 572 *****************************************************************/ 573 574 /* ImageFormat -- PutImage, GetImage */ 575 576 enum XYBitmap = 0; /* depth 1, XYFormat */ 577 enum XYPixmap = 1; /* depth == drawable depth */ 578 enum ZPixmap = 2; /* depth == drawable depth */ 579 580 /***************************************************************** 581 * COLOR MAP STUFF 582 *****************************************************************/ 583 584 /* For CreateColormap */ 585 586 enum AllocNone = 0; /* create map with no entries */ 587 enum AllocAll = 1; /* allocate entire map writeable */ 588 589 /* Flags used in StoreNamedColor, StoreColors */ 590 591 enum DoRed = (1 << 0); 592 enum DoGreen = (1 << 1); 593 enum DoBlue = (1 << 2); 594 595 /***************************************************************** 596 * CURSOR STUFF 597 *****************************************************************/ 598 599 /* QueryBestSize Class */ 600 601 enum CursorShape = 0; /* largest size that can be displayed */ 602 enum TileShape = 1; /* size tiled fastest */ 603 enum StippleShape = 2; /* size stippled fastest */ 604 605 /***************************************************************** 606 * KEYBOARD/POINTER STUFF 607 *****************************************************************/ 608 609 enum AutoRepeatModeOff = 0; 610 enum AutoRepeatModeOn = 1; 611 enum AutoRepeatModeDefault = 2; 612 613 enum LedModeOff = 0; 614 enum LedModeOn = 1; 615 616 /* masks for ChangeKeyboardControl */ 617 618 enum KBKeyClickPercent = (1L << 0); 619 enum KBBellPercent = (1L << 1); 620 enum KBBellPitch = (1L << 2); 621 enum KBBellDuration = (1L << 3); 622 enum KBLed = (1L << 4); 623 enum KBLedMode = (1L << 5); 624 enum KBKey = (1L << 6); 625 enum KBAutoRepeatMode = (1L << 7); 626 627 enum MappingSuccess = 0; 628 enum MappingBusy = 1; 629 enum MappingFailed = 2; 630 631 enum MappingModifier = 0; 632 enum MappingKeyboard = 1; 633 enum MappingPointer = 2; 634 635 /***************************************************************** 636 * SCREEN SAVER STUFF 637 *****************************************************************/ 638 639 enum DontPreferBlanking = 0; 640 enum PreferBlanking = 1; 641 enum DefaultBlanking = 2; 642 643 enum DisableScreenSaver = 0; 644 enum DisableScreenInterval = 0; 645 646 enum DontAllowExposures = 0; 647 enum AllowExposures = 1; 648 enum DefaultExposures = 2; 649 650 /* for ForceScreenSaver */ 651 652 enum ScreenSaverReset = 0; 653 enum ScreenSaverActive = 1; 654 655 /***************************************************************** 656 * HOSTS AND CONNECTIONS 657 *****************************************************************/ 658 659 /* for ChangeHosts */ 660 661 enum HostInsert = 0; 662 enum HostDelete = 1; 663 664 /* for ChangeAccessControl */ 665 666 enum EnableAccess = 1; 667 enum DisableAccess = 0; 668 669 /* Display classes used in opening the connection 670 * Note that the statically allocated ones are even numbered and the 671 * dynamically changeable ones are odd numbered */ 672 673 enum StaticGray = 0; 674 enum GrayScale = 1; 675 enum StaticColor = 2; 676 enum PseudoColor = 3; 677 enum TrueColor = 4; 678 enum DirectColor = 5; 679 680 /* Byte order used in imageByteOrder and bitmapBitOrder */ 681 682 enum LSBFirst = 0; 683 enum MSBFirst = 1; 684 685 //XLib 686 enum True = 1; 687 enum False = 0; 688 689 enum QueuedAlready = 0; 690 enum QueuedAfterReading = 1; 691 enum QueuedAfterFlush = 2; 692 693 struct XrmHashBucketRec; 694 695 /* 696 * Extensions need a way to hang private data on some structures. 697 */ 698 struct XExtData 699 { 700 int number; /* number returned by XRegisterExtension */ 701 XExtData* next; /* next item on list of data for structure */ 702 /* called to free private storage */ 703 int function(XExtData* extension) free_private; 704 XPointer private_data; /* data private to this extension. */ 705 } 706 707 /* 708 * This file contains structures used by the extension mechanism. 709 */ 710 struct XExtCodes 711 { /* public to extension, cannot be changed */ 712 int extension; /* extension number */ 713 int major_opcode; /* major op-code assigned by server */ 714 int first_event; /* first event number for the extension */ 715 int first_error; /* first error number for the extension */ 716 } 717 718 /* 719 * Data structure for retrieving info about pixmap formats. 720 */ 721 722 struct XPixmapFormatValues 723 { 724 int depth; 725 int bits_per_pixel; 726 int scanline_pad; 727 } 728 729 /* 730 * Data structure for setting graphics context. 731 */ 732 struct XGCValues 733 { 734 int function_; /* logical operation */ 735 c_ulong plane_mask; /* plane mask */ 736 c_ulong foreground; /* foreground pixel */ 737 c_ulong background; /* background pixel */ 738 int line_width; /* line width */ 739 int line_style; /* LineSolid, LineOnOffDash, LineDoubleDash */ 740 int cap_style; /* CapNotLast, CapButt, 741 CapRound, CapProjecting */ 742 int join_style; /* JoinMiter, JoinRound, JoinBevel */ 743 int fill_style; /* FillSolid, FillTiled, 744 FillStippled, FillOpaeueStippled */ 745 int fill_rule; /* EvenOddRule, WindingRule */ 746 int arc_mode; /* ArcChord, ArcPieSlice */ 747 Pixmap tile; /* tile pixmap for tiling operations */ 748 Pixmap stipple; /* stipple 1 plane pixmap for stipping */ 749 int ts_x_origin; /* offset for tile or stipple operations */ 750 int ts_y_origin; 751 Font font; /* default text font for text operations */ 752 int subwindow_mode; /* ClipByChildren, IncludeInferiors */ 753 Bool graphics_exposures; /* boolean, should exposures be generated */ 754 int clip_x_origin; /* origin for clipping */ 755 int clip_y_origin; 756 Pixmap clip_mask; /* bitmap clipping; other calls for rects */ 757 int dash_offset; /* patterned/dashed line information */ 758 char dashes; 759 } 760 761 struct _XGC; 762 alias GC = _XGC*; 763 764 /* 765 * Depth structure; contains information for each possible depth. 766 */ 767 struct Depth 768 { 769 int depth; /* this depth (Z) of the depth */ 770 int nvisuals; /* number of Visual types at this depth */ 771 Visual* visuals; /* list of visuals possible at this depth */ 772 } 773 774 /* 775 * Information about the screen. The contents of this structure are 776 * implementation dependent. A Screen should be treated as opaque 777 * by application code. 778 */ 779 780 struct Screen 781 { 782 XExtData* ext_data; /* hook for extension to hang data */ 783 Display* display; /* back pointer to display structure */ 784 Window root; /* Root window id. */ 785 int width, height; /* width and height of screen */ 786 int mwidth, mheight; /* width and height of in millimeters */ 787 int ndepths; /* number of depths possible */ 788 Depth* depths; /* list of allowable depths on the screen */ 789 int root_depth; /* bits per pixel */ 790 Visual* root_visual; /* root visual */ 791 GC default_gc; /* GC for the root root visual */ 792 Colormap cmap; /* default color map */ 793 c_ulong white_pixel; 794 c_ulong black_pixel; /* White and Black pixel values */ 795 int max_maps, min_maps; /* max and min color maps */ 796 int backing_store; /* Never, WhenMapped, Always */ 797 Bool save_unders; 798 c_long root_input_mask; /* initial root input mask */ 799 } 800 801 /* 802 * Format structure; describes ZFormat data the screen will understand. 803 */ 804 struct ScreenFormat 805 { 806 XExtData* ext_data; /* hook for extension to hang data */ 807 int depth; /* depth of this image format */ 808 int bits_per_pixel; /* bits/pixel at this depth */ 809 int scanline_pad; /* scanline must padded to this multiple */ 810 } 811 812 /* 813 * Data structure for setting window attributes. 814 */ 815 struct XSetWindowAttributes 816 { 817 Pixmap background_pixmap; /* background or None or ParentRelative */ 818 c_ulong background_pixel; /* background pixel */ 819 Pixmap border_pixmap; /* border of the window */ 820 c_ulong border_pixel; /* border pixel value */ 821 int bit_gravity; /* one of bit gravity values */ 822 int win_gravity; /* one of the window gravity values */ 823 int backing_store; /* NotUseful, WhenMapped, Always */ 824 c_ulong backing_planes; /* planes to be preseved if possible */ 825 c_ulong backing_pixel; /* value to use in restoring planes */ 826 Bool save_under; /* should bits under be saved? (popups) */ 827 c_long event_mask; /* set of events that should be saved */ 828 c_long do_not_propagate_mask; /* set of events that should not propagate */ 829 Bool override_redirect; /* boolean value for override-redirect */ 830 Colormap colormap; /* color map to be associated with window */ 831 Cursor cursor; /* cursor to be displayed (or None) */ 832 } 833 834 struct XWindowAttributes 835 { 836 int x, y; /* location of window */ 837 int width, height; /* width and height of window */ 838 int border_width; /* border width of window */ 839 int depth; /* depth of window */ 840 Visual* visual; /* the associated visual structure */ 841 Window root; /* root of screen containing window */ 842 int class_; /* InputOutput, InputOnly*/ 843 int bit_gravity; /* one of bit gravity values */ 844 int win_gravity; /* one of the window gravity values */ 845 int backing_store; /* NotUseful, WhenMapped, Always */ 846 c_ulong backing_planes; /* planes to be preserved if possible */ 847 c_ulong backing_pixel; /* value to be used when restoring planes */ 848 Bool save_under; /* boolean, should bits under be saved? */ 849 Colormap colormap; /* color map to be associated with window */ 850 Bool map_installed; /* boolean, is color map currently installed*/ 851 int map_state; /* IsUnmapped, IsUnviewable, IsViewable */ 852 c_long all_event_masks; /* set of events all people have interest in*/ 853 c_long your_event_mask; /* my event mask */ 854 c_long do_not_propagate_mask; /* set of events that should not propagate */ 855 Bool override_redirect; /* boolean value for override-redirect */ 856 Screen* screen; /* back pointer to correct screen */ 857 } 858 859 /* 860 * Data structure for host setting; getting routines. 861 * 862 */ 863 864 struct XHostAddress 865 { 866 int family; /* for example FamilyInternet */ 867 int length; /* length of address, in bytes */ 868 char* address; /* pointer to where to find the bytes */ 869 } 870 871 /* 872 * Data structure for ServerFamilyInterpreted addresses in host routines 873 */ 874 struct XServerInterpretedAddress 875 { 876 int typelength; /* length of type string, in bytes */ 877 int valuelength; /* length of value string, in bytes */ 878 char* type; /* pointer to where to find the type string */ 879 char* value; /* pointer to where to find the address */ 880 } 881 882 /* 883 * Data structure for "image" data, used by image manipulation routines. 884 */ 885 struct XImage 886 { 887 int width, height; /* size of image */ 888 int xoffset; /* number of pixels offset in X direction */ 889 int format; /* XYBitmap, XYPixmap, ZPixmap */ 890 char* data; /* pointer to image data */ 891 int byte_order; /* data byte order, LSBFirst, MSBFirst */ 892 int bitmap_unit; /* quant. of scanline 8, 16, 32 */ 893 int bitmap_bit_order; /* LSBFirst, MSBFirst */ 894 int bitmap_pad; /* 8, 16, 32 either XY or ZPixmap */ 895 int depth; /* depth of image */ 896 int bytes_per_line; /* accelarator to next line */ 897 int bits_per_pixel; /* bits per pixel (ZPixmap) */ 898 c_ulong red_mask; /* bits in z arrangment */ 899 c_ulong green_mask; 900 c_ulong blue_mask; 901 XPointer obdata; /* hook for the object routines to hang on */ 902 903 private struct funcs 904 { /* image manipulation routines */ 905 XImage* function(Display* /* display */ , Visual* /* visual */ , uint /* depth */ , 906 int /* format */ , int /* offset */ , char* /* data */ , uint /* width */ , 907 uint /* height */ , int /* bitmap_pad */ , int /* bytes_per_line */ ) create_image; 908 909 int function(XImage*) destroy_image; 910 c_ulong function(XImage*, int, int) get_pixel; 911 int function(XImage*, int, int, c_ulong) put_pixel; 912 XImage* function(XImage*, int, int, uint, uint) sub_image; 913 int function(XImage*, c_long) add_pixel; 914 } 915 916 funcs f; 917 } 918 919 /* 920 * Data structure for XReconfigureWindow 921 */ 922 struct XWindowChanges 923 { 924 int x, y; 925 int width, height; 926 int border_width; 927 Window sibling; 928 int stack_mode; 929 } 930 931 /* 932 * Data structure used by color operations 933 */ 934 struct XColor 935 { 936 c_ulong pixel; 937 ushort red, green, blue; 938 char flags; /* do_red, do_green, do_blue */ 939 char pad; 940 } 941 942 /* 943 * Data structures for graphics operations. On most machines, these are 944 * congruent with the wire protocol structures, so reformatting the data 945 * can be avoided on these architectures. 946 */ 947 struct XSegment 948 { 949 short x1, y1, x2, y2; 950 } 951 952 struct XPoint 953 { 954 short x, y; 955 } 956 957 struct XRectangle 958 { 959 short x, y; 960 ushort width, height; 961 } 962 963 struct XArc 964 { 965 short x, y; 966 ushort width, height; 967 short angle1, angle2; 968 } 969 970 /* Data structure for XChangeKeyboardControl */ 971 972 struct XKeyboardControl 973 { 974 int key_click_percent; 975 int bell_percent; 976 int bell_pitch; 977 int bell_duration; 978 int led; 979 int led_mode; 980 int key; 981 int auto_repeat_mode; /* On, Off, Default */ 982 } 983 984 /* Data structure for XGetKeyboardControl */ 985 986 struct XKeyboardState 987 { 988 int key_click_percent; 989 int bell_percent; 990 uint bell_pitch, bell_duration; 991 c_ulong led_mask; 992 int global_auto_repeat; 993 char[32] auto_repeats; 994 } 995 996 /* Data structure for XGetMotionEvents. */ 997 998 struct XTimeCoord 999 { 1000 Time time; 1001 short x, y; 1002 } 1003 1004 /* Data structure for X{Set,Get}ModifierMapping */ 1005 1006 struct XModifierKeymap 1007 { 1008 int max_keypermod; /* The server's max # of keys per modifier */ 1009 KeyCode* modifiermap; /* An 8 by max_keypermod array of modifiers */ 1010 } 1011 1012 struct _XPrivate; 1013 struct _XrmHashBucketRec; 1014 1015 /* 1016 * Definitions of specific events. 1017 */ 1018 struct XKeyEvent 1019 { 1020 int type; /* of event */ 1021 c_ulong serial; /* # of last request processed by server */ 1022 Bool send_event; /* true if this came from a SendEvent request */ 1023 Display* display; /* Display the event was read from */ 1024 Window window; /* "event" window it is reported relative to */ 1025 Window root; /* root window that the event occurred on */ 1026 Window subwindow; /* child window */ 1027 Time time; /* milliseconds */ 1028 int x, y; /* pointer x, y coordinates in event window */ 1029 int x_root, y_root; /* coordinates relative to root */ 1030 uint state; /* key or button mask */ 1031 uint keycode; /* detail */ 1032 Bool same_screen; /* same screen flag */ 1033 } 1034 1035 alias XKeyPressedEvent = XKeyEvent; 1036 alias XKeyReleasedEvent = XKeyEvent; 1037 1038 struct XButtonEvent 1039 { 1040 int type; /* of event */ 1041 c_ulong serial; /* # of last request processed by server */ 1042 Bool send_event; /* true if this came from a SendEvent request */ 1043 Display* display; /* Display the event was read from */ 1044 Window window; /* "event" window it is reported relative to */ 1045 Window root; /* root window that the event occurred on */ 1046 Window subwindow; /* child window */ 1047 Time time; /* milliseconds */ 1048 int x, y; /* pointer x, y coordinates in event window */ 1049 int x_root, y_root; /* coordinates relative to root */ 1050 uint state; /* key or button mask */ 1051 uint button; /* detail */ 1052 Bool same_screen; /* same screen flag */ 1053 } 1054 1055 alias XButtonPressedEvent = XButtonEvent; 1056 alias XButtonReleasedEvent = XButtonEvent; 1057 1058 struct XMotionEvent 1059 { 1060 int type; /* of event */ 1061 c_ulong serial; /* # of last request processed by server */ 1062 Bool send_event; /* true if this came from a SendEvent request */ 1063 Display* display; /* Display the event was read from */ 1064 Window window; /* "event" window reported relative to */ 1065 Window root; /* root window that the event occurred on */ 1066 Window subwindow; /* child window */ 1067 Time time; /* milliseconds */ 1068 int x, y; /* pointer x, y coordinates in event window */ 1069 int x_root, y_root; /* coordinates relative to root */ 1070 uint state; /* key or button mask */ 1071 char is_hint; /* detail */ 1072 Bool same_screen; /* same screen flag */ 1073 } 1074 1075 alias XPointerMovedEvent = XMotionEvent; 1076 1077 struct XCrossingEvent 1078 { 1079 int type; /* of event */ 1080 c_ulong serial; /* # of last request processed by server */ 1081 Bool send_event; /* true if this came from a SendEvent request */ 1082 Display* display; /* Display the event was read from */ 1083 Window window; /* "event" window reported relative to */ 1084 Window root; /* root window that the event occurred on */ 1085 Window subwindow; /* child window */ 1086 Time time; /* milliseconds */ 1087 int x, y; /* pointer x, y coordinates in event window */ 1088 int x_root, y_root; /* coordinates relative to root */ 1089 int mode; /* NotifyNormal, NotifyGrab, NotifyUngrab */ 1090 int detail; 1091 /* 1092 * NotifyAncestor, NotifyVirtual, NotifyInferior, 1093 * NotifyNonlinear,NotifyNonlinearVirtual 1094 */ 1095 Bool same_screen; /* same screen flag */ 1096 Bool focus; /* boolean focus */ 1097 uint state; /* key or button mask */ 1098 } 1099 1100 alias XEnterWindowEvent = XCrossingEvent; 1101 alias XLeaveWindowEvent = XCrossingEvent; 1102 1103 struct XFocusChangeEvent 1104 { 1105 int type; /* FocusIn or FocusOut */ 1106 c_ulong serial; /* # of last request processed by server */ 1107 Bool send_event; /* true if this came from a SendEvent request */ 1108 Display* display; /* Display the event was read from */ 1109 Window window; /* window of event */ 1110 int mode; /* NotifyNormal, NotifyWhileGrabbed, 1111 NotifyGrab, NotifyUngrab */ 1112 int detail; 1113 /* 1114 * NotifyAncestor, NotifyVirtual, NotifyInferior, 1115 * NotifyNonlinear,NotifyNonlinearVirtual, NotifyPointer, 1116 * NotifyPointerRoot, NotifyDetailNone 1117 */ 1118 } 1119 1120 alias XFocusInEvent = XFocusChangeEvent; 1121 alias XFocusOutEvent = XFocusChangeEvent; 1122 1123 /* generated on EnterWindow and FocusIn when KeyMapState selected */ 1124 struct XKeymapEvent 1125 { 1126 int type; 1127 c_ulong serial; /* # of last request processed by server */ 1128 Bool send_event; /* true if this came from a SendEvent request */ 1129 Display* display; /* Display the event was read from */ 1130 Window window; 1131 char[32] key_vector; 1132 } 1133 1134 struct XExposeEvent 1135 { 1136 int type; 1137 c_ulong serial; /* # of last request processed by server */ 1138 Bool send_event; /* true if this came from a SendEvent request */ 1139 Display* display; /* Display the event was read from */ 1140 Window window; 1141 int x, y; 1142 int width, height; 1143 int count; /* if non-zero, at least this many more */ 1144 } 1145 1146 struct XGraphicsExposeEvent 1147 { 1148 int type; 1149 c_ulong serial; /* # of last request processed by server */ 1150 Bool send_event; /* true if this came from a SendEvent request */ 1151 Display* display; /* Display the event was read from */ 1152 Drawable drawable; 1153 int x, y; 1154 int width, height; 1155 int count; /* if non-zero, at least this many more */ 1156 int major_code; /* core is CopyArea or CopyPlane */ 1157 int minor_code; /* not defined in the core */ 1158 } 1159 1160 struct XNoExposeEvent 1161 { 1162 int type; 1163 c_ulong serial; /* # of last request processed by server */ 1164 Bool send_event; /* true if this came from a SendEvent request */ 1165 Display* display; /* Display the event was read from */ 1166 Drawable drawable; 1167 int major_code; /* core is CopyArea or CopyPlane */ 1168 int minor_code; /* not defined in the core */ 1169 } 1170 1171 struct XVisibilityEvent 1172 { 1173 int type; 1174 c_ulong serial; /* # of last request processed by server */ 1175 Bool send_event; /* true if this came from a SendEvent request */ 1176 Display* display; /* Display the event was read from */ 1177 Window window; 1178 int state; /* Visibility state */ 1179 } 1180 1181 struct XCreateWindowEvent 1182 { 1183 int type; 1184 c_ulong serial; /* # of last request processed by server */ 1185 Bool send_event; /* true if this came from a SendEvent request */ 1186 Display* display; /* Display the event was read from */ 1187 Window parent; /* parent of the window */ 1188 Window window; /* window id of window created */ 1189 int x, y; /* window location */ 1190 int width, height; /* size of window */ 1191 int border_width; /* border width */ 1192 Bool override_redirect; /* creation should be overridden */ 1193 } 1194 1195 struct XDestroyWindowEvent 1196 { 1197 int type; 1198 c_ulong serial; /* # of last request processed by server */ 1199 Bool send_event; /* true if this came from a SendEvent request */ 1200 Display* display; /* Display the event was read from */ 1201 Window event; 1202 Window window; 1203 } 1204 1205 struct XUnmapEvent 1206 { 1207 int type; 1208 c_ulong serial; /* # of last request processed by server */ 1209 Bool send_event; /* true if this came from a SendEvent request */ 1210 Display* display; /* Display the event was read from */ 1211 Window event; 1212 Window window; 1213 Bool from_configure; 1214 } 1215 1216 struct XMapEvent 1217 { 1218 int type; 1219 c_ulong serial; /* # of last request processed by server */ 1220 Bool send_event; /* true if this came from a SendEvent request */ 1221 Display* display; /* Display the event was read from */ 1222 Window event; 1223 Window window; 1224 Bool override_redirect; /* boolean, is override set... */ 1225 } 1226 1227 struct XMapRequestEvent 1228 { 1229 int type; 1230 c_ulong serial; /* # of last request processed by server */ 1231 Bool send_event; /* true if this came from a SendEvent request */ 1232 Display* display; /* Display the event was read from */ 1233 Window parent; 1234 Window window; 1235 } 1236 1237 struct XReparentEvent 1238 { 1239 int type; 1240 c_ulong serial; /* # of last request processed by server */ 1241 Bool send_event; /* true if this came from a SendEvent request */ 1242 Display* display; /* Display the event was read from */ 1243 Window event; 1244 Window window; 1245 Window parent; 1246 int x, y; 1247 Bool override_redirect; 1248 } 1249 1250 struct XConfigureEvent 1251 { 1252 int type; 1253 c_ulong serial; /* # of last request processed by server */ 1254 Bool send_event; /* true if this came from a SendEvent request */ 1255 Display* display; /* Display the event was read from */ 1256 Window event; 1257 Window window; 1258 int x, y; 1259 int width, height; 1260 int border_width; 1261 Window above; 1262 Bool override_redirect; 1263 } 1264 1265 struct XGravityEvent 1266 { 1267 int type; 1268 c_ulong serial; /* # of last request processed by server */ 1269 Bool send_event; /* true if this came from a SendEvent request */ 1270 Display* display; /* Display the event was read from */ 1271 Window event; 1272 Window window; 1273 int x, y; 1274 } 1275 1276 struct XResizeRequestEvent 1277 { 1278 int type; 1279 c_ulong serial; /* # of last request processed by server */ 1280 Bool send_event; /* true if this came from a SendEvent request */ 1281 Display* display; /* Display the event was read from */ 1282 Window window; 1283 int width, height; 1284 } 1285 1286 struct XConfigureRequestEvent 1287 { 1288 int type; 1289 c_ulong serial; /* # of last request processed by server */ 1290 Bool send_event; /* true if this came from a SendEvent request */ 1291 Display* display; /* Display the event was read from */ 1292 Window parent; 1293 Window window; 1294 int x, y; 1295 int width, height; 1296 int border_width; 1297 Window above; 1298 int detail; /* Above, Below, TopIf, BottomIf, Opposite */ 1299 c_ulong value_mask; 1300 } 1301 1302 struct XCirculateEvent 1303 { 1304 int type; 1305 c_ulong serial; /* # of last request processed by server */ 1306 Bool send_event; /* true if this came from a SendEvent request */ 1307 Display* display; /* Display the event was read from */ 1308 Window event; 1309 Window window; 1310 int place; /* PlaceOnTop, PlaceOnBottom */ 1311 } 1312 1313 struct XCirculateRequestEvent 1314 { 1315 int type; 1316 c_ulong serial; /* # of last request processed by server */ 1317 Bool send_event; /* true if this came from a SendEvent request */ 1318 Display* display; /* Display the event was read from */ 1319 Window parent; 1320 Window window; 1321 int place; /* PlaceOnTop, PlaceOnBottom */ 1322 } 1323 1324 struct XPropertyEvent 1325 { 1326 int type; 1327 c_ulong serial; /* # of last request processed by server */ 1328 Bool send_event; /* true if this came from a SendEvent request */ 1329 Display* display; /* Display the event was read from */ 1330 Window window; 1331 Atom atom; 1332 Time time; 1333 int state; /* NewValue, Deleted */ 1334 } 1335 1336 struct XSelectionClearEvent 1337 { 1338 int type; 1339 c_ulong serial; /* # of last request processed by server */ 1340 Bool send_event; /* true if this came from a SendEvent request */ 1341 Display* display; /* Display the event was read from */ 1342 Window window; 1343 Atom selection; 1344 Time time; 1345 } 1346 1347 struct XSelectionRequestEvent 1348 { 1349 int type; 1350 c_ulong serial; /* # of last request processed by server */ 1351 Bool send_event; /* true if this came from a SendEvent request */ 1352 Display* display; /* Display the event was read from */ 1353 Window owner; 1354 Window requestor; 1355 Atom selection; 1356 Atom target; 1357 Atom property; 1358 Time time; 1359 } 1360 1361 struct XSelectionEvent 1362 { 1363 int type; 1364 c_ulong serial; /* # of last request processed by server */ 1365 Bool send_event; /* true if this came from a SendEvent request */ 1366 Display* display; /* Display the event was read from */ 1367 Window requestor; 1368 Atom selection; 1369 Atom target; 1370 Atom property; /* ATOM or None */ 1371 Time time; 1372 } 1373 1374 struct XColormapEvent 1375 { 1376 int type; 1377 c_ulong serial; /* # of last request processed by server */ 1378 Bool send_event; /* true if this came from a SendEvent request */ 1379 Display* display; /* Display the event was read from */ 1380 Window window; 1381 Colormap colormap; /* COLORMAP or None */ 1382 Bool new_; 1383 int state; /* ColormapInstalled, ColormapUninstalled */ 1384 } 1385 1386 struct XClientMessageEvent 1387 { 1388 int type; 1389 c_ulong serial; /* # of last request processed by server */ 1390 Bool send_event; /* true if this came from a SendEvent request */ 1391 Display* display; /* Display the event was read from */ 1392 Window window; 1393 Atom message_type; 1394 int format; 1395 private union data_ 1396 { 1397 char[20] b; 1398 short[10] s; 1399 c_long[5] l; 1400 } 1401 1402 data_ data; 1403 } 1404 1405 struct XMappingEvent 1406 { 1407 int type; 1408 c_ulong serial; /* # of last request processed by server */ 1409 Bool send_event; /* true if this came from a SendEvent request */ 1410 Display* display; /* Display the event was read from */ 1411 Window window; /* unused */ 1412 int request; /* one of MappingModifier, MappingKeyboard, 1413 MappingPointer */ 1414 int first_keycode; /* first keycode */ 1415 int count; /* defines range of change w. first_keycode*/ 1416 } 1417 1418 struct XErrorEvent 1419 { 1420 int type; 1421 Display* display; /* Display the event was read from */ 1422 XID resourceid; /* resource id */ 1423 c_ulong serial; /* serial number of failed request */ 1424 ubyte error_code; /* error code of failed request */ 1425 ubyte request_code; /* Major op-code of failed request */ 1426 ubyte minor_code; /* Minor op-code of failed request */ 1427 } 1428 1429 struct XAnyEvent 1430 { 1431 int type; 1432 c_ulong serial; /* # of last request processed by server */ 1433 Bool send_event; /* true if this came from a SendEvent request */ 1434 Display* display; /* Display the event was read from */ 1435 Window window; /* window on which event was requested in event mask */ 1436 } 1437 1438 /*************************************************************** 1439 * 1440 * GenericEvent. This event is the standard event for all newer extensions. 1441 */ 1442 1443 struct XGenericEvent 1444 { 1445 int type; /* of event. Always GenericEvent */ 1446 c_ulong serial; /* # of last request processed */ 1447 Bool send_event; /* true if from SendEvent request */ 1448 Display* display; /* Display the event was read from */ 1449 int extension; /* major opcode of extension that caused the event */ 1450 int evtype; /* actual event type. */ 1451 } 1452 1453 struct XGenericEventCookie 1454 { 1455 int type; /* of event. Always GenericEvent */ 1456 c_ulong serial; /* # of last request processed */ 1457 Bool send_event; /* true if from SendEvent request */ 1458 Display* display; /* Display the event was read from */ 1459 int extension; /* major opcode of extension that caused the event */ 1460 int evtype; /* actual event type. */ 1461 uint cookie; 1462 void* data; 1463 } 1464 1465 /* 1466 * this union is defined so Xlib can always use the same sized 1467 * event structure internally, to avoid memory fragmentation. 1468 */ 1469 union XEvent 1470 { 1471 int type; /* must not be changed; first element */ 1472 XAnyEvent xany; 1473 XKeyEvent xkey; 1474 XButtonEvent xbutton; 1475 XMotionEvent xmotion; 1476 XCrossingEvent xcrossing; 1477 XFocusChangeEvent xfocus; 1478 XExposeEvent xexpose; 1479 XGraphicsExposeEvent xgraphicsexpose; 1480 XNoExposeEvent xnoexpose; 1481 XVisibilityEvent xvisibility; 1482 XCreateWindowEvent xcreatewindow; 1483 XDestroyWindowEvent xdestroywindow; 1484 XUnmapEvent xunmap; 1485 XMapEvent xmap; 1486 XMapRequestEvent xmaprequest; 1487 XReparentEvent xreparent; 1488 XConfigureEvent xconfigure; 1489 XGravityEvent xgravity; 1490 XResizeRequestEvent xresizerequest; 1491 XConfigureRequestEvent xconfigurerequest; 1492 XCirculateEvent xcirculate; 1493 XCirculateRequestEvent xcirculaterequest; 1494 XPropertyEvent xproperty; 1495 XSelectionClearEvent xselectionclear; 1496 XSelectionRequestEvent xselectionrequest; 1497 XSelectionEvent xselection; 1498 XColormapEvent xcolormap; 1499 XClientMessageEvent xclient; 1500 XMappingEvent xmapping; 1501 XErrorEvent xerror; 1502 XKeymapEvent xkeymap; 1503 XGenericEvent xgeneric; 1504 XGenericEventCookie xcookie; 1505 c_long[24] pad; 1506 } 1507 1508 //#define XAllocID(dpy) ((*((_XPrivDisplay)dpy)->resource_alloc)((dpy))) 1509 1510 /* 1511 * per character font metric information. 1512 */ 1513 struct XCharStruct 1514 { 1515 short lbearing; /* origin to left edge of raster */ 1516 short rbearing; /* origin to right edge of raster */ 1517 short width; /* advance to next char's origin */ 1518 short ascent; /* baseline to top edge of raster */ 1519 short descent; /* baseline to bottom edge of raster */ 1520 ushort attributes; /* per char flags (not predefined) */ 1521 } 1522 1523 /* 1524 * To allow arbitrary information with fonts, there are additional properties 1525 * returned. 1526 */ 1527 struct XFontProp 1528 { 1529 Atom name; 1530 c_ulong card32; 1531 } 1532 1533 struct XFontStruct 1534 { 1535 XExtData* ext_data; /* hook for extension to hang data */ 1536 Font fid; /* Font id for this font */ 1537 uint direction; /* hint about direction the font is painted */ 1538 uint min_char_or_byte2; /* first character */ 1539 uint max_char_or_byte2; /* last character */ 1540 uint min_byte1; /* first row that exists */ 1541 uint max_byte1; /* last row that exists */ 1542 Bool all_chars_exist; /* flag if all characters have non-zero size*/ 1543 uint default_char; /* char to print for undefined character */ 1544 int n_properties; /* how many properties there are */ 1545 XFontProp* properties; /* pointer to array of additional properties*/ 1546 XCharStruct min_bounds; /* minimum bounds over all existing char*/ 1547 XCharStruct max_bounds; /* maximum bounds over all existing char*/ 1548 XCharStruct* per_char; /* first_char to last_char information */ 1549 int ascent; /* log. extent above baseline for spacing */ 1550 int descent; /* log. descent below baseline for spacing */ 1551 } 1552 1553 /* 1554 * PolyText routines take these as arguments. 1555 */ 1556 struct XTextItem 1557 { 1558 char* chars; /* pointer to string */ 1559 int nchars; /* number of characters */ 1560 int delta; /* delta between strings */ 1561 Font font; /* font to print it in, None don't change */ 1562 } 1563 1564 struct XChar2b 1565 { /* normal 16 bit characters are two bytes */ 1566 ubyte byte1; 1567 ubyte byte2; 1568 } 1569 1570 struct XTextItem16 1571 { 1572 XChar2b* chars; /* two byte characters */ 1573 int nchars; /* number of characters */ 1574 int delta; /* delta between strings */ 1575 Font font; /* font to print it in, None don't change */ 1576 } 1577 1578 union XEDataObject 1579 { 1580 Display* display; 1581 GC gc; 1582 Visual* visual; 1583 Screen* screen; 1584 ScreenFormat* pixmap_format; 1585 XFontStruct* font; 1586 } 1587 1588 struct XFontSetExtents 1589 { 1590 XRectangle max_ink_extent; 1591 XRectangle max_logical_extent; 1592 } 1593 1594 /* unused: 1595 typedef void (*XOMProc)(); 1596 */ 1597 1598 struct _XOM; 1599 alias XOM = _XOM*; 1600 1601 struct _XOC; 1602 alias XOC = _XOC*; 1603 alias XFontSet = _XOC*; 1604 1605 struct XmbTextItem 1606 { 1607 char* chars; 1608 int nchars; 1609 int delta; 1610 XFontSet font_set; 1611 } 1612 1613 struct XwcTextItem 1614 { 1615 wchar_t* chars; 1616 int nchars; 1617 int delta; 1618 XFontSet font_set; 1619 } 1620 1621 enum XNRequiredCharSet = "requiredCharSet"; 1622 enum XNQueryOrientation = "queryOrientation"; 1623 enum XNBaseFontName = "baseFontName"; 1624 enum XNOMAutomatic = "omAutomatic"; 1625 enum XNMissingCharSet = "missingCharSet"; 1626 enum XNDefaultString = "defaultString"; 1627 enum XNOrientation = "orientation"; 1628 enum XNDirectionalDependentDrawing = "directionalDependentDrawing"; 1629 enum XNContextualDrawing = "contextualDrawing"; 1630 enum XNFontInfo = "fontInfo"; 1631 1632 struct XOMCharSetList 1633 { 1634 int charset_count; 1635 char** charset_list; 1636 } 1637 1638 enum XOrientation 1639 { 1640 XOMOrientation_LTR_TTB, 1641 XOMOrientation_RTL_TTB, 1642 XOMOrientation_TTB_LTR, 1643 XOMOrientation_TTB_RTL, 1644 XOMOrientation_Context 1645 } 1646 1647 alias XOMOrientation_LTR_TTB = XOrientation.XOMOrientation_LTR_TTB; 1648 alias XOMOrientation_RTL_TTB = XOrientation.XOMOrientation_RTL_TTB; 1649 alias XOMOrientation_TTB_LTR = XOrientation.XOMOrientation_TTB_LTR; 1650 alias XOMOrientation_TTB_RTL = XOrientation.XOMOrientation_TTB_RTL; 1651 alias XOMOrientation_Context = XOrientation.XOMOrientation_Context; 1652 1653 struct XOMOrientation 1654 { 1655 int num_orientation; 1656 XOrientation* orientation; /* Input Text description */ 1657 } 1658 1659 struct XOMFontInfo 1660 { 1661 int num_font; 1662 XFontStruct** font_struct_list; 1663 char** font_name_list; 1664 } 1665 1666 struct _XIM; 1667 alias XIM = _XIM*; 1668 1669 struct _XIC; 1670 alias XIC = _XIC*; 1671 1672 alias XIMProc = void function(XIM, XPointer, XPointer); 1673 1674 alias XICProc = Bool function(XIC, XPointer, XPointer); 1675 1676 alias XIDProc = void function(Display*, XPointer, XPointer); 1677 1678 alias XIMStyle = c_ulong; 1679 1680 struct XIMStyles 1681 { 1682 ushort count_styles; 1683 XIMStyle* supported_styles; 1684 } 1685 1686 enum XIMPreeditArea = 0x0001L; 1687 enum XIMPreeditCallbacks = 0x0002L; 1688 enum XIMPreeditPosition = 0x0004L; 1689 enum XIMPreeditNothing = 0x0008L; 1690 enum XIMPreeditNone = 0x0010L; 1691 enum XIMStatusArea = 0x0100L; 1692 enum XIMStatusCallbacks = 0x0200L; 1693 enum XIMStatusNothing = 0x0400L; 1694 enum XIMStatusNone = 0x0800L; 1695 1696 enum const(char)* XNVaNestedList = "XNVaNestedList"; 1697 enum const(char)* XNQueryInputStyle = "queryInputStyle"; 1698 enum const(char)* XNClientWindow = "clientWindow"; 1699 enum const(char)* XNInputStyle = "inputStyle"; 1700 enum const(char)* XNFocusWindow = "focusWindow"; 1701 enum const(char)* XNResourceName = "resourceName"; 1702 enum const(char)* XNResourceClass = "resourceClass"; 1703 enum const(char)* XNGeometryCallback = "geometryCallback"; 1704 enum const(char)* XNDestroyCallback = "destroyCallback"; 1705 enum const(char)* XNFilterEvents = "filterEvents"; 1706 enum const(char)* XNPreeditStartCallback = "preeditStartCallback"; 1707 enum const(char)* XNPreeditDoneCallback = "preeditDoneCallback"; 1708 enum const(char)* XNPreeditDrawCallback = "preeditDrawCallback"; 1709 enum const(char)* XNPreeditCaretCallback = "preeditCaretCallback"; 1710 enum const(char)* XNPreeditStateNotifyCallback = "preeditStateNotifyCallback"; 1711 enum const(char)* XNPreeditAttributes = "preeditAttributes"; 1712 enum const(char)* XNStatusStartCallback = "statusStartCallback"; 1713 enum const(char)* XNStatusDoneCallback = "statusDoneCallback"; 1714 enum const(char)* XNStatusDrawCallback = "statusDrawCallback"; 1715 enum const(char)* XNStatusAttributes = "statusAttributes"; 1716 enum const(char)* XNArea = "area"; 1717 enum const(char)* XNAreaNeeded = "areaNeeded"; 1718 enum const(char)* XNSpotLocation = "spotLocation"; 1719 enum const(char)* XNColormap = "colorMap"; 1720 enum const(char)* XNStdColormap = "stdColorMap"; 1721 enum const(char)* XNForeground = "foreground"; 1722 enum const(char)* XNBackground = "background"; 1723 enum const(char)* XNBackgroundPixmap = "backgroundPixmap"; 1724 enum const(char)* XNFontSet = "fontSet"; 1725 enum const(char)* XNLineSpace = "lineSpace"; 1726 enum const(char)* XNCursor = "cursor"; 1727 1728 enum const(char)* XNQueryIMValuesList = "queryIMValuesList"; 1729 enum const(char)* XNQueryICValuesList = "queryICValuesList"; 1730 enum const(char)* XNVisiblePosition = "visiblePosition"; 1731 enum const(char)* XNR6PreeditCallback = "r6PreeditCallback"; 1732 enum const(char)* XNStringConversionCallback = "stringConversionCallback"; 1733 enum const(char)* XNStringConversion = "stringConversion"; 1734 enum const(char)* XNResetState = "resetState"; 1735 enum const(char)* XNHotKey = "hotKey"; 1736 enum const(char)* XNHotKeyState = "hotKeyState"; 1737 enum const(char)* XNPreeditState = "preeditState"; 1738 enum const(char)* XNSeparatorofNestedList = "separatorofNestedList"; 1739 1740 enum XBufferOverflow = -1; 1741 enum XLookupNone = 1; 1742 enum XLookupChars = 2; 1743 enum XLookupKeySym = 3; 1744 enum XLookupBoth = 4; 1745 1746 alias XVaNestedList = void*; 1747 1748 struct XIMCallback 1749 { 1750 XPointer client_data; 1751 XIMProc callback; 1752 } 1753 1754 struct XICCallback 1755 { 1756 XPointer client_data; 1757 XICProc callback; 1758 } 1759 1760 alias XIMFeedback = c_ulong; 1761 1762 enum XIMReverse = 1L; 1763 enum XIMUnderline = (1L << 1); 1764 enum XIMHighlight = (1L << 2); 1765 enum XIMPrimary = (1L << 5); 1766 enum XIMSecondary = (1L << 6); 1767 enum XIMTertiary = (1L << 7); 1768 enum XIMVisibleToForward = (1L << 8); 1769 enum XIMVisibleToBackword = (1L << 9); 1770 enum XIMVisibleToCenter = (1L << 10); 1771 1772 struct XIMText 1773 { 1774 ushort length; 1775 XIMFeedback* feedback; 1776 Bool encoding_is_wchar; 1777 1778 private union string_union 1779 { 1780 char* multi_byte; 1781 wchar_t* wide_char; 1782 } 1783 1784 string_union string_; 1785 } 1786 1787 alias XIMPreeditState = c_ulong; 1788 1789 enum XIMPreeditUnKnown = 0L; 1790 enum XIMPreeditEnable = 1L; 1791 enum XIMPreeditDisable = (1L << 1); 1792 1793 struct XIMPreeditStateNotifyCallbackStruct 1794 { 1795 XIMPreeditState state; 1796 } 1797 1798 alias XIMResetState = c_ulong; 1799 1800 enum XIMInitialState = 1L; 1801 enum XIMPreserveState = (1L << 1); 1802 1803 alias XIMStringConversionFeedback = c_ulong; 1804 1805 enum XIMStringConversionLeftEdge = (0x00000001); 1806 enum XIMStringConversionRightEdge = (0x00000002); 1807 enum XIMStringConversionTopEdge = (0x00000004); 1808 enum XIMStringConversionBottomEdge = (0x00000008); 1809 enum XIMStringConversionConcealed = (0x00000010); 1810 enum XIMStringConversionWrapped = (0x00000020); 1811 1812 struct XIMStringConversionText 1813 { 1814 ushort length; 1815 XIMStringConversionFeedback* feedback; 1816 Bool encoding_is_wchar; 1817 private union string_union 1818 { 1819 char* mbs; 1820 wchar_t* wcs; 1821 } 1822 1823 string_union string_; 1824 } 1825 1826 alias XIMStringConversionPosition = c_ulong; 1827 1828 alias XIMStringConversionType = c_ulong; 1829 1830 enum XIMStringConversionBuffer = (0x0001); 1831 enum XIMStringConversionLine = (0x0002); 1832 enum XIMStringConversionWord = (0x0003); 1833 enum XIMStringConversionChar = (0x0004); 1834 1835 alias XIMStringConversionOperation = c_ulong; 1836 1837 enum XIMStringConversionSubstitution = (0x0001); 1838 enum XIMStringConversionRetrieval = (0x0002); 1839 1840 enum XIMCaretDirection 1841 { 1842 XIMForwardChar, 1843 XIMBackwardChar, 1844 XIMForwardWord, 1845 XIMBackwardWord, 1846 XIMCaretUp, 1847 XIMCaretDown, 1848 XIMNextLine, 1849 XIMPreviousLine, 1850 XIMLineStart, 1851 XIMLineEnd, 1852 XIMAbsolutePosition, 1853 XIMDontChange 1854 } 1855 1856 struct XIMStringConversionCallbackStruct 1857 { 1858 XIMStringConversionPosition position; 1859 XIMCaretDirection direction; 1860 XIMStringConversionOperation operation; 1861 ushort factor; 1862 XIMStringConversionText* text; 1863 } 1864 1865 struct XIMPreeditDrawCallbackStruct 1866 { 1867 int caret; /* Cursor offset within pre-edit string */ 1868 int chg_first; /* Starting change position */ 1869 int chg_length; /* Length of the change in character count */ 1870 XIMText* text; 1871 } 1872 1873 enum XIMCaretStyle 1874 { 1875 XIMIsInvisible, /* Disable caret feedback */ 1876 XIMIsPrimary, /* UI defined caret feedback */ 1877 XIMIsSecondary /* UI defined caret feedback */ 1878 } 1879 1880 struct XIMPreeditCaretCallbackStruct 1881 { 1882 int position; /* Caret offset within pre-edit string */ 1883 XIMCaretDirection direction; /* Caret moves direction */ 1884 XIMCaretStyle style; /* Feedback of the caret */ 1885 } 1886 1887 enum XIMStatusDataType 1888 { 1889 XIMTextType, 1890 XIMBitmapType 1891 } 1892 1893 struct XIMStatusDrawCallbackStruct 1894 { 1895 XIMStatusDataType type; 1896 private union data_ 1897 { 1898 XIMText* text; 1899 Pixmap bitmap; 1900 } 1901 1902 data_ data; 1903 } 1904 1905 struct XIMHotKeyTrigger 1906 { 1907 KeySym keysym; 1908 int modifier; 1909 int modifier_mask; 1910 } 1911 1912 struct XIMHotKeyTriggers 1913 { 1914 int num_hot_key; 1915 XIMHotKeyTrigger* key; 1916 } 1917 1918 alias XIMHotKeyState = c_ulong; 1919 1920 enum XIMHotKeyStateON = (0x0001L); 1921 enum XIMHotKeyStateOFF = (0x0002L); 1922 1923 struct XIMValuesList 1924 { 1925 ushort count_values; 1926 char** supported_values; 1927 } 1928 1929 /* WARNING, this type not in Xlib spec */ 1930 alias XErrorHandler = int function(Display* /* display */ , XErrorEvent* /* error_event */ 1931 ); 1932 1933 /* WARNING, this type not in Xlib spec */ 1934 alias XIOErrorHandler = int function(Display* /* display */ 1935 ); 1936 1937 alias XConnectionWatchProc = void function(Display* /* dpy */ , XPointer /* client_data */ , 1938 int /* fd */ , Bool /* opening */ , /* open or close flag */ 1939 XPointer* /* watch_data */ /* open sets, close uses */ 1940 ); 1941 1942 alias int XrmQuark; 1943 alias int* XrmQuarkList; 1944 1945 alias XrmHashTable[] XrmSearchList; 1946 alias XrmHashBucket* XrmHashTable; 1947 alias _XrmHashBucketRec* XrmHashBucket; 1948 alias _XrmHashBucketRec* XrmDatabase; 1949 1950 struct XrmValue 1951 { 1952 uint size; 1953 XPointer addr; 1954 } 1955 1956 alias XrmValue* XrmValuePtr; 1957 1958 alias XContext = int; 1959 1960 extern (C) @nogc nothrow 1961 { 1962 alias da_XLoadQueryFont = XFontStruct* function(Display* /* display */ , const(char)* /* name */); 1963 alias da_XQueryFont = XFontStruct* function(Display* /* display */ , XID /* font_ID */); 1964 alias da_XGetMotionEvents = XTimeCoord* function(Display* /* display */ , Window /* w */ , Time /* start */ , Time /* stop */ , int* /* nevents_return */); 1965 1966 version (XlibWidePrototypes) alias da_XDeleteModifiermapEntry = XModifierKeymap* function(XModifierKeymap* /* modmap */ , uint /* keycode_entry */ , int /* modifier */); 1967 else alias da_XDeleteModifiermapEntry = XModifierKeymap* function(XModifierKeymap* /* modmap */ , KeyCode /* keycode_entry */ , int /* modifier */); 1968 1969 alias da_XGetModifierMapping = XModifierKeymap* function(Display* /* display */); 1970 1971 version (XlibWidePrototypes) alias da_XInsertModifiermapEntry = XModifierKeymap* function(XModifierKeymap* /* modmap */ , uint /* keycode_entry */ , int /* modifier */); 1972 else alias da_XInsertModifiermapEntry =XModifierKeymap* function(XModifierKeymap* /* modmap */ , KeyCode /* keycode_entry */ , int /* modifier */); 1973 1974 alias da_XNewModifiermap = XModifierKeymap* function(int /* max_keys_per_mod */); 1975 alias da_XCreateImage = XImage* function(Display* /* display */ , Visual* /* visual */ , uint /* depth */ ,int /* format */ , int /* offset */ , char* /* data */ , uint /* width */ ,uint /* height */ , int /* bitmap_pad */ , int /* bytes_per_line */); 1976 alias da_XInitImage = Status function(XImage* /* image */); 1977 alias da_XGetImage = XImage* function(Display* /* display */ , Drawable /* d */ , int /* x */ ,int /* y */ , uint /* width */ , uint /* height */ , c_ulong /* plane_mask */ , int /* format */); 1978 alias da_XGetSubImage = XImage* function(Display* /* display */ , Drawable /* d */ , int /* x */ , int /* y */ , uint /* width */ , uint /* height */ , c_ulong /* plane_mask */ , int /* format */ , XImage* /* dest_image */ , int /* dest_x */ , int /* dest_y */); 1979 1980 /* 1981 * X function declarations. 1982 */ 1983 alias da_XOpenDisplay = Display* function(const(char)* /* display_name */); 1984 alias da_XrmInitialize = void function(); 1985 alias da_XFetchBytes = char* function(Display* /* display */ , int* /* nbytes_return */); 1986 alias da_XFetchBuffer = char* function(Display* /* display */ , int* /* nbytes_return */ , int /* buffer */); 1987 alias da_XGetAtomName = char* function(Display* /* display */ , Atom /* atom */); 1988 alias da_XGetAtomNames = Status function(Display* /* dpy */ , Atom* /* atoms */ , int /* count */ , char** /* names_return */); 1989 alias da_XGetDefault = char* function(Display* /* display */ , const(char)* /* program */ , const(char)* /* option */); 1990 alias da_XDisplayName = char* function(const(char)* /* string */); 1991 alias da_XKeysymToString = char* function(KeySym /* keysym */); 1992 alias da_XSynchronize = int function(Display*) function(Display* /* display */ , Bool /* onoff */); 1993 alias da_XSetAfterFunction = int function(Display*) function(Display* /* display */ , int function(Display*) proc); 1994 alias da_XInternAtom = Atom function(Display* /* display */ , const(char)* /* atom_name */ , Bool /* only_if_exists */); 1995 alias da_XInternAtoms = Status function(Display* /* dpy */ , char** /* names */ , int /* count */ , Bool /* onlyIfExists */ , Atom* /* atoms_return */); 1996 alias da_XCopyColormapAndFree = Colormap function(Display* /* display */ , Colormap /* colormap */); 1997 alias da_XCreateColormap = Colormap function(Display* /* display */ , Window /* w */ , Visual* /* visual */ , int /* alloc */); 1998 alias da_XCreatePixmapCursor = Cursor function(Display* /* display */ , Pixmap /* source */ , Pixmap /* mask */ , XColor* /* foreground_color */ , XColor* /* background_color */ , uint /* x */ , uint /* y */); 1999 alias da_XCreateGlyphCursor = Cursor function(Display* /* display */ , Font /* source_font */ , Font /* mask_font */ , uint /* source_char */ , uint /* mask_char */ , const(XColor)* /* foreground_color */ , const(XColor)* /* background_color */); 2000 alias da_XCreateFontCursor = Cursor function(Display* /* display */ , uint /* shape */); 2001 alias da_XLoadFont = Font function(Display* /* display */ , const(char)* /* name */); 2002 alias da_XCreateGC = GC function(Display* /* display */ , Drawable /* d */ , c_ulong /* valuemask */ , XGCValues* /* values */); 2003 alias da_XGContextFromGC = GContext function(GC /* gc */); 2004 alias da_XFlushGC = void function(Display* /* display */ , GC /* gc */); 2005 alias da_XCreatePixmap = Pixmap function(Display* /* display */ , Drawable /* d */ , uint /* width */ , uint /* height */ ,uint /* depth */); 2006 alias da_XCreateBitmapFromData = Pixmap function(Display* /* display */ , Drawable /* d */ , const(char)* /* data */ , uint /* width */ , uint /* height */); 2007 alias da_XCreatePixmapFromBitmapData = Pixmap function(Display* /* display */ , Drawable /* d */ , char* /* data */ , uint /* width */ , uint /* height */ , c_ulong /* fg */ , c_ulong /* bg */ , uint /* depth */); 2008 alias da_XCreateSimpleWindow = Window function(Display* /* display */ , Window /* parent */ , int /* x */ , int /* y */ , uint /* width */ ,uint /* height */ , uint /* border_width */ , c_ulong /* border */ , c_ulong /* background */); 2009 alias da_XGetSelectionOwner = Window function(Display* /* display */ , Atom /* selection */); 2010 alias da_XCreateWindow = Window function(Display* /* display */ , Window /* parent */ , int /* x */ , int /* y */ , uint /* width */ , uint /* height */ ,uint /* border_width */ , int /* depth */ , uint /* class */ , Visual* /* visual */ , c_ulong /* valuemask */ , XSetWindowAttributes* /* attributes */ ); 2011 alias da_XListInstalledColormaps = Colormap* function(Display* /* display */ , Window /* w */ , int* /* num_return */); 2012 alias da_XListFonts = char** function(Display* /* display */ , const(char)* /* pattern */ , int /* maxnames */ , int* /* actual_count_return */ ); 2013 alias da_XListFontsWithInfo = char** function(Display* /* display */ , const(char)* /* pattern */ , int /* maxnames */ , int* /* count_return */ , XFontStruct** /* info_return */); 2014 alias da_XGetFontPath = char** function(Display* /* display */ , int* /* npaths_return */); 2015 alias da_XListExtensions = char** function(Display* /* display */ , int* /* nextensions_return */); 2016 alias da_XListProperties = Atom* function(Display* /* display */ , Window /* w */ , int* /* num_prop_return */); 2017 alias da_XListHosts = XHostAddress* function(Display* /* display */ , int* /* nhosts_return */ , Bool* /* state_return */); 2018 alias da_XLookupKeysym = KeySym function(XKeyEvent* /* key_event */ , int /* index */); 2019 version (XlibWidePrototypes) KeySym* XGetKeyboardMapping(Display* /* display */ , uint /* keycode_entry */ , int /* keycode_count */ , int* /* keysyms_per_keycode_return */); 2020 else KeySym* XGetKeyboardMapping(Display* /* display */ , KeyCode /* keycode_entry */ , int /* keycode_count */ , int* /* keysyms_per_keycode_return */); 2021 alias da_XStringToKeysym = KeySym function(const(char)* /* string */); 2022 alias da_XMaxRequestSize = c_long function(Display* /* display */); 2023 alias da_XExtendedMaxRequestSize = c_long function(Display* /* display */); 2024 alias da_XDisplayMotionBufferSize = c_ulong function(Display* /* display */); 2025 alias da_XVisualIDFromVisual = VisualID function(Visual* /* visual */); 2026 alias da_XInitThreads = Status function(); 2027 alias da_XLockDisplay = void function(Display* /* display */); 2028 alias da_XUnlockDisplay = void function(Display* /* display */); 2029 alias da_XRootWindow = Window function(Display* /* display */ , int /* screen_number */); 2030 alias da_XDefaultRootWindow = Window function(Display* /* display */); 2031 alias da_XRootWindowOfScreen = Window function(Screen* /* screen */); 2032 alias da_XDefaultGC = GC function(Display* /* display */ , int /* screen_number */); 2033 alias da_XDefaultGCOfScreen = GC function(Screen* /* screen */); 2034 alias da_XBlackPixel = c_ulong function(Display* /* display */ , int /* screen_number */); 2035 alias da_XWhitePixel = c_ulong function(Display* /* display */ , int /* screen_number */); 2036 alias da_XAllPlanes = c_ulong function(); 2037 alias da_XBlackPixelOfScreen = c_ulong function(Screen* /* screen */); 2038 alias da_XWhitePixelOfScreen = c_ulong function(Screen* /* screen */); 2039 alias da_XNextRequest = c_ulong function(Display* /* display */); 2040 alias da_XLastKnownRequestProcessed = c_ulong function(Display* /* display */); 2041 alias da_XDefaultColormap = Colormap function(Display* /* display */ , int /* screen_number */); 2042 alias da_XDefaultColormapOfScreen = Colormap function(Screen* /* screen */); 2043 alias da_XEventMaskOfScreen = c_long function(Screen* /* screen */); 2044 alias da_XScreenNumberOfScreen = int function(Screen* /* screen */); 2045 alias da_XSetErrorHandler = XErrorHandler function(XErrorHandler /* handler */); 2046 alias da_XSetIOErrorHandler = XIOErrorHandler function(XIOErrorHandler /* handler */); 2047 alias da_XResourceManagerString = char* function(Display* /* display */); 2048 alias da_XScreenResourceString = char* function(Screen* /* screen */); 2049 alias da_XInitExtension = XExtCodes* function(Display* /* display */ , const(char)* /* name */); 2050 alias da_XAddExtension = XExtCodes* function(Display* /* display */); 2051 alias da_XFindOnExtensionList = XExtData* function(XExtData** /* structure */ , int /* number */); 2052 alias da_XDefaultVisual = Visual* function(Display* /* display */ , int /* screen_number */); 2053 alias da_XDefaultVisualOfScreen = Visual* function(Screen* /* screen */); 2054 alias da_XServerVendor = char* function(Display* /* display */); 2055 alias da_XDisplayString = char* function(Display* /* display */); 2056 alias da_XDisplayOfScreen = Display* function(Screen* /* screen */); 2057 alias da_XScreenOfDisplay = Screen* function(Display* /* display */ , int /* screen_number */); 2058 alias da_XDefaultScreenOfDisplay = Screen* function(Display* /* display */); 2059 alias da_XListPixmapFormats = XPixmapFormatValues* function(Display* /* display */ , int* /* count_return */); 2060 alias da_XListDepths = int* function(Display* /* display */ , int /* screen_number */ , int* /* count_return */); 2061 alias da_XEHeadOfExtensionList = XExtData** function(XEDataObject /* object */); 2062 alias da_XReconfigureWMWindow = Status function(Display* /* display */ , Window /* w */ , int /* screen_number */ ,uint /* mask */ , XWindowChanges* /* changes */); 2063 alias da_XGetWMProtocols = Status function(Display* /* display */ , Window /* w */ , Atom** /* protocols_return */ ,int* /* count_return */); 2064 alias da_XSetWMProtocols = Status function(Display* /* display */ , Window /* w */ , Atom* /* protocols */ , int /* count */); 2065 alias da_XIconifyWindow = Status function(Display* /* display */ , Window /* w */ , int /* screen_number */); 2066 alias da_XWithdrawWindow = Status function(Display* /* display */ , Window /* w */ , int /* screen_number */); 2067 alias da_XGetCommand = Status function(Display* /* display */ , Window /* w */ , char*** /* argv_return */ , int* /* argc_return */); 2068 alias da_XGetWMColormapWindows = Status function(Display* /* display */ , Window /* w */ , Window** /* windows_return */ ,int* /* count_return */); 2069 alias da_XSetWMColormapWindows = Status function(Display* /* display */ , Window /* w */ , Window* /* colormap_windows */ ,int /* count */); 2070 alias da_XFreeStringList = void function(char** /* list */); 2071 alias da_XSetTransientForHint = int function(Display* /* display */ , Window /* w */ , Window /* prop_window */); 2072 alias da_XActivateScreenSaver = int function(Display* /* display */); 2073 alias da_XAddHost = int function(Display* /* display */ , XHostAddress* /* host */); 2074 alias da_XAddHosts = int function(Display* /* display */ , XHostAddress* /* hosts */ , int /* num_hosts */); 2075 alias da_XAddToExtensionList = int function(XExtData** /* structure */ , XExtData* /* ext_data */); 2076 alias da_XAddToSaveSet = int function(Display* /* display */ , Window /* w */); 2077 alias da_XAllocColor = Status function(Display* /* display */ , Colormap /* colormap */ , XColor* /* screen_in_out */); 2078 alias da_XAllocColorCells = Status function(Display* /* display */ , Colormap /* colormap */ ,Bool /* contig */ , c_ulong* /* plane_masks_return */ , uint /* nplanes */ ,c_ulong* /* pixels_return */ , uint /* npixels */); 2079 alias da_XAllocColorPlanes = Status function(Display* /* display */ , Colormap /* colormap */ , Bool /* contig */ , c_ulong* /* pixels_return */ ,int /* ncolors */ , int /* nreds */ , int /* ngreens */ , int /* nblues */ ,c_ulong* /* rmask_return */ , c_ulong* /* gmask_return */ , c_ulong* /* bmask_return */); 2080 alias da_XAllocNamedColor = Status function(Display* /* display */ , Colormap /* colormap */ ,const(char)* /* color_name */ , XColor* /* screen_def_return */ , XColor* /* exact_def_return */); 2081 alias da_XAllowEvents = int function(Display* /* display */ , int /* event_mode */ , Time /* time */); 2082 alias da_XAutoRepeatOff = int function(Display* /* display */); 2083 alias da_XAutoRepeatOn = int function(Display* /* display */); 2084 alias da_XBell = int function(Display* /* display */ , int /* percent */); 2085 alias da_XBitmapBitOrder = int function(Display* /* display */); 2086 alias da_XBitmapPad = int function(Display* /* display */); 2087 alias da_XBitmapUnit = int function(Display* /* display */); 2088 alias da_XCellsOfScreen = int function(Screen* /* screen */); 2089 alias da_XChangeActivePointerGrab = int function(Display* /* display */ , uint /* event_mask */ , Cursor /* cursor */ ,Time /* time */); 2090 alias da_XChangeGC = int function(Display* /* display */ , GC /* gc */ , c_ulong /* valuemask */ , XGCValues* /* values */); 2091 alias da_XChangeKeyboardControl = int function(Display* /* display */ , c_ulong /* value_mask */ ,XKeyboardControl* /* values */); 2092 alias da_XChangeKeyboardMapping = int function(Display* /* display */ , int /* first_keycode */ , int /* keysyms_per_keycode */ , KeySym* /* keysyms */ , int /* num_codes */); 2093 alias da_XChangePointerControl = int function(Display* /* display */ , Bool /* do_accel */ , Bool /* do_threshold */ ,int /* accel_numerator */ , int /* accel_denominator */ , int /* threshold */); 2094 alias da_XChangeProperty = int function(Display* /* display */ , Window /* w */ , Atom /* property */ , Atom /* type */ ,int /* format */ , int /* mode */ , const(ubyte)* /* data */ , int /* nelements */); 2095 alias da_XChangeSaveSet = int function(Display* /* display */ , Window /* w */ , int /* change_mode */); 2096 alias da_XChangeWindowAttributes = int function(Display* /* display */ , Window /* w */ ,c_ulong /* valuemask */ , XSetWindowAttributes* /* attributes */); 2097 alias da_XCheckIfEvent = Bool function(Display* /* display */ , XEvent* /* event_return */ ,Bool function(Display*, XEvent*, XPointer) /* predicate */ , XPointer /* arg */); 2098 alias da_XCheckMaskEvent = Bool function(Display* /* display */ , c_long /* event_mask */ , XEvent* /* event_return */); 2099 alias da_XCheckTypedEvent = Bool function(Display* /* display */ , int /* event_type */ , XEvent* /* event_return */); 2100 alias da_XCheckTypedWindowEvent = Bool function(Display* /* display */ , Window /* w */ , int /* event_type */ ,XEvent* /* event_return */); 2101 alias da_XCheckWindowEvent = Bool function(Display* /* display */ , Window /* w */ , c_long /* event_mask */ ,XEvent* /* event_return */); 2102 alias da_XCirculateSubwindows = int function(Display* /* display */ , Window /* w */ , int /* direction */); 2103 alias da_XCirculateSubwindowsDown = int function(Display* /* display */ , Window /* w */); 2104 alias da_XCirculateSubwindowsUp = int function(Display* /* display */ , Window /* w */); 2105 alias da_XClearArea = int function(Display* /* display */ , Window /* w */ , int /* x */ , int /* y */ ,uint /* width */ , uint /* height */ , Bool /* exposures */); 2106 alias da_XClearWindow = int function(Display* /* display */ , Window /* w */); 2107 alias da_XCloseDisplay = int function(Display* /* display */); 2108 alias da_XConfigureWindow = int function(Display* /* display */ , Window /* w */ , uint /* value_mask */ ,XWindowChanges* /* values */); 2109 alias da_XConnectionNumber = int function(Display* /* display */); 2110 alias da_XConvertSelection = int function(Display* /* display */ , Atom /* selection */ , Atom /* target */ ,Atom /* property */ , Window /* requestor */ , Time /* time */); 2111 alias da_XCopyArea = int function(Display* /* display */ , Drawable /* src */ , Drawable /* dest */ , GC /* gc */ ,int /* src_x */ , int /* src_y */ , uint /* width */ , uint /* height */ , int /* dest_x */ ,int /* dest_y */); 2112 alias da_XCopyGC = int function(Display* /* display */ , GC /* src */ , c_ulong /* valuemask */ , GC /* dest */); 2113 alias da_XCopyPlane = int function(Display* /* display */ , Drawable /* src */ , Drawable /* dest */ , GC /* gc */ , int /* src_x */ , int /* src_y */ ,uint /* width */ , uint /* height */ , int /* dest_x */ , int /* dest_y */ , c_ulong /* plane */); 2114 alias da_XDefaultDepth = int function(Display* /* display */ , int /* screen_number */); 2115 alias da_XDefaultDepthOfScreen = int function(Screen* /* screen */); 2116 alias da_XDefaultScreen = int function(Display* /* display */); 2117 alias da_XDefineCursor = int function(Display* /* display */ , Window /* w */ , Cursor /* cursor */); 2118 alias da_XDeleteProperty = int function(Display* /* display */ , Window /* w */ , Atom /* property */); 2119 alias da_XDestroyWindow = int function(Display* /* display */ , Window /* w */); 2120 alias da_XDestroySubwindows = int function(Display* /* display */ , Window /* w */); 2121 alias da_XDoesBackingStore = int function(Screen* /* screen */); 2122 alias da_XDoesSaveUnders = Bool function(Screen* /* screen */); 2123 alias da_XDisableAccessControl = int function(Display* /* display */); 2124 alias da_XDisplayCells = int function(Display* /* display */ , int /* screen_number */); 2125 alias da_XDisplayHeight = int function(Display* /* display */ , int /* screen_number */); 2126 alias da_XDisplayHeightMM = int function(Display* /* display */ , int /* screen_number */); 2127 alias da_XDisplayKeycodes = int function(Display* /* display */ , int* /* min_keycodes_return */ , int* /* max_keycodes_return */); 2128 alias da_XDisplayPlanes = int function(Display* /* display */ , int /* screen_number */); 2129 alias da_XDisplayWidth = int function(Display* /* display */ , int /* screen_number */); 2130 alias da_XDisplayWidthMM = int function(Display* /* display */ , int /* screen_number */); 2131 alias da_XDrawArc = int function(Display* /* display */ , Drawable /* d */ , GC /* gc */ , int /* x */ ,int /* y */ , uint /* width */ , uint /* height */ , int /* angle1 */ , int /* angle2 */); 2132 alias da_XDrawArcs = int function(Display* /* display */ , Drawable /* d */ , GC /* gc */ , XArc* /* arcs */ , int /* narcs */); 2133 alias da_XDrawImageString = int function(Display* /* display */ , Drawable /* d */ , GC /* gc */ ,int /* x */ , int /* y */ , const(char)* /* string */ , int /* length */); 2134 alias da_XDrawImageString16 = int function(Display* /* display */ , Drawable /* d */ , GC /* gc */ , int /* x */ ,int /* y */ , const XChar2b* /* string */ , int /* length */); 2135 alias da_XDrawLine = int function(Display* /* display */ , Drawable /* d */ , GC /* gc */ , int /* x1 */ ,int /* y1 */ , int /* x2 */ , int /* y2 */); 2136 alias da_XDrawLines = int function(Display* /* display */ , Drawable /* d */ , GC /* gc */ , XPoint* /* points */ ,int /* npoints */ , int /* mode */); 2137 alias da_XDrawPoint = int function(Display* /* display */ , Drawable /* d */ , GC /* gc */ , int /* x */ , int /* y */); 2138 alias da_XDrawPoints = int function(Display* /* display */ , Drawable /* d */ , GC /* gc */ , XPoint* /* points */ ,int /* npoints */ , int /* mode */); 2139 alias da_XDrawRectangle = int function(Display* /* display */ , Drawable /* d */ , GC /* gc */ , int /* x */ ,int /* y */ , uint /* width */ , uint /* height */); 2140 alias da_XDrawRectangles = int function(Display* /* display */ , Drawable /* d */ , GC /* gc */ , XRectangle* /* rectangles */ ,int /* nrectangles */); 2141 alias da_XDrawSegments = int function(Display* /* display */ , Drawable /* d */ , GC /* gc */ , XSegment* /* segments */ ,int /* nsegments */); 2142 alias da_XDrawString = int function(Display* /* display */ , Drawable /* d */ , GC /* gc */ ,int /* x */ , int /* y */ , const(char)* /* string */ , int /* length */); 2143 alias da_XDrawString16 = int function(Display* /* display */ , Drawable /* d */ , GC /* gc */ ,int /* x */ , int /* y */ , const XChar2b* /* string */ , int /* length */); 2144 alias da_XDrawText = int function(Display* /* display */ , Drawable /* d */ , GC /* gc */ , int /* x */ ,int /* y */ , XTextItem* /* items */ , int /* nitems */); 2145 alias da_XDrawText16 = int function(Display* /* display */ , Drawable /* d */ , GC /* gc */ ,int /* x */ , int /* y */ , XTextItem16* /* items */ , int /* nitems */); 2146 alias da_XEnableAccessControl = int function(Display* /* display */); 2147 alias da_XEventsQueued = int function(Display* /* display */ , int /* mode */); 2148 alias da_XFetchName = Status function(Display* /* display */ , Window /* w */ , char** /* window_name_return */); 2149 alias da_XFillArc = int function(Display* /* display */ , Drawable /* d */ , GC /* gc */ , int /* x */ , int /* y */ , uint /* width */ , uint /* height */ , int /* angle1 */ , int /* angle2 */); 2150 alias da_XFillArcs = int function(Display* /* display */ , Drawable /* d */ , GC /* gc */ , XArc* /* arcs */ , int /* narcs */); 2151 alias da_XFillPolygon = int function(Display* /* display */ , Drawable /* d */ , GC /* gc */ , XPoint* /* points */ ,int /* npoints */ , int /* shape */ , int /* mode */); 2152 alias da_XFillRectangle = int function(Display* /* display */ , Drawable /* d */ , GC /* gc */ , int /* x */ ,int /* y */ , uint /* width */ , uint /* height */); 2153 alias da_XFillRectangles = int function(Display* /* display */ , Drawable /* d */ , GC /* gc */ , XRectangle* /* rectangles */ ,int /* nrectangles */); 2154 alias da_XFlush = int function(Display* /* display */); 2155 alias da_XForceScreenSaver = int function(Display* /* display */ , int /* mode */); 2156 alias da_XFree = int function(void* /* data */); 2157 alias da_XFreeColormap = int function(Display* /* display */ , Colormap /* colormap */); 2158 alias da_XFreeColors = int function(Display* /* display */ , Colormap /* colormap */ , c_ulong* /* pixels */ ,int /* npixels */ , c_ulong /* planes */); 2159 alias da_XFreeCursor = int function(Display* /* display */ , Cursor /* cursor */); 2160 alias da_XFreeExtensionList = int function(char** /* list */); 2161 alias da_XFreeFont = int function(Display* /* display */ , XFontStruct* /* font_struct */); 2162 alias da_XFreeFontInfo = int function(char** /* names */ , XFontStruct* /* free_info */ , int /* actual_count */); 2163 alias da_XFreeFontNames = int function(char** /* list */); 2164 alias da_XFreeFontPath = int function(char** /* list */); 2165 alias da_XFreeGC = int function(Display* /* display */ , GC /* gc */); 2166 alias da_XFreeModifiermap = int function(XModifierKeymap* /* modmap */); 2167 alias da_XFreePixmap = int function(Display* /* display */ , Pixmap /* pixmap */); 2168 alias da_XGeometry = int function(Display* /* display */ , int /* screen */ , const(char)* /* position */ ,const(char)* /* default_position */ , uint /* bwidth */ , uint /* fwidth */ ,uint /* fheight */ , int /* xadder */ , int /* yadder */ , int* /* x_return */ ,int* /* y_return */ , int* /* width_return */ , int* /* height_return */); 2169 alias da_XGetErrorDatabaseText = int function(Display* /* display */ , const(char)* /* name */ ,const(char)* /* message */ , const(char)* /* default_string */ , char* /* buffer_return */ ,int /* length */); 2170 alias da_XGetErrorText = int function(Display* /* display */ , int /* code */ , char* /* buffer_return */ , int /* length */); 2171 alias da_XGetFontProperty = Bool function(XFontStruct* /* font_struct */ , Atom /* atom */ , c_ulong* /* value_return */); 2172 alias da_XGetGCValues = Status function(Display* /* display */ , GC /* gc */ , c_ulong /* valuemask */ ,XGCValues* /* values_return */); 2173 alias da_XGetGeometry = Status function(Display* /* display */ , Drawable /* d */ , Window* /* root_return */ , int* /* x_return */ , int* /* y_return */ ,uint* /* width_return */ , uint* /* height_return */ , uint* /* border_width_return */ ,uint* /* depth_return */); 2174 alias da_XGetIconName = Status function(Display* /* display */ , Window /* w */ , char** /* icon_name_return */); 2175 alias da_XGetInputFocus = int function(Display* /* display */ , Window* /* focus_return */ , int* /* revert_to_return */); 2176 alias da_XGetKeyboardControl = int function(Display* /* display */ , XKeyboardState* /* values_return */); 2177 alias da_XGetPointerControl = int function(Display* /* display */ , int* /* accel_numerator_return */ ,int* /* accel_denominator_return */ , int* /* threshold_return */); 2178 alias da_XGetPointerMapping = int function(Display* /* display */ , ubyte* /* map_return */ , int /* nmap */); 2179 alias da_XGetScreenSaver = int function(Display* /* display */ , int* /* timeout_return */ , int* /* interval_return */ ,int* /* prefer_blanking_return */ , int* /* allow_exposures_return */); 2180 alias da_XGetTransientForHint = Status function(Display* /* display */ , Window /* w */ , Window* /* prop_window_return */); 2181 alias da_XGetWindowProperty = int function(Display* /* display */ , Window /* w */ , Atom /* property */ , c_long /* c_long_offset */ , c_long /* c_long_length */ ,Bool /* delete */ , Atom /* req_type */ , Atom* /* actual_type_return */ ,int* /* actual_format_return */ , c_ulong* /* nitems_return */ , c_ulong* /* bytes_after_return */ ,ubyte** /* prop_return */); 2182 alias da_XGetWindowAttributes = Status function(Display* /* display */ , Window /* w */ , XWindowAttributes* /* window_attributes_return */); 2183 alias da_XGrabButton = int function(Display* /* display */ , uint /* button */ , uint /* modifiers */ , Window /* grab_window */ ,Bool /* owner_events */ , uint /* event_mask */ , int /* pointer_mode */ ,int /* keyboard_mode */ , Window /* confine_to */ , Cursor /* cursor */); 2184 alias da_XGrabKey = int function(Display* /* display */ , int /* keycode */ , uint /* modifiers */ ,Window /* grab_window */ , Bool /* owner_events */ , int /* pointer_mode */ , int /* keyboard_mode */); 2185 alias da_XGrabKeyboard = int function(Display* /* display */ , Window /* grab_window */ , Bool /* owner_events */ ,int /* pointer_mode */ , int /* keyboard_mode */ , Time /* time */); 2186 alias da_XGrabPointer = int function(Display* /* display */ , Window /* grab_window */ , Bool /* owner_events */ ,uint /* event_mask */ , int /* pointer_mode */ , int /* keyboard_mode */ ,Window /* confine_to */ , Cursor /* cursor */ , Time /* time */); 2187 alias da_XGrabServer = int function(Display* /* display */); 2188 alias da_XHeightMMOfScreen = int function(Screen* /* screen */); 2189 alias da_XHeightOfScreen = int function(Screen* /* screen */); 2190 alias da_XIfEvent = int function(Display* /* display */ , XEvent* /* event_return */ , Bool function(Display* /* display */ ,XEvent* /* event */ , XPointer /* arg */) /* predicate */ , XPointer /* arg */); 2191 alias da_XImageByteOrder = int function(Display* /* display */); 2192 alias da_XInstallColormap = int function(Display* /* display */ , Colormap /* colormap */); 2193 alias da_XKeysymToKeycode = KeyCode function(Display* /* display */ , KeySym /* keysym */); 2194 alias da_XKillClient = int function(Display* /* display */ , XID /* resource */); 2195 alias da_XLookupColor = Status function(Display* /* display */ , Colormap /* colormap */ ,const(char)* /* color_name */ , XColor* /* exact_def_return */ , XColor* /* screen_def_return */); 2196 alias da_XLowerWindow = int function(Display* /* display */ , Window /* w */); 2197 alias da_XMapRaised = int function(Display* /* display */ , Window /* w */); 2198 alias da_XMapSubwindows = int function(Display* /* display */ , Window /* w */); 2199 alias da_XMapWindow = int function(Display* /* display */ , Window /* w */); 2200 alias da_XMaskEvent = int function(Display* /* display */ , c_long /* event_mask */ , XEvent* /* event_return */); 2201 alias da_XMaxCmapsOfScreen = int function(Screen* /* screen */); 2202 alias da_XMinCmapsOfScreen = int function(Screen* /* screen */); 2203 alias da_XMoveResizeWindow = int function(Display* /* display */ , Window /* w */ , int /* x */ , int /* y */ ,uint /* width */ , uint /* height */); 2204 alias da_XMoveWindow = int function(Display* /* display */ , Window /* w */ , int /* x */ , int /* y */); 2205 alias da_XNextEvent = int function(Display* /* display */ , XEvent* /* event_return */); 2206 alias da_XNoOp = int function(Display* /* display */); 2207 alias da_XParseColor = Status function(Display* /* display */ , Colormap /* colormap */ , const(char)* /* spec */ ,XColor* /* exact_def_return */); 2208 alias da_XParseGeometry = int function(const(char)* /* parsestring */ , int* /* x_return */ , int* /* y_return */ ,uint* /* width_return */ , uint* /* height_return */); 2209 alias da_XPeekEvent = int function(Display* /* display */ , XEvent* /* event_return */); 2210 alias da_XPeekIfEvent = int function(Display* /* display */ , XEvent* /* event_return */ , Bool function(Display* /* display */ , XEvent* /* event */ , XPointer /* arg */) /* predicate */ , XPointer /* arg */); 2211 alias da_XPending = int function(Display* /* display */); 2212 alias da_XPlanesOfScreen = int function(Screen* /* screen */); 2213 alias da_XProtocolRevision = int function(Display* /* display */); 2214 alias da_XProtocolVersion = int function(Display* /* display */); 2215 alias da_XPutBackEvent = int function(Display* /* display */ , XEvent* /* event */); 2216 alias da_XPutImage = int function(Display* /* display */ , Drawable /* d */ , GC /* gc */ , XImage* /* image */ ,int /* src_x */ , int /* src_y */ , int /* dest_x */ , int /* dest_y */ , uint /* width */ ,uint /* height */); 2217 alias da_XQLength = int function(Display* /* display */); 2218 alias da_XQueryBestCursor = Status function(Display* /* display */ , Drawable /* d */ , uint /* width */ ,uint /* height */ , uint* /* width_return */ , uint* /* height_return */); 2219 alias da_XQueryBestSize = Status function(Display* /* display */ , int /* class */ , Drawable /* which_screen */ ,uint /* width */ , uint /* height */ , uint* /* width_return */ , uint* /* height_return */); 2220 alias da_XQueryBestStipple = Status function(Display* /* display */ , Drawable /* which_screen */ ,uint /* width */ , uint /* height */ , uint* /* width_return */ , uint* /* height_return */); 2221 alias da_XQueryBestTile = Status function(Display* /* display */ , Drawable /* which_screen */ ,uint /* width */ , uint /* height */ , uint* /* width_return */ , uint* /* height_return */); 2222 alias da_XQueryColor = int function(Display* /* display */ , Colormap /* colormap */ , XColor* /* def_in_out */); 2223 alias da_XQueryColors = int function(Display* /* display */ , Colormap /* colormap */ , XColor* /* defs_in_out */ ,int /* ncolors */); 2224 alias da_XQueryExtension = Bool function(Display* /* display */ , const(char)* /* name */ , int* /* major_opcode_return */ ,int* /* first_event_return */ , int* /* first_error_return */); 2225 alias da_XQueryKeymap = int function(Display* /* display */ , char[32] /* keys_return */); 2226 alias da_XQueryPointer = Bool function(Display* /* display */ , Window /* w */ , Window* /* root_return */ , Window* /* child_return */ , int* /* root_x_return */ ,int* /* root_y_return */ , int* /* win_x_return */ , int* /* win_y_return */ , uint* /* mask_return */); 2227 alias da_XQueryTextExtents = int function(Display* /* display */ , XID /* font_ID */ , const(char)* /* string */ , int /* nchars */ , int* /* direction_return */ ,int* /* font_ascent_return */ , int* /* font_descent_return */ , XCharStruct* /* overall_return */); 2228 alias da_XQueryTextExtents16 = int function(Display* /* display */ , XID /* font_ID */ , const XChar2b* /* string */ , int /* nchars */ ,int* /* direction_return */ , int* /* font_ascent_return */ , int* /* font_descent_return */ ,XCharStruct* /* overall_return */); 2229 alias da_XQueryTree = Status function(Display* /* display */ , Window /* w */ , Window* /* root_return */ ,Window* /* parent_return */ , Window** /* children_return */ , uint* /* nchildren_return */); 2230 alias da_XRaiseWindow = int function(Display* /* display */ , Window /* w */); 2231 alias da_XReadBitmapFile = int function(Display* /* display */ , Drawable /* d */ , const(char)* /* filename */ , uint* /* width_return */ ,uint* /* height_return */ , Pixmap* /* bitmap_return */ , int* /* x_hot_return */ ,int* /* y_hot_return */); 2232 alias da_XReadBitmapFileData = int function(const(char)* /* filename */ , uint* /* width_return */ ,uint* /* height_return */ , ubyte** /* data_return */ , int* /* x_hot_return */ ,int* /* y_hot_return */); 2233 alias da_XRebindKeysym = int function(Display* /* display */ , KeySym /* keysym */ , KeySym* /* list */ ,int /* mod_count */ , const(ubyte)* /* string */ , int /* bytes_string */); 2234 alias da_XRecolorCursor = int function(Display* /* display */ , Cursor /* cursor */ , XColor* /* foreground_color */ ,XColor* /* background_color */); 2235 alias da_XRefreshKeyboardMapping = int function(XMappingEvent* /* event_map */); 2236 alias da_XRemoveFromSaveSet = int function(Display* /* display */ , Window /* w */); 2237 alias da_XRemoveHost = int function(Display* /* display */ , XHostAddress* /* host */); 2238 alias da_XRemoveHosts = int function(Display* /* display */ , XHostAddress* /* hosts */ , int /* num_hosts */); 2239 alias da_XReparentWindow = int function(Display* /* display */ , Window /* w */ , Window /* parent */ , int /* x */ , int /* y */); 2240 alias da_XResetScreenSaver = int function(Display* /* display */); 2241 alias da_XResizeWindow = int function(Display* /* display */ , Window /* w */ , uint /* width */ , uint /* height */); 2242 alias da_XRestackWindows = int function(Display* /* display */ , Window* /* windows */ , int /* nwindows */); 2243 alias da_XRotateBuffers = int function(Display* /* display */ , int /* rotate */ ); 2244 alias da_XRotateWindowProperties = int function(Display* /* display */ , Window /* w */ , Atom* /* properties */ , int /* num_prop */ , int /* npositions */); 2245 alias da_XScreenCount = int function(Display* /* display */); 2246 alias da_XSelectInput = int function(Display* /* display */ , Window /* w */ , c_long /* event_mask */); 2247 alias da_XSendEvent = Status function(Display* /* display */ , Window /* w */ , Bool /* propagate */ , c_long /* event_mask */ , XEvent* /* event_send */); 2248 alias da_XSetAccessControl = int function(Display* /* display */ , int /* mode */); 2249 alias da_XSetArcMode = int function(Display* /* display */ , GC /* gc */ , int /* arc_mode */); 2250 alias da_XSetBackground = int function(Display* /* display */ , GC /* gc */ , c_ulong /* background */); 2251 alias da_XSetClipMask = int function(Display* /* display */ , GC /* gc */ , Pixmap /* pixmap */); 2252 alias da_XSetClipOrigin = int function(Display* /* display */ , GC /* gc */ , int /* clip_x_origin */ , int /* clip_y_origin */); 2253 alias da_XSetClipRectangles = int function(Display* /* display */ , GC /* gc */ , int /* clip_x_origin */ , int /* clip_y_origin */ , XRectangle* /* rectangles */ , int /* n */ , int /* ordering */); 2254 alias da_XSetCloseDownMode = int function(Display* /* display */ , int /* close_mode */); 2255 alias da_XSetCommand = int function(Display* /* display */ , Window /* w */ , char** /* argv */ , int /* argc */); 2256 alias da_XSetDashes = int function(Display* /* display */ , GC /* gc */ , int /* dash_offset */ , const(char)* /* dash_list */ ,int /* n */); 2257 alias da_XSetFillRule = int function(Display* /* display */ , GC /* gc */ , int /* fill_rule */); 2258 alias da_XSetFillStyle = int function(Display* /* display */ , GC /* gc */ , int /* fill_style */); 2259 alias da_XSetFont = int function(Display* /* display */ , GC /* gc */ , Font /* font */); 2260 alias da_XSetFontPath = int function(Display* /* display */ , char** /* directories */ , int /* ndirs */); 2261 alias da_XSetForeground = int function(Display* /* display */ , GC /* gc */ , c_ulong /* foreground */); 2262 alias da_XSetFunction = int function(Display* /* display */ , GC /* gc */ , int /* function */); 2263 alias da_XSetGraphicsExposures = int function(Display* /* display */ , GC /* gc */ , Bool /* graphics_exposures */); 2264 alias da_XSetIconName = int function(Display* /* display */ , Window /* w */ , const(char)* /* icon_name */); 2265 alias da_XSetInputFocus = int function(Display* /* display */ , Window /* focus */ , int /* revert_to */ , Time /* time */); 2266 alias da_XSetLineAttributes = int function(Display* /* display */ , GC /* gc */ , uint /* line_width */ , int /* line_style */ , int /* cap_style */ , int /* join_style */); 2267 alias da_XSetModifierMapping = int function(Display* /* display */ , XModifierKeymap* /* modmap */); 2268 alias da_XSetPlaneMask = int function(Display* /* display */ , GC /* gc */ , c_ulong /* plane_mask */); 2269 alias da_XSetPointerMapping = int function(Display* /* display */ , const(ubyte)* /* map */ , int /* nmap */); 2270 alias da_XSetScreenSaver = int function(Display* /* display */ , int /* timeout */ , int /* interval */ , int /* prefer_blanking */ ,int /* allow_exposures */); 2271 alias da_XSetSelectionOwner = int function(Display* /* display */ , Atom /* selection */ , Window /* owner */ , Time /* time */); 2272 alias da_XSetState = int function(Display* /* display */ , GC /* gc */ , c_ulong /* foreground */ , c_ulong /* background */ , int /* function */ , c_ulong /* plane_mask */); 2273 alias da_XSetStipple = int function(Display* /* display */ , GC /* gc */ , Pixmap /* stipple */); 2274 alias da_XSetSubwindowMode = int function(Display* /* display */ , GC /* gc */ , int /* subwindow_mode */); 2275 alias da_XSetTSOrigin = int function(Display* /* display */ , GC /* gc */ , int /* ts_x_origin */ , int /* ts_y_origin */); 2276 alias da_XSetTile = int function(Display* /* display */ , GC /* gc */ , Pixmap /* tile */); 2277 alias da_XSetWindowBackground = int function(Display* /* display */ , Window /* w */ , c_ulong /* background_pixel */); 2278 alias da_XSetWindowBackgroundPixmap = int function(Display* /* display */ , Window /* w */ , Pixmap /* background_pixmap */); 2279 alias da_XSetWindowBorder = int function(Display* /* display */ , Window /* w */ , c_ulong /* border_pixel */); 2280 alias da_XSetWindowBorderPixmap = int function(Display* /* display */ , Window /* w */ , Pixmap /* border_pixmap */); 2281 alias da_XSetWindowBorderWidth = int function(Display* /* display */ , Window /* w */ , uint /* width */); 2282 alias da_XSetWindowColormap = int function(Display* /* display */ , Window /* w */ , Colormap /* colormap */); 2283 alias da_XStoreBuffer = int function(Display* /* display */ , const(char)* /* bytes */ , int /* nbytes */ , int /* buffer */); 2284 alias da_XStoreBytes = int function(Display* /* display */ , const(char)* /* bytes */ , int /* nbytes */); 2285 alias da_XStoreColor = int function(Display* /* display */ , Colormap /* colormap */ , XColor* /* color */); 2286 alias da_XStoreColors = int function(Display* /* display */ , Colormap /* colormap */ , XColor* /* color */ , int /* ncolors */); 2287 alias da_XStoreName = int function(Display* /* display */ , Window /* w */ , const(char)* /* window_name */); 2288 alias da_XStoreNamedColor = int function(Display* /* display */ , Colormap /* colormap */ , const(char)* /* color */ , c_ulong /* pixel */ , int /* flags */); 2289 alias da_XSync = int function(Display* /* display */ , Bool /* discard */); 2290 alias da_XTextExtents = int function(XFontStruct* /* font_struct */ , const(char)* /* string */ , int /* nchars */ , int* /* direction_return */ , int* /* font_ascent_return */ , int* /* font_descent_return */ , XCharStruct* /* overall_return */); 2291 alias da_XTextExtents16 = int function(XFontStruct* /* font_struct */ , const XChar2b* /* string */ , int /* nchars */ , int* /* direction_return */ , int* /* font_ascent_return */ , int* /* font_descent_return */ , XCharStruct* /* overall_return */); 2292 alias da_XTextWidth = int function(XFontStruct* /* font_struct */ , const(char)* /* string */ , int /* count */); 2293 alias da_XTextWidth16 = int function(XFontStruct* /* font_struct */ , const XChar2b* /* string */ , int /* count */); 2294 alias da_XTranslateCoordinates = Bool function(Display* /* display */ , Window /* src_w */ , Window /* dest_w */ , int /* src_x */ , int /* src_y */ , int* /* dest_x_return */ , int* /* dest_y_return */ , Window* /* child_return */); 2295 alias da_XUndefineCursor = int function(Display* /* display */ , Window /* w */); 2296 alias da_XUngrabButton = int function(Display* /* display */ , uint /* button */ , uint /* modifiers */ , Window /* grab_window */); 2297 alias da_XUngrabKey = int function(Display* /* display */ , int /* keycode */ , uint /* modifiers */ , Window /* grab_window */); 2298 alias da_XUngrabKeyboard = int function(Display* /* display */ , Time /* time */); 2299 alias da_XUngrabPointer = int function(Display* /* display */ , Time /* time */); 2300 alias da_XUngrabServer = int function(Display* /* display */); 2301 alias da_XUninstallColormap = int function(Display* /* display */ , Colormap /* colormap */); 2302 alias da_XUnloadFont = int function(Display* /* display */ , Font /* font */); 2303 alias da_XUnmapSubwindows = int function(Display* /* display */ , Window /* w */); 2304 alias da_XUnmapWindow = int function(Display* /* display */ , Window /* w */); 2305 alias da_XVendorRelease = int function(Display* /* display */); 2306 alias da_XWarpPointer = int function(Display* /* display */ , Window /* src_w */ , Window /* dest_w */ , int /* src_x */ , int /* src_y */ , uint /* src_width */ , uint /* src_height */ , int /* dest_x */ , int /* dest_y */); 2307 alias da_XWidthMMOfScreen = int function(Screen* /* screen */); 2308 alias da_XWidthOfScreen = int function(Screen* /* screen */); 2309 alias da_XWindowEvent = int function(Display* /* display */ , Window /* w */ , c_long /* event_mask */ , XEvent* /* event_return */); 2310 alias da_XWriteBitmapFile = int function(Display* /* display */ , const(char)* /* filename */ , Pixmap /* bitmap */ , uint /* width */ , uint /* height */ , int /* x_hot */ , int /* y_hot */); 2311 alias da_XSupportsLocale = Bool function(); 2312 alias da_XSetLocaleModifiers = char* function(const(char)* /* modifier_list */); 2313 alias da_XOpenOM = XOM function(Display* /* display */ , XrmHashBucketRec* /* rdb */ , const(char)* /* res_name */ , const(char)* /* res_class */); 2314 alias da_XCloseOM = Status function(XOM /* om */); 2315 alias da_XSetOMValues = char* function(XOM /* om */ , ...); 2316 alias da_XGetOMValues = char* function(XOM /* om */ , ...); 2317 alias da_XDisplayOfOM = Display* function(XOM /* om */); 2318 alias da_XLocaleOfOM = char* function(XOM /* om */); 2319 alias da_XCreateOC = XOC function(XOM /* om */ , ...); 2320 alias da_XDestroyOC = void function(XOC /* oc */); 2321 alias da_XOMOfOC = XOM function(XOC /* oc */); 2322 alias da_XSetOCValues = char* function(XOC /* oc */ , ...); 2323 alias da_XGetOCValues = char* function(XOC /* oc */ , ...); 2324 alias da_XCreateFontSet = XFontSet function(Display* /* display */ , const(char)* /* base_font_name_list */ , char*** /* missing_charset_list */ , int* /* missing_charset_count */ , char** /* def_string */); 2325 alias da_XFreeFontSet = void function(Display* /* display */ , XFontSet /* font_set */); 2326 alias da_XFontsOfFontSet = int function(XFontSet /* font_set */ , XFontStruct*** /* font_struct_list */ , char*** /* font_name_list */); 2327 alias da_XBaseFontNameListOfFontSet = char* function(XFontSet /* font_set */); 2328 alias da_XLocaleOfFontSet = char* function(XFontSet /* font_set */); 2329 alias da_XContextDependentDrawing = Bool function(XFontSet /* font_set */); 2330 alias da_XDirectionalDependentDrawing = Bool function(XFontSet /* font_set */); 2331 alias da_XContextualDrawing = Bool function(XFontSet /* font_set */); 2332 alias da_XExtentsOfFontSet = XFontSetExtents* function(XFontSet /* font_set */); 2333 alias da_XmbTextEscapement = int function(XFontSet /* font_set */ , const(char)* /* text */ , int /* bytes_text */); 2334 alias da_XwcTextEscapement = int function(XFontSet /* font_set */ , const wchar_t* /* text */ , int /* num_wchars */); 2335 alias da_Xutf8TextEscapement = int function(XFontSet /* font_set */ , const(char)* /* text */ , int /* bytes_text */); 2336 alias da_XmbTextExtents = int function(XFontSet /* font_set */ , const(char)* /* text */ , int /* bytes_text */ , XRectangle* /* overall_ink_return */ , XRectangle* /* overall_logical_return */); 2337 alias da_XwcTextExtents = int function(XFontSet /* font_set */ , const wchar_t* /* text */ , int /* num_wchars */ , XRectangle* /* overall_ink_return */ , XRectangle* /* overall_logical_return */); 2338 alias da_Xutf8TextExtents = int function(XFontSet /* font_set */ , const(char)* /* text */ , int /* bytes_text */ , XRectangle* /* overall_ink_return */ , XRectangle* /* overall_logical_return */); 2339 alias da_XmbTextPerCharExtents = Status function(XFontSet /* font_set */ , const(char)* /* text */ , int /* bytes_text */ , XRectangle* /* ink_extents_buffer */ , XRectangle* /* logical_extents_buffer */ , int /* buffer_size */ , int* /* num_chars */ , XRectangle* /* overall_ink_return */ , XRectangle* /* overall_logical_return */); 2340 alias da_XwcTextPerCharExtents = Status function(XFontSet /* font_set */ , const wchar_t* /* text */ , int /* num_wchars */ , XRectangle* /* ink_extents_buffer */ , XRectangle* /* logical_extents_buffer */ , int /* buffer_size */ , int* /* num_chars */ , XRectangle* /* overall_ink_return */ , XRectangle* /* overall_logical_return */); 2341 alias da_Xutf8TextPerCharExtents = Status function(XFontSet /* font_set */ , const(char)* /* text */ , int /* bytes_text */ , XRectangle* /* ink_extents_buffer */ , XRectangle* /* logical_extents_buffer */ , int /* buffer_size */ , int* /* num_chars */ , XRectangle* /* overall_ink_return */ , XRectangle* /* overall_logical_return */); 2342 alias da_XmbDrawText = void function(Display* /* display */ , Drawable /* d */ , GC /* gc */ , int /* x */ , int /* y */ , XmbTextItem* /* text_items */ , int /* nitems */); 2343 alias da_XwcDrawText = void function(Display* /* display */ , Drawable /* d */ , GC /* gc */ , int /* x */ , int /* y */ , XwcTextItem* /* text_items */ , int /* nitems */); 2344 alias da_Xutf8DrawText = void function(Display* /* display */ , Drawable /* d */ , GC /* gc */ , int /* x */ , int /* y */ , XmbTextItem* /* text_items */ , int /* nitems */); 2345 alias da_XmbDrawString = void function(Display* /* display */ , Drawable /* d */ , XFontSet /* font_set */ , GC /* gc */ ,int /* x */ , int /* y */ , const(char)* /* text */ , int /* bytes_text */); 2346 alias da_XwcDrawString = void function(Display* /* display */ , Drawable /* d */ , XFontSet /* font_set */ , GC /* gc */ , int /* x */ , int /* y */ , const wchar_t* /* text */ , int /* num_wchars */); 2347 alias da_Xutf8DrawString = void function(Display* /* display */ , Drawable /* d */ , XFontSet /* font_set */ , GC /* gc */ , int /* x */ , int /* y */ , const(char)* /* text */ , int /* bytes_text */); 2348 alias da_XmbDrawImageString = void function(Display* /* display */ , Drawable /* d */ , XFontSet /* font_set */ , GC /* gc */ , int /* x */ , int /* y */ , const(char)* /* text */ , int /* bytes_text */); 2349 alias da_XwcDrawImageString = void function(Display* /* display */ , Drawable /* d */ , XFontSet /* font_set */ , GC /* gc */ , int /* x */ , int /* y */ , const wchar_t* /* text */ , int /* num_wchars */); 2350 alias da_Xutf8DrawImageString = void function(Display* /* display */ , Drawable /* d */ , XFontSet /* font_set */ , GC /* gc */ , int /* x */ , int /* y */ , const(char)* /* text */ , int /* bytes_text */); 2351 alias da_XOpenIM = XIM function(Display* /* dpy */ , XrmHashBucketRec* /* rdb */ , char* /* res_name */ , char* /* res_class */); 2352 alias da_XCloseIM = Status function(XIM /* im */); 2353 alias da_XGetIMValues = char* function(XIM /* im */ , ...); 2354 alias da_XSetIMValues = char* function(XIM /* im */ , ...); 2355 alias da_XDisplayOfIM = Display* function(XIM /* im */); 2356 alias da_XLocaleOfIM = char* function(XIM /* im*/); 2357 alias da_XCreateIC = XIC function(XIM /* im */ , ...); 2358 alias da_XDestroyIC = void function(XIC /* ic */); 2359 alias da_XSetICFocus = void function(XIC /* ic */); 2360 alias da_XUnsetICFocus = void function(XIC /* ic */); 2361 alias da_XwcResetIC = wchar_t* function(XIC /* ic */); 2362 alias da_XmbResetIC = char* function(XIC /* ic */); 2363 alias da_Xutf8ResetIC = char* function(XIC /* ic */); 2364 alias da_XSetICValues = char* function(XIC /* ic */ , ...); 2365 alias da_XGetICValues = char* function(XIC /* ic */ , ...); 2366 alias da_XIMOfIC = XIM function(XIC); 2367 alias da_XFilterEvent = Bool function(XEvent*, Window); 2368 alias da_XmbLookupString = int function(XIC, XKeyPressedEvent*, char*, int, KeySym*, Status*); 2369 alias da_XwcLookupString = int function(XIC, XKeyPressedEvent*, wchar_t*, int, KeySym*, Status*); 2370 alias da_Xutf8LookupString = int function(XIC, XKeyPressedEvent*, char*, int, KeySym*, Status*); 2371 alias da_XVaCreateNestedList = XVaNestedList function(int, ...); 2372 alias da_XRegisterIMInstantiateCallback = Bool function(Display*, XrmHashBucketRec*, char*, char*, XIDProc, XPointer); 2373 alias da_XUnregisterIMInstantiateCallback = Bool function(Display*, XrmHashBucketRec*, char*, char*, XIDProc, XPointer); 2374 alias da_XInternalConnectionNumbers = Status function(Display*, int**, int*); 2375 alias da_XProcessInternalConnection = void function(Display*, int); 2376 alias da_XAddConnectionWatch = Status function(Display*, XConnectionWatchProc, XPointer); 2377 alias da_XRemoveConnectionWatch = void function(Display*, XConnectionWatchProc, XPointer); 2378 alias da_XSetAuthorization = void function(char*, int, char*, int); 2379 alias da_XGetEventData = Bool function(Display*, XGenericEventCookie*); 2380 alias da_XFreeEventData = void function(Display*, XGenericEventCookie*); 2381 alias da_XrmGetStringDatabase = XrmDatabase function(const(char)*); 2382 alias da_XrmGetResource = Bool function(XrmDatabase, const(char)*, const(char)*, char**, XrmValue*); 2383 alias da_XrmDestroyDatabase = void function(XrmDatabase); 2384 }