| 1 |
/* Xlib binding for D language |
|---|
| 2 |
Copyright 2007 TEISSIER Sylvere sligor(at)free.fr |
|---|
| 3 |
version 0.1 2007/08/29 |
|---|
| 4 |
This binding is an alpha release and need to be more tested |
|---|
| 5 |
|
|---|
| 6 |
This file is free software, please read licence.txt for more informations |
|---|
| 7 |
*/ |
|---|
| 8 |
|
|---|
| 9 |
module std.c.linux.X11.X; |
|---|
| 10 |
|
|---|
| 11 |
const uint X_PROTOCOL=11; /* current protocol version */ |
|---|
| 12 |
const uint X_PROTOCOL_REVISION=0; /* current minor version */ |
|---|
| 13 |
|
|---|
| 14 |
/* Resources */ |
|---|
| 15 |
alias ulong XID; |
|---|
| 16 |
alias ulong Mask; |
|---|
| 17 |
alias ulong VisualID; |
|---|
| 18 |
alias ulong Time; |
|---|
| 19 |
alias XID Atom; //alias needed because of None invariant shared for Atom and XID |
|---|
| 20 |
alias XID Window; |
|---|
| 21 |
alias XID Drawable; |
|---|
| 22 |
alias XID Font; |
|---|
| 23 |
alias XID Pixmap; |
|---|
| 24 |
alias XID Cursor; |
|---|
| 25 |
alias XID Colormap; |
|---|
| 26 |
alias XID GContext; |
|---|
| 27 |
alias XID KeySym; |
|---|
| 28 |
alias uint KeyCode; |
|---|
| 29 |
|
|---|
| 30 |
/***************************************************************** |
|---|
| 31 |
* RESERVED RESOURCE AND CONSTANT DEFINITIONS |
|---|
| 32 |
*****************************************************************/ |
|---|
| 33 |
const XID None=0;/* universal null resource or null atom */ |
|---|
| 34 |
const uint ParentRelative=1; /* border pixmap in CreateWindow and ChangeWindowAttributes special VisualID and special window class passed to CreateWindow */ |
|---|
| 35 |
const uint CopyFromParent=0; /* background pixmap in CreateWindow and ChangeWindowAttributes */ |
|---|
| 36 |
const Window PointerWindow=0; /* destination window in SendEvent */ |
|---|
| 37 |
const Window InputFocus=1; /* destination window in SendEvent */ |
|---|
| 38 |
const Window PointerRoot=1; /* focus window in SetInputFocus */ |
|---|
| 39 |
const Atom AnyPropertyType=0; /* special Atom, passed to GetProperty */ |
|---|
| 40 |
const KeyCode AnyKey=0; /* special Key Code, passed to GrabKey */ |
|---|
| 41 |
const uint AnyButton=0; /* special Button Code, passed to GrabButton */ |
|---|
| 42 |
const XID AllTemporary=0; /* special Resource ID passed to KillClient */ |
|---|
| 43 |
const Time CurrentTime=0; /* special Time */ |
|---|
| 44 |
const KeySym NoSymbol=0; /* special KeySym */ |
|---|
| 45 |
|
|---|
| 46 |
/***************************************************************** |
|---|
| 47 |
* EVENT DEFINITIONS |
|---|
| 48 |
*****************************************************************/ |
|---|
| 49 |
|
|---|
| 50 |
/* Input Event Masks. Used as event-mask window attribute and as arguments |
|---|
| 51 |
to Grab requests. Not to be confused with event names. */ |
|---|
| 52 |
|
|---|
| 53 |
enum EventMask:long |
|---|
| 54 |
{ |
|---|
| 55 |
NoEventMask =0, |
|---|
| 56 |
KeyPressMask =1<<0, |
|---|
| 57 |
KeyReleaseMask =1<<1, |
|---|
| 58 |
ButtonPressMask =1<<2, |
|---|
| 59 |
ButtonReleaseMask =1<<3, |
|---|
| 60 |
EnterWindowMask =1<<4, |
|---|
| 61 |
LeaveWindowMask =1<<5, |
|---|
| 62 |
PointerMotionMask =1<<6, |
|---|
| 63 |
PointerMotionHintMask =1<<7, |
|---|
| 64 |
Button1MotionMask =1<<8, |
|---|
| 65 |
Button2MotionMask =1<<9, |
|---|
| 66 |
Button3MotionMask =1<<10, |
|---|
| 67 |
Button4MotionMask =1<<11, |
|---|
| 68 |
Button5MotionMask =1<<12, |
|---|
| 69 |
ButtonMotionMask =1<<13, |
|---|
| 70 |
KeymapStateMask =1<<14, |
|---|
| 71 |
ExposureMask =1<<15, |
|---|
| 72 |
VisibilityChangeMask =1<<16, |
|---|
| 73 |
StructureNotifyMask =1<<17, |
|---|
| 74 |
ResizeRedirectMask =1<<18, |
|---|
| 75 |
SubstructureNotifyMask =1<<19, |
|---|
| 76 |
SubstructureRedirectMask=1<<20, |
|---|
| 77 |
FocusChangeMask =1<<21, |
|---|
| 78 |
PropertyChangeMask =1<<22, |
|---|
| 79 |
ColormapChangeMask =1<<23, |
|---|
| 80 |
OwnerGrabButtonMask =1<<24 |
|---|
| 81 |
}; |
|---|
| 82 |
|
|---|
| 83 |
/* Event names. Used in "type" field in XEvent structures. Not to be |
|---|
| 84 |
confused with event masks above. They start from 2 because 0 and 1 |
|---|
| 85 |
are reserved in the protocol for errors and replies. */ |
|---|
| 86 |
|
|---|
| 87 |
enum EventType:int |
|---|
| 88 |
{ |
|---|
| 89 |
KeyPress =2, |
|---|
| 90 |
KeyRelease =3, |
|---|
| 91 |
ButtonPress =4, |
|---|
| 92 |
ButtonRelease =5, |
|---|
| 93 |
MotionNotify =6, |
|---|
| 94 |
EnterNotify =7, |
|---|
| 95 |
LeaveNotify =8, |
|---|
| 96 |
FocusIn =9, |
|---|
| 97 |
FocusOut =10, |
|---|
| 98 |
KeymapNotify =11, |
|---|
| 99 |
Expose =12, |
|---|
| 100 |
GraphicsExpose =13, |
|---|
| 101 |
NoExpose =14, |
|---|
| 102 |
VisibilityNotify =15, |
|---|
| 103 |
CreateNotify =16, |
|---|
| 104 |
DestroyNotify =17, |
|---|
| 105 |
UnmapNotify =18, |
|---|
| 106 |
MapNotify =19, |
|---|
| 107 |
MapRequest =20, |
|---|
| 108 |
ReparentNotify =21, |
|---|
| 109 |
ConfigureNotify =22, |
|---|
| 110 |
ConfigureRequest =23, |
|---|
| 111 |
GravityNotify =24, |
|---|
| 112 |
ResizeRequest =25, |
|---|
| 113 |
CirculateNotify =26, |
|---|
| 114 |
CirculateRequest =27, |
|---|
| 115 |
PropertyNotify =28, |
|---|
| 116 |
SelectionClear =29, |
|---|
| 117 |
SelectionRequest =30, |
|---|
| 118 |
SelectionNotify =31, |
|---|
| 119 |
ColormapNotify =32, |
|---|
| 120 |
ClientMessage =33, |
|---|
| 121 |
MappingNotify =34, |
|---|
| 122 |
LASTEvent =35 /* must be bigger than any event # */ |
|---|
| 123 |
}; |
|---|
| 124 |
|
|---|
| 125 |
/* Key masks. Used as modifiers to GrabButton and GrabKey, results of QueryPointer, |
|---|
| 126 |
state in various key-, mouse-, and button-related events. */ |
|---|
| 127 |
enum KeyMask:uint |
|---|
| 128 |
{ |
|---|
| 129 |
ShiftMask =1<<0, |
|---|
| 130 |
LockMask =1<<1, |
|---|
| 131 |
ControlMask =1<<2, |
|---|
| 132 |
Mod1Mask =1<<3, |
|---|
| 133 |
Mod2Mask =1<<4, |
|---|
| 134 |
Mod3Mask =1<<5, |
|---|
| 135 |
Mod4Mask =1<<6, |
|---|
| 136 |
Mod5Mask =1<<7, |
|---|
| 137 |
AnyModifier =1<<15/* used in GrabButton, GrabKey */ |
|---|
| 138 |
}; |
|---|
| 139 |
|
|---|
| 140 |
/* modifier names. Used to build a SetModifierMapping request or |
|---|
| 141 |
to read a GetModifierMapping request. These correspond to the |
|---|
| 142 |
masks defined above. */ |
|---|
| 143 |
enum ModifierName:int |
|---|
| 144 |
{ |
|---|
| 145 |
ShiftMapIndex =0, |
|---|
| 146 |
LockMapIndex =1, |
|---|
| 147 |
ControlMapIndex =2, |
|---|
| 148 |
Mod1MapIndex =3, |
|---|
| 149 |
Mod2MapIndex =4, |
|---|
| 150 |
Mod3MapIndex =5, |
|---|
| 151 |
Mod4MapIndex =6, |
|---|
| 152 |
Mod5MapIndex =7 |
|---|
| 153 |
}; |
|---|
| 154 |
|
|---|
| 155 |
enum ButtonMask:int |
|---|
| 156 |
{ |
|---|
| 157 |
Button1Mask =1<<8, |
|---|
| 158 |
Button2Mask =1<<9, |
|---|
| 159 |
Button3Mask =1<<10, |
|---|
| 160 |
Button4Mask =1<<11, |
|---|
| 161 |
Button5Mask =1<<12, |
|---|
| 162 |
AnyModifier =1<<15/* used in GrabButton, GrabKey */ |
|---|
| 163 |
}; |
|---|
| 164 |
|
|---|
| 165 |
enum KeyOrButtonMask:uint |
|---|
| 166 |
{ |
|---|
| 167 |
ShiftMask =1<<0, |
|---|
| 168 |
LockMask =1<<1, |
|---|
| 169 |
ControlMask =1<<2, |
|---|
| 170 |
Mod1Mask =1<<3, |
|---|
| 171 |
Mod2Mask =1<<4, |
|---|
| 172 |
Mod3Mask =1<<5, |
|---|
| 173 |
Mod4Mask =1<<6, |
|---|
| 174 |
Mod5Mask =1<<7, |
|---|
| 175 |
Button1Mask =1<<8, |
|---|
| 176 |
Button2Mask =1<<9, |
|---|
| 177 |
Button3Mask =1<<10, |
|---|
| 178 |
Button4Mask =1<<11, |
|---|
| 179 |
Button5Mask =1<<12, |
|---|
| 180 |
AnyModifier =1<<15/* used in GrabButton, GrabKey */ |
|---|
| 181 |
}; |
|---|
| 182 |
|
|---|
| 183 |
|
|---|
| 184 |
/* button names. Used as arguments to GrabButton and as detail in ButtonPress |
|---|
| 185 |
and ButtonRelease events. Not to be confused with button masks above. |
|---|
| 186 |
Note that 0 is already defined above as "AnyButton". */ |
|---|
| 187 |
|
|---|
| 188 |
enum ButtonName:int |
|---|
| 189 |
{ |
|---|
| 190 |
Button1 =1, |
|---|
| 191 |
Button2 =2, |
|---|
| 192 |
Button3 =3, |
|---|
| 193 |
Button4 =4, |
|---|
| 194 |
Button5 =5 |
|---|
| 195 |
}; |
|---|
| 196 |
|
|---|
| 197 |
/* Notify modes */ |
|---|
| 198 |
enum NotifyModes:int |
|---|
| 199 |
{ |
|---|
| 200 |
NotifyNormal =0, |
|---|
| 201 |
NotifyGrab =1, |
|---|
| 202 |
NotifyUngrab =2, |
|---|
| 203 |
NotifyWhileGrabbed =3 |
|---|
| 204 |
}; |
|---|
| 205 |
const int NotifyHint =1; /* for MotionNotify events */ |
|---|
| 206 |
|
|---|
| 207 |
/* Notify detail */ |
|---|
| 208 |
enum NotifyDetail:int |
|---|
| 209 |
{ |
|---|
| 210 |
NotifyAncestor =0, |
|---|
| 211 |
NotifyVirtual =1, |
|---|
| 212 |
NotifyInferior =2, |
|---|
| 213 |
NotifyNonlinear =3, |
|---|
| 214 |
NotifyNonlinearVirtual =4, |
|---|
| 215 |
NotifyPointer =5, |
|---|
| 216 |
NotifyPointerRoot =6, |
|---|
| 217 |
NotifyDetailNone =7 |
|---|
| 218 |
}; |
|---|
| 219 |
|
|---|
| 220 |
/* Visibility notify */ |
|---|
| 221 |
|
|---|
| 222 |
enum VisibilityNotify:int |
|---|
| 223 |
{ |
|---|
| 224 |
VisibilityUnobscured =0, |
|---|
| 225 |
VisibilityPartiallyObscured =1, |
|---|
| 226 |
VisibilityFullyObscured =2 |
|---|
| 227 |
}; |
|---|
| 228 |
|
|---|
| 229 |
/* Circulation request */ |
|---|
| 230 |
enum CirculationRequest:int |
|---|
| 231 |
{ |
|---|
| 232 |
PlaceOnTop =0, |
|---|
| 233 |
PlaceOnBottom =1 |
|---|
| 234 |
}; |
|---|
| 235 |
/* protocol families */ |
|---|
| 236 |
enum ProtocolFamlily:int |
|---|
| 237 |
{ |
|---|
| 238 |
FamilyInternet =0, /* IPv4 */ |
|---|
| 239 |
FamilyDECnet =1, |
|---|
| 240 |
FamilyChaos =2, |
|---|
| 241 |
FamilyServerInterpreted =5, /* authentication families not tied to a specific protocol */ |
|---|
| 242 |
FamilyInternet6 =6 /* IPv6 */ |
|---|
| 243 |
}; |
|---|
| 244 |
|
|---|
| 245 |
/* Property notification */ |
|---|
| 246 |
|
|---|
| 247 |
enum PropertyNotification:int |
|---|
| 248 |
{ |
|---|
| 249 |
PropertyNewValue =0, |
|---|
| 250 |
PropertyDelete =1 |
|---|
| 251 |
}; |
|---|
| 252 |
|
|---|
| 253 |
/* Color Map notification */ |
|---|
| 254 |
enum ColorMapNotification:int |
|---|
| 255 |
{ |
|---|
| 256 |
ColormapUninstalled =0, |
|---|
| 257 |
ColormapInstalled =1 |
|---|
| 258 |
}; |
|---|
| 259 |
|
|---|
| 260 |
/* GrabPointer, GrabButton, GrabKeyboard, GrabKey Modes */ |
|---|
| 261 |
enum GrabMode:int |
|---|
| 262 |
{ |
|---|
| 263 |
GrabModeSync =0, |
|---|
| 264 |
GrabModeAsync =1 |
|---|
| 265 |
}; |
|---|
| 266 |
|
|---|
| 267 |
/* GrabPointer, GrabKeyboard reply status */ |
|---|
| 268 |
enum GrabReplyStatus:int |
|---|
| 269 |
{ |
|---|
| 270 |
GrabSuccess =0, |
|---|
| 271 |
AlreadyGrabbed =1, |
|---|
| 272 |
GrabInvalidTime =2, |
|---|
| 273 |
GrabNotViewable =3, |
|---|
| 274 |
GrabFrozen =4 |
|---|
| 275 |
}; |
|---|
| 276 |
|
|---|
| 277 |
/* AllowEvents modes */ |
|---|
| 278 |
|
|---|
| 279 |
enum AllowEventMode:int |
|---|
| 280 |
{ |
|---|
| 281 |
AsyncPointer =0, |
|---|
| 282 |
SyncPointer =1, |
|---|
| 283 |
ReplayPointer =2, |
|---|
| 284 |
AsyncKeyboard =3, |
|---|
| 285 |
SyncKeyboard =4, |
|---|
| 286 |
ReplayKeyboard =5, |
|---|
| 287 |
AsyncBoth =6, |
|---|
| 288 |
SyncBoth =7 |
|---|
| 289 |
}; |
|---|
| 290 |
|
|---|
| 291 |
/* Used in SetInputFocus, GetInputFocus */ |
|---|
| 292 |
enum InputFocusRevertTo:int |
|---|
| 293 |
{ |
|---|
| 294 |
RevertToNone =None, |
|---|
| 295 |
RevertToPointerRoot =PointerRoot, |
|---|
| 296 |
RevertToParent =2 |
|---|
| 297 |
}; |
|---|
| 298 |
|
|---|
| 299 |
/***************************************************************** |
|---|
| 300 |
* ERROR CODES |
|---|
| 301 |
*****************************************************************/ |
|---|
| 302 |
|
|---|
| 303 |
enum XErrorCode:int |
|---|
| 304 |
{ |
|---|
| 305 |
Success =0, /* everything's okay */ |
|---|
| 306 |
BadRequest =1, /* bad request code */ |
|---|
| 307 |
BadValue =2, /* int parameter out of range */ |
|---|
| 308 |
BadWindow =3, /* parameter not a Window */ |
|---|
| 309 |
BadPixmap =4, /* parameter not a Pixmap */ |
|---|
| 310 |
BadAtom =5, /* parameter not an Atom */ |
|---|
| 311 |
BadCursor =6, /* parameter not a Cursor */ |
|---|
| 312 |
BadFont =7, /* parameter not a Font */ |
|---|
| 313 |
BadMatch =8, /* parameter mismatch */ |
|---|
| 314 |
BadDrawable =9, /* parameter not a Pixmap or Window */ |
|---|
| 315 |
BadAccess =10, /* depending on context: |
|---|
| 316 |
- key/button already grabbed |
|---|
| 317 |
- attempt to free an illegal |
|---|
| 318 |
cmap entry |
|---|
| 319 |
- attempt to store into a read-only |
|---|
| 320 |
color map entry. |
|---|
| 321 |
- attempt to modify the access control |
|---|
| 322 |
list from other than the local host. |
|---|
| 323 |
*/ |
|---|
| 324 |
BadAlloc =11, /* insufficient resources */ |
|---|
| 325 |
BadColor =12, /* no such colormap */ |
|---|
| 326 |
BadGC =13, /* parameter not a GC */ |
|---|
| 327 |
BadIDChoice =14, /* choice not in range or already used */ |
|---|
| 328 |
BadName =15, /* font or color name doesn't exist */ |
|---|
| 329 |
BadLength =16, /* Request length incorrect */ |
|---|
| 330 |
BadImplementation =17, /* server is defective */ |
|---|
| 331 |
|
|---|
| 332 |
FirstExtensionError =128, |
|---|
| 333 |
LastExtensionError =255 |
|---|
| 334 |
}; |
|---|
| 335 |
|
|---|
| 336 |
/***************************************************************** |
|---|
| 337 |
* WINDOW DEFINITIONS |
|---|
| 338 |
*****************************************************************/ |
|---|
| 339 |
|
|---|
| 340 |
/* Window classes used by CreateWindow */ |
|---|
| 341 |
/* Note that CopyFromParent is already defined as 0 above */ |
|---|
| 342 |
enum WindowClass:int |
|---|
| 343 |
{ |
|---|
| 344 |
CopyFromParent =0, |
|---|
| 345 |
InputOutput =1, |
|---|
| 346 |
InputOnly =2 |
|---|
| 347 |
}; |
|---|
| 348 |
|
|---|
| 349 |
/* Window attributes for CreateWindow and ChangeWindowAttributes */ |
|---|
| 350 |
|
|---|
| 351 |
enum WindowAttribute:ulong |
|---|
| 352 |
{ |
|---|
| 353 |
CWBackPixmap =1<<0, |
|---|
| 354 |
CWBackPixel =1<<1, |
|---|
| 355 |
CWBorderPixmap =1<<2, |
|---|
| 356 |
CWBorderPixel =1<<3, |
|---|
| 357 |
CWBitGravity =1<<4, |
|---|
| 358 |
CWWinGravity =1<<5, |
|---|
| 359 |
CWBackingStore =1<<6, |
|---|
| 360 |
CWBackingPlanes =1<<7, |
|---|
| 361 |
CWBackingPixel =1<<8, |
|---|
| 362 |
CWOverrideRedirect =1<<9, |
|---|
| 363 |
CWSaveUnder =1<<10, |
|---|
| 364 |
CWEventMask =1<<11, |
|---|
| 365 |
CWDontPropagate =1<<12, |
|---|
| 366 |
CWColormap =1<<13, |
|---|
| 367 |
CWCursor =1<<14 |
|---|
| 368 |
}; |
|---|
| 369 |
/* ConfigureWindow structure */ |
|---|
| 370 |
enum ConfigureWindowStruct:int |
|---|
| 371 |
{ |
|---|
| 372 |
CWX =1<<0, |
|---|
| 373 |
CWY =1<<1, |
|---|
| 374 |
CWWidth =1<<2, |
|---|
| 375 |
CWHeight =1<<3, |
|---|
| 376 |
CWBorderWidth =1<<4, |
|---|
| 377 |
CWSibling =1<<5, |
|---|
| 378 |
CWStackMode =1<<6 |
|---|
| 379 |
}; |
|---|
| 380 |
|
|---|
| 381 |
/* Bit Gravity */ |
|---|
| 382 |
enum BitGravity:int |
|---|
| 383 |
{ |
|---|
| 384 |
ForgetGravity =0, |
|---|
| 385 |
NorthWestGravity =1, |
|---|
| 386 |
NorthGravity =2, |
|---|
| 387 |
NorthEastGravity =3, |
|---|
| 388 |
WestGravity =4, |
|---|
| 389 |
CenterGravity =5, |
|---|
| 390 |
EastGravity =6, |
|---|
| 391 |
SouthWestGravity =7, |
|---|
| 392 |
SouthGravity =8, |
|---|
| 393 |
SouthEastGravity =9, |
|---|
| 394 |
StaticGravity =10 |
|---|
| 395 |
}; |
|---|
| 396 |
|
|---|
| 397 |
/* Window gravity + bit gravity above */ |
|---|
| 398 |
|
|---|
| 399 |
const uint UnmapGravity=0; |
|---|
| 400 |
|
|---|
| 401 |
/* Used in CreateWindow for backing-store hint */ |
|---|
| 402 |
enum BackingStoreHint:int |
|---|
| 403 |
{ |
|---|
| 404 |
NotUseful =0, |
|---|
| 405 |
WhenMapped =1, |
|---|
| 406 |
Always =2 |
|---|
| 407 |
}; |
|---|
| 408 |
/* Used in GetWindowAttributes reply */ |
|---|
| 409 |
enum MapState:int |
|---|
| 410 |
{ |
|---|
| 411 |
IsUnmapped =0, |
|---|
| 412 |
IsUnviewable =1, |
|---|
| 413 |
IsViewable =2 |
|---|
| 414 |
}; |
|---|
| 415 |
/* Used in ChangeSaveSet */ |
|---|
| 416 |
enum ChangeMode:int |
|---|
| 417 |
{ |
|---|
| 418 |
SetModeInsert =0, |
|---|
| 419 |
SetModeDelete =1 |
|---|
| 420 |
}; |
|---|
| 421 |
/* Used in ChangeCloseDownMode */ |
|---|
| 422 |
enum CloseDownMode:int |
|---|
| 423 |
{ |
|---|
| 424 |
DestroyAll =0, |
|---|
| 425 |
RetainPermanent =1, |
|---|
| 426 |
RetainTemporary =2 |
|---|
| 427 |
}; |
|---|
| 428 |
|
|---|
| 429 |
/* Window stacking method (in configureWindow) */ |
|---|
| 430 |
enum WindowStackingMethod:int |
|---|
| 431 |
{ |
|---|
| 432 |
Above =0, |
|---|
| 433 |
Below =1, |
|---|
| 434 |
TopIf =2, |
|---|
| 435 |
BottomIf =3, |
|---|
| 436 |
Opposite =4 |
|---|
| 437 |
}; |
|---|
| 438 |
|
|---|
| 439 |
/* Circulation direction */ |
|---|
| 440 |
enum CircularDirection:int |
|---|
| 441 |
{ |
|---|
| 442 |
RaiseLowest =0, |
|---|
| 443 |
LowerHighest =1 |
|---|
| 444 |
}; |
|---|
| 445 |
|
|---|
| 446 |
/* Property modes */ |
|---|
| 447 |
enum PropertyMode:int |
|---|
| 448 |
{ |
|---|
| 449 |
PropModeReplace =0, |
|---|
| 450 |
PropModePrepend =1, |
|---|
| 451 |
PropModeAppend =2 |
|---|
| 452 |
}; |
|---|
| 453 |
|
|---|
| 454 |
/***************************************************************** |
|---|
| 455 |
* GRAPHICS DEFINITIONS |
|---|
| 456 |
*****************************************************************/ |
|---|
| 457 |
|
|---|
| 458 |
/* graphics functions, as in GC.alu */ |
|---|
| 459 |
enum GraphicFunction:int |
|---|
| 460 |
{ |
|---|
| 461 |
GXclear =0x0, /* 0 */ |
|---|
| 462 |
GXand =0x1, /* src AND dst */ |
|---|
| 463 |
GXandReverse =0x2, /* src AND NOT dst */ |
|---|
| 464 |
GXcopy =0x3, /* src */ |
|---|
| 465 |
GXandInverted =0x4, /* NOT src AND dst */ |
|---|
| 466 |
GXnoop =0x5, /* dst */ |
|---|
| 467 |
GXxor =0x6, /* src XOR dst */ |
|---|
| 468 |
GXor =0x7, /* src OR dst */ |
|---|
| 469 |
GXnor =0x8, /* NOT src AND NOT dst */ |
|---|
| 470 |
GXequiv =0x9, /* NOT src XOR dst */ |
|---|
| 471 |
GXinvert =0xa, /* NOT dst */ |
|---|
| 472 |
GXorReverse =0xb, /* src OR NOT dst */ |
|---|
| 473 |
GXcopyInverted =0xc, /* NOT src */ |
|---|
| 474 |
GXorInverted =0xd, /* NOT src OR dst */ |
|---|
| 475 |
GXnand =0xe, /* NOT src OR NOT dst */ |
|---|
| 476 |
GXset =0xf /* 1 */ |
|---|
| 477 |
}; |
|---|
| 478 |
|
|---|
| 479 |
/* LineStyle */ |
|---|
| 480 |
enum LineStyle:int |
|---|
| 481 |
{ |
|---|
| 482 |
LineSolid =0, |
|---|
| 483 |
LineOnOffDash =1, |
|---|
| 484 |
LineDoubleDash =2 |
|---|
| 485 |
}; |
|---|
| 486 |
/* capStyle */ |
|---|
| 487 |
enum CapStyle:int |
|---|
| 488 |
{ |
|---|
| 489 |
CapNotLast =0, |
|---|
| 490 |
CapButt =1, |
|---|
| 491 |
CapRound =2, |
|---|
| 492 |
CapProjecting =3 |
|---|
| 493 |
}; |
|---|
| 494 |
/* joinStyle */ |
|---|
| 495 |
enum JoinStyle:int |
|---|
| 496 |
{ |
|---|
| 497 |
JoinMiter =0, |
|---|
| 498 |
JoinRound =1, |
|---|
| 499 |
JoinBevel =2 |
|---|
| 500 |
}; |
|---|
| 501 |
/* fillStyle */ |
|---|
| 502 |
enum FillStyle:int |
|---|
| 503 |
{ |
|---|
| 504 |
FillSolid =0, |
|---|
| 505 |
FillTiled =1, |
|---|
| 506 |
FillStippled =2, |
|---|
| 507 |
FillOpaqueStippled =3 |
|---|
| 508 |
}; |
|---|
| 509 |
/* fillRule */ |
|---|
| 510 |
enum FillRule:int |
|---|
| 511 |
{ |
|---|
| 512 |
EvenOddRule =0, |
|---|
| 513 |
WindingRule =1 |
|---|
| 514 |
}; |
|---|
| 515 |
/* subwindow mode */ |
|---|
| 516 |
enum SubwindowMode:int |
|---|
| 517 |
{ |
|---|
| 518 |
ClipByChildren =0, |
|---|
| 519 |
IncludeInferiors =1 |
|---|
| 520 |
}; |
|---|
| 521 |
/* SetClipRectangles ordering */ |
|---|
| 522 |
enum ClipRectanglesOrdering:int |
|---|
| 523 |
{ |
|---|
| 524 |
Unsorted =0, |
|---|
| 525 |
YSorted =1, |
|---|
| 526 |
YXSorted =2, |
|---|
| 527 |
YXBanded =3 |
|---|
| 528 |
}; |
|---|
| 529 |
/* CoordinateMode for drawing routines */ |
|---|
| 530 |
enum CoordinateMode:int |
|---|
| 531 |
{ |
|---|
| 532 |
CoordModeOrigin =0, /* relative to the origin */ |
|---|
| 533 |
CoordModePrevious =1 /* relative to previous point */ |
|---|
| 534 |
}; |
|---|
| 535 |
/* Polygon shapes */ |
|---|
| 536 |
enum PolygonShape:int |
|---|
| 537 |
{ |
|---|
| 538 |
Complex =0, /* paths may intersect */ |
|---|
| 539 |
Nonconvex =1, /* no paths intersect, but not convex */ |
|---|
| 540 |
Convex =2 /* wholly convex */ |
|---|
| 541 |
}; |
|---|
| 542 |
|
|---|
| 543 |
/* Arc modes for PolyFillArc */ |
|---|
| 544 |
enum ArcMode:int |
|---|
| 545 |
{ |
|---|
| 546 |
ArcChord =0, /* join endpoints of arc */ |
|---|
| 547 |
ArcPieSlice =1 /* join endpoints to center of arc */ |
|---|
| 548 |
}; |
|---|
| 549 |
/* GC components: masks used in CreateGC, CopyGC, ChangeGC, OR'ed into |
|---|
| 550 |
GC.stateChanges */ |
|---|
| 551 |
enum GCMask:ulong |
|---|
| 552 |
{ |
|---|
| 553 |
GCFunction =1<<0, |
|---|
| 554 |
GCPlaneMask =1<<1, |
|---|
| 555 |
GCForeground =1<<2, |
|---|
| 556 |
GCBackground =1<<3, |
|---|
| 557 |
GCLineWidth =1<<4, |
|---|
| 558 |
GCLineStyle =1<<5, |
|---|
| 559 |
GCCapStyle =1<<6, |
|---|
| 560 |
GCJoinStyle =1<<7, |
|---|
| 561 |
GCFillStyle =1<<8, |
|---|
| 562 |
GCFillRule =1<<9, |
|---|
| 563 |
GCTile =1<<10, |
|---|
| 564 |
GCStipple =1<<11, |
|---|
| 565 |
GCTileStipXOrigin =1<<12, |
|---|
| 566 |
GCTileStipYOrigin =1<<13, |
|---|
| 567 |
GCFont =1<<14, |
|---|
| 568 |
GCSubwindowMode =1<<15, |
|---|
| 569 |
GCGraphicsExposures =1<<16, |
|---|
| 570 |
GCClipXOrigin =1<<17, |
|---|
| 571 |
GCClipYOrigin =1<<18, |
|---|
| 572 |
GCClipMask =1<<19, |
|---|
| 573 |
GCDashOffset =1<<20, |
|---|
| 574 |
GCDashList =1<<21, |
|---|
| 575 |
GCArcMode =1<<22, |
|---|
| 576 |
}; |
|---|
| 577 |
const uint GCLastBit=22; |
|---|
| 578 |
/***************************************************************** |
|---|
| 579 |
* FONTS |
|---|
| 580 |
*****************************************************************/ |
|---|
| 581 |
|
|---|
| 582 |
/* used in QueryFont -- draw direction */ |
|---|
| 583 |
enum FontDrawDirection:int |
|---|
| 584 |
{ |
|---|
| 585 |
FontLeftToRight =0, |
|---|
| 586 |
FontRightToLeft =1, |
|---|
| 587 |
FontChange =255 |
|---|
| 588 |
} |
|---|
| 589 |
/***************************************************************** |
|---|
| 590 |
* IMAGING |
|---|
| 591 |
*****************************************************************/ |
|---|
| 592 |
|
|---|
| 593 |
/* ImageFormat -- PutImage, GetImage */ |
|---|
| 594 |
enum ImageFormat:int |
|---|
| 595 |
{ |
|---|
| 596 |
XYBitmap =0, /* depth 1, XYFormat */ |
|---|
| 597 |
XYPixmap =1, /* depth == drawable depth */ |
|---|
| 598 |
ZPixmap =2 /* depth == drawable depth */ |
|---|
| 599 |
}; |
|---|
| 600 |
|
|---|
| 601 |
/***************************************************************** |
|---|
| 602 |
* COLOR MAP STUFF |
|---|
| 603 |
*****************************************************************/ |
|---|
| 604 |
|
|---|
| 605 |
/* For CreateColormap */ |
|---|
| 606 |
enum AllocType:int |
|---|
| 607 |
{ |
|---|
| 608 |
AllocNone =0, /* create map with no entries */ |
|---|
| 609 |
AllocAll =1 /* allocate entire map writeable */ |
|---|
| 610 |
}; |
|---|
| 611 |
|
|---|
| 612 |
/* Flags used in StoreNamedColor, StoreColors */ |
|---|
| 613 |
enum StoreColor:int |
|---|
| 614 |
{ |
|---|
| 615 |
DoRed =1<<0, |
|---|
| 616 |
DoGreen =1<<1, |
|---|
| 617 |
DoBlue =1<<2 |
|---|
| 618 |
}; |
|---|
| 619 |
|
|---|
| 620 |
/***************************************************************** |
|---|
| 621 |
* CURSOR STUFF |
|---|
| 622 |
*****************************************************************/ |
|---|
| 623 |
|
|---|
| 624 |
/* QueryBestSize Class */ |
|---|
| 625 |
enum QueryBestSizeClass:int |
|---|
| 626 |
{ |
|---|
| 627 |
CursorShape =0, /* largest size that can be displayed */ |
|---|
| 628 |
TileShape =1, /* size tiled fastest */ |
|---|
| 629 |
StippleShape =2 /* size stippled fastest */ |
|---|
| 630 |
}; |
|---|
| 631 |
|
|---|
| 632 |
/***************************************************************** |
|---|
| 633 |
* KEYBOARD/POINTER STUFF |
|---|
| 634 |
*****************************************************************/ |
|---|
| 635 |
|
|---|
| 636 |
enum AutoRepeatMode:int |
|---|
| 637 |
{ |
|---|
| 638 |
AutoRepeatModeOff =0, |
|---|
| 639 |
AutoRepeatModeOn =1, |
|---|
| 640 |
AutoRepeatModeDefault =2 |
|---|
| 641 |
}; |
|---|
| 642 |
|
|---|
| 643 |
enum LedMode:int |
|---|
| 644 |
{ |
|---|
| 645 |
LedModeOff =0, |
|---|
| 646 |
LedModeOn =1 |
|---|
| 647 |
}; |
|---|
| 648 |
/* masks for ChangeKeyboardControl */ |
|---|
| 649 |
|
|---|
| 650 |
enum KBMask:ulong |
|---|
| 651 |
{ |
|---|
| 652 |
KBKeyClickPercent =1<<0, |
|---|
| 653 |
KBBellPercent =1<<1, |
|---|
| 654 |
KBBellPitch =1<<2, |
|---|
| 655 |
KBBellDuration =1<<3, |
|---|
| 656 |
KBLed =1<<4, |
|---|
| 657 |
KBLedMode =1<<5, |
|---|
| 658 |
KBKey =1<<6, |
|---|
| 659 |
KBAutoRepeatMode =1<<7 |
|---|
| 660 |
}; |
|---|
| 661 |
|
|---|
| 662 |
enum MappingErrorCode:int |
|---|
| 663 |
{ |
|---|
| 664 |
MappingSuccess =0, |
|---|
| 665 |
MappingBusy =1, |
|---|
| 666 |
MappingFailed =2 |
|---|
| 667 |
}; |
|---|
| 668 |
|
|---|
| 669 |
enum MappingType:int |
|---|
| 670 |
{ |
|---|
| 671 |
MappingModifier =0, |
|---|
| 672 |
MappingKeyboard =1, |
|---|
| 673 |
MappingPointer =2 |
|---|
| 674 |
}; |
|---|
| 675 |
|
|---|
| 676 |
/***************************************************************** |
|---|
| 677 |
* SCREEN SAVER STUFF |
|---|
| 678 |
*****************************************************************/ |
|---|
| 679 |
|
|---|
| 680 |
enum ScreenSaverBlancking:int |
|---|
| 681 |
{ |
|---|
| 682 |
DontPreferBlanking =0, |
|---|
| 683 |
PreferBlanking =1, |
|---|
| 684 |
DefaultBlanking =2 |
|---|
| 685 |
}; |
|---|
| 686 |
|
|---|
| 687 |
enum ScreenSaverDisable:int |
|---|
| 688 |
{ |
|---|
| 689 |
DisableScreenSaver =0, |
|---|
| 690 |
DisableScreenInterval =0 |
|---|
| 691 |
}; |
|---|
| 692 |
|
|---|
| 693 |
enum ScreenSaverExposure:int |
|---|
| 694 |
{ |
|---|
| 695 |
DontAllowExposures =0, |
|---|
| 696 |
AllowExposures =1, |
|---|
| 697 |
DefaultExposures =2 |
|---|
| 698 |
}; |
|---|
| 699 |
|
|---|
| 700 |
/* for ForceScreenSaver */ |
|---|
| 701 |
|
|---|
| 702 |
enum ScreenSaverMode:int |
|---|
| 703 |
{ |
|---|
| 704 |
ScreenSaverReset =0, |
|---|
| 705 |
ScreenSaverActive =1 |
|---|
| 706 |
}; |
|---|
| 707 |
|
|---|
| 708 |
/***************************************************************** |
|---|
| 709 |
* HOSTS AND CONNECTIONS |
|---|
| 710 |
*****************************************************************/ |
|---|
| 711 |
|
|---|
| 712 |
/* for ChangeHosts */ |
|---|
| 713 |
|
|---|
| 714 |
enum HostChange:int |
|---|
| 715 |
{ |
|---|
| 716 |
HostInsert =0, |
|---|
| 717 |
HostDelete =1 |
|---|
| 718 |
}; |
|---|
| 719 |
|
|---|
| 720 |
/* for ChangeAccessControl */ |
|---|
| 721 |
|
|---|
| 722 |
enum HostAccess:int |
|---|
| 723 |
{ |
|---|
| 724 |
EnableAccess =1, |
|---|
| 725 |
DisableAccess =0 |
|---|
| 726 |
}; |
|---|
| 727 |
|
|---|
| 728 |
/* Display classes used in opening the connection |
|---|
| 729 |
* Note that the statically allocated ones are even numbered and the |
|---|
| 730 |
* dynamically changeable ones are odd numbered */ |
|---|
| 731 |
|
|---|
| 732 |
enum DisplayClass:int |
|---|
| 733 |
{ |
|---|
| 734 |
StaticGray =0, |
|---|
| 735 |
GrayScale =1, |
|---|
| 736 |
StaticColor =2, |
|---|
| 737 |
PseudoColor =3, |
|---|
| 738 |
TrueColor =4, |
|---|
| 739 |
DirectColor =5 |
|---|
| 740 |
}; |
|---|
| 741 |
|
|---|
| 742 |
/* Byte order used in imageByteOrder and bitmapBitOrder */ |
|---|
| 743 |
|
|---|
| 744 |
enum ByteOrder:int |
|---|
| 745 |
{ |
|---|
| 746 |
LSBFirst =0, |
|---|
| 747 |
MSBFirst =1 |
|---|
| 748 |
}; |
|---|