casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DisplayEnums.h
Go to the documentation of this file.
1 //# DisplayEnums.h: enumerated constants for the Display Library
2 //# Copyright (C) 1994,1995,1996,1997,1998,1999,2000,2001,2002
3 //# Associated Universities, Inc. Washington DC, USA.
4 //#
5 //# This library is free software; you can redistribute it and/or modify it
6 //# under the terms of the GNU Library General Public License as published by
7 //# the Free Software Foundation; either version 2 of the License, or (at your
8 //# option) any later version.
9 //#
10 //# This library is distributed in the hope that it will be useful, but WITHOUT
11 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13 //# License for more details.
14 //#
15 //# You should have received a copy of the GNU Library General Public License
16 //# along with this library; if not, write to the Free Software Foundation,
17 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
18 //#
19 //# Correspondence concerning AIPS++ should be addressed as follows:
20 //# Internet email: aips2-request@nrao.edu.
21 //# Postal address: AIPS++ Project Office
22 //# National Radio Astronomy Observatory
23 //# 520 Edgemont Road
24 //# Charlottesville, VA 22903-2475 USA
25 //#
26 //# $Id$
27 
28 #ifndef TRIALDISPLAY_DISPLAYENUMS_H
29 #define TRIALDISPLAY_DISPLAYENUMS_H
30 
31 #include <casa/aips.h>
32 
33 //# Forward declarations
34 #include <casa/iosfwd.h>
35 
36 namespace casa { //# NAMESPACE CASA - BEGIN
37 
38 // <summary>
39 // Enumerate constants for the display classes.
40 // </summary>
41 //
42 // <use visibility=export>
43 //
44 // <reviewed>
45 // </reviewed>
46 //
47 // <prerequisite>
48 // <li> none
49 // </prerequisite>
50 //
51 // <etymology>
52 // DisplayEnums : Display library enumerators
53 // </etymology>
54 //
55 // <synopsis>
56 // Standard keysym constants chosen to match the X system. Event handling done
57 // in other systems must provide the same constants when returning
58 // keysyms.
59 //
60 // Definitions for all characters in ISO LATIN 1-4, and GREEK keysyms
61 // are included.
62 //
63 // </synopsis>
64 //
65 // <motivation>
66 // High standardization and flexible support of national and
67 // international keyboard buttons.
68 // </motivation>
69 //
70 
71  class Display {
72  public:
73  // Different ways of handling color on the display
74  enum ColorModel {
75  // ColorIndex mode
77  // RGB mode
78  RGB,
79  // HSV mode
81  };
82 
83  // Color components
85  Red,
88  Hue,
91  };
92 
93  // Strategy to use to allocate system color resources
94  enum Strategy {
95  // Want the most colors regardless of consequences
97  // Want the default allocation
99  // Happy with a range between some min and max
101  // Want some percentage of the available allocation
103  // Want it my way or not at all
105  };
106 
107  // Special map is used as a placeholder to indicate that ...
108  enum SpecialMap {
109  // the user wants to use the system (default) Colormap
111  // the user wants to use a new colormap
113  // the user wants to share an existing (possibly system!) Colormap
114  // (this is used internally at present)
116  };
117 
118  // Style of line to use
119  enum LineStyle {
120  // solid, no breaks
122  // dashed line with transparent breaks
124  // dashed line with background-color breaks
126  };
127 
128  // Controls the appearance of thick lines near their endpoints.
129  // See Xlib programming guide, page 126 for complete info
130  enum CapStyle {
131  // don't draw pixels aligned with an endpoint
133  // draw pixels up to the endpoint
135  // round the edges using pixels past the endpoint
137  // continue linewidth/2 pixels past the endpoint
139  };
140 
141  // Controls the appearance of two joined lines
142  enum JoinStyle {
143  // corner ends in a point
145  // corner is rounded off
147  // corner is flat surface whose normal bisects the joint angle.
149  };
150 
151  // Controls fill style
152  enum FillStyle {
153  // solid fill
155  // tiled fill
157  // stippled fill
159  // opaque stippled
161  };
162 
163  // Fill Rule
164  // Xlib programming guide, pg.132
165  enum FillRule {
166  // interior point filled if odd number of lines crossed to exit polygon
168  // overlapping areas always filled
170  };
171 
172  // Arc Mode
173  enum ArcMode {
174  // Chord
176  // slice
178  };
179 
180  // Text Alignment
181  enum TextAlign {
182  // reference point aligned to center of text
184  // reference point aligned to center of left edge of text
186  // reference point aligned to center ot top edge of text
188  // reference point aligned to center of right edge of text
190  // reference point aligned to center of bottom edge of text
192  // reference point aligned to top left corner of text
194  // reference point aligned to top right corner of text
196  // reference point aligned to bottom left corner of text
198  // reference point aligned to bottom right corner of text
200  };
201 
202  // PixelCanvas Drawing Modes
203  enum DrawMode {
204  // Immediate draw mode
206  // Build display list mode
208  };
209 
210  // PixelCanvas target drawing destination
211  enum DrawBuffer {
212  // Nowhere
214  // Use default behaviour for the particular implementation of the PixelCanvas
216  // Draw only to front buffer
218  // Draw only to back buffer
220  // Draw to both
222  };
223 
224  // PixelCanvas Drawing Logical Functions. The functions implement
225  // various combinations of dst = F(src, dest), where src is the current
226  // color and dest is the existing color in the framebuffer.
228  // casacore::Normal operation, overwrite with src
230  // Invert operation
232  // Clear, ignore current color, use background color
234  // Make all bits 1
236  // Invert the dest (twice to restore original dest)
238  // do-nothing draw
240 
241  // Exclusive or, used for draw/erase operation over a variable
242  // background
244  // (!src) XOR dest
246 
247  // src AND dest
249  // !(src AND dest)
251  // src AND !dest
253  // !src AND dest
255 
256  // src OR dest
258  // !(src OR dest)
260  // src OR !dest
262  // !src OR dest
264  };
265 
266  // Callback reasons for PCRefreshEvent and WCRefreshEvent
268  // User told PixelCanvas to refresh via PixelCanvas refresh()
270  // Colortable allocation changed (from PixelCanvasColorTable)
272  // Colormap allocation changed - less severe than ColorTableChange,
273  // this will mean an internal change to a single Display Library
274  // Colormap that doesn't affect other Colormaps in the same
275  // ColorTable
277  // Change in shape of PixelCanvas
279  // Change in linear coordinate system
281  // Change in world coordinate system
283  // Back buffer was copied to front buffer on the PixelCanvas
285  // Clear required prior to a change in color table or distribution...
287  };
288 
289  // PixelCanvas Options
290  enum Option {
291  // Is a clipwindow enabled?
293  };
294 
295  // How to cache images when displaying them on client-server graphics
296  // systems
298  // Always use client-side caching (XImages for X Server)
300  // Always use server-side caching (Pixmaps for X Server)
302  // Use server-side pixmaps, recording the size of each
303  // pixmap created for image caching. When the memory used
304  // exceeds some threshold, change to use client-side
305  // XImages to avoid swamping the X server
307  };
308 
309  // casacore::List of markers for use as annotations. These can also be drawn
310  // as primitives on a pixelcanvas.
311  const static casacore::Int nMarkers = 15;
312  enum Marker {
313 
314  // Basic, Unfilled shapes;
315  Cross = 0,
316  X,
322  //Pentagon,
323  //Hexagon,
324 
325  // Basic, filled shapes
331  //FilledPentagon,
332  //FilledHexagon,
333 
334  // Combination markers
338  };
339 
340  // WorldCanvas - what to do with complex data if it is
341  // presented to WorldCanvas::drawImage()
343  // Extract magnitude
345  // Extract phase
347  // Extract real part
349  // Extract imaginary part
351  };
352 
353  // WorldCanvasHolder - what type of DisplayData is this,
354  // need to know for drawing order
356  // Rastered data - should go first
358  // casacore::Vector data - can go next
360  // Annotation
362  // Canvas annotation - can draw outside draw area
364  };
365 
366  // All events - modifier codes.
367  // key is down if modifier & code is nonzero
368  enum KeyModifier {
369  // Shift key bit
370  KM_Shift = 0x0001,
371  // Caps lock bit
372  KM_CapsLock = 0x0002,
373  // Control key bit
374  KM_Ctrl = 0x0004,
375  // Alt key bit
376  KM_Alt = 0x0008,
377  // Numlock (1 = engaged)
378  KM_NumLock = 0x0010,
379  // ScrollLock bit (1 = engaged)
380  KM_ScrollLock = 0x0020,
381  //
382  KM_Mod1 = 0x0008,
383  //
384  KM_Mod2 = 0x0010,
385  //
386  KM_Mod3 = 0x0020,
387  //
388  KM_Mod4 = 0x0040,
389  //
390  KM_Mod5 = 0x0080,
391  // Mouse button 1 bit
393  // Mouse button 2 bit
395  // Mouse button 3 bit
397  // Mouse button 4 bit
399  // Mouse button 5 bit
401  // casacore::Double click bit
403  };
404 
405  //
406  // Keysyms for PixelCanvas keyboard events. These
407  // can be printed using the stream functions listed
408  // below.
409  // These are mostly self explanatory.
410  //
411 
412  enum KeySym {
413  //
414  K_None = 0x0000,
415  //
416  K_BackSpace = 0xFF08,
417  //
418  K_Tab = 0xFF09,
419  //
420  K_Linefeed = 0xFF0A,
421  //
422  K_Clear = 0xFF0B,
423  //
424  K_Return = 0xFF0D,
425  //
426  K_Pause = 0xFF13,
427  //
428  K_Scroll_Lock = 0xFF14,
429  //
430  K_Sys_Req = 0xFF15,
431  //
432  K_Escape = 0xFF1B,
433  //
434  K_Delete = 0xFFFF,
435 
436  //
437  K_Multi_key = 0xFF20,
438 
439  //
440  K_Home = 0xFF50,
441  //
442  K_Left = 0xFF51,
443  //
444  K_Up = 0xFF52,
445  //
446  K_Right = 0xFF53,
447  //
448  K_Down = 0xFF54,
449  //
450  K_Prior = 0xFF55,
451  //
452  K_Page_Up = 0xFF55,
453  //
454  K_Next = 0xFF56,
455  //
456  K_Page_Down = 0xFF56,
457  //
458  K_End = 0xFF57,
459  //
460  K_Begin = 0xFF58,
461 
462  //
463  K_Select = 0xFF60,
464  //
465  K_Print = 0xFF61,
466  //
467  K_Execute = 0xFF62,
468  //
469  K_Insert = 0xFF63,
470  //
471  K_Undo = 0xFF65,
472  //
473  K_Redo = 0xFF66,
474  //
475  K_Menu = 0xFF67,
476  //
477  K_Find = 0xFF68,
478  //
479  K_Cancel = 0xFF69,
480  //
481  K_Help = 0xFF6A,
482  //
483  K_Break = 0xFF6B,
484  //
485  K_Mode_switch = 0xFF7E,
486  //
487  K_script_switch = 0xFF7E,
488  //
489  K_Num_Lock = 0xFF7F,
490  //
491  K_KP_Space = 0xFF80,
492  //
493  K_KP_Tab = 0xFF89,
494  //
495  K_KP_Enter = 0xFF8D,
496  //
497  K_KP_F1 = 0xFF91,
498  //
499  K_KP_F2 = 0xFF92,
500  //
501  K_KP_F3 = 0xFF93,
502  //
503  K_KP_F4 = 0xFF94,
504  //
505  K_KP_Home = 0xFF95,
506  //
507  K_KP_Left = 0xFF96,
508  //
509  K_KP_Up = 0xFF97,
510  //
511  K_KP_Right = 0xFF98,
512  //
513  K_KP_Down = 0xFF99,
514  //
515  K_KP_Prior = 0xFF9A,
516  //
517  K_KP_Page_Up = 0xFF9A,
518  //
519  K_KP_Next = 0xFF9B,
520  //
521  K_KP_Page_Down = 0xFF9B,
522  //
523  K_KP_End = 0xFF9C,
524  //
525  K_KP_Begin = 0xFF9D,
526  //
527  K_KP_Insert = 0xFF9E,
528  //
529  K_KP_Delete = 0xFF9F,
530  //
531  K_KP_Equal = 0xFFBD,
532  //
533  K_KP_Multiply = 0xFFAA,
534  //
535  K_KP_Add = 0xFFAB,
536  //
537  K_KP_Separator = 0xFFAC,
538  //
539  K_KP_Subtract = 0xFFAD,
540  //
541  K_KP_Decimal = 0xFFAE,
542  //
543  K_KP_Divide = 0xFFAF,
544  //
545  K_KP_0 = 0xFFB0,
546  //
547  K_KP_1 = 0xFFB1,
548  //
549  K_KP_2 = 0xFFB2,
550  //
551  K_KP_3 = 0xFFB3,
552  //
553  K_KP_4 = 0xFFB4,
554  //
555  K_KP_5 = 0xFFB5,
556  //
557  K_KP_6 = 0xFFB6,
558  //
559  K_KP_7 = 0xFFB7,
560  //
561  K_KP_8 = 0xFFB8,
562  //
563  K_KP_9 = 0xFFB9,
564 
565  //
566  K_F1 = 0xFFBE,
567  //
568  K_F2 = 0xFFBF,
569  //
570  K_F3 = 0xFFC0,
571  //
572  K_F4 = 0xFFC1,
573  //
574  K_F5 = 0xFFC2,
575  //
576  K_F6 = 0xFFC3,
577  //
578  K_F7 = 0xFFC4,
579  //
580  K_F8 = 0xFFC5,
581  //
582  K_F9 = 0xFFC6,
583  //
584  K_F10 = 0xFFC7,
585  //
586  K_F11 = 0xFFC8,
587  //
588  K_L1 = 0xFFC8,
589  //
590  K_F12 = 0xFFC9,
591  //
592  K_L2 = 0xFFC9,
593  //
594  K_F13 = 0xFFCA,
595  //
596  K_L3 = 0xFFCA,
597  //
598  K_F14 = 0xFFCB,
599  //
600  K_L4 = 0xFFCB,
601  //
602  K_F15 = 0xFFCC,
603  //
604  K_L5 = 0xFFCC,
605  //
606  K_F16 = 0xFFCD,
607  //
608  K_L6 = 0xFFCD,
609  //
610  K_F17 = 0xFFCE,
611  //
612  K_L7 = 0xFFCE,
613  //
614  K_F18 = 0xFFCF,
615  //
616  K_L8 = 0xFFCF,
617  //
618  K_F19 = 0xFFD0,
619  //
620  K_L9 = 0xFFD0,
621  //
622  K_F20 = 0xFFD1,
623  //
624  K_L10 = 0xFFD1,
625  //
626  K_F21 = 0xFFD2,
627  //
628  K_R1 = 0xFFD2,
629  //
630  K_F22 = 0xFFD3,
631  //
632  K_R2 = 0xFFD3,
633  //
634  K_F23 = 0xFFD4,
635  //
636  K_R3 = 0xFFD4,
637  //
638  K_F24 = 0xFFD5,
639  //
640  K_R4 = 0xFFD5,
641  //
642  K_F25 = 0xFFD6,
643  //
644  K_R5 = 0xFFD6,
645  //
646  K_F26 = 0xFFD7,
647  //
648  K_R6 = 0xFFD7,
649  //
650  K_F27 = 0xFFD8,
651  //
652  K_R7 = 0xFFD8,
653  //
654  K_F28 = 0xFFD9,
655  //
656  K_R8 = 0xFFD9,
657  //
658  K_F29 = 0xFFDA,
659  //
660  K_R9 = 0xFFDA,
661  //
662  K_F30 = 0xFFDB,
663  //
664  K_R10 = 0xFFDB,
665  //
666  K_F31 = 0xFFDC,
667  //
668  K_R11 = 0xFFDC,
669  //
670  K_F32 = 0xFFDD,
671  //
672  K_R12 = 0xFFDD,
673  //
674  K_F33 = 0xFFDE,
675  //
676  K_R13 = 0xFFDE,
677  //
678  K_F34 = 0xFFDF,
679  //
680  K_R14 = 0xFFDF,
681  //
682  K_F35 = 0xFFE0,
683  //
684  K_R15 = 0xFFE0,
685 
686  //
687  K_Shift_L = 0xFFE1,
688  //
689  K_Shift_R = 0xFFE2,
690  //
691  K_Control_L = 0xFFE3,
692  //
693  K_Control_R = 0xFFE4,
694  //
695  K_Caps_Lock = 0xFFE5,
696  //
697  K_Shift_Lock = 0xFFE6,
698 
699  //
700  K_Meta_L = 0xFFE7,
701  //
702  K_Meta_R = 0xFFE8,
703  //
704  K_Alt_L = 0xFFE9,
705  //
706  K_Alt_R = 0xFFEA,
707  //
708  K_Super_L = 0xFFEB,
709  //
710  K_Super_R = 0xFFEC,
711  //
712  K_Hyper_L = 0xFFED,
713  //
714  K_Hyper_R = 0xFFEE,
715  //
716 
718  //
720  //
722  //
724  //
726  //
727 
729  //
731  //
733  //
735  //
737  //
739  //
741  //
742  K_Pointer_Drag1 = 0xFEF5,
743  //
744  K_Pointer_Drag2 = 0xFEF6,
745  //
746  K_Pointer_Drag3 = 0xFEF7,
747  //
748  K_Pointer_Drag4 = 0xFEF8,
749  //
750 
751  //
753  //
755  //
757  //
759 
760  // Latin 1 Byte 3 = 0
761  K_space = 0x0020,
762  //
763  K_exclam = 0x0021,
764  //
765  K_quotedbl = 0x0022,
766  //
767  K_numbersign = 0x0023,
768  //
769  K_dollar = 0x0024,
770  //
771  K_percent = 0x0025,
772  //
773  K_ampersand = 0x0026,
774  //
775  K_apostrophe = 0x0027,
776  //
777  K_parenleft = 0x0028,
778  //
779  K_parenright = 0x0029,
780  //
781  K_asterisk = 0x002a,
782  //
783  K_plus = 0x002b,
784  //
785  K_comma = 0x002c,
786  //
787  K_minus = 0x002d,
788  //
789  K_period = 0x002e,
790  //
791  K_slash = 0x002f,
792  //
793  K_0 = 0x0030,
794  //
795  K_1 = 0x0031,
796  //
797  K_2 = 0x0032,
798  //
799  K_3 = 0x0033,
800  //
801  K_4 = 0x0034,
802  //
803  K_5 = 0x0035,
804  //
805  K_6 = 0x0036,
806  //
807  K_7 = 0x0037,
808  //
809  K_8 = 0x0038,
810  //
811  K_9 = 0x0039,
812  //
813  K_colon = 0x003a,
814  //
815  K_semicolon = 0x003b,
816  //
817  K_less = 0x003c,
818  //
819  K_equal = 0x003d,
820  //
821  K_greater = 0x003e,
822  //
823  K_question = 0x003f,
824  //
825  K_at = 0x0040,
826  //
827  K_A = 0x0041,
828  //
829  K_B = 0x0042,
830  //
831  K_C = 0x0043,
832  //
833  K_D = 0x0044,
834  //
835  K_E = 0x0045,
836  //
837  K_F = 0x0046,
838  //
839  K_G = 0x0047,
840  //
841  K_H = 0x0048,
842  //
843  K_I = 0x0049,
844  //
845  K_J = 0x004a,
846  //
847  K_K = 0x004b,
848  //
849  K_L = 0x004c,
850  //
851  K_M = 0x004d,
852  //
853  K_N = 0x004e,
854  //
855  K_O = 0x004f,
856  //
857  K_P = 0x0050,
858  //
859  K_Q = 0x0051,
860  //
861  K_R = 0x0052,
862  //
863  K_S = 0x0053,
864  //
865  K_T = 0x0054,
866  //
867  K_U = 0x0055,
868  //
869  K_V = 0x0056,
870  //
871  K_W = 0x0057,
872  //
873  K_X = 0x0058,
874  //
875  K_Y = 0x0059,
876  //
877  K_Z = 0x005a,
878  //
879  K_bracketleft = 0x005b,
880  //
881  K_backslash = 0x005c,
882  //
883  K_bracketright = 0x005d,
884  //
885  K_asciicircum = 0x005e,
886  //
887  K_underscore = 0x005f,
888  //
889  K_grave = 0x0060,
890  //
891  K_quoteleft = 0x0060,
892  //
893  K_a = 0x0061,
894  //
895  K_b = 0x0062,
896  //
897  K_c = 0x0063,
898  //
899  K_d = 0x0064,
900  //
901  K_e = 0x0065,
902  //
903  K_f = 0x0066,
904  //
905  K_g = 0x0067,
906  //
907  K_h = 0x0068,
908  //
909  K_i = 0x0069,
910  //
911  K_j = 0x006a,
912  //
913  K_k = 0x006b,
914  //
915  K_l = 0x006c,
916  //
917  K_m = 0x006d,
918  //
919  K_n = 0x006e,
920  //
921  K_o = 0x006f,
922  //
923  K_p = 0x0070,
924  //
925  K_q = 0x0071,
926  //
927  K_r = 0x0072,
928  //
929  K_s = 0x0073,
930  //
931  K_t = 0x0074,
932  //
933  K_u = 0x0075,
934  //
935  K_v = 0x0076,
936  //
937  K_w = 0x0077,
938  //
939  K_x = 0x0078,
940  //
941  K_y = 0x0079,
942  //
943  K_z = 0x007a,
944  //
945  K_braceleft = 0x007b,
946  //
947  K_bar = 0x007c,
948  //
949  K_braceright = 0x007d,
950  //
951  K_asciitilde = 0x007e,
952  //
953 
954  //
955  K_nobreakspace = 0x00a0,
956  //
957  K_exclamdown = 0x00a1,
958  //
959  K_cent = 0x00a2,
960  //
961  K_sterling = 0x00a3,
962  //
963  K_currency = 0x00a4,
964  //
965  K_yen = 0x00a5,
966  //
967  K_brokenbar = 0x00a6,
968  //
969  K_section = 0x00a7,
970  //
971  K_diaeresis = 0x00a8,
972  //
973  K_copyright = 0x00a9,
974  //
975  K_ordfeminine = 0x00aa,
976  //
977  K_guillemotleft = 0x00ab,
978  //
979  K_notsign = 0x00ac,
980  //
981  K_hyphen = 0x00ad,
982  //
983  K_registered = 0x00ae,
984  //
985  K_macron = 0x00af,
986  //
987  K_degree = 0x00b0,
988  //
989  K_plusminus = 0x00b1,
990  //
991  K_twosuperior = 0x00b2,
992  //
993  K_threesuperior = 0x00b3,
994  //
995  K_acute = 0x00b4,
996  //
997  K_mu = 0x00b5,
998  //
999  K_paragraph = 0x00b6,
1000  //
1002  //
1003  K_cedilla = 0x00b8,
1004  //
1005  K_onesuperior = 0x00b9,
1006  //
1007  K_masculine = 0x00ba,
1008  //
1010  //
1011  K_onequarter = 0x00bc,
1012  //
1013  K_onehalf = 0x00bd,
1014  //
1016  //
1017  K_questiondown = 0x00bf,
1018  //
1019  K_Agrave = 0x00c0,
1020  //
1021  K_Aacute = 0x00c1,
1022  //
1023  K_Acircumflex = 0x00c2,
1024  //
1025  K_Atilde = 0x00c3,
1026  //
1027  K_Adiaeresis = 0x00c4,
1028  //
1029  K_Aring = 0x00c5,
1030  //
1031  K_AE = 0x00c6,
1032  //
1033  K_Ccedilla = 0x00c7,
1034  //
1035  K_Egrave = 0x00c8,
1036  //
1037  K_Eacute = 0x00c9,
1038  //
1039  K_Ecircumflex = 0x00ca,
1040  //
1041  K_Ediaeresis = 0x00cb,
1042  //
1043  K_Igrave = 0x00cc,
1044  //
1045  K_Iacute = 0x00cd,
1046  //
1047  K_Icircumflex = 0x00ce,
1048  //
1049  K_Idiaeresis = 0x00cf,
1050  //
1051  K_ETH = 0x00d0,
1052  //
1053  K_Ntilde = 0x00d1,
1054  //
1055  K_Ograve = 0x00d2,
1056  //
1057  K_Oacute = 0x00d3,
1058  //
1059  K_Ocircumflex = 0x00d4,
1060  //
1061  K_Otilde = 0x00d5,
1062  //
1063  K_Odiaeresis = 0x00d6,
1064  //
1065  K_multiply = 0x00d7,
1066  //
1067  K_Ooblique = 0x00d8,
1068  //
1069  K_Ugrave = 0x00d9,
1070  //
1071  K_Uacute = 0x00da,
1072  //
1073  K_Ucircumflex = 0x00db,
1074  //
1075  K_Udiaeresis = 0x00dc,
1076  //
1077  K_Yacute = 0x00dd,
1078  //
1079  K_THORN = 0x00de,
1080  //
1081  K_ssharp = 0x00df,
1082  //
1083  K_agrave = 0x00e0,
1084  //
1085  K_aacute = 0x00e1,
1086  //
1087  K_acircumflex = 0x00e2,
1088  //
1089  K_atilde = 0x00e3,
1090  //
1091  K_adiaeresis = 0x00e4,
1092  //
1093  K_aring = 0x00e5,
1094  //
1095  K_ae = 0x00e6,
1096  //
1097  K_ccedilla = 0x00e7,
1098  //
1099  K_egrave = 0x00e8,
1100  //
1101  K_eacute = 0x00e9,
1102  //
1103  K_ecircumflex = 0x00ea,
1104  //
1105  K_ediaeresis = 0x00eb,
1106  //
1107  K_igrave = 0x00ec,
1108  //
1109  K_iacute = 0x00ed,
1110  //
1111  K_icircumflex = 0x00ee,
1112  //
1113  K_idiaeresis = 0x00ef,
1114  //
1115  K_eth = 0x00f0,
1116  //
1117  K_ntilde = 0x00f1,
1118  //
1119  K_ograve = 0x00f2,
1120  //
1121  K_oacute = 0x00f3,
1122  //
1123  K_ocircumflex = 0x00f4,
1124  //
1125  K_otilde = 0x00f5,
1126  //
1127  K_odiaeresis = 0x00f6,
1128  //
1129  K_division = 0x00f7,
1130  //
1131  K_oslash = 0x00f8,
1132  //
1133  K_ugrave = 0x00f9,
1134  //
1135  K_uacute = 0x00fa,
1136  //
1137  K_ucircumflex = 0x00fb,
1138  //
1139  K_udiaeresis = 0x00fc,
1140  //
1141  K_yacute = 0x00fd,
1142  //
1143  K_thorn = 0x00fe,
1144  //
1145  K_ydiaeresis = 0x00ff,
1146  //
1147 
1148  // Latin 2
1149  // Byte 3 = 1
1150 
1151  K_Aogonek = 0x01a1,
1152  //
1153  K_breve = 0x01a2,
1154  //
1155  K_Lstroke = 0x01a3,
1156  //
1157  K_Lcaron = 0x01a5,
1158  //
1159  K_Sacute = 0x01a6,
1160  //
1161  K_Scaron = 0x01a9,
1162  //
1163  K_Scedilla = 0x01aa,
1164  //
1165  K_Tcaron = 0x01ab,
1166  //
1167  K_Zacute = 0x01ac,
1168  //
1169  K_Zcaron = 0x01ae,
1170  //
1171  K_Zabovedot = 0x01af,
1172  //
1173  K_aogonek = 0x01b1,
1174  //
1175  K_ogonek = 0x01b2,
1176  //
1177  K_lstroke = 0x01b3,
1178  //
1179  K_lcaron = 0x01b5,
1180  //
1181  K_sacute = 0x01b6,
1182  //
1183  K_caron = 0x01b7,
1184  //
1185  K_scaron = 0x01b9,
1186  //
1187  K_scedilla = 0x01ba,
1188  //
1189  K_tcaron = 0x01bb,
1190  //
1191  K_zacute = 0x01bc,
1192  //
1193  K_doubleacute = 0x01bd,
1194  //
1195  K_zcaron = 0x01be,
1196  //
1197  K_zabovedot = 0x01bf,
1198  //
1199  K_Racute = 0x01c0,
1200  //
1201  K_Abreve = 0x01c3,
1202  //
1203  K_Lacute = 0x01c5,
1204  //
1205  K_Cacute = 0x01c6,
1206  //
1207  K_Ccaron = 0x01c8,
1208  //
1209  K_Eogonek = 0x01ca,
1210  //
1211  K_Ecaron = 0x01cc,
1212  //
1213  K_Dcaron = 0x01cf,
1214  //
1215  K_Dstroke = 0x01d0,
1216  //
1217  K_Nacute = 0x01d1,
1218  //
1219  K_Ncaron = 0x01d2,
1220  //
1221  K_Odoubleacute = 0x01d5,
1222  //
1223  K_Rcaron = 0x01d8,
1224  //
1225  K_Uring = 0x01d9,
1226  //
1227  K_Udoubleacute = 0x01db,
1228  //
1229  K_Tcedilla = 0x01de,
1230  //
1231  K_racute = 0x01e0,
1232  //
1233  K_abreve = 0x01e3,
1234  //
1235  K_lacute = 0x01e5,
1236  //
1237  K_cacute = 0x01e6,
1238  //
1239  K_ccaron = 0x01e8,
1240  //
1241  K_eogonek = 0x01ea,
1242  //
1243  K_ecaron = 0x01ec,
1244  //
1245  K_dcaron = 0x01ef,
1246  //
1247  K_dstroke = 0x01f0,
1248  //
1249  K_nacute = 0x01f1,
1250  //
1251  K_ncaron = 0x01f2,
1252  //
1253  K_odoubleacute = 0x01f5,
1254  //
1255  K_udoubleacute = 0x01fb,
1256  //
1257  K_rcaron = 0x01f8,
1258  //
1259  K_uring = 0x01f9,
1260  //
1261  K_tcedilla = 0x01fe,
1262  //
1263  K_abovedot = 0x01ff,
1264  //
1265 
1266  // Latin 3 Byte 3 = 2
1267 
1268  K_Hstroke = 0x02a1,
1269  //
1270  K_Hcircumflex = 0x02a6,
1271  //
1272  K_Iabovedot = 0x02a9,
1273  //
1274  K_Gbreve = 0x02ab,
1275  //
1276  K_Jcircumflex = 0x02ac,
1277  //
1278  K_hstroke = 0x02b1,
1279  //
1280  K_hcircumflex = 0x02b6,
1281  //
1282  K_idotless = 0x02b9,
1283  //
1284  K_gbreve = 0x02bb,
1285  //
1286  K_jcircumflex = 0x02bc,
1287  //
1288  K_Cabovedot = 0x02c5,
1289  //
1290  K_Ccircumflex = 0x02c6,
1291  //
1292  K_Gabovedot = 0x02d5,
1293  //
1294  K_Gcircumflex = 0x02d8,
1295  //
1296  K_Ubreve = 0x02dd,
1297  //
1298  K_Scircumflex = 0x02de,
1299  //
1300  K_cabovedot = 0x02e5,
1301  //
1302  K_ccircumflex = 0x02e6,
1303  //
1304  K_gabovedot = 0x02f5,
1305  //
1306  K_gcircumflex = 0x02f8,
1307  //
1308  K_ubreve = 0x02fd,
1309  //
1310  K_scircumflex = 0x02fe,
1311 
1312  // Latin 4 Byte 3 = 3
1313 
1314  K_kra = 0x03a2,
1315  //
1316  K_Rcedilla = 0x03a3,
1317  //
1318  K_Itilde = 0x03a5,
1319  //
1320  K_Lcedilla = 0x03a6,
1321  //
1322  K_Emacron = 0x03aa,
1323  //
1324  K_Gcedilla = 0x03ab,
1325  //
1326  K_Tslash = 0x03ac,
1327  //
1328  K_rcedilla = 0x03b3,
1329  //
1330  K_itilde = 0x03b5,
1331  //
1332  K_lcedilla = 0x03b6,
1333  //
1334  K_emacron = 0x03ba,
1335  //
1336  K_gcedilla = 0x03bb,
1337  //
1338  K_tslash = 0x03bc,
1339  //
1340  K_ENG = 0x03bd,
1341  //
1342  K_eng = 0x03bf,
1343  //
1344  K_Amacron = 0x03c0,
1345  //
1346  K_Iogonek = 0x03c7,
1347  //
1348  K_Eabovedot = 0x03cc,
1349  //
1350  K_Imacron = 0x03cf,
1351  //
1352  K_Ncedilla = 0x03d1,
1353  //
1354  K_Omacron = 0x03d2,
1355  //
1356  K_Kcedilla = 0x03d3,
1357  //
1358  K_Uogonek = 0x03d9,
1359  //
1360  K_Utilde = 0x03dd,
1361  //
1362  K_Umacron = 0x03de,
1363  //
1364  K_amacron = 0x03e0,
1365  //
1366  K_iogonek = 0x03e7,
1367  //
1368  K_eabovedot = 0x03ec,
1369  //
1370  K_imacron = 0x03ef,
1371  //
1372  K_ncedilla = 0x03f1,
1373  //
1374  K_omacron = 0x03f2,
1375  //
1376  K_kcedilla = 0x03f3,
1377  //
1378  K_uogonek = 0x03f9,
1379  //
1380  K_utilde = 0x03fd,
1381  //
1382  K_umacron = 0x03fe,
1383 
1384  // Greek Byte 3 = 7
1385 
1387  //
1389  //
1391  //
1393  //
1395  //
1397  //
1399  //
1401  //
1403  //
1405  //
1407  //
1409  //
1411  //
1413  //
1415  //
1417  //
1419  //
1421  //
1423  //
1425  //
1427  //
1429  //
1430  K_Greek_ALPHA = 0x07c1,
1431  //
1432  K_Greek_BETA = 0x07c2,
1433  //
1434  K_Greek_GAMMA = 0x07c3,
1435  //
1436  K_Greek_DELTA = 0x07c4,
1437  //
1439  //
1440  K_Greek_ZETA = 0x07c6,
1441  //
1442  K_Greek_ETA = 0x07c7,
1443  //
1444  K_Greek_THETA = 0x07c8,
1445  //
1446  K_Greek_IOTA = 0x07c9,
1447  //
1448  K_Greek_KAPPA = 0x07ca,
1449  //
1450  K_Greek_LAMDA = 0x07cb,
1451  //
1452  K_Greek_LAMBDA = 0x07cb,
1453  //
1454  K_Greek_MU = 0x07cc,
1455  //
1456  K_Greek_NU = 0x07cd,
1457  //
1458  K_Greek_XI = 0x07ce,
1459  //
1461  //
1462  K_Greek_PI = 0x07d0,
1463  //
1464  K_Greek_RHO = 0x07d1,
1465  //
1466  K_Greek_SIGMA = 0x07d2,
1467  //
1468  K_Greek_TAU = 0x07d4,
1469  //
1471  //
1472  K_Greek_PHI = 0x07d6,
1473  //
1474  K_Greek_CHI = 0x07d7,
1475  //
1476  K_Greek_PSI = 0x07d8,
1477  //
1478  K_Greek_OMEGA = 0x07d9,
1479  //
1480  K_Greek_alpha = 0x07e1,
1481  //
1482  K_Greek_beta = 0x07e2,
1483  //
1484  K_Greek_gamma = 0x07e3,
1485  //
1486  K_Greek_delta = 0x07e4,
1487  //
1489  //
1490  K_Greek_zeta = 0x07e6,
1491  //
1492  K_Greek_eta = 0x07e7,
1493  //
1494  K_Greek_theta = 0x07e8,
1495  //
1496  K_Greek_iota = 0x07e9,
1497  //
1498  K_Greek_kappa = 0x07ea,
1499  //
1500  K_Greek_lamda = 0x07eb,
1501  //
1502  K_Greek_lambda = 0x07eb,
1503  //
1504  K_Greek_mu = 0x07ec,
1505  //
1506  K_Greek_nu = 0x07ed,
1507  //
1508  K_Greek_xi = 0x07ee,
1509  //
1511  //
1512  K_Greek_pi = 0x07f0,
1513  //
1514  K_Greek_rho = 0x07f1,
1515  //
1516  K_Greek_sigma = 0x07f2,
1517  //
1519  //
1520  K_Greek_tau = 0x07f4,
1521  //
1523  //
1524  K_Greek_phi = 0x07f6,
1525  //
1526  K_Greek_chi = 0x07f7,
1527  //
1528  K_Greek_psi = 0x07f8,
1529  //
1530  K_Greek_omega = 0x07f9,
1531  // Alias for mode_switch
1533  };
1534 
1535  // Determine Display::KeyModifier given Display::KeySym.
1537  &keysym);
1538 
1539  };
1540 
1541 // remove this when all IL's are extracted ???
1542  typedef Display IL;
1543 
1544 // <summary>
1545 // Global functions (operators) to print display class enumerations.
1546 // </summary>
1547 
1548 // Each enumeration can be printed to the console to assist
1549 // in debugging. Printed name is identical to source code
1550 // constant name.
1551 // <group name="DisplayEnums to string functions">
1552  std::ostream & operator << (std::ostream & os, Display::ColorModel dmt);
1553  std::ostream & operator << (std::ostream & os, Display::Strategy dmt);
1554  std::ostream & operator << (std::ostream & os, Display::SpecialMap dmt);
1555  std::ostream & operator << (std::ostream & os, Display::LineStyle dmt);
1556  std::ostream & operator << (std::ostream & os, Display::CapStyle dmt);
1557  std::ostream & operator << (std::ostream & os, Display::JoinStyle dmt);
1558  std::ostream & operator << (std::ostream & os, Display::FillStyle dmt);
1559  std::ostream & operator << (std::ostream & os, Display::FillRule dmt);
1560  std::ostream & operator << (std::ostream & os, Display::ArcMode dmt);
1561  std::ostream & operator << (std::ostream & os, Display::TextAlign dmt);
1562  std::ostream & operator << (std::ostream & os, Display::DrawMode dmt);
1563  std::ostream & operator << (std::ostream & os, Display::DrawBuffer dmt);
1564  std::ostream & operator << (std::ostream & os, Display::DrawFunction dmt);
1565  std::ostream & operator << (std::ostream & os, Display::RefreshReason drr);
1566  std::ostream & operator << (std::ostream & os, Display::Option dopt);
1567  std::ostream & operator << (std::ostream & os, Display::ImageCacheStrategy ics);
1568  std::ostream & operator << (std::ostream & os, Display::ComplexToRealMethod ctrm);
1569  std::ostream & operator << (std::ostream & os, Display::DisplayDataType dtype);
1570  std::ostream & operator << (std::ostream & os, Display::KeyModifier dmt);
1571  std::ostream & operator << (std::ostream & os, Display::KeySym dmt);
1572  std::ostream & operator << (std::ostream & os, Display::Marker mrk);
1573 // </group>
1574 
1575 
1576 } //# NAMESPACE CASA - END
1577 
1578 #endif
1579 
1580 
1581 
1582 
1583 
1584 
1585 
1586 
Colormap allocation changed - less severe than ColorTableChange, this will mean an internal change to...
Definition: DisplayEnums.h:276
Extract phase.
Definition: DisplayEnums.h:346
!(src AND dest)
Definition: DisplayEnums.h:250
Extract magnitude.
Definition: DisplayEnums.h:344
Want the default allocation.
Definition: DisplayEnums.h:98
int Int
Definition: aipstype.h:50
Use default behaviour for the particular implementation of the PixelCanvas.
Definition: DisplayEnums.h:215
FilledPentagon, FilledHexagon,.
Definition: DisplayEnums.h:335
Alias for mode_switch.
Invert the dest (twice to restore original dest)
Definition: DisplayEnums.h:237
corner ends in a point
Definition: DisplayEnums.h:144
Pentagon, Hexagon,.
Definition: DisplayEnums.h:326
ostream & operator<<(ostream &os, const PageHeaderCache &cache)
TextAlign
Text Alignment.
Definition: DisplayEnums.h:181
draw pixels up to the endpoint
Definition: DisplayEnums.h:134
DisplayDataType
WorldCanvasHolder - what type of DisplayData is this, need to know for drawing order.
Definition: DisplayEnums.h:355
(!src) XOR dest
Definition: DisplayEnums.h:245
Option
PixelCanvas Options.
Definition: DisplayEnums.h:290
static Display::KeyModifier keyModifierFromKeySym(const Display::KeySym &keysym)
Determine Display::KeyModifier given Display::KeySym.
Enumerate constants for the display classes.
Definition: DisplayEnums.h:71
dashed line with transparent breaks
Definition: DisplayEnums.h:123
DrawBuffer
PixelCanvas target drawing destination.
Definition: DisplayEnums.h:211
ScrollLock bit (1 = engaged)
Definition: DisplayEnums.h:380
Definition: ds9lex.h:71
Happy with a range between some min and max.
Definition: DisplayEnums.h:100
Basic, Unfilled shapes;.
Definition: DisplayEnums.h:315
Latin 4 Byte 3 = 3.
casacore::Double click bit
Definition: DisplayEnums.h:402
!(src OR dest)
Definition: DisplayEnums.h:259
FillRule
Fill Rule Xlib programming guide, pg.132.
Definition: DisplayEnums.h:165
ComplexToRealMethod
WorldCanvas - what to do with complex data if it is presented to WorldCanvas::drawImage() ...
Definition: DisplayEnums.h:342
Always use server-side caching (Pixmaps for X Server)
Definition: DisplayEnums.h:301
Latin 1 Byte 3 = 0.
Definition: DisplayEnums.h:761
Make all bits 1.
Definition: DisplayEnums.h:235
overlapping areas always filled
Definition: DisplayEnums.h:169
Control key bit.
Definition: DisplayEnums.h:374
Display IL
remove this when all IL&#39;s are extracted ???
do-nothing draw
Definition: DisplayEnums.h:239
CapStyle
Controls the appearance of thick lines near their endpoints.
Definition: DisplayEnums.h:130
reference point aligned to center of text
Definition: DisplayEnums.h:183
corner is flat surface whose normal bisects the joint angle.
Definition: DisplayEnums.h:148
Colortable allocation changed (from PixelCanvasColorTable)
Definition: DisplayEnums.h:271
reference point aligned to bottom right corner of text
Definition: DisplayEnums.h:199
ColorComponent
Color components.
Definition: DisplayEnums.h:84
solid, no breaks
Definition: DisplayEnums.h:121
Change in linear coordinate system.
Definition: DisplayEnums.h:280
Is a clipwindow enabled?
Definition: DisplayEnums.h:292
casacore::Normal operation, overwrite with src
Definition: DisplayEnums.h:229
reference point aligned to top right corner of text
Definition: DisplayEnums.h:195
corner is rounded off
Definition: DisplayEnums.h:146
the user wants to use the system (default) Colormap
Definition: DisplayEnums.h:110
Draw only to front buffer.
Definition: DisplayEnums.h:217
Change in shape of PixelCanvas.
Definition: DisplayEnums.h:278
reference point aligned to center ot top edge of text
Definition: DisplayEnums.h:187
reference point aligned to center of right edge of text
Definition: DisplayEnums.h:189
Immediate draw mode.
Definition: DisplayEnums.h:205
SpecialMap
Special map is used as a placeholder to indicate that...
Definition: DisplayEnums.h:108
Rastered data - should go first.
Definition: DisplayEnums.h:357
Use server-side pixmaps, recording the size of each pixmap created for image caching.
Definition: DisplayEnums.h:306
Build display list mode.
Definition: DisplayEnums.h:207
don&#39;t draw pixels aligned with an endpoint
Definition: DisplayEnums.h:132
Extract imaginary part.
Definition: DisplayEnums.h:350
Draw only to back buffer.
Definition: DisplayEnums.h:219
the user wants to share an existing (possibly system!) Colormap (this is used internally at present) ...
Definition: DisplayEnums.h:115
KeyModifier
All events - modifier codes.
Definition: DisplayEnums.h:368
Want some percentage of the available allocation.
Definition: DisplayEnums.h:102
FillStyle
Controls fill style.
Definition: DisplayEnums.h:152
round the edges using pixels past the endpoint
Definition: DisplayEnums.h:136
RefreshReason
Callback reasons for PCRefreshEvent and WCRefreshEvent.
Definition: DisplayEnums.h:267
Exclusive or, used for draw/erase operation over a variable background.
Definition: DisplayEnums.h:243
interior point filled if odd number of lines crossed to exit polygon
Definition: DisplayEnums.h:167
static const casacore::Int nMarkers
casacore::List of markers for use as annotations.
Definition: DisplayEnums.h:311
reference point aligned to center of bottom edge of text
Definition: DisplayEnums.h:191
DrawMode
PixelCanvas Drawing Modes.
Definition: DisplayEnums.h:203
Latin 2 Byte 3 = 1.
Back buffer was copied to front buffer on the PixelCanvas.
Definition: DisplayEnums.h:284
casacore::Vector data - can go next
Definition: DisplayEnums.h:359
ArcMode
Arc Mode.
Definition: DisplayEnums.h:173
Want it my way or not at all.
Definition: DisplayEnums.h:104
Extract real part.
Definition: DisplayEnums.h:348
the user wants to use a new colormap
Definition: DisplayEnums.h:112
dashed line with background-color breaks
Definition: DisplayEnums.h:125
ColorIndex mode.
Definition: DisplayEnums.h:76
ImageCacheStrategy
How to cache images when displaying them on client-server graphics systems.
Definition: DisplayEnums.h:297
Clear required prior to a change in color table or distribution...
Definition: DisplayEnums.h:286
Numlock (1 = engaged)
Definition: DisplayEnums.h:378
DrawFunction
PixelCanvas Drawing Logical Functions.
Definition: DisplayEnums.h:227
reference point aligned to center of left edge of text
Definition: DisplayEnums.h:185
Always use client-side caching (XImages for X Server)
Definition: DisplayEnums.h:299
KeySym
Keysyms for PixelCanvas keyboard events.
Definition: DisplayEnums.h:412
Clear, ignore current color, use background color.
Definition: DisplayEnums.h:233
reference point aligned to top left corner of text
Definition: DisplayEnums.h:193
Strategy
Strategy to use to allocate system color resources.
Definition: DisplayEnums.h:94
JoinStyle
Controls the appearance of two joined lines.
Definition: DisplayEnums.h:142
Canvas annotation - can draw outside draw area.
Definition: DisplayEnums.h:363
continue linewidth/2 pixels past the endpoint
Definition: DisplayEnums.h:138
ColorModel
Different ways of handling color on the display.
Definition: DisplayEnums.h:74
Latin 3 Byte 3 = 2.
User told PixelCanvas to refresh via PixelCanvas refresh()
Definition: DisplayEnums.h:269
reference point aligned to bottom left corner of text
Definition: DisplayEnums.h:197
Change in world coordinate system.
Definition: DisplayEnums.h:282
LineStyle
Style of line to use.
Definition: DisplayEnums.h:119
Want the most colors regardless of consequences.
Definition: DisplayEnums.h:96