PageRenderTime 80ms CodeModel.GetById 17ms RepoModel.GetById 1ms app.codeStats 1ms

/binding/x/Xlib.d

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