1 /********************************************************************/ 2 /* */ 3 /* x11_x.h X11 interfaces used by Seed7. */ 4 /* Copyright (C) 1989 - 2021 Thomas Mertes */ 5 /* */ 6 /* This file is part of the Seed7 Runtime Library. */ 7 /* */ 8 /* The Seed7 Runtime Library is free software; you can */ 9 /* redistribute it and/or modify it under the terms of the GNU */ 10 /* Lesser General Public License as published by the Free Software */ 11 /* Foundation; either version 2.1 of the License, or (at your */ 12 /* option) any later version. */ 13 /* */ 14 /* The Seed7 Runtime Library is distributed in the hope that it */ 15 /* will be useful, but WITHOUT ANY WARRANTY; without even the */ 16 /* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR */ 17 /* PURPOSE. See the GNU Lesser General Public License for more */ 18 /* details. */ 19 /* */ 20 /* You should have received a copy of the GNU Lesser General */ 21 /* Public License along with this program; if not, write to the */ 22 /* Free Software Foundation, Inc., 51 Franklin Street, */ 23 /* Fifth Floor, Boston, MA 02110-1301, USA. */ 24 /* */ 25 /* Module: Seed7 Runtime Library */ 26 /* File: seed7/src/x11_x.h */ 27 /* Changes: 2019 Thomas Mertes */ 28 /* Content: X11 interfaces used by Seed7. */ 29 /* */ 30 /********************************************************************/ 31 32 #define Bool int 33 #define True 1 34 #define False 0 35 36 #define None 0L 37 38 #define ArcChord 0 39 #define ArcPieSlice 1 40 41 #define CoordModeOrigin 0 42 #define CoordModePrevious 1 43 44 #define Complex 0 45 #define Nonconvex 1 46 #define Convex 2 47 48 #define NotUseful 0 49 #define WhenMapped 1 50 #define Always 2 51 52 #define PropModeReplace 0 53 54 #define XYBitmap 0 55 #define XYPixmap 1 56 #define ZPixmap 2 57 58 #define ForgetGravity 0 59 #define NorthWestGravity 1 60 #define NorthGravity 2 61 #define NorthEastGravity 3 62 #define WestGravity 4 63 #define CenterGravity 5 64 #define EastGravity 6 65 #define SouthWestGravity 7 66 #define SouthGravity 8 67 #define SouthEastGravity 9 68 #define StaticGravity 10 69 70 #define StaticGray 0 71 #define GrayScale 1 72 #define StaticColor 2 73 #define PseudoColor 3 74 #define TrueColor 4 75 #define DirectColor 5 76 77 #define GXclear 0x0 78 #define GXand 0x1 79 #define GXandReverse 0x2 80 #define GXcopy 0x3 81 #define GXandInverted 0x4 82 #define GXnoop 0x5 83 #define GXxor 0x6 84 #define GXor 0x7 85 #define GXnor 0x8 86 #define GXequiv 0x9 87 #define GXinvert 0xa 88 #define GXorReverse 0xb 89 #define GXcopyInverted 0xc 90 #define GXorInverted 0xd 91 #define GXnand 0xe 92 #define GXset 0xf 93 94 #define CWBackPixmap 1L 95 #define CWBackPixel 2L 96 #define CWBorderPixmap 4L 97 #define CWBorderPixel 8L 98 #define CWBitGravity 16L 99 #define CWWinGravity 32L 100 #define CWBackingStore 64L 101 #define CWBackingPlanes 128L 102 #define CWBackingPixel 256L 103 #define CWOverrideRedirect 512L 104 #define CWSaveUnder 1024L 105 #define CWEventMask 2048L 106 #define CWDontPropagate 4096L 107 #define CWColormap 8192L 108 #define CWCursor 16384L 109 110 #define USPosition 1L 111 #define USSize 2L 112 #define PPosition 4L 113 #define PSize 8L 114 #define PMinSize 16L 115 #define PMaxSize 32L 116 #define PResizeInc 64L 117 #define PAspect 128L 118 #define PBaseSize 256L 119 #define PWinGravity 512L 120 121 #define InputHint 1L 122 #define StateHint 2L 123 #define IconPixmapHint 4L 124 #define IconWindowHint 8L 125 #define IconPositionHint 16L 126 #define IconMaskHint 32L 127 #define WindowGroupHint 64L 128 #define AllHints (InputHint|StateHint|IconPixmapHint|IconWindowHint|IconPositionHint|IconMaskHint|WindowGroupHint) 129 130 #define QueuedAlready 0 131 #define QueuedAfterReading 1 132 #define QueuedAfterFlush 2 133 134 #define KeyPressMask (1L<<0) 135 #define KeyReleaseMask (1L<<1) 136 #define ButtonPressMask (1L<<2) 137 #define ButtonReleaseMask (1L<<3) 138 #define EnterWindowMask (1L<<4) 139 #define LeaveWindowMask (1L<<5) 140 #define PointerMotionMask (1L<<6) 141 #define PointerMotionHintMask (1L<<7) 142 #define Button1MotionMask (1L<<8) 143 #define Button2MotionMask (1L<<9) 144 #define Button3MotionMask (1L<<10) 145 #define Button4MotionMask (1L<<11) 146 #define Button5MotionMask (1L<<12) 147 #define ButtonMotionMask (1L<<13) 148 #define KeymapStateMask (1L<<14) 149 #define ExposureMask (1L<<15) 150 #define VisibilityChangeMask (1L<<16) 151 #define StructureNotifyMask (1L<<17) 152 #define ResizeRedirectMask (1L<<18) 153 #define SubstructureNotifyMask (1L<<19) 154 #define SubstructureRedirectMask (1L<<20) 155 #define FocusChangeMask (1L<<21) 156 #define PropertyChangeMask (1L<<22) 157 #define ColormapChangeMask (1L<<23) 158 159 #define KeyPress 2 160 #define KeyRelease 3 161 #define ButtonPress 4 162 #define ButtonRelease 5 163 #define MotionNotify 6 164 #define EnterNotify 7 165 #define LeaveNotify 8 166 #define FocusIn 9 167 #define FocusOut 10 168 #define KeymapNotify 11 169 #define Expose 12 170 #define GraphicsExpose 13 171 #define NoExpose 14 172 #define VisibilityNotify 15 173 #define CreateNotify 16 174 #define DestroyNotify 17 175 #define UnmapNotify 18 176 #define MapNotify 19 177 #define MapRequest 20 178 #define ReparentNotify 21 179 #define ConfigureNotify 22 180 #define ConfigureRequest 23 181 #define GravityNotify 24 182 #define ResizeRequest 25 183 #define CirculateNotify 26 184 #define CirculateRequest 27 185 #define PropertyNotify 28 186 #define SelectionClear 29 187 #define SelectionRequest 30 188 #define SelectionNotify 31 189 #define ColormapNotify 32 190 #define ClientMessage 33 191 #define MappingNotify 34 192 #define GenericEvent 35 193 194 #define ShiftMask (1<<0) 195 #define LockMask (1<<1) 196 #define ControlMask (1<<2) 197 #define Mod1Mask (1<<3) 198 #define Mod2Mask (1<<4) 199 #define Mod3Mask (1<<5) 200 #define Mod4Mask (1<<6) 201 #define Mod5Mask (1<<7) 202 #define Button1Mask (1<<8) 203 #define Button2Mask (1<<9) 204 #define Button3Mask (1<<10) 205 #define Button4Mask (1<<11) 206 #define Button5Mask (1<<12) 207 208 #define XK_ISO_Level3_Shift 0xfe03 209 #define XK_ISO_Left_Tab 0xfe20 210 211 #define XK_dead_acute 0xfe51 212 #define XK_dead_circumflex 0xfe52 213 #define XK_dead_tilde 0xfe53 214 #define XK_dead_macron 0xfe54 215 #define XK_dead_breve 0xfe55 216 #define XK_dead_abovedot 0xfe56 217 #define XK_dead_diaeresis 0xfe57 218 #define XK_dead_abovering 0xfe58 219 #define XK_dead_doubleacute 0xfe59 220 #define XK_dead_caron 0xfe5a 221 #define XK_dead_cedilla 0xfe5b 222 223 #define XK_BackSpace 0xff08 224 #define XK_Tab 0xff09 225 #define XK_Linefeed 0xff0a 226 #define XK_Clear 0xff0b 227 #define XK_Return 0xff0d 228 #define XK_Pause 0xff13 229 #define XK_Scroll_Lock 0xff14 230 #define XK_Sys_Req 0xff15 231 #define XK_Escape 0xff1b 232 #define XK_Delete 0xffff 233 234 #define XK_Home 0xff50 235 #define XK_Left 0xff51 236 #define XK_Up 0xff52 237 #define XK_Right 0xff53 238 #define XK_Down 0xff54 239 #define XK_Prior 0xff55 240 #define XK_Page_Up 0xff55 241 #define XK_Next 0xff56 242 #define XK_Page_Down 0xff56 243 #define XK_End 0xff57 244 #define XK_Begin 0xff58 245 246 #define XK_Select 0xff60 247 #define XK_Print 0xff61 248 #define XK_Execute 0xff62 249 #define XK_Insert 0xff63 250 #define XK_Undo 0xff65 251 #define XK_Redo 0xff66 252 #define XK_Menu 0xff67 253 #define XK_Find 0xff68 254 #define XK_Cancel 0xff69 255 #define XK_Help 0xff6a 256 #define XK_Break 0xff6b 257 #define XK_Mode_switch 0xff7e 258 #define XK_script_switch 0xff7e 259 #define XK_Num_Lock 0xff7f 260 261 #define XK_KP_Space 0xff80 262 #define XK_KP_Tab 0xff89 263 #define XK_KP_Enter 0xff8d 264 #define XK_KP_F1 0xff91 265 #define XK_KP_F2 0xff92 266 #define XK_KP_F3 0xff93 267 #define XK_KP_F4 0xff94 268 #define XK_KP_Home 0xff95 269 #define XK_KP_Left 0xff96 270 #define XK_KP_Up 0xff97 271 #define XK_KP_Right 0xff98 272 #define XK_KP_Down 0xff99 273 #define XK_KP_Prior 0xff9a 274 #define XK_KP_Page_Up 0xff9a 275 #define XK_KP_Next 0xff9b 276 #define XK_KP_Page_Down 0xff9b 277 #define XK_KP_End 0xff9c 278 #define XK_KP_Begin 0xff9d 279 #define XK_KP_Insert 0xff9e 280 #define XK_KP_Delete 0xff9f 281 #define XK_KP_Equal 0xffbd 282 #define XK_KP_Multiply 0xffaa 283 #define XK_KP_Add 0xffab 284 #define XK_KP_Separator 0xffac 285 #define XK_KP_Subtract 0xffad 286 #define XK_KP_Decimal 0xffae 287 #define XK_KP_Divide 0xffaf 288 289 #define XK_KP_0 0xffb0 290 #define XK_KP_1 0xffb1 291 #define XK_KP_2 0xffb2 292 #define XK_KP_3 0xffb3 293 #define XK_KP_4 0xffb4 294 #define XK_KP_5 0xffb5 295 #define XK_KP_6 0xffb6 296 #define XK_KP_7 0xffb7 297 #define XK_KP_8 0xffb8 298 #define XK_KP_9 0xffb9 299 300 #define XK_F1 0xffbe 301 #define XK_F2 0xffbf 302 #define XK_F3 0xffc0 303 #define XK_F4 0xffc1 304 #define XK_F5 0xffc2 305 #define XK_F6 0xffc3 306 #define XK_F7 0xffc4 307 #define XK_F8 0xffc5 308 #define XK_F9 0xffc6 309 #define XK_F10 0xffc7 310 #define XK_F11 0xffc8 311 #define XK_F12 0xffc9 312 313 #define XK_Shift_L 0xffe1 314 #define XK_Shift_R 0xffe2 315 #define XK_Control_L 0xffe3 316 #define XK_Control_R 0xffe4 317 #define XK_Caps_Lock 0xffe5 318 #define XK_Shift_Lock 0xffe6 319 #define XK_Meta_L 0xffe7 320 #define XK_Meta_R 0xffe8 321 #define XK_Alt_L 0xffe9 322 #define XK_Alt_R 0xffea 323 324 #define XK_0 0x0030 325 #define XK_1 0x0031 326 #define XK_2 0x0032 327 #define XK_3 0x0033 328 #define XK_4 0x0034 329 #define XK_5 0x0035 330 #define XK_6 0x0036 331 #define XK_7 0x0037 332 #define XK_8 0x0038 333 #define XK_9 0x0039 334 335 typedef struct { int dummy; } Display; 336 typedef struct { int dummy; } Screen; 337 typedef struct { int dummy; } XExtData; 338 typedef struct { int dummy; } XGCValues; 339 typedef struct { int dummy; } XImage; 340 typedef struct { int dummy; } XComposeStatus; 341 typedef struct { int dummy; } XMappingEvent; 342 343 typedef struct { int dummy; } *GC; 344 345 typedef int Status; 346 347 typedef unsigned char KeyCode; 348 typedef unsigned long Time; 349 350 typedef unsigned long Atom; 351 typedef unsigned long VisualID; 352 353 typedef unsigned long XID; 354 355 typedef XID Window; 356 typedef XID Pixmap; 357 typedef XID Drawable; 358 typedef XID Cursor; 359 typedef XID Colormap; 360 typedef XID KeySym; 361 362 typedef struct { 363 short x, y; 364 } XPoint; 365 366 typedef struct { 367 unsigned char byte1; 368 unsigned char byte2; 369 } XChar2b; 370 371 typedef struct { 372 unsigned long pixel; 373 unsigned short red, green, blue; 374 char flags; 375 char pad; 376 } XColor; 377 378 typedef struct { 379 XExtData *ext_data; 380 VisualID visualid; 381 #if defined(__cplusplus) || defined(c_plusplus) 382 int c_class; 383 #else 384 int class; 385 #endif 386 unsigned long red_mask, green_mask, blue_mask; 387 int bits_per_rgb; 388 int map_entries; 389 } Visual; 390 391 typedef struct { 392 long flags; 393 int x, y; 394 int width, height; 395 int min_width, min_height; 396 int max_width, max_height; 397 int width_inc, height_inc; 398 struct { 399 int x; 400 int y; 401 } min_aspect, max_aspect; 402 int base_width, base_height; 403 int win_gravity; 404 } XSizeHints; 405 406 typedef struct { 407 long flags; 408 Bool input; 409 int initial_state; 410 Pixmap icon_pixmap; 411 Window icon_window; 412 int icon_x, icon_y; 413 Pixmap icon_mask; 414 XID window_group; 415 } XWMHints; 416 417 typedef struct { 418 Pixmap background_pixmap; 419 unsigned long background_pixel; 420 Pixmap border_pixmap; 421 unsigned long border_pixel; 422 int bit_gravity; 423 int win_gravity; 424 int backing_store; 425 unsigned long backing_planes; 426 unsigned long backing_pixel; 427 Bool save_under; 428 long event_mask; 429 long do_not_propagate_mask; 430 Bool override_redirect; 431 Colormap colormap; 432 Cursor cursor; 433 } XSetWindowAttributes; 434 435 typedef struct { 436 int x, y; 437 int width, height; 438 int border_width; 439 int depth; 440 Visual *visual; 441 Window root; 442 #if defined(__cplusplus) || defined(c_plusplus) 443 int c_class; 444 #else 445 int class; 446 #endif 447 int bit_gravity; 448 int win_gravity; 449 int backing_store; 450 unsigned long backing_planes; 451 unsigned long backing_pixel; 452 Bool save_under; 453 Colormap colormap; 454 Bool map_installed; 455 int map_state; 456 long all_event_masks; 457 long your_event_mask; 458 long do_not_propagate_mask; 459 Bool override_redirect; 460 Screen *screen; 461 } XWindowAttributes; 462 463 typedef struct { 464 int type; 465 unsigned long serial; 466 Bool send_event; 467 Display *display; 468 Window window; 469 Window root; 470 Window subwindow; 471 Time time; 472 int x, y; 473 int x_root, y_root; 474 unsigned int state; 475 unsigned int keycode; 476 Bool same_screen; 477 } XKeyEvent; 478 479 typedef struct { 480 int type; 481 unsigned long serial; 482 Bool send_event; 483 Display *display; 484 Window window; 485 Window root; 486 Window subwindow; 487 Time time; 488 int x, y; 489 int x_root, y_root; 490 unsigned int state; 491 unsigned int button; 492 Bool same_screen; 493 } XButtonEvent; 494 495 typedef struct { 496 int type; 497 unsigned long serial; 498 Bool send_event; 499 Display *display; 500 Window window; 501 int x, y; 502 int width, height; 503 int count; 504 } XExposeEvent; 505 506 typedef struct { 507 int type; 508 unsigned long serial; 509 Bool send_event; 510 Display *display; 511 Window event; 512 Window window; 513 int x, y; 514 int width, height; 515 int border_width; 516 Window above; 517 Bool override_redirect; 518 } XConfigureEvent; 519 520 typedef struct { 521 int type; 522 unsigned long serial; 523 Bool send_event; 524 Display *display; 525 Window window; 526 Atom message_type; 527 int format; 528 union { 529 char b[20]; 530 short s[10]; 531 long l[5]; 532 } data; 533 } XClientMessageEvent; 534 535 typedef union _XEvent { 536 int type; 537 XKeyEvent xkey; 538 XButtonEvent xbutton; 539 XExposeEvent xexpose; 540 XClientMessageEvent xclient; 541 XConfigureEvent xconfigure; 542 XMappingEvent xmapping; 543 long pad[24]; 544 } XEvent; 545 546 typedef struct { 547 int key_click_percent; 548 int bell_percent; 549 unsigned int bell_pitch, bell_duration; 550 unsigned long led_mask; 551 int global_auto_repeat; 552 char auto_repeats[32]; 553 } XKeyboardState; 554 555 #define XA_ATOM ((Atom) 4) 556 557 558 #define BlackPixel(dpy, scr) XBlackPixel(dpy, scr) 559 #define DefaultColormap(dpy, scr) XDefaultColormap(dpy, scr) 560 #define DefaultDepth(dpy, scr) XDefaultDepth(dpy, scr) 561 #define DefaultRootWindow(dpy) XDefaultRootWindow(dpy) 562 #define DefaultScreen(dpy) XDefaultScreen(dpy) 563 #define DoesBackingStore(scr) XDoesBackingStore(scr) 564 #define ScreenOfDisplay(dpy, scr) XScreenOfDisplay(dpy, scr) 565 #define WhitePixel(dpy, scr) XWhitePixel(dpy, scr) 566 567 568 extern Status XAllocColor (Display *display, 569 Colormap colormap, 570 XColor *screen_in_out); 571 extern Status XAllocColorCells (Display *display, 572 Colormap colormap, 573 Bool contig, 574 unsigned long *plane_masks_return, 575 unsigned int nplanes, 576 unsigned long *pixels_return, 577 unsigned int npixels); 578 extern unsigned long XBlackPixel (Display *display, 579 int screen_number); 580 extern int XChangeProperty (Display *display, 581 Window window, 582 Atom property, 583 Atom type, 584 int format, 585 int mode, 586 const unsigned char *data, 587 int nelements); 588 extern int XChangeWindowAttributes (Display *display, 589 Window window, 590 unsigned long valuemask, 591 XSetWindowAttributes *attributes); 592 extern int XCopyArea (Display *display, 593 Drawable src, 594 Drawable dest, 595 GC gc, 596 int src_x, 597 int src_y, 598 unsigned int width, 599 unsigned int height, 600 int dest_x, 601 int dest_y); 602 extern int XCopyPlane (Display *display, 603 Drawable src, 604 Drawable dest, 605 GC gc, 606 int src_x, 607 int src_y, 608 unsigned int width, 609 unsigned int height, 610 int dest_x, 611 int dest_y, 612 unsigned long plane); 613 extern Pixmap XCreateBitmapFromData (Display *display, 614 Drawable drawable, 615 const char *data, 616 unsigned int width, 617 unsigned int height); 618 extern GC XCreateGC (Display *display, 619 Drawable drawable, 620 unsigned long valuemask, 621 XGCValues *values); 622 extern XImage *XCreateImage (Display *display, 623 Visual *visual, 624 unsigned int depth, 625 int format, 626 int offset, 627 char *data, 628 unsigned int width, 629 unsigned int height, 630 int bitmap_pad, 631 int bytes_per_line); 632 extern Pixmap XCreatePixmap (Display *display, 633 Drawable drawable, 634 unsigned int width, 635 unsigned int height, 636 unsigned int depth); 637 extern Cursor XCreatePixmapCursor (Display *display, 638 Pixmap source, 639 Pixmap mask, 640 XColor *foreground_color, 641 XColor *background_color, 642 unsigned int x, 643 unsigned int y); 644 extern Window XCreateSimpleWindow (Display *display, 645 Window parent, 646 int x, 647 int y, 648 unsigned int width, 649 unsigned int height, 650 unsigned int border_width, 651 unsigned long border, 652 unsigned long background); 653 extern Colormap XDefaultColormap (Display *display, 654 int screen_number); 655 extern int XDefaultDepth (Display *display, 656 int screen_number); 657 extern Window XDefaultRootWindow (Display *display); 658 extern int XDefaultScreen (Display *display); 659 extern Visual *XDefaultVisual (Display *display, 660 int screen_number); 661 extern int XDefineCursor (Display *display, 662 Window window, 663 Cursor cursor); 664 extern int XDestroyImage (XImage *ximage); 665 extern int XDestroyWindow (Display *display, 666 Window window); 667 extern int XDoesBackingStore (Screen *screen); 668 extern int XDrawArc (Display *display, 669 Drawable drawable, 670 GC gc, 671 int x, 672 int y, 673 unsigned int width, 674 unsigned int height, 675 int angle1, 676 int angle2); 677 extern int XDrawImageString16 (Display *display, 678 Drawable drawable, 679 GC gc, 680 int x, 681 int y, 682 const XChar2b *string, 683 int length); 684 extern int XDrawLine (Display *display, 685 Drawable drawable, 686 GC gc, 687 int x1, 688 int y1, 689 int x2, 690 int y2); 691 extern int XDrawLines (Display *display, 692 Drawable drawable, 693 GC gc, 694 XPoint *points, 695 int npoints, 696 int mode); 697 extern int XDrawPoint (Display *display, 698 Drawable drawable, 699 GC gc, 700 int x, 701 int y); 702 extern int XEventsQueued (Display *display, int mode); 703 extern int XFillArc (Display *display, 704 Drawable drawable, 705 GC gc, 706 int x, 707 int y, 708 unsigned int width, 709 unsigned int height, 710 int angle1, 711 int angle2); 712 extern int XFillPolygon (Display *display, 713 Drawable drawable, 714 GC gc, 715 XPoint *points, 716 int npoints, 717 int shape, 718 int mode); 719 extern int XFillRectangle (Display *display, 720 Drawable drawable, 721 GC gc, 722 int x, 723 int y, 724 unsigned int width, 725 unsigned int height); 726 extern int XFlush (Display *display); 727 extern int XFree (void *data); 728 extern int XFreeGC (Display *display, 729 GC gc); 730 extern int XFreePixmap (Display *display, 731 Pixmap pixmap); 732 extern Status XGetGeometry (Display *display, 733 Drawable drawable, 734 Window *root_return, 735 int *x_return, 736 int *y_return, 737 unsigned int *width_return, 738 unsigned int *height_return, 739 unsigned int *border_width_return, 740 unsigned int *depth_return); 741 extern XImage *XGetImage (Display *display, 742 Drawable drawable, 743 int x, 744 int y, 745 unsigned int width, 746 unsigned int height, 747 unsigned long plane_mask, 748 int format); 749 extern int XGetKeyboardControl (Display *display, 750 XKeyboardState *values_return); 751 extern unsigned long XGetPixel (XImage *ximage, 752 int x, 753 int y); 754 extern Status XGetWindowAttributes (Display *display, 755 Window window, 756 XWindowAttributes *window_attributes_return); 757 extern Atom XInternAtom (Display *display, 758 const char *atom_name, 759 Bool only_if_exists); 760 extern KeyCode XKeysymToKeycode (Display *display, KeySym keysym); 761 extern int XLookupString (XKeyEvent *event_struct, char *buffer_return, 762 int bytes_buffer, KeySym *keysym_return, 763 XComposeStatus *status_in_out); 764 extern int XLowerWindow (Display *display, 765 Window window); 766 extern int XMapRaised (Display *display, 767 Window window); 768 extern int XMapWindow (Display *display, 769 Window window); 770 extern int XMoveWindow (Display *display, 771 Window window, 772 int x, 773 int y); 774 extern int XNextEvent(Display *display, XEvent *event_return); 775 extern Display *XOpenDisplay (const char *display_name); 776 extern int XPutImage (Display *display, 777 Drawable drawable, 778 GC gc, 779 XImage *image, 780 int src_x, 781 int src_y, 782 int dest_x, 783 int dest_y, 784 unsigned int width, 785 unsigned int height); 786 extern int XQueryColor (Display *display, 787 Colormap colormap, 788 XColor *def_in_out); 789 extern int XQueryKeymap (Display *display, char keys_return[32]); 790 extern Bool XQueryPointer (Display *display, 791 Window window, 792 Window *root_return, 793 Window *child_return, 794 int *root_x_return, 795 int *root_y_return, 796 int *win_x_return, 797 int *win_y_return, 798 unsigned int *mask_return); 799 extern Status XQueryTree (Display *display, 800 Window window, 801 Window *root_return, 802 Window *parent_return, 803 Window **children_return, 804 unsigned int *nchildren_return); 805 extern int XRaiseWindow (Display *display, 806 Window window); 807 extern int XRefreshKeyboardMapping (XMappingEvent *event_map); 808 extern Screen *XScreenOfDisplay (Display *display, 809 int screen_number); 810 extern int XSelectInput (Display *display, 811 Window window, 812 long event_mask); 813 extern int XSetArcMode (Display *display, 814 GC gc, 815 int arc_mode); 816 extern int XSetBackground (Display *display, 817 GC gc, 818 unsigned long background); 819 extern int XSetClipMask (Display *display, 820 GC gc, 821 Pixmap pixmap); 822 extern int XSetClipOrigin (Display *display, 823 GC gc, 824 int clip_x_origin, 825 int clip_y_origin); 826 extern int XSetForeground (Display *display, 827 GC gc, 828 unsigned long foreground); 829 extern int XSetFunction (Display *display, 830 GC gc, 831 int function); 832 extern int XSetStandardProperties (Display *display, 833 Window window, 834 const char *window_name, 835 const char *icon_name, 836 Pixmap icon_pixmap, 837 char **argv, 838 int argc, 839 XSizeHints *hints); 840 extern int XSetWMHints (Display *display, 841 Window window, 842 XWMHints *wm_hints); 843 extern Status XSetWMProtocols (Display *display, 844 Window window, 845 Atom *protocols, 846 int count); 847 extern int XStoreColor (Display *display, Colormap colormap, XColor *color); 848 extern int XStoreName (Display *display, Window window, const char *window_name); 849 extern int XSync (Display *display, 850 Bool discard); 851 extern int XUndefineCursor (Display *display, 852 Window window); 853 extern unsigned long XWhitePixel (Display *display, 854 int screen_number); 855