casa
$Rev:20696$
|
00001 //# DisplayEnums.h: enumerated constants for the Display Library 00002 //# Copyright (C) 1994,1995,1996,1997,1998,1999,2000,2001,2002 00003 //# Associated Universities, Inc. Washington DC, USA. 00004 //# 00005 //# This library is free software; you can redistribute it and/or modify it 00006 //# under the terms of the GNU Library General Public License as published by 00007 //# the Free Software Foundation; either version 2 of the License, or (at your 00008 //# option) any later version. 00009 //# 00010 //# This library is distributed in the hope that it will be useful, but WITHOUT 00011 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00012 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public 00013 //# License for more details. 00014 //# 00015 //# You should have received a copy of the GNU Library General Public License 00016 //# along with this library; if not, write to the Free Software Foundation, 00017 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA. 00018 //# 00019 //# Correspondence concerning AIPS++ should be addressed as follows: 00020 //# Internet email: aips2-request@nrao.edu. 00021 //# Postal address: AIPS++ Project Office 00022 //# National Radio Astronomy Observatory 00023 //# 520 Edgemont Road 00024 //# Charlottesville, VA 22903-2475 USA 00025 //# 00026 //# $Id$ 00027 00028 #ifndef TRIALDISPLAY_DISPLAYENUMS_H 00029 #define TRIALDISPLAY_DISPLAYENUMS_H 00030 00031 #include <casa/aips.h> 00032 00033 //# Forward declarations 00034 #include <casa/iosfwd.h> 00035 00036 namespace casa { //# NAMESPACE CASA - BEGIN 00037 00038 // <summary> 00039 // Enumerate constants for the display classes. 00040 // </summary> 00041 // 00042 // <use visibility=export> 00043 // 00044 // <reviewed> 00045 // </reviewed> 00046 // 00047 // <prerequisite> 00048 // <li> none 00049 // </prerequisite> 00050 // 00051 // <etymology> 00052 // DisplayEnums : Display library enumerators 00053 // </etymology> 00054 // 00055 // <synopsis> 00056 // Standard keysym constants chosen to match the X system. Event handling done 00057 // in other systems must provide the same constants when returning 00058 // keysyms. 00059 // 00060 // Definitions for all characters in ISO LATIN 1-4, and GREEK keysyms 00061 // are included. 00062 // 00063 // </synopsis> 00064 // 00065 // <motivation> 00066 // High standardization and flexible support of national and 00067 // international keyboard buttons. 00068 // </motivation> 00069 // 00070 00071 class Display 00072 { 00073 public: 00074 // Different ways of handling color on the display 00075 enum ColorModel { 00076 // ColorIndex mode 00077 Index, 00078 // RGB mode 00079 RGB, 00080 // HSV mode 00081 HSV 00082 }; 00083 00084 // Color components 00085 enum ColorComponent { 00086 Red, 00087 Green, 00088 Blue, 00089 Hue, 00090 Saturation, 00091 Value 00092 }; 00093 00094 // Strategy to use to allocate system color resources 00095 enum Strategy { 00096 // Want the most colors regardless of consequences 00097 Best, 00098 // Want the default allocation 00099 Default, 00100 // Happy with a range between some min and max 00101 MinMax, 00102 // Want some percentage of the available allocation 00103 Percent, 00104 // Want it my way or not at all 00105 Custom 00106 }; 00107 00108 // Special map is used as a placeholder to indicate that ... 00109 enum SpecialMap { 00110 // the user wants to use the system (default) Colormap 00111 System, 00112 // the user wants to use a new colormap 00113 New, 00114 // the user wants to share an existing (possibly system!) Colormap 00115 // (this is used internally at present) 00116 Shared 00117 }; 00118 00119 // Style of line to use 00120 enum LineStyle { 00121 // solid, no breaks 00122 LSSolid, 00123 // dashed line with transparent breaks 00124 LSDashed, 00125 // dashed line with background-color breaks 00126 LSDoubleDashed 00127 }; 00128 00129 // Controls the appearance of thick lines near their endpoints. 00130 // See Xlib programming guide, page 126 for complete info 00131 enum CapStyle { 00132 // don't draw pixels aligned with an endpoint 00133 CSNotLast, 00134 // draw pixels up to the endpoint 00135 CSButt, 00136 // round the edges using pixels past the endpoint 00137 CSRound, 00138 // continue linewidth/2 pixels past the endpoint 00139 CSProjecting 00140 }; 00141 00142 // Controls the appearance of two joined lines 00143 enum JoinStyle { 00144 // corner ends in a point 00145 JSMiter, 00146 // corner is rounded off 00147 JSRound, 00148 // corner is flat surface whose normal bisects the joint angle. 00149 JSBevel 00150 }; 00151 00152 // Controls fill style 00153 enum FillStyle { 00154 // solid fill 00155 FSSolid, 00156 // tiled fill 00157 FSTiled, 00158 // stippled fill 00159 FSStippled, 00160 // opaque stippled 00161 FSOpaqueStippled 00162 }; 00163 00164 // Fill Rule 00165 // Xlib programming guide, pg.132 00166 enum FillRule { 00167 // interior point filled if odd number of lines crossed to exit polygon 00168 FREvenOdd, 00169 // overlapping areas always filled 00170 FRWinding 00171 }; 00172 00173 // Arc Mode 00174 enum ArcMode { 00175 // Chord 00176 AMChord, 00177 // slice 00178 AMPieSlice 00179 }; 00180 00181 // Text Alignment 00182 enum TextAlign { 00183 // reference point aligned to center of text 00184 AlignCenter, 00185 // reference point aligned to center of left edge of text 00186 AlignLeft, 00187 // reference point aligned to center ot top edge of text 00188 AlignTop, 00189 // reference point aligned to center of right edge of text 00190 AlignRight, 00191 // reference point aligned to center of bottom edge of text 00192 AlignBottom, 00193 // reference point aligned to top left corner of text 00194 AlignTopLeft, 00195 // reference point aligned to top right corner of text 00196 AlignTopRight, 00197 // reference point aligned to bottom left corner of text 00198 AlignBottomLeft, 00199 // reference point aligned to bottom right corner of text 00200 AlignBottomRight 00201 }; 00202 00203 // PixelCanvas Drawing Modes 00204 enum DrawMode { 00205 // Immediate draw mode 00206 Draw, 00207 // Build display list mode 00208 Compile 00209 }; 00210 00211 // PixelCanvas target drawing destination 00212 enum DrawBuffer { 00213 // Nowhere 00214 NoBuffer, 00215 // Use default behaviour for the particular implementation of the PixelCanvas 00216 DefaultBuffer, 00217 // Draw only to front buffer 00218 FrontBuffer, 00219 // Draw only to back buffer 00220 BackBuffer, 00221 // Draw to both 00222 FrontAndBackBuffer 00223 }; 00224 00225 // PixelCanvas Drawing Logical Functions. The functions implement 00226 // various combinations of dst = F(src, dest), where src is the current 00227 // color and dest is the existing color in the framebuffer. 00228 enum DrawFunction { 00229 // Normal operation, overwrite with src 00230 DFCopy, 00231 // Invert operation 00232 DFCopyInverted, 00233 // Clear, ignore current color, use background color 00234 DFClear, 00235 // Make all bits 1 00236 DFSet, 00237 // Invert the dest (twice to restore original dest) 00238 DFInvert, 00239 // do-nothing draw 00240 DFNoop, 00241 00242 // Exclusive or, used for draw/erase operation over a variable 00243 // background 00244 DFXor, 00245 // (!src) XOR dest 00246 DFEquiv, 00247 00248 // src AND dest 00249 DFAnd, 00250 // !(src AND dest) 00251 DFNand, 00252 // src AND !dest 00253 DFAndReverse, 00254 // !src AND dest 00255 DFAndInverted, 00256 00257 // src OR dest 00258 DFOr, 00259 // !(src OR dest) 00260 DFNor, 00261 // src OR !dest 00262 DFOrReverse, 00263 // !src OR dest 00264 DFOrInverted 00265 }; 00266 00267 // Callback reasons for PCRefreshEvent and WCRefreshEvent 00268 enum RefreshReason { 00269 // User told PixelCanvas to refresh via PixelCanvas refresh() 00270 UserCommand, 00271 // Colortable allocation changed (from PixelCanvasColorTable) 00272 ColorTableChange, 00273 // Colormap allocation changed - less severe than ColorTableChange, 00274 // this will mean an internal change to a single Display Library 00275 // Colormap that doesn't affect other Colormaps in the same 00276 // ColorTable 00277 ColormapChange, 00278 // Change in shape of PixelCanvas 00279 PixelCoordinateChange, 00280 // Change in linear coordinate system 00281 LinearCoordinateChange, 00282 // Change in world coordinate system 00283 WorldCoordinateChange, 00284 // Back buffer was copied to front buffer on the PixelCanvas 00285 BackCopiedToFront, 00286 // Clear required prior to a change in color table or distribution... 00287 ClearPriorToColorChange 00288 }; 00289 00290 // PixelCanvas Options 00291 enum Option { 00292 // Is a clipwindow enabled? 00293 ClipWindow 00294 }; 00295 00296 // How to cache images when displaying them on client-server graphics 00297 // systems 00298 enum ImageCacheStrategy { 00299 // Always use client-side caching (XImages for X Server) 00300 ClientAlways, 00301 // Always use server-side caching (Pixmaps for X Server) 00302 ServerAlways, 00303 // Use server-side pixmaps, recording the size of each 00304 // pixmap created for image caching. When the memory used 00305 // exceeds some threshold, change to use client-side 00306 // XImages to avoid swamping the X server 00307 ServerMemoryThreshold 00308 }; 00309 00310 // List of markers for use as annotations. These can also be drawn 00311 // as primitives on a pixelcanvas. 00312 const static Int nMarkers = 15; 00313 enum Marker { 00314 00315 // Basic, Unfilled shapes; 00316 Cross = 0, 00317 X, 00318 Diamond, 00319 Circle, 00320 Square, 00321 Triangle, 00322 InvertedTriangle, 00323 //Pentagon, 00324 //Hexagon, 00325 00326 // Basic, filled shapes 00327 FilledCircle, 00328 FilledSquare, 00329 FilledDiamond, 00330 FilledTriangle, 00331 FilledInvertedTriangle, 00332 //FilledPentagon, 00333 //FilledHexagon, 00334 00335 // Combination markers 00336 CircleAndCross, 00337 CircleAndX, 00338 CircleAndDot 00339 }; 00340 00341 // WorldCanvas - what to do with complex data if it is 00342 // presented to WorldCanvas::drawImage() 00343 enum ComplexToRealMethod { 00344 // Extract magnitude 00345 Magnitude, 00346 // Extract phase 00347 Phase, 00348 // Extract real part 00349 Real, 00350 // Extract imaginary part 00351 Imaginary 00352 }; 00353 00354 // WorldCanvasHolder - what type of DisplayData is this, 00355 // need to know for drawing order 00356 enum DisplayDataType { 00357 // Rastered data - should go first 00358 Raster, 00359 // Vector data - can go next 00360 Vector, 00361 // Annotation 00362 Annotation, 00363 // Canvas annotation - can draw outside draw area 00364 CanvasAnnotation 00365 }; 00366 00367 // All events - modifier codes. 00368 // key is down if modifier & code is nonzero 00369 enum KeyModifier { 00370 // Shift key bit 00371 KM_Shift = 0x0001, 00372 // Caps lock bit 00373 KM_CapsLock = 0x0002, 00374 // Control key bit 00375 KM_Ctrl = 0x0004, 00376 // Alt key bit 00377 KM_Alt = 0x0008, 00378 // Numlock (1 = engaged) 00379 KM_NumLock = 0x0010, 00380 // ScrollLock bit (1 = engaged) 00381 KM_ScrollLock = 0x0020, 00382 // 00383 KM_Mod1 = 0x0008, 00384 // 00385 KM_Mod2 = 0x0010, 00386 // 00387 KM_Mod3 = 0x0020, 00388 // 00389 KM_Mod4 = 0x0040, 00390 // 00391 KM_Mod5 = 0x0080, 00392 // Mouse button 1 bit 00393 KM_Pointer_Button_1 = 0x0100, 00394 // Mouse button 2 bit 00395 KM_Pointer_Button_2 = 0x0200, 00396 // Mouse button 3 bit 00397 KM_Pointer_Button_3 = 0x0400, 00398 // Mouse button 4 bit 00399 KM_Pointer_Button_4 = 0x0800, 00400 // Mouse button 5 bit 00401 KM_Pointer_Button_5 = 0x1000, 00402 // Double click bit 00403 KM_Double_Click = 0x2000 00404 }; 00405 00406 // 00407 // Keysyms for PixelCanvas keyboard events. These 00408 // can be printed using the stream functions listed 00409 // below. 00410 // These are mostly self explanatory. 00411 // 00412 00413 enum KeySym { 00414 // 00415 K_None = 0x0000, 00416 // 00417 K_BackSpace = 0xFF08, 00418 // 00419 K_Tab = 0xFF09, 00420 // 00421 K_Linefeed = 0xFF0A, 00422 // 00423 K_Clear = 0xFF0B, 00424 // 00425 K_Return = 0xFF0D, 00426 // 00427 K_Pause = 0xFF13, 00428 // 00429 K_Scroll_Lock = 0xFF14, 00430 // 00431 K_Sys_Req = 0xFF15, 00432 // 00433 K_Escape = 0xFF1B, 00434 // 00435 K_Delete = 0xFFFF, 00436 00437 // 00438 K_Multi_key = 0xFF20, 00439 00440 // 00441 K_Home = 0xFF50, 00442 // 00443 K_Left = 0xFF51, 00444 // 00445 K_Up = 0xFF52, 00446 // 00447 K_Right = 0xFF53, 00448 // 00449 K_Down = 0xFF54, 00450 // 00451 K_Prior = 0xFF55, 00452 // 00453 K_Page_Up = 0xFF55, 00454 // 00455 K_Next = 0xFF56, 00456 // 00457 K_Page_Down = 0xFF56, 00458 // 00459 K_End = 0xFF57, 00460 // 00461 K_Begin = 0xFF58, 00462 00463 // 00464 K_Select = 0xFF60, 00465 // 00466 K_Print = 0xFF61, 00467 // 00468 K_Execute = 0xFF62, 00469 // 00470 K_Insert = 0xFF63, 00471 // 00472 K_Undo = 0xFF65, 00473 // 00474 K_Redo = 0xFF66, 00475 // 00476 K_Menu = 0xFF67, 00477 // 00478 K_Find = 0xFF68, 00479 // 00480 K_Cancel = 0xFF69, 00481 // 00482 K_Help = 0xFF6A, 00483 // 00484 K_Break = 0xFF6B, 00485 // 00486 K_Mode_switch = 0xFF7E, 00487 // 00488 K_script_switch = 0xFF7E, 00489 // 00490 K_Num_Lock = 0xFF7F, 00491 // 00492 K_KP_Space = 0xFF80, 00493 // 00494 K_KP_Tab = 0xFF89, 00495 // 00496 K_KP_Enter = 0xFF8D, 00497 // 00498 K_KP_F1 = 0xFF91, 00499 // 00500 K_KP_F2 = 0xFF92, 00501 // 00502 K_KP_F3 = 0xFF93, 00503 // 00504 K_KP_F4 = 0xFF94, 00505 // 00506 K_KP_Home = 0xFF95, 00507 // 00508 K_KP_Left = 0xFF96, 00509 // 00510 K_KP_Up = 0xFF97, 00511 // 00512 K_KP_Right = 0xFF98, 00513 // 00514 K_KP_Down = 0xFF99, 00515 // 00516 K_KP_Prior = 0xFF9A, 00517 // 00518 K_KP_Page_Up = 0xFF9A, 00519 // 00520 K_KP_Next = 0xFF9B, 00521 // 00522 K_KP_Page_Down = 0xFF9B, 00523 // 00524 K_KP_End = 0xFF9C, 00525 // 00526 K_KP_Begin = 0xFF9D, 00527 // 00528 K_KP_Insert = 0xFF9E, 00529 // 00530 K_KP_Delete = 0xFF9F, 00531 // 00532 K_KP_Equal = 0xFFBD, 00533 // 00534 K_KP_Multiply = 0xFFAA, 00535 // 00536 K_KP_Add = 0xFFAB, 00537 // 00538 K_KP_Separator = 0xFFAC, 00539 // 00540 K_KP_Subtract = 0xFFAD, 00541 // 00542 K_KP_Decimal = 0xFFAE, 00543 // 00544 K_KP_Divide = 0xFFAF, 00545 // 00546 K_KP_0 = 0xFFB0, 00547 // 00548 K_KP_1 = 0xFFB1, 00549 // 00550 K_KP_2 = 0xFFB2, 00551 // 00552 K_KP_3 = 0xFFB3, 00553 // 00554 K_KP_4 = 0xFFB4, 00555 // 00556 K_KP_5 = 0xFFB5, 00557 // 00558 K_KP_6 = 0xFFB6, 00559 // 00560 K_KP_7 = 0xFFB7, 00561 // 00562 K_KP_8 = 0xFFB8, 00563 // 00564 K_KP_9 = 0xFFB9, 00565 00566 // 00567 K_F1 = 0xFFBE, 00568 // 00569 K_F2 = 0xFFBF, 00570 // 00571 K_F3 = 0xFFC0, 00572 // 00573 K_F4 = 0xFFC1, 00574 // 00575 K_F5 = 0xFFC2, 00576 // 00577 K_F6 = 0xFFC3, 00578 // 00579 K_F7 = 0xFFC4, 00580 // 00581 K_F8 = 0xFFC5, 00582 // 00583 K_F9 = 0xFFC6, 00584 // 00585 K_F10 = 0xFFC7, 00586 // 00587 K_F11 = 0xFFC8, 00588 // 00589 K_L1 = 0xFFC8, 00590 // 00591 K_F12 = 0xFFC9, 00592 // 00593 K_L2 = 0xFFC9, 00594 // 00595 K_F13 = 0xFFCA, 00596 // 00597 K_L3 = 0xFFCA, 00598 // 00599 K_F14 = 0xFFCB, 00600 // 00601 K_L4 = 0xFFCB, 00602 // 00603 K_F15 = 0xFFCC, 00604 // 00605 K_L5 = 0xFFCC, 00606 // 00607 K_F16 = 0xFFCD, 00608 // 00609 K_L6 = 0xFFCD, 00610 // 00611 K_F17 = 0xFFCE, 00612 // 00613 K_L7 = 0xFFCE, 00614 // 00615 K_F18 = 0xFFCF, 00616 // 00617 K_L8 = 0xFFCF, 00618 // 00619 K_F19 = 0xFFD0, 00620 // 00621 K_L9 = 0xFFD0, 00622 // 00623 K_F20 = 0xFFD1, 00624 // 00625 K_L10 = 0xFFD1, 00626 // 00627 K_F21 = 0xFFD2, 00628 // 00629 K_R1 = 0xFFD2, 00630 // 00631 K_F22 = 0xFFD3, 00632 // 00633 K_R2 = 0xFFD3, 00634 // 00635 K_F23 = 0xFFD4, 00636 // 00637 K_R3 = 0xFFD4, 00638 // 00639 K_F24 = 0xFFD5, 00640 // 00641 K_R4 = 0xFFD5, 00642 // 00643 K_F25 = 0xFFD6, 00644 // 00645 K_R5 = 0xFFD6, 00646 // 00647 K_F26 = 0xFFD7, 00648 // 00649 K_R6 = 0xFFD7, 00650 // 00651 K_F27 = 0xFFD8, 00652 // 00653 K_R7 = 0xFFD8, 00654 // 00655 K_F28 = 0xFFD9, 00656 // 00657 K_R8 = 0xFFD9, 00658 // 00659 K_F29 = 0xFFDA, 00660 // 00661 K_R9 = 0xFFDA, 00662 // 00663 K_F30 = 0xFFDB, 00664 // 00665 K_R10 = 0xFFDB, 00666 // 00667 K_F31 = 0xFFDC, 00668 // 00669 K_R11 = 0xFFDC, 00670 // 00671 K_F32 = 0xFFDD, 00672 // 00673 K_R12 = 0xFFDD, 00674 // 00675 K_F33 = 0xFFDE, 00676 // 00677 K_R13 = 0xFFDE, 00678 // 00679 K_F34 = 0xFFDF, 00680 // 00681 K_R14 = 0xFFDF, 00682 // 00683 K_F35 = 0xFFE0, 00684 // 00685 K_R15 = 0xFFE0, 00686 00687 // 00688 K_Shift_L = 0xFFE1, 00689 // 00690 K_Shift_R = 0xFFE2, 00691 // 00692 K_Control_L = 0xFFE3, 00693 // 00694 K_Control_R = 0xFFE4, 00695 // 00696 K_Caps_Lock = 0xFFE5, 00697 // 00698 K_Shift_Lock = 0xFFE6, 00699 00700 // 00701 K_Meta_L = 0xFFE7, 00702 // 00703 K_Meta_R = 0xFFE8, 00704 // 00705 K_Alt_L = 0xFFE9, 00706 // 00707 K_Alt_R = 0xFFEA, 00708 // 00709 K_Super_L = 0xFFEB, 00710 // 00711 K_Super_R = 0xFFEC, 00712 // 00713 K_Hyper_L = 0xFFED, 00714 // 00715 K_Hyper_R = 0xFFEE, 00716 // 00717 00718 K_Pointer_Button1 = 0xFEE9, 00719 // 00720 K_Pointer_Button2 = 0xFEEA, 00721 // 00722 K_Pointer_Button3 = 0xFEEB, 00723 // 00724 K_Pointer_Button4 = 0xFEEC, 00725 // 00726 K_Pointer_Button5 = 0xFEED, 00727 // 00728 00729 K_Pointer_DblClick_Dflt = 0xFEEE, 00730 // 00731 K_Pointer_DblClick1 = 0xFEEF, 00732 // 00733 K_Pointer_DblClick2 = 0xFEF0, 00734 // 00735 K_Pointer_DblClick3 = 0xFEF1, 00736 // 00737 K_Pointer_DblClick4 = 0xFEF2, 00738 // 00739 K_Pointer_DblClick5 = 0xFEF3, 00740 // 00741 K_Pointer_Drag_Dflt = 0xFEF4, 00742 // 00743 K_Pointer_Drag1 = 0xFEF5, 00744 // 00745 K_Pointer_Drag2 = 0xFEF6, 00746 // 00747 K_Pointer_Drag3 = 0xFEF7, 00748 // 00749 K_Pointer_Drag4 = 0xFEF8, 00750 // 00751 00752 // 00753 K_Pointer_EnableKeys = 0xFEF9, 00754 // 00755 K_Pointer_Accelerate = 0xFEFA, 00756 // 00757 K_Pointer_DfltBtnNext = 0xFEFB, 00758 // 00759 K_Pointer_DfltBtnPrev = 0xFEFC, 00760 00761 // Latin 1 Byte 3 = 0 00762 K_space = 0x0020, 00763 // 00764 K_exclam = 0x0021, 00765 // 00766 K_quotedbl = 0x0022, 00767 // 00768 K_numbersign = 0x0023, 00769 // 00770 K_dollar = 0x0024, 00771 // 00772 K_percent = 0x0025, 00773 // 00774 K_ampersand = 0x0026, 00775 // 00776 K_apostrophe = 0x0027, 00777 // 00778 K_parenleft = 0x0028, 00779 // 00780 K_parenright = 0x0029, 00781 // 00782 K_asterisk = 0x002a, 00783 // 00784 K_plus = 0x002b, 00785 // 00786 K_comma = 0x002c, 00787 // 00788 K_minus = 0x002d, 00789 // 00790 K_period = 0x002e, 00791 // 00792 K_slash = 0x002f, 00793 // 00794 K_0 = 0x0030, 00795 // 00796 K_1 = 0x0031, 00797 // 00798 K_2 = 0x0032, 00799 // 00800 K_3 = 0x0033, 00801 // 00802 K_4 = 0x0034, 00803 // 00804 K_5 = 0x0035, 00805 // 00806 K_6 = 0x0036, 00807 // 00808 K_7 = 0x0037, 00809 // 00810 K_8 = 0x0038, 00811 // 00812 K_9 = 0x0039, 00813 // 00814 K_colon = 0x003a, 00815 // 00816 K_semicolon = 0x003b, 00817 // 00818 K_less = 0x003c, 00819 // 00820 K_equal = 0x003d, 00821 // 00822 K_greater = 0x003e, 00823 // 00824 K_question = 0x003f, 00825 // 00826 K_at = 0x0040, 00827 // 00828 K_A = 0x0041, 00829 // 00830 K_B = 0x0042, 00831 // 00832 K_C = 0x0043, 00833 // 00834 K_D = 0x0044, 00835 // 00836 K_E = 0x0045, 00837 // 00838 K_F = 0x0046, 00839 // 00840 K_G = 0x0047, 00841 // 00842 K_H = 0x0048, 00843 // 00844 K_I = 0x0049, 00845 // 00846 K_J = 0x004a, 00847 // 00848 K_K = 0x004b, 00849 // 00850 K_L = 0x004c, 00851 // 00852 K_M = 0x004d, 00853 // 00854 K_N = 0x004e, 00855 // 00856 K_O = 0x004f, 00857 // 00858 K_P = 0x0050, 00859 // 00860 K_Q = 0x0051, 00861 // 00862 K_R = 0x0052, 00863 // 00864 K_S = 0x0053, 00865 // 00866 K_T = 0x0054, 00867 // 00868 K_U = 0x0055, 00869 // 00870 K_V = 0x0056, 00871 // 00872 K_W = 0x0057, 00873 // 00874 K_X = 0x0058, 00875 // 00876 K_Y = 0x0059, 00877 // 00878 K_Z = 0x005a, 00879 // 00880 K_bracketleft = 0x005b, 00881 // 00882 K_backslash = 0x005c, 00883 // 00884 K_bracketright = 0x005d, 00885 // 00886 K_asciicircum = 0x005e, 00887 // 00888 K_underscore = 0x005f, 00889 // 00890 K_grave = 0x0060, 00891 // 00892 K_quoteleft = 0x0060, 00893 // 00894 K_a = 0x0061, 00895 // 00896 K_b = 0x0062, 00897 // 00898 K_c = 0x0063, 00899 // 00900 K_d = 0x0064, 00901 // 00902 K_e = 0x0065, 00903 // 00904 K_f = 0x0066, 00905 // 00906 K_g = 0x0067, 00907 // 00908 K_h = 0x0068, 00909 // 00910 K_i = 0x0069, 00911 // 00912 K_j = 0x006a, 00913 // 00914 K_k = 0x006b, 00915 // 00916 K_l = 0x006c, 00917 // 00918 K_m = 0x006d, 00919 // 00920 K_n = 0x006e, 00921 // 00922 K_o = 0x006f, 00923 // 00924 K_p = 0x0070, 00925 // 00926 K_q = 0x0071, 00927 // 00928 K_r = 0x0072, 00929 // 00930 K_s = 0x0073, 00931 // 00932 K_t = 0x0074, 00933 // 00934 K_u = 0x0075, 00935 // 00936 K_v = 0x0076, 00937 // 00938 K_w = 0x0077, 00939 // 00940 K_x = 0x0078, 00941 // 00942 K_y = 0x0079, 00943 // 00944 K_z = 0x007a, 00945 // 00946 K_braceleft = 0x007b, 00947 // 00948 K_bar = 0x007c, 00949 // 00950 K_braceright = 0x007d, 00951 // 00952 K_asciitilde = 0x007e, 00953 // 00954 00955 // 00956 K_nobreakspace = 0x00a0, 00957 // 00958 K_exclamdown = 0x00a1, 00959 // 00960 K_cent = 0x00a2, 00961 // 00962 K_sterling = 0x00a3, 00963 // 00964 K_currency = 0x00a4, 00965 // 00966 K_yen = 0x00a5, 00967 // 00968 K_brokenbar = 0x00a6, 00969 // 00970 K_section = 0x00a7, 00971 // 00972 K_diaeresis = 0x00a8, 00973 // 00974 K_copyright = 0x00a9, 00975 // 00976 K_ordfeminine = 0x00aa, 00977 // 00978 K_guillemotleft = 0x00ab, 00979 // 00980 K_notsign = 0x00ac, 00981 // 00982 K_hyphen = 0x00ad, 00983 // 00984 K_registered = 0x00ae, 00985 // 00986 K_macron = 0x00af, 00987 // 00988 K_degree = 0x00b0, 00989 // 00990 K_plusminus = 0x00b1, 00991 // 00992 K_twosuperior = 0x00b2, 00993 // 00994 K_threesuperior = 0x00b3, 00995 // 00996 K_acute = 0x00b4, 00997 // 00998 K_mu = 0x00b5, 00999 // 01000 K_paragraph = 0x00b6, 01001 // 01002 K_periodcentered = 0x00b7, 01003 // 01004 K_cedilla = 0x00b8, 01005 // 01006 K_onesuperior = 0x00b9, 01007 // 01008 K_masculine = 0x00ba, 01009 // 01010 K_guillemotright = 0x00bb, 01011 // 01012 K_onequarter = 0x00bc, 01013 // 01014 K_onehalf = 0x00bd, 01015 // 01016 K_threequarters = 0x00be, 01017 // 01018 K_questiondown = 0x00bf, 01019 // 01020 K_Agrave = 0x00c0, 01021 // 01022 K_Aacute = 0x00c1, 01023 // 01024 K_Acircumflex = 0x00c2, 01025 // 01026 K_Atilde = 0x00c3, 01027 // 01028 K_Adiaeresis = 0x00c4, 01029 // 01030 K_Aring = 0x00c5, 01031 // 01032 K_AE = 0x00c6, 01033 // 01034 K_Ccedilla = 0x00c7, 01035 // 01036 K_Egrave = 0x00c8, 01037 // 01038 K_Eacute = 0x00c9, 01039 // 01040 K_Ecircumflex = 0x00ca, 01041 // 01042 K_Ediaeresis = 0x00cb, 01043 // 01044 K_Igrave = 0x00cc, 01045 // 01046 K_Iacute = 0x00cd, 01047 // 01048 K_Icircumflex = 0x00ce, 01049 // 01050 K_Idiaeresis = 0x00cf, 01051 // 01052 K_ETH = 0x00d0, 01053 // 01054 K_Ntilde = 0x00d1, 01055 // 01056 K_Ograve = 0x00d2, 01057 // 01058 K_Oacute = 0x00d3, 01059 // 01060 K_Ocircumflex = 0x00d4, 01061 // 01062 K_Otilde = 0x00d5, 01063 // 01064 K_Odiaeresis = 0x00d6, 01065 // 01066 K_multiply = 0x00d7, 01067 // 01068 K_Ooblique = 0x00d8, 01069 // 01070 K_Ugrave = 0x00d9, 01071 // 01072 K_Uacute = 0x00da, 01073 // 01074 K_Ucircumflex = 0x00db, 01075 // 01076 K_Udiaeresis = 0x00dc, 01077 // 01078 K_Yacute = 0x00dd, 01079 // 01080 K_THORN = 0x00de, 01081 // 01082 K_ssharp = 0x00df, 01083 // 01084 K_agrave = 0x00e0, 01085 // 01086 K_aacute = 0x00e1, 01087 // 01088 K_acircumflex = 0x00e2, 01089 // 01090 K_atilde = 0x00e3, 01091 // 01092 K_adiaeresis = 0x00e4, 01093 // 01094 K_aring = 0x00e5, 01095 // 01096 K_ae = 0x00e6, 01097 // 01098 K_ccedilla = 0x00e7, 01099 // 01100 K_egrave = 0x00e8, 01101 // 01102 K_eacute = 0x00e9, 01103 // 01104 K_ecircumflex = 0x00ea, 01105 // 01106 K_ediaeresis = 0x00eb, 01107 // 01108 K_igrave = 0x00ec, 01109 // 01110 K_iacute = 0x00ed, 01111 // 01112 K_icircumflex = 0x00ee, 01113 // 01114 K_idiaeresis = 0x00ef, 01115 // 01116 K_eth = 0x00f0, 01117 // 01118 K_ntilde = 0x00f1, 01119 // 01120 K_ograve = 0x00f2, 01121 // 01122 K_oacute = 0x00f3, 01123 // 01124 K_ocircumflex = 0x00f4, 01125 // 01126 K_otilde = 0x00f5, 01127 // 01128 K_odiaeresis = 0x00f6, 01129 // 01130 K_division = 0x00f7, 01131 // 01132 K_oslash = 0x00f8, 01133 // 01134 K_ugrave = 0x00f9, 01135 // 01136 K_uacute = 0x00fa, 01137 // 01138 K_ucircumflex = 0x00fb, 01139 // 01140 K_udiaeresis = 0x00fc, 01141 // 01142 K_yacute = 0x00fd, 01143 // 01144 K_thorn = 0x00fe, 01145 // 01146 K_ydiaeresis = 0x00ff, 01147 // 01148 01149 // Latin 2 01150 // Byte 3 = 1 01151 01152 K_Aogonek = 0x01a1, 01153 // 01154 K_breve = 0x01a2, 01155 // 01156 K_Lstroke = 0x01a3, 01157 // 01158 K_Lcaron = 0x01a5, 01159 // 01160 K_Sacute = 0x01a6, 01161 // 01162 K_Scaron = 0x01a9, 01163 // 01164 K_Scedilla = 0x01aa, 01165 // 01166 K_Tcaron = 0x01ab, 01167 // 01168 K_Zacute = 0x01ac, 01169 // 01170 K_Zcaron = 0x01ae, 01171 // 01172 K_Zabovedot = 0x01af, 01173 // 01174 K_aogonek = 0x01b1, 01175 // 01176 K_ogonek = 0x01b2, 01177 // 01178 K_lstroke = 0x01b3, 01179 // 01180 K_lcaron = 0x01b5, 01181 // 01182 K_sacute = 0x01b6, 01183 // 01184 K_caron = 0x01b7, 01185 // 01186 K_scaron = 0x01b9, 01187 // 01188 K_scedilla = 0x01ba, 01189 // 01190 K_tcaron = 0x01bb, 01191 // 01192 K_zacute = 0x01bc, 01193 // 01194 K_doubleacute = 0x01bd, 01195 // 01196 K_zcaron = 0x01be, 01197 // 01198 K_zabovedot = 0x01bf, 01199 // 01200 K_Racute = 0x01c0, 01201 // 01202 K_Abreve = 0x01c3, 01203 // 01204 K_Lacute = 0x01c5, 01205 // 01206 K_Cacute = 0x01c6, 01207 // 01208 K_Ccaron = 0x01c8, 01209 // 01210 K_Eogonek = 0x01ca, 01211 // 01212 K_Ecaron = 0x01cc, 01213 // 01214 K_Dcaron = 0x01cf, 01215 // 01216 K_Dstroke = 0x01d0, 01217 // 01218 K_Nacute = 0x01d1, 01219 // 01220 K_Ncaron = 0x01d2, 01221 // 01222 K_Odoubleacute = 0x01d5, 01223 // 01224 K_Rcaron = 0x01d8, 01225 // 01226 K_Uring = 0x01d9, 01227 // 01228 K_Udoubleacute = 0x01db, 01229 // 01230 K_Tcedilla = 0x01de, 01231 // 01232 K_racute = 0x01e0, 01233 // 01234 K_abreve = 0x01e3, 01235 // 01236 K_lacute = 0x01e5, 01237 // 01238 K_cacute = 0x01e6, 01239 // 01240 K_ccaron = 0x01e8, 01241 // 01242 K_eogonek = 0x01ea, 01243 // 01244 K_ecaron = 0x01ec, 01245 // 01246 K_dcaron = 0x01ef, 01247 // 01248 K_dstroke = 0x01f0, 01249 // 01250 K_nacute = 0x01f1, 01251 // 01252 K_ncaron = 0x01f2, 01253 // 01254 K_odoubleacute = 0x01f5, 01255 // 01256 K_udoubleacute = 0x01fb, 01257 // 01258 K_rcaron = 0x01f8, 01259 // 01260 K_uring = 0x01f9, 01261 // 01262 K_tcedilla = 0x01fe, 01263 // 01264 K_abovedot = 0x01ff, 01265 // 01266 01267 // Latin 3 Byte 3 = 2 01268 01269 K_Hstroke = 0x02a1, 01270 // 01271 K_Hcircumflex = 0x02a6, 01272 // 01273 K_Iabovedot = 0x02a9, 01274 // 01275 K_Gbreve = 0x02ab, 01276 // 01277 K_Jcircumflex = 0x02ac, 01278 // 01279 K_hstroke = 0x02b1, 01280 // 01281 K_hcircumflex = 0x02b6, 01282 // 01283 K_idotless = 0x02b9, 01284 // 01285 K_gbreve = 0x02bb, 01286 // 01287 K_jcircumflex = 0x02bc, 01288 // 01289 K_Cabovedot = 0x02c5, 01290 // 01291 K_Ccircumflex = 0x02c6, 01292 // 01293 K_Gabovedot = 0x02d5, 01294 // 01295 K_Gcircumflex = 0x02d8, 01296 // 01297 K_Ubreve = 0x02dd, 01298 // 01299 K_Scircumflex = 0x02de, 01300 // 01301 K_cabovedot = 0x02e5, 01302 // 01303 K_ccircumflex = 0x02e6, 01304 // 01305 K_gabovedot = 0x02f5, 01306 // 01307 K_gcircumflex = 0x02f8, 01308 // 01309 K_ubreve = 0x02fd, 01310 // 01311 K_scircumflex = 0x02fe, 01312 01313 // Latin 4 Byte 3 = 3 01314 01315 K_kra = 0x03a2, 01316 // 01317 K_Rcedilla = 0x03a3, 01318 // 01319 K_Itilde = 0x03a5, 01320 // 01321 K_Lcedilla = 0x03a6, 01322 // 01323 K_Emacron = 0x03aa, 01324 // 01325 K_Gcedilla = 0x03ab, 01326 // 01327 K_Tslash = 0x03ac, 01328 // 01329 K_rcedilla = 0x03b3, 01330 // 01331 K_itilde = 0x03b5, 01332 // 01333 K_lcedilla = 0x03b6, 01334 // 01335 K_emacron = 0x03ba, 01336 // 01337 K_gcedilla = 0x03bb, 01338 // 01339 K_tslash = 0x03bc, 01340 // 01341 K_ENG = 0x03bd, 01342 // 01343 K_eng = 0x03bf, 01344 // 01345 K_Amacron = 0x03c0, 01346 // 01347 K_Iogonek = 0x03c7, 01348 // 01349 K_Eabovedot = 0x03cc, 01350 // 01351 K_Imacron = 0x03cf, 01352 // 01353 K_Ncedilla = 0x03d1, 01354 // 01355 K_Omacron = 0x03d2, 01356 // 01357 K_Kcedilla = 0x03d3, 01358 // 01359 K_Uogonek = 0x03d9, 01360 // 01361 K_Utilde = 0x03dd, 01362 // 01363 K_Umacron = 0x03de, 01364 // 01365 K_amacron = 0x03e0, 01366 // 01367 K_iogonek = 0x03e7, 01368 // 01369 K_eabovedot = 0x03ec, 01370 // 01371 K_imacron = 0x03ef, 01372 // 01373 K_ncedilla = 0x03f1, 01374 // 01375 K_omacron = 0x03f2, 01376 // 01377 K_kcedilla = 0x03f3, 01378 // 01379 K_uogonek = 0x03f9, 01380 // 01381 K_utilde = 0x03fd, 01382 // 01383 K_umacron = 0x03fe, 01384 01385 // Greek Byte 3 = 7 01386 01387 K_Greek_ALPHAaccent = 0x07a1, 01388 // 01389 K_Greek_EPSILONaccent = 0x07a2, 01390 // 01391 K_Greek_ETAaccent = 0x07a3, 01392 // 01393 K_Greek_IOTAaccent = 0x07a4, 01394 // 01395 K_Greek_IOTAdiaeresis = 0x07a5, 01396 // 01397 K_Greek_OMICRONaccent = 0x07a7, 01398 // 01399 K_Greek_UPSILONaccent = 0x07a8, 01400 // 01401 K_Greek_UPSILONdieresis = 0x07a9, 01402 // 01403 K_Greek_OMEGAaccent = 0x07ab, 01404 // 01405 K_Greek_accentdieresis = 0x07ae, 01406 // 01407 K_Greek_horizbar = 0x07af, 01408 // 01409 K_Greek_alphaaccent = 0x07b1, 01410 // 01411 K_Greek_epsilonaccent = 0x07b2, 01412 // 01413 K_Greek_etaaccent = 0x07b3, 01414 // 01415 K_Greek_iotaaccent = 0x07b4, 01416 // 01417 K_Greek_iotadieresis = 0x07b5, 01418 // 01419 K_Greek_iotaaccentdieresis = 0x07b6, 01420 // 01421 K_Greek_omicronaccent = 0x07b7, 01422 // 01423 K_Greek_upsilonaccent = 0x07b8, 01424 // 01425 K_Greek_upsilondieresis = 0x07b9, 01426 // 01427 K_Greek_upsilonaccentdieresis = 0x07ba, 01428 // 01429 K_Greek_omegaaccent = 0x07bb, 01430 // 01431 K_Greek_ALPHA = 0x07c1, 01432 // 01433 K_Greek_BETA = 0x07c2, 01434 // 01435 K_Greek_GAMMA = 0x07c3, 01436 // 01437 K_Greek_DELTA = 0x07c4, 01438 // 01439 K_Greek_EPSILON = 0x07c5, 01440 // 01441 K_Greek_ZETA = 0x07c6, 01442 // 01443 K_Greek_ETA = 0x07c7, 01444 // 01445 K_Greek_THETA = 0x07c8, 01446 // 01447 K_Greek_IOTA = 0x07c9, 01448 // 01449 K_Greek_KAPPA = 0x07ca, 01450 // 01451 K_Greek_LAMDA = 0x07cb, 01452 // 01453 K_Greek_LAMBDA = 0x07cb, 01454 // 01455 K_Greek_MU = 0x07cc, 01456 // 01457 K_Greek_NU = 0x07cd, 01458 // 01459 K_Greek_XI = 0x07ce, 01460 // 01461 K_Greek_OMICRON = 0x07cf, 01462 // 01463 K_Greek_PI = 0x07d0, 01464 // 01465 K_Greek_RHO = 0x07d1, 01466 // 01467 K_Greek_SIGMA = 0x07d2, 01468 // 01469 K_Greek_TAU = 0x07d4, 01470 // 01471 K_Greek_UPSILON = 0x07d5, 01472 // 01473 K_Greek_PHI = 0x07d6, 01474 // 01475 K_Greek_CHI = 0x07d7, 01476 // 01477 K_Greek_PSI = 0x07d8, 01478 // 01479 K_Greek_OMEGA = 0x07d9, 01480 // 01481 K_Greek_alpha = 0x07e1, 01482 // 01483 K_Greek_beta = 0x07e2, 01484 // 01485 K_Greek_gamma = 0x07e3, 01486 // 01487 K_Greek_delta = 0x07e4, 01488 // 01489 K_Greek_epsilon = 0x07e5, 01490 // 01491 K_Greek_zeta = 0x07e6, 01492 // 01493 K_Greek_eta = 0x07e7, 01494 // 01495 K_Greek_theta = 0x07e8, 01496 // 01497 K_Greek_iota = 0x07e9, 01498 // 01499 K_Greek_kappa = 0x07ea, 01500 // 01501 K_Greek_lamda = 0x07eb, 01502 // 01503 K_Greek_lambda = 0x07eb, 01504 // 01505 K_Greek_mu = 0x07ec, 01506 // 01507 K_Greek_nu = 0x07ed, 01508 // 01509 K_Greek_xi = 0x07ee, 01510 // 01511 K_Greek_omicron = 0x07ef, 01512 // 01513 K_Greek_pi = 0x07f0, 01514 // 01515 K_Greek_rho = 0x07f1, 01516 // 01517 K_Greek_sigma = 0x07f2, 01518 // 01519 K_Greek_finalsmallsigma = 0x07f3, 01520 // 01521 K_Greek_tau = 0x07f4, 01522 // 01523 K_Greek_upsilon = 0x07f5, 01524 // 01525 K_Greek_phi = 0x07f6, 01526 // 01527 K_Greek_chi = 0x07f7, 01528 // 01529 K_Greek_psi = 0x07f8, 01530 // 01531 K_Greek_omega = 0x07f9, 01532 // Alias for mode_switch 01533 K_Greek_switch = 0xFF7E 01534 }; 01535 01536 // Determine Display::KeyModifier given Display::KeySym. 01537 static Display::KeyModifier keyModifierFromKeySym(const Display::KeySym 01538 &keysym); 01539 01540 }; 01541 01542 // remove this when all IL's are extracted ??? 01543 typedef Display IL; 01544 01545 // <summary> 01546 // Global functions (operators) to print display class enumerations. 01547 // </summary> 01548 01549 // Each enumeration can be printed to the console to assist 01550 // in debugging. Printed name is identical to source code 01551 // constant name. 01552 // <group name="DisplayEnums to string functions"> 01553 ostream & operator << (ostream & os, Display::ColorModel dmt); 01554 ostream & operator << (ostream & os, Display::Strategy dmt); 01555 ostream & operator << (ostream & os, Display::SpecialMap dmt); 01556 ostream & operator << (ostream & os, Display::LineStyle dmt); 01557 ostream & operator << (ostream & os, Display::CapStyle dmt); 01558 ostream & operator << (ostream & os, Display::JoinStyle dmt); 01559 ostream & operator << (ostream & os, Display::FillStyle dmt); 01560 ostream & operator << (ostream & os, Display::FillRule dmt); 01561 ostream & operator << (ostream & os, Display::ArcMode dmt); 01562 ostream & operator << (ostream & os, Display::TextAlign dmt); 01563 ostream & operator << (ostream & os, Display::DrawMode dmt); 01564 ostream & operator << (ostream & os, Display::DrawBuffer dmt); 01565 ostream & operator << (ostream & os, Display::DrawFunction dmt); 01566 ostream & operator << (ostream & os, Display::RefreshReason drr); 01567 ostream & operator << (ostream & os, Display::Option dopt); 01568 ostream & operator << (ostream & os, Display::ImageCacheStrategy ics); 01569 ostream & operator << (ostream & os, Display::ComplexToRealMethod ctrm); 01570 ostream & operator << (ostream & os, Display::DisplayDataType dtype); 01571 ostream & operator << (ostream & os, Display::KeyModifier dmt); 01572 ostream & operator << (ostream & os, Display::KeySym dmt); 01573 ostream & operator << (ostream & os, Display::Marker mrk); 01574 // </group> 01575 01576 01577 } //# NAMESPACE CASA - END 01578 01579 #endif 01580 01581 01582 01583 01584 01585 01586 01587