00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 using System;
00030 using System.ComponentModel;
00031 using System.Collections;
00032 using System.Drawing;
00033 using System.Diagnostics;
00034 using System.Runtime.InteropServices;
00035
00036
00037 namespace OpenTK.Platform.X11
00038 {
00039
00040
00041
00042
00043
00044
00045 [StructLayout(LayoutKind.Sequential)]
00046 internal struct XAnyEvent
00047 {
00048 public XEventName type;
00049 public IntPtr serial;
00050 public bool send_event;
00051 public IntPtr display;
00052 public IntPtr window;
00053 }
00054
00055 [StructLayout(LayoutKind.Sequential)]
00056 internal struct XKeyEvent
00057 {
00058 public XEventName type;
00059 public IntPtr serial;
00060 public bool send_event;
00061 public IntPtr display;
00062 public IntPtr window;
00063 public IntPtr root;
00064 public IntPtr subwindow;
00065 public IntPtr time;
00066 public int x;
00067 public int y;
00068 public int x_root;
00069 public int y_root;
00070 public int state;
00071 public int keycode;
00072 public bool same_screen;
00073 }
00074
00075 [StructLayout(LayoutKind.Sequential)]
00076 internal struct XButtonEvent
00077 {
00078 public XEventName type;
00079 public IntPtr serial;
00080 public bool send_event;
00081 public IntPtr display;
00082 public IntPtr window;
00083 public IntPtr root;
00084 public IntPtr subwindow;
00085 public IntPtr time;
00086 public int x;
00087 public int y;
00088 public int x_root;
00089 public int y_root;
00090 public int state;
00091 public int button;
00092 public bool same_screen;
00093 }
00094
00095 [StructLayout(LayoutKind.Sequential)]
00096 internal struct XMotionEvent
00097 {
00098 public XEventName type;
00099 public IntPtr serial;
00100 public bool send_event;
00101 public IntPtr display;
00102 public IntPtr window;
00103 public IntPtr root;
00104 public IntPtr subwindow;
00105 public IntPtr time;
00106 public int x;
00107 public int y;
00108 public int x_root;
00109 public int y_root;
00110 public int state;
00111 public byte is_hint;
00112 public bool same_screen;
00113 }
00114
00115 [StructLayout(LayoutKind.Sequential)]
00116 internal struct XCrossingEvent
00117 {
00118 public XEventName type;
00119 public IntPtr serial;
00120 public bool send_event;
00121 public IntPtr display;
00122 public IntPtr window;
00123 public IntPtr root;
00124 public IntPtr subwindow;
00125 public IntPtr time;
00126 public int x;
00127 public int y;
00128 public int x_root;
00129 public int y_root;
00130 public NotifyMode mode;
00131 public NotifyDetail detail;
00132 public bool same_screen;
00133 public bool focus;
00134 public int state;
00135 }
00136
00137 [StructLayout(LayoutKind.Sequential)]
00138 internal struct XFocusChangeEvent
00139 {
00140 public XEventName type;
00141 public IntPtr serial;
00142 public bool send_event;
00143 public IntPtr display;
00144 public IntPtr window;
00145 public int mode;
00146 public NotifyDetail detail;
00147 }
00148
00149 [StructLayout(LayoutKind.Sequential)]
00150 internal struct XKeymapEvent
00151 {
00152 public XEventName type;
00153 public IntPtr serial;
00154 public bool send_event;
00155 public IntPtr display;
00156 public IntPtr window;
00157 public byte key_vector0;
00158 public byte key_vector1;
00159 public byte key_vector2;
00160 public byte key_vector3;
00161 public byte key_vector4;
00162 public byte key_vector5;
00163 public byte key_vector6;
00164 public byte key_vector7;
00165 public byte key_vector8;
00166 public byte key_vector9;
00167 public byte key_vector10;
00168 public byte key_vector11;
00169 public byte key_vector12;
00170 public byte key_vector13;
00171 public byte key_vector14;
00172 public byte key_vector15;
00173 public byte key_vector16;
00174 public byte key_vector17;
00175 public byte key_vector18;
00176 public byte key_vector19;
00177 public byte key_vector20;
00178 public byte key_vector21;
00179 public byte key_vector22;
00180 public byte key_vector23;
00181 public byte key_vector24;
00182 public byte key_vector25;
00183 public byte key_vector26;
00184 public byte key_vector27;
00185 public byte key_vector28;
00186 public byte key_vector29;
00187 public byte key_vector30;
00188 public byte key_vector31;
00189 }
00190
00191 [StructLayout(LayoutKind.Sequential)]
00192 internal struct XExposeEvent
00193 {
00194 public XEventName type;
00195 public IntPtr serial;
00196 public bool send_event;
00197 public IntPtr display;
00198 public IntPtr window;
00199 public int x;
00200 public int y;
00201 public int width;
00202 public int height;
00203 public int count;
00204 }
00205
00206 [StructLayout(LayoutKind.Sequential)]
00207 internal struct XGraphicsExposeEvent
00208 {
00209 public XEventName type;
00210 public IntPtr serial;
00211 public bool send_event;
00212 public IntPtr display;
00213 public IntPtr drawable;
00214 public int x;
00215 public int y;
00216 public int width;
00217 public int height;
00218 public int count;
00219 public int major_code;
00220 public int minor_code;
00221 }
00222
00223 [StructLayout(LayoutKind.Sequential)]
00224 internal struct XNoExposeEvent
00225 {
00226 public XEventName type;
00227 public IntPtr serial;
00228 public bool send_event;
00229 public IntPtr display;
00230 public IntPtr drawable;
00231 public int major_code;
00232 public int minor_code;
00233 }
00234
00235 [StructLayout(LayoutKind.Sequential)]
00236 internal struct XVisibilityEvent
00237 {
00238 public XEventName type;
00239 public IntPtr serial;
00240 public bool send_event;
00241 public IntPtr display;
00242 public IntPtr window;
00243 public int state;
00244 }
00245
00246 [StructLayout(LayoutKind.Sequential)]
00247 internal struct XCreateWindowEvent
00248 {
00249 public XEventName type;
00250 public IntPtr serial;
00251 public bool send_event;
00252 public IntPtr display;
00253 public IntPtr parent;
00254 public IntPtr window;
00255 public int x;
00256 public int y;
00257 public int width;
00258 public int height;
00259 public int border_width;
00260 public bool override_redirect;
00261 }
00262
00263 [StructLayout(LayoutKind.Sequential)]
00264 internal struct XDestroyWindowEvent
00265 {
00266 public XEventName type;
00267 public IntPtr serial;
00268 public bool send_event;
00269 public IntPtr display;
00270 public IntPtr xevent;
00271 public IntPtr window;
00272 }
00273
00274 [StructLayout(LayoutKind.Sequential)]
00275 internal struct XUnmapEvent
00276 {
00277 public XEventName type;
00278 public IntPtr serial;
00279 public bool send_event;
00280 public IntPtr display;
00281 public IntPtr xevent;
00282 public IntPtr window;
00283 public bool from_configure;
00284 }
00285
00286 [StructLayout(LayoutKind.Sequential)]
00287 internal struct XMapEvent
00288 {
00289 public XEventName type;
00290 public IntPtr serial;
00291 public bool send_event;
00292 public IntPtr display;
00293 public IntPtr xevent;
00294 public IntPtr window;
00295 public bool override_redirect;
00296 }
00297
00298 [StructLayout(LayoutKind.Sequential)]
00299 internal struct XMapRequestEvent
00300 {
00301 public XEventName type;
00302 public IntPtr serial;
00303 public bool send_event;
00304 public IntPtr display;
00305 public IntPtr parent;
00306 public IntPtr window;
00307 }
00308
00309 [StructLayout(LayoutKind.Sequential)]
00310 internal struct XReparentEvent
00311 {
00312 public XEventName type;
00313 public IntPtr serial;
00314 public bool send_event;
00315 public IntPtr display;
00316 public IntPtr xevent;
00317 public IntPtr window;
00318 public IntPtr parent;
00319 public int x;
00320 public int y;
00321 public bool override_redirect;
00322 }
00323
00324 [StructLayout(LayoutKind.Sequential)]
00325 internal struct XConfigureEvent
00326 {
00327 public XEventName type;
00328 public IntPtr serial;
00329 public bool send_event;
00330 public IntPtr display;
00331 public IntPtr xevent;
00332 public IntPtr window;
00333 public int x;
00334 public int y;
00335 public int width;
00336 public int height;
00337 public int border_width;
00338 public IntPtr above;
00339 public bool override_redirect;
00340 }
00341
00342 [StructLayout(LayoutKind.Sequential)]
00343 internal struct XGravityEvent
00344 {
00345 public XEventName type;
00346 public IntPtr serial;
00347 public bool send_event;
00348 public IntPtr display;
00349 public IntPtr xevent;
00350 public IntPtr window;
00351 public int x;
00352 public int y;
00353 }
00354
00355 [StructLayout(LayoutKind.Sequential)]
00356 internal struct XResizeRequestEvent
00357 {
00358 public XEventName type;
00359 public IntPtr serial;
00360 public bool send_event;
00361 public IntPtr display;
00362 public IntPtr window;
00363 public int width;
00364 public int height;
00365 }
00366
00367 [StructLayout(LayoutKind.Sequential)]
00368 internal struct XConfigureRequestEvent
00369 {
00370 public XEventName type;
00371 public IntPtr serial;
00372 public bool send_event;
00373 public IntPtr display;
00374 public IntPtr parent;
00375 public IntPtr window;
00376 public int x;
00377 public int y;
00378 public int width;
00379 public int height;
00380 public int border_width;
00381 public IntPtr above;
00382 public int detail;
00383 public IntPtr value_mask;
00384 }
00385
00386 [StructLayout(LayoutKind.Sequential)]
00387 internal struct XCirculateEvent
00388 {
00389 public XEventName type;
00390 public IntPtr serial;
00391 public bool send_event;
00392 public IntPtr display;
00393 public IntPtr xevent;
00394 public IntPtr window;
00395 public int place;
00396 }
00397
00398 [StructLayout(LayoutKind.Sequential)]
00399 internal struct XCirculateRequestEvent
00400 {
00401 public XEventName type;
00402 public IntPtr serial;
00403 public bool send_event;
00404 public IntPtr display;
00405 public IntPtr parent;
00406 public IntPtr window;
00407 public int place;
00408 }
00409
00410 [StructLayout(LayoutKind.Sequential)]
00411 internal struct XPropertyEvent
00412 {
00413 public XEventName type;
00414 public IntPtr serial;
00415 public bool send_event;
00416 public IntPtr display;
00417 public IntPtr window;
00418 public IntPtr atom;
00419 public IntPtr time;
00420 public int state;
00421 }
00422
00423 [StructLayout(LayoutKind.Sequential)]
00424 internal struct XSelectionClearEvent
00425 {
00426 public XEventName type;
00427 public IntPtr serial;
00428 public bool send_event;
00429 public IntPtr display;
00430 public IntPtr window;
00431 public IntPtr selection;
00432 public IntPtr time;
00433 }
00434
00435 [StructLayout(LayoutKind.Sequential)]
00436 internal struct XSelectionRequestEvent
00437 {
00438 public XEventName type;
00439 public IntPtr serial;
00440 public bool send_event;
00441 public IntPtr display;
00442 public IntPtr owner;
00443 public IntPtr requestor;
00444 public IntPtr selection;
00445 public IntPtr target;
00446 public IntPtr property;
00447 public IntPtr time;
00448 }
00449
00450 [StructLayout(LayoutKind.Sequential)]
00451 internal struct XSelectionEvent
00452 {
00453 public XEventName type;
00454 public IntPtr serial;
00455 public bool send_event;
00456 public IntPtr display;
00457 public IntPtr requestor;
00458 public IntPtr selection;
00459 public IntPtr target;
00460 public IntPtr property;
00461 public IntPtr time;
00462 }
00463
00464 [StructLayout(LayoutKind.Sequential)]
00465 internal struct XColormapEvent
00466 {
00467 public XEventName type;
00468 public IntPtr serial;
00469 public bool send_event;
00470 public IntPtr display;
00471 public IntPtr window;
00472 public IntPtr colormap;
00473 public bool c_new;
00474 public int state;
00475 }
00476
00477 [StructLayout(LayoutKind.Sequential)]
00478 internal struct XClientMessageEvent
00479 {
00480 public XEventName type;
00481 public IntPtr serial;
00482 public bool send_event;
00483 public IntPtr display;
00484 public IntPtr window;
00485 public IntPtr message_type;
00486 public int format;
00487 public IntPtr ptr1;
00488 public IntPtr ptr2;
00489 public IntPtr ptr3;
00490 public IntPtr ptr4;
00491 public IntPtr ptr5;
00492 }
00493
00494 [StructLayout(LayoutKind.Sequential)]
00495 internal struct XMappingEvent
00496 {
00497 public XEventName type;
00498 public IntPtr serial;
00499 public bool send_event;
00500 public IntPtr display;
00501 public IntPtr window;
00502 public int request;
00503 public int first_keycode;
00504 public int count;
00505 }
00506
00507 [StructLayout(LayoutKind.Sequential)]
00508 internal struct XErrorEvent
00509 {
00510 public XEventName type;
00511 public IntPtr display;
00512 public IntPtr resourceid;
00513 public IntPtr serial;
00514 public byte error_code;
00515 public XRequest request_code;
00516 public byte minor_code;
00517 }
00518
00519 [StructLayout(LayoutKind.Sequential)]
00520 internal struct XEventPad
00521 {
00522 public IntPtr pad0;
00523 public IntPtr pad1;
00524 public IntPtr pad2;
00525 public IntPtr pad3;
00526 public IntPtr pad4;
00527 public IntPtr pad5;
00528 public IntPtr pad6;
00529 public IntPtr pad7;
00530 public IntPtr pad8;
00531 public IntPtr pad9;
00532 public IntPtr pad10;
00533 public IntPtr pad11;
00534 public IntPtr pad12;
00535 public IntPtr pad13;
00536 public IntPtr pad14;
00537 public IntPtr pad15;
00538 public IntPtr pad16;
00539 public IntPtr pad17;
00540 public IntPtr pad18;
00541 public IntPtr pad19;
00542 public IntPtr pad20;
00543 public IntPtr pad21;
00544 public IntPtr pad22;
00545 public IntPtr pad23;
00546 }
00547
00548 [StructLayout(LayoutKind.Explicit)]
00549 internal struct XEvent
00550 {
00551 [FieldOffset(0)]
00552 public XEventName type;
00553 [FieldOffset(0)]
00554 public XAnyEvent AnyEvent;
00555 [FieldOffset(0)]
00556 public XKeyEvent KeyEvent;
00557 [FieldOffset(0)]
00558 public XButtonEvent ButtonEvent;
00559 [FieldOffset(0)]
00560 public XMotionEvent MotionEvent;
00561 [FieldOffset(0)]
00562 public XCrossingEvent CrossingEvent;
00563 [FieldOffset(0)]
00564 public XFocusChangeEvent FocusChangeEvent;
00565 [FieldOffset(0)]
00566 public XExposeEvent ExposeEvent;
00567 [FieldOffset(0)]
00568 public XGraphicsExposeEvent GraphicsExposeEvent;
00569 [FieldOffset(0)]
00570 public XNoExposeEvent NoExposeEvent;
00571 [FieldOffset(0)]
00572 public XVisibilityEvent VisibilityEvent;
00573 [FieldOffset(0)]
00574 public XCreateWindowEvent CreateWindowEvent;
00575 [FieldOffset(0)]
00576 public XDestroyWindowEvent DestroyWindowEvent;
00577 [FieldOffset(0)]
00578 public XUnmapEvent UnmapEvent;
00579 [FieldOffset(0)]
00580 public XMapEvent MapEvent;
00581 [FieldOffset(0)]
00582 public XMapRequestEvent MapRequestEvent;
00583 [FieldOffset(0)]
00584 public XReparentEvent ReparentEvent;
00585 [FieldOffset(0)]
00586 public XConfigureEvent ConfigureEvent;
00587 [FieldOffset(0)]
00588 public XGravityEvent GravityEvent;
00589 [FieldOffset(0)]
00590 public XResizeRequestEvent ResizeRequestEvent;
00591 [FieldOffset(0)]
00592 public XConfigureRequestEvent ConfigureRequestEvent;
00593 [FieldOffset(0)]
00594 public XCirculateEvent CirculateEvent;
00595 [FieldOffset(0)]
00596 public XCirculateRequestEvent CirculateRequestEvent;
00597 [FieldOffset(0)]
00598 public XPropertyEvent PropertyEvent;
00599 [FieldOffset(0)]
00600 public XSelectionClearEvent SelectionClearEvent;
00601 [FieldOffset(0)]
00602 public XSelectionRequestEvent SelectionRequestEvent;
00603 [FieldOffset(0)]
00604 public XSelectionEvent SelectionEvent;
00605 [FieldOffset(0)]
00606 public XColormapEvent ColormapEvent;
00607 [FieldOffset(0)]
00608 public XClientMessageEvent ClientMessageEvent;
00609 [FieldOffset(0)]
00610 public XMappingEvent MappingEvent;
00611 [FieldOffset(0)]
00612 public XErrorEvent ErrorEvent;
00613 [FieldOffset(0)]
00614 public XKeymapEvent KeymapEvent;
00615
00616
00617
00618 [FieldOffset(0)]
00619 public XEventPad Pad;
00620 public override string ToString()
00621 {
00622 switch (type)
00623 {
00624 case XEventName.PropertyNotify:
00625 return ToString(PropertyEvent);
00626 case XEventName.ResizeRequest:
00627 return ToString(ResizeRequestEvent);
00628 case XEventName.ConfigureNotify:
00629 return ToString(ConfigureEvent);
00630 default:
00631 return type.ToString();
00632 }
00633 }
00634
00635 public static string ToString(object ev)
00636 {
00637 string result = string.Empty;
00638 Type type = ev.GetType();
00639 System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Instance);
00640 for (int i = 0; i < fields.Length; i++)
00641 {
00642 if (result != string.Empty)
00643 {
00644 result += ", ";
00645 }
00646 object value = fields[i].GetValue(ev);
00647 result += fields[i].Name + "=" + (value == null ? "<null>" : value.ToString());
00648 }
00649 return type.Name + " (" + result + ")";
00650 }
00651 }
00652
00653 [StructLayout(LayoutKind.Sequential)]
00654 internal struct XSetWindowAttributes
00655 {
00656 public IntPtr background_pixmap;
00657 public IntPtr background_pixel;
00658 public IntPtr border_pixmap;
00659 public IntPtr border_pixel;
00660 public Gravity bit_gravity;
00661 public Gravity win_gravity;
00662 public int backing_store;
00663 public IntPtr backing_planes;
00664 public IntPtr backing_pixel;
00665 public bool save_under;
00666 public IntPtr event_mask;
00667 public IntPtr do_not_propagate_mask;
00668 public bool override_redirect;
00669 public IntPtr colormap;
00670 public IntPtr cursor;
00671 }
00672
00673 [StructLayout(LayoutKind.Sequential)]
00674 internal struct XWindowAttributes
00675 {
00676 public int x;
00677 public int y;
00678 public int width;
00679 public int height;
00680 public int border_width;
00681 public int depth;
00682 public IntPtr visual;
00683 public IntPtr root;
00684 public int c_class;
00685 public Gravity bit_gravity;
00686 public Gravity win_gravity;
00687 public int backing_store;
00688 public IntPtr backing_planes;
00689 public IntPtr backing_pixel;
00690 public bool save_under;
00691 public IntPtr colormap;
00692 public bool map_installed;
00693 public MapState map_state;
00694 public IntPtr all_event_masks;
00695 public IntPtr your_event_mask;
00696 public IntPtr do_not_propagate_mask;
00697 public bool override_direct;
00698 public IntPtr screen;
00699
00700 public override string ToString()
00701 {
00702 return XEvent.ToString(this);
00703 }
00704 }
00705
00706 [StructLayout(LayoutKind.Sequential)]
00707 internal struct XTextProperty
00708 {
00709 public string value;
00710 public IntPtr encoding;
00711 public int format;
00712 public IntPtr nitems;
00713 }
00714
00715 internal enum XWindowClass
00716 {
00717 InputOutput = 1,
00718 InputOnly = 2
00719 }
00720
00721 internal enum XEventName
00722 {
00723 KeyPress = 2,
00724 KeyRelease = 3,
00725 ButtonPress = 4,
00726 ButtonRelease = 5,
00727 MotionNotify = 6,
00728 EnterNotify = 7,
00729 LeaveNotify = 8,
00730 FocusIn = 9,
00731 FocusOut = 10,
00732 KeymapNotify = 11,
00733 Expose = 12,
00734 GraphicsExpose = 13,
00735 NoExpose = 14,
00736 VisibilityNotify = 15,
00737 CreateNotify = 16,
00738 DestroyNotify = 17,
00739 UnmapNotify = 18,
00740 MapNotify = 19,
00741 MapRequest = 20,
00742 ReparentNotify = 21,
00743 ConfigureNotify = 22,
00744 ConfigureRequest = 23,
00745 GravityNotify = 24,
00746 ResizeRequest = 25,
00747 CirculateNotify = 26,
00748 CirculateRequest = 27,
00749 PropertyNotify = 28,
00750 SelectionClear = 29,
00751 SelectionRequest = 30,
00752 SelectionNotify = 31,
00753 ColormapNotify = 32,
00754 ClientMessage = 33,
00755 MappingNotify = 34,
00756
00757 LASTEvent
00758 }
00759
00760 [Flags]
00761 internal enum SetWindowValuemask
00762 {
00763 Nothing = 0,
00764 BackPixmap = 1,
00765 BackPixel = 2,
00766 BorderPixmap = 4,
00767 BorderPixel = 8,
00768 BitGravity = 16,
00769 WinGravity = 32,
00770 BackingStore = 64,
00771 BackingPlanes = 128,
00772 BackingPixel = 256,
00773 OverrideRedirect = 512,
00774 SaveUnder = 1024,
00775 EventMask = 2048,
00776 DontPropagate = 4096,
00777 ColorMap = 8192,
00778 Cursor = 16384
00779 }
00780
00781 internal enum CreateWindowArgs
00782 {
00783 CopyFromParent = 0,
00784 ParentRelative = 1,
00785 InputOutput = 1,
00786 InputOnly = 2
00787 }
00788
00789 internal enum Gravity
00790 {
00791 ForgetGravity = 0,
00792 NorthWestGravity = 1,
00793 NorthGravity = 2,
00794 NorthEastGravity = 3,
00795 WestGravity = 4,
00796 CenterGravity = 5,
00797 EastGravity = 6,
00798 SouthWestGravity = 7,
00799 SouthGravity = 8,
00800 SouthEastGravity = 9,
00801 StaticGravity = 10
00802 }
00803
00804 internal enum XKeySym : uint
00805 {
00806 XK_BackSpace = 0xFF08,
00807 XK_Tab = 0xFF09,
00808 XK_Clear = 0xFF0B,
00809 XK_Return = 0xFF0D,
00810 XK_Home = 0xFF50,
00811 XK_Left = 0xFF51,
00812 XK_Up = 0xFF52,
00813 XK_Right = 0xFF53,
00814 XK_Down = 0xFF54,
00815 XK_Page_Up = 0xFF55,
00816 XK_Page_Down = 0xFF56,
00817 XK_End = 0xFF57,
00818 XK_Begin = 0xFF58,
00819 XK_Menu = 0xFF67,
00820 XK_Shift_L = 0xFFE1,
00821 XK_Shift_R = 0xFFE2,
00822 XK_Control_L = 0xFFE3,
00823 XK_Control_R = 0xFFE4,
00824 XK_Caps_Lock = 0xFFE5,
00825 XK_Shift_Lock = 0xFFE6,
00826 XK_Meta_L = 0xFFE7,
00827 XK_Meta_R = 0xFFE8,
00828 XK_Alt_L = 0xFFE9,
00829 XK_Alt_R = 0xFFEA,
00830 XK_Super_L = 0xFFEB,
00831 XK_Super_R = 0xFFEC,
00832 XK_Hyper_L = 0xFFED,
00833 XK_Hyper_R = 0xFFEE,
00834 }
00835
00836 #pragma warning disable 1591
00837
00838 [Flags]
00839 public enum EventMask
00840 {
00841 NoEventMask = 0,
00842 KeyPressMask = 1 << 0,
00843 KeyReleaseMask = 1 << 1,
00844 ButtonPressMask = 1 << 2,
00845 ButtonReleaseMask = 1 << 3,
00846 EnterWindowMask = 1 << 4,
00847 LeaveWindowMask = 1 << 5,
00848 PointerMotionMask = 1 << 6,
00849 PointerMotionHintMask = 1 << 7,
00850 Button1MotionMask = 1 << 8,
00851 Button2MotionMask = 1 << 9,
00852 Button3MotionMask = 1 << 10,
00853 Button4MotionMask = 1 << 11,
00854 Button5MotionMask = 1 << 12,
00855 ButtonMotionMask = 1 << 13,
00856 KeymapStateMask = 1 << 14,
00857 ExposureMask = 1 << 15,
00858 VisibilityChangeMask = 1 << 16,
00859 StructureNotifyMask = 1 << 17,
00860 ResizeRedirectMask = 1 << 18,
00861 SubstructureNotifyMask = 1 << 19,
00862 SubstructureRedirectMask = 1 << 20,
00863 FocusChangeMask = 1 << 21,
00864 PropertyChangeMask = 1 << 22,
00865 ColormapChangeMask = 1 << 23,
00866 OwnerGrabButtonMask = 1 << 24
00867 }
00868
00869 #pragma warning restore 1591
00870
00871 internal enum GrabMode
00872 {
00873 GrabModeSync = 0,
00874 GrabModeAsync = 1
00875 }
00876
00877 [StructLayout(LayoutKind.Sequential)]
00878 internal struct XStandardColormap
00879 {
00880 public IntPtr colormap;
00881 public IntPtr red_max;
00882 public IntPtr red_mult;
00883 public IntPtr green_max;
00884 public IntPtr green_mult;
00885 public IntPtr blue_max;
00886 public IntPtr blue_mult;
00887 public IntPtr base_pixel;
00888 public IntPtr visualid;
00889 public IntPtr killid;
00890 }
00891
00892 [StructLayout(LayoutKind.Sequential, Pack = 2)]
00893 internal struct XColor
00894 {
00895 public IntPtr pixel;
00896 public ushort red;
00897 public ushort green;
00898 public ushort blue;
00899 public byte flags;
00900 public byte pad;
00901 }
00902
00903 internal enum Atom
00904 {
00905 AnyPropertyType = 0,
00906 XA_PRIMARY = 1,
00907 XA_SECONDARY = 2,
00908 XA_ARC = 3,
00909 XA_ATOM = 4,
00910 XA_BITMAP = 5,
00911 XA_CARDINAL = 6,
00912 XA_COLORMAP = 7,
00913 XA_CURSOR = 8,
00914 XA_CUT_BUFFER0 = 9,
00915 XA_CUT_BUFFER1 = 10,
00916 XA_CUT_BUFFER2 = 11,
00917 XA_CUT_BUFFER3 = 12,
00918 XA_CUT_BUFFER4 = 13,
00919 XA_CUT_BUFFER5 = 14,
00920 XA_CUT_BUFFER6 = 15,
00921 XA_CUT_BUFFER7 = 16,
00922 XA_DRAWABLE = 17,
00923 XA_FONT = 18,
00924 XA_INTEGER = 19,
00925 XA_PIXMAP = 20,
00926 XA_POINT = 21,
00927 XA_RECTANGLE = 22,
00928 XA_RESOURCE_MANAGER = 23,
00929 XA_RGB_COLOR_MAP = 24,
00930 XA_RGB_BEST_MAP = 25,
00931 XA_RGB_BLUE_MAP = 26,
00932 XA_RGB_DEFAULT_MAP = 27,
00933 XA_RGB_GRAY_MAP = 28,
00934 XA_RGB_GREEN_MAP = 29,
00935 XA_RGB_RED_MAP = 30,
00936 XA_STRING = 31,
00937 XA_VISUALID = 32,
00938 XA_WINDOW = 33,
00939 XA_WM_COMMAND = 34,
00940 XA_WM_HINTS = 35,
00941 XA_WM_CLIENT_MACHINE = 36,
00942 XA_WM_ICON_NAME = 37,
00943 XA_WM_ICON_SIZE = 38,
00944 XA_WM_NAME = 39,
00945 XA_WM_NORMAL_HINTS = 40,
00946 XA_WM_SIZE_HINTS = 41,
00947 XA_WM_ZOOM_HINTS = 42,
00948 XA_MIN_SPACE = 43,
00949 XA_NORM_SPACE = 44,
00950 XA_MAX_SPACE = 45,
00951 XA_END_SPACE = 46,
00952 XA_SUPERSCRIPT_X = 47,
00953 XA_SUPERSCRIPT_Y = 48,
00954 XA_SUBSCRIPT_X = 49,
00955 XA_SUBSCRIPT_Y = 50,
00956 XA_UNDERLINE_POSITION = 51,
00957 XA_UNDERLINE_THICKNESS = 52,
00958 XA_STRIKEOUT_ASCENT = 53,
00959 XA_STRIKEOUT_DESCENT = 54,
00960 XA_ITALIC_ANGLE = 55,
00961 XA_X_HEIGHT = 56,
00962 XA_QUAD_WIDTH = 57,
00963 XA_WEIGHT = 58,
00964 XA_POINT_SIZE = 59,
00965 XA_RESOLUTION = 60,
00966 XA_COPYRIGHT = 61,
00967 XA_NOTICE = 62,
00968 XA_FONT_NAME = 63,
00969 XA_FAMILY_NAME = 64,
00970 XA_FULL_NAME = 65,
00971 XA_CAP_HEIGHT = 66,
00972 XA_WM_CLASS = 67,
00973 XA_WM_TRANSIENT_FOR = 68,
00974
00975 XA_LAST_PREDEFINED = 68
00976 }
00977
00978 [StructLayout(LayoutKind.Sequential)]
00979 internal struct XScreen
00980 {
00981 public IntPtr ext_data;
00982 public IntPtr display;
00983 public IntPtr root;
00984 public int width;
00985 public int height;
00986 public int mwidth;
00987 public int mheight;
00988 public int ndepths;
00989 public IntPtr depths;
00990 public int root_depth;
00991 public IntPtr root_visual;
00992 public IntPtr default_gc;
00993 public IntPtr cmap;
00994 public IntPtr white_pixel;
00995 public IntPtr black_pixel;
00996 public int max_maps;
00997 public int min_maps;
00998 public int backing_store;
00999 public bool save_unders;
01000 public IntPtr root_input_mask;
01001 }
01002
01003 [Flags]
01004 internal enum ChangeWindowAttributes
01005 {
01006 X = 1 << 0,
01007 Y = 1 << 1,
01008 Width = 1 << 2,
01009 Height = 1 << 3,
01010 BorderWidth = 1 << 4,
01011 Sibling = 1 << 5,
01012 StackMode = 1 << 6,
01013
01014
01015
01016
01017
01018
01019
01020
01021
01022
01023
01024
01025
01026
01027
01028 OverrideRedirect = 1<<9,
01029 }
01030
01031 internal enum StackMode
01032 {
01033 Above = 0,
01034 Below = 1,
01035 TopIf = 2,
01036 BottomIf = 3,
01037 Opposite = 4
01038 }
01039
01040 [StructLayout(LayoutKind.Sequential)]
01041 internal struct XWindowChanges
01042 {
01043 public int x;
01044 public int y;
01045 public int width;
01046 public int height;
01047 public int border_width;
01048 public IntPtr sibling;
01049 public StackMode stack_mode;
01050 }
01051
01052 [Flags]
01053 internal enum ColorFlags
01054 {
01055 DoRed = 1 << 0,
01056 DoGreen = 1 << 1,
01057 DoBlue = 1 << 2
01058 }
01059
01060 internal enum NotifyMode
01061 {
01062 NotifyNormal = 0,
01063 NotifyGrab = 1,
01064 NotifyUngrab = 2
01065 }
01066
01067 internal enum NotifyDetail
01068 {
01069 NotifyAncestor = 0,
01070 NotifyVirtual = 1,
01071 NotifyInferior = 2,
01072 NotifyNonlinear = 3,
01073 NotifyNonlinearVirtual = 4,
01074 NotifyPointer = 5,
01075 NotifyPointerRoot = 6,
01076 NotifyDetailNone = 7
01077 }
01078
01079 [Flags]
01080 internal enum KeyMasks
01081 {
01082 ShiftMask = (1 << 0),
01083 LockMask = (1 << 1),
01084 ControlMask = (1 << 2),
01085 Mod1Mask = (1 << 3),
01086 Mod2Mask = (1 << 4),
01087 Mod3Mask = (1 << 5),
01088 Mod4Mask = (1 << 6),
01089 Mod5Mask = (1 << 7),
01090
01091 ModMasks = Mod1Mask | Mod2Mask | Mod3Mask | Mod4Mask | Mod5Mask
01092 }
01093
01094 [StructLayout(LayoutKind.Sequential)]
01095 internal struct XModifierKeymap
01096 {
01097 public int max_keypermod;
01098 public IntPtr modifiermap;
01099 }
01100
01101 internal enum PropertyMode
01102 {
01103 Replace = 0,
01104 Prepend = 1,
01105 Append = 2
01106 }
01107
01108 [StructLayout(LayoutKind.Sequential)]
01109 internal struct XKeyBoardState
01110 {
01111 public int key_click_percent;
01112 public int bell_percent;
01113 public uint bell_pitch, bell_duration;
01114 public IntPtr led_mask;
01115 public int global_auto_repeat;
01116 public AutoRepeats auto_repeats;
01117
01118 [StructLayout(LayoutKind.Explicit)]
01119 internal struct AutoRepeats
01120 {
01121 [FieldOffset(0)]
01122 public byte first;
01123
01124 [FieldOffset(31)]
01125 public byte last;
01126 }
01127 }
01128
01129 [Flags]
01130 internal enum GCFunction
01131 {
01132 GCFunction = 1 << 0,
01133 GCPlaneMask = 1 << 1,
01134 GCForeground = 1 << 2,
01135 GCBackground = 1 << 3,
01136 GCLineWidth = 1 << 4,
01137 GCLineStyle = 1 << 5,
01138 GCCapStyle = 1 << 6,
01139 GCJoinStyle = 1 << 7,
01140 GCFillStyle = 1 << 8,
01141 GCFillRule = 1 << 9,
01142 GCTile = 1 << 10,
01143 GCStipple = 1 << 11,
01144 GCTileStipXOrigin = 1 << 12,
01145 GCTileStipYOrigin = 1 << 13,
01146 GCFont = 1 << 14,
01147 GCSubwindowMode = 1 << 15,
01148 GCGraphicsExposures = 1 << 16,
01149 GCClipXOrigin = 1 << 17,
01150 GCClipYOrigin = 1 << 18,
01151 GCClipMask = 1 << 19,
01152 GCDashOffset = 1 << 20,
01153 GCDashList = 1 << 21,
01154 GCArcMode = 1 << 22
01155 }
01156
01157 internal enum GCJoinStyle
01158 {
01159 JoinMiter = 0,
01160 JoinRound = 1,
01161 JoinBevel = 2
01162 }
01163
01164 internal enum GCLineStyle
01165 {
01166 LineSolid = 0,
01167 LineOnOffDash = 1,
01168 LineDoubleDash = 2
01169 }
01170
01171 internal enum GCCapStyle
01172 {
01173 CapNotLast = 0,
01174 CapButt = 1,
01175 CapRound = 2,
01176 CapProjecting = 3
01177 }
01178
01179 internal enum GCFillStyle
01180 {
01181 FillSolid = 0,
01182 FillTiled = 1,
01183 FillStippled = 2,
01184 FillOpaqueStppled = 3
01185 }
01186
01187 internal enum GCFillRule
01188 {
01189 EvenOddRule = 0,
01190 WindingRule = 1
01191 }
01192
01193 internal enum GCArcMode
01194 {
01195 ArcChord = 0,
01196 ArcPieSlice = 1
01197 }
01198
01199 internal enum GCSubwindowMode
01200 {
01201 ClipByChildren = 0,
01202 IncludeInferiors = 1
01203 }
01204
01205 [StructLayout(LayoutKind.Sequential)]
01206 internal struct XGCValues
01207 {
01208 public GXFunction function;
01209 public IntPtr plane_mask;
01210 public IntPtr foreground;
01211 public IntPtr background;
01212 public int line_width;
01213 public GCLineStyle line_style;
01214 public GCCapStyle cap_style;
01215 public GCJoinStyle join_style;
01216 public GCFillStyle fill_style;
01217 public GCFillRule fill_rule;
01218 public GCArcMode arc_mode;
01219 public IntPtr tile;
01220 public IntPtr stipple;
01221 public int ts_x_origin;
01222 public int ts_y_origin;
01223 public IntPtr font;
01224 public GCSubwindowMode subwindow_mode;
01225 public bool graphics_exposures;
01226 public int clip_x_origin;
01227 public int clib_y_origin;
01228 public IntPtr clip_mask;
01229 public int dash_offset;
01230 public byte dashes;
01231 }
01232
01233 internal enum GXFunction
01234 {
01235 GXclear = 0x0,
01236 GXand = 0x1,
01237 GXandReverse = 0x2,
01238 GXcopy = 0x3,
01239 GXandInverted = 0x4,
01240 GXnoop = 0x5,
01241 GXxor = 0x6,
01242 GXor = 0x7,
01243 GXnor = 0x8,
01244 GXequiv = 0x9,
01245 GXinvert = 0xa,
01246 GXorReverse = 0xb,
01247 GXcopyInverted = 0xc,
01248 GXorInverted = 0xd,
01249 GXnand = 0xe,
01250 GXset = 0xf
01251 }
01252
01253 internal enum NetWindowManagerState
01254 {
01255 Remove = 0,
01256 Add = 1,
01257 Toggle = 2
01258 }
01259
01260 internal enum RevertTo
01261 {
01262 None = 0,
01263 PointerRoot = 1,
01264 Parent = 2
01265 }
01266
01267 internal enum MapState
01268 {
01269 IsUnmapped = 0,
01270 IsUnviewable = 1,
01271 IsViewable = 2
01272 }
01273
01274 internal enum CursorFontShape
01275 {
01276 XC_X_cursor = 0,
01277 XC_arrow = 2,
01278 XC_based_arrow_down = 4,
01279 XC_based_arrow_up = 6,
01280 XC_boat = 8,
01281 XC_bogosity = 10,
01282 XC_bottom_left_corner = 12,
01283 XC_bottom_right_corner = 14,
01284 XC_bottom_side = 16,
01285 XC_bottom_tee = 18,
01286 XC_box_spiral = 20,
01287 XC_center_ptr = 22,
01288
01289 XC_circle = 24,
01290 XC_clock = 26,
01291 XC_coffee_mug = 28,
01292 XC_cross = 30,
01293 XC_cross_reverse = 32,
01294 XC_crosshair = 34,
01295 XC_diamond_cross = 36,
01296 XC_dot = 38,
01297 XC_dotbox = 40,
01298 XC_double_arrow = 42,
01299 XC_draft_large = 44,
01300 XC_draft_small = 46,
01301
01302 XC_draped_box = 48,
01303 XC_exchange = 50,
01304 XC_fleur = 52,
01305 XC_gobbler = 54,
01306 XC_gumby = 56,
01307 XC_hand1 = 58,
01308 XC_hand2 = 60,
01309 XC_heart = 62,
01310 XC_icon = 64,
01311 XC_iron_cross = 66,
01312 XC_left_ptr = 68,
01313 XC_left_side = 70,
01314
01315 XC_left_tee = 72,
01316 XC_left_button = 74,
01317 XC_ll_angle = 76,
01318 XC_lr_angle = 78,
01319 XC_man = 80,
01320 XC_middlebutton = 82,
01321 XC_mouse = 84,
01322 XC_pencil = 86,
01323 XC_pirate = 88,
01324 XC_plus = 90,
01325 XC_question_arrow = 92,
01326 XC_right_ptr = 94,
01327
01328 XC_right_side = 96,
01329 XC_right_tee = 98,
01330 XC_rightbutton = 100,
01331 XC_rtl_logo = 102,
01332 XC_sailboat = 104,
01333 XC_sb_down_arrow = 106,
01334 XC_sb_h_double_arrow = 108,
01335 XC_sb_left_arrow = 110,
01336 XC_sb_right_arrow = 112,
01337 XC_sb_up_arrow = 114,
01338 XC_sb_v_double_arrow = 116,
01339 XC_sb_shuttle = 118,
01340
01341 XC_sizing = 120,
01342 XC_spider = 122,
01343 XC_spraycan = 124,
01344 XC_star = 126,
01345 XC_target = 128,
01346 XC_tcross = 130,
01347 XC_top_left_arrow = 132,
01348 XC_top_left_corner = 134,
01349 XC_top_right_corner = 136,
01350 XC_top_side = 138,
01351 XC_top_tee = 140,
01352 XC_trek = 142,
01353
01354 XC_ul_angle = 144,
01355 XC_umbrella = 146,
01356 XC_ur_angle = 148,
01357 XC_watch = 150,
01358 XC_xterm = 152,
01359 XC_num_glyphs = 154
01360 }
01361
01362 internal enum SystrayRequest
01363 {
01364 SYSTEM_TRAY_REQUEST_DOCK = 0,
01365 SYSTEM_TRAY_BEGIN_MESSAGE = 1,
01366 SYSTEM_TRAY_CANCEL_MESSAGE = 2
01367 }
01368
01369 [Flags]
01370 internal enum XSizeHintsFlags
01371 {
01372 USPosition = (1 << 0),
01373 USSize = (1 << 1),
01374 PPosition = (1 << 2),
01375 PSize = (1 << 3),
01376 PMinSize = (1 << 4),
01377 PMaxSize = (1 << 5),
01378 PResizeInc = (1 << 6),
01379 PAspect = (1 << 7),
01380 PAllHints = (PPosition | PSize | PMinSize | PMaxSize | PResizeInc | PAspect),
01381 PBaseSize = (1 << 8),
01382 PWinGravity = (1 << 9),
01383 }
01384
01385 [StructLayout(LayoutKind.Sequential)]
01386 internal struct XSizeHints
01387 {
01388 public IntPtr flags;
01389 public int x;
01390 public int y;
01391 public int width;
01392 public int height;
01393 public int min_width;
01394 public int min_height;
01395 public int max_width;
01396 public int max_height;
01397 public int width_inc;
01398 public int height_inc;
01399 public int min_aspect_x;
01400 public int min_aspect_y;
01401 public int max_aspect_x;
01402 public int max_aspect_y;
01403 public int base_width;
01404 public int base_height;
01405 public int win_gravity;
01406 }
01407
01408 [Flags]
01409 internal enum XWMHintsFlags
01410 {
01411 InputHint = (1 << 0),
01412 StateHint = (1 << 1),
01413 IconPixmapHint = (1 << 2),
01414 IconWindowHint = (1 << 3),
01415 IconPositionHint = (1 << 4),
01416 IconMaskHint = (1 << 5),
01417 WindowGroupHint = (1 << 6),
01418 AllHints = (InputHint | StateHint | IconPixmapHint | IconWindowHint | IconPositionHint | IconMaskHint | WindowGroupHint)
01419 }
01420
01421 internal enum XInitialState
01422 {
01423 DontCareState = 0,
01424 NormalState = 1,
01425 ZoomState = 2,
01426 IconicState = 3,
01427 InactiveState = 4
01428 }
01429
01430 [StructLayout(LayoutKind.Sequential)]
01431 internal struct XWMHints
01432 {
01433 public IntPtr flags;
01434 public bool input;
01435 public XInitialState initial_state;
01436 public IntPtr icon_pixmap;
01437 public IntPtr icon_window;
01438 public int icon_x;
01439 public int icon_y;
01440 public IntPtr icon_mask;
01441 public IntPtr window_group;
01442 }
01443
01444 [StructLayout(LayoutKind.Sequential)]
01445 internal struct XIconSize
01446 {
01447 public int min_width;
01448 public int min_height;
01449 public int max_width;
01450 public int max_height;
01451 public int width_inc;
01452 public int height_inc;
01453 }
01454
01455 internal delegate int XErrorHandler(IntPtr DisplayHandle, ref XErrorEvent error_event);
01456
01457 internal enum XRequest : byte
01458 {
01459 X_CreateWindow = 1,
01460 X_ChangeWindowAttributes = 2,
01461 X_GetWindowAttributes = 3,
01462 X_DestroyWindow = 4,
01463 X_DestroySubwindows = 5,
01464 X_ChangeSaveSet = 6,
01465 X_ReparentWindow = 7,
01466 X_MapWindow = 8,
01467 X_MapSubwindows = 9,
01468 X_UnmapWindow = 10,
01469 X_UnmapSubwindows = 11,
01470 X_ConfigureWindow = 12,
01471 X_CirculateWindow = 13,
01472 X_GetGeometry = 14,
01473 X_QueryTree = 15,
01474 X_InternAtom = 16,
01475 X_GetAtomName = 17,
01476 X_ChangeProperty = 18,
01477 X_DeleteProperty = 19,
01478 X_GetProperty = 20,
01479 X_ListProperties = 21,
01480 X_SetSelectionOwner = 22,
01481 X_GetSelectionOwner = 23,
01482 X_ConvertSelection = 24,
01483 X_SendEvent = 25,
01484 X_GrabPointer = 26,
01485 X_UngrabPointer = 27,
01486 X_GrabButton = 28,
01487 X_UngrabButton = 29,
01488 X_ChangeActivePointerGrab = 30,
01489 X_GrabKeyboard = 31,
01490 X_UngrabKeyboard = 32,
01491 X_GrabKey = 33,
01492 X_UngrabKey = 34,
01493 X_AllowEvents = 35,
01494 X_GrabServer = 36,
01495 X_UngrabServer = 37,
01496 X_QueryPointer = 38,
01497 X_GetMotionEvents = 39,
01498 X_TranslateCoords = 40,
01499 X_WarpPointer = 41,
01500 X_SetInputFocus = 42,
01501 X_GetInputFocus = 43,
01502 X_QueryKeymap = 44,
01503 X_OpenFont = 45,
01504 X_CloseFont = 46,
01505 X_QueryFont = 47,
01506 X_QueryTextExtents = 48,
01507 X_ListFonts = 49,
01508 X_ListFontsWithInfo = 50,
01509 X_SetFontPath = 51,
01510 X_GetFontPath = 52,
01511 X_CreatePixmap = 53,
01512 X_FreePixmap = 54,
01513 X_CreateGC = 55,
01514 X_ChangeGC = 56,
01515 X_CopyGC = 57,
01516 X_SetDashes = 58,
01517 X_SetClipRectangles = 59,
01518 X_FreeGC = 60,
01519 X_ClearArea = 61,
01520 X_CopyArea = 62,
01521 X_CopyPlane = 63,
01522 X_PolyPoint = 64,
01523 X_PolyLine = 65,
01524 X_PolySegment = 66,
01525 X_PolyRectangle = 67,
01526 X_PolyArc = 68,
01527 X_FillPoly = 69,
01528 X_PolyFillRectangle = 70,
01529 X_PolyFillArc = 71,
01530 X_PutImage = 72,
01531 X_GetImage = 73,
01532 X_PolyText8 = 74,
01533 X_PolyText16 = 75,
01534 X_ImageText8 = 76,
01535 X_ImageText16 = 77,
01536 X_CreateColormap = 78,
01537 X_FreeColormap = 79,
01538 X_CopyColormapAndFree = 80,
01539 X_InstallColormap = 81,
01540 X_UninstallColormap = 82,
01541 X_ListInstalledColormaps = 83,
01542 X_AllocColor = 84,
01543 X_AllocNamedColor = 85,
01544 X_AllocColorCells = 86,
01545 X_AllocColorPlanes = 87,
01546 X_FreeColors = 88,
01547 X_StoreColors = 89,
01548 X_StoreNamedColor = 90,
01549 X_QueryColors = 91,
01550 X_LookupColor = 92,
01551 X_CreateCursor = 93,
01552 X_CreateGlyphCursor = 94,
01553 X_FreeCursor = 95,
01554 X_RecolorCursor = 96,
01555 X_QueryBestSize = 97,
01556 X_QueryExtension = 98,
01557 X_ListExtensions = 99,
01558 X_ChangeKeyboardMapping = 100,
01559 X_GetKeyboardMapping = 101,
01560 X_ChangeKeyboardControl = 102,
01561 X_GetKeyboardControl = 103,
01562 X_Bell = 104,
01563 X_ChangePointerControl = 105,
01564 X_GetPointerControl = 106,
01565 X_SetScreenSaver = 107,
01566 X_GetScreenSaver = 108,
01567 X_ChangeHosts = 109,
01568 X_ListHosts = 110,
01569 X_SetAccessControl = 111,
01570 X_SetCloseDownMode = 112,
01571 X_KillClient = 113,
01572 X_RotateProperties = 114,
01573 X_ForceScreenSaver = 115,
01574 X_SetPointerMapping = 116,
01575 X_GetPointerMapping = 117,
01576 X_SetModifierMapping = 118,
01577 X_GetModifierMapping = 119,
01578 X_NoOperation = 127
01579 }
01580
01581 [Flags]
01582 internal enum XIMProperties
01583 {
01584 XIMPreeditArea = 0x0001,
01585 XIMPreeditCallbacks = 0x0002,
01586 XIMPreeditPosition = 0x0004,
01587 XIMPreeditNothing = 0x0008,
01588 XIMPreeditNone = 0x0010,
01589 XIMStatusArea = 0x0100,
01590 XIMStatusCallbacks = 0x0200,
01591 XIMStatusNothing = 0x0400,
01592 XIMStatusNone = 0x0800,
01593 }
01594
01595 [Flags]
01596 internal enum WindowType
01597 {
01598 Client = 1,
01599 Whole = 2,
01600 Both = 3
01601 }
01602
01603 internal enum XEmbedMessage
01604 {
01605 EmbeddedNotify = 0,
01606 WindowActivate = 1,
01607 WindowDeactivate = 2,
01608 RequestFocus = 3,
01609 FocusIn = 4,
01610 FocusOut = 5,
01611 FocusNext = 6,
01612 FocusPrev = 7,
01613
01614 ModalityOn = 10,
01615 ModalityOff = 11,
01616 RegisterAccelerator = 12,
01617 UnregisterAccelerator = 13,
01618 ActivateAccelerator = 14
01619 }
01620
01621 internal enum ImageFormat
01622 {
01623 XYPixmap = 1,
01624 ZPixmap
01625 }
01626 }