Packages

An X11 library for LFE Machines

Current section

Files

Jump to
lfe_machine_tv include tv.hrl
Raw

include/tv.hrl

%% top-level objects
%%---------------------------------------------------
%% Client byte order.
%% (This Erlang implementation of X11 is always running
%% as a MSB client. The bit manipulating primitives in
%% Erlang will isolate us from the underlying machine.)
-define(MSB_BYTEORDER, $B).
-define(LSB_BYTEORDER, $l).
-record(depth,
{depth, % this depth (Z) of the depth
nvisuals, % number of Visual types at this depth
visuals % list of visuals possible at this depth
}).
-define(PRINT_DEPTH(D),
begin
io:format("DEPTH:~n"
" depth = ~p~n nvisuals = ~p~n",
[D#depth.depth, D#depth.nvisuals]),
lists:foreach(
fun(V) -> ?PRINT_VISUAL(V) end,
D#depth.visuals)
end).
-record(display,
{fd, % Network socket.
resource_id = 0,
resource_max = 0,
resource_mask = 0,
resource_shift = 0,
resource_base = 0,
proto_major_version, % major version of server's X protocol
proto_minor_version, % minor version of servers X protocol
vendor, % vendor of the server hardware
byte_order, % screen byte order, LSBFirst, MSBFirst
bitmap_unit, % padding and data requirements
bitmap_pad, % padding requirements on bitmaps
bitmap_bit_order, % LeastSignificant or MostSignificant
nformats, % number of pixmap formats in list
pixmap_formats, % pixmap format list
release, % release of the server
last_request_read, % seq number of last event read
request, % sequence number of last request.
max_request_size, % maximum number 32 bit words in request
display_name, % "host:display" string used on this connect
default_screen, % default screen for operations
nscreens, % number of screens on this server
screens, % list of screens
motion_buffer, % size of motion buffer
min_keycode, % minimum defined keycode
max_keycode % maximum defined keycode
}).
-define(IS_DISPLAY(D), is_record(D,display)).
%% Access macros
-define(ROOT_DEPTH(D, S),
((lists:nth(S + 1, D#display.screens))#screen.root_depth) ).
-define(ROOT_ID(D, S),
((lists:nth(S + 1, D#display.screens))#screen.root) ).
-define(WHITE_PIXEL(D, S),
((lists:nth(S + 1, D#display.screens))#screen.white_pixel) ).
-define(BLACK_PIXEL(D, S),
((lists:nth(S + 1, D#display.screens))#screen.black_pixel) ).
-define(COLOR_MAP(D, S),
((lists:nth(S + 1, D#display.screens))#screen.cmap) ).
-define(DEFAULT_VISUAL(D, S),
((lists:nth(S + 1, D#display.screens))#screen.root_visual) ).
-define(PRINT_DISPLAY(D),
begin
io:format("DISPLAY:~n"
" fd = ~p~n resource_id = ~p~n"
" resource_max = ~p~n resource_mask = ~p~n"
" resource_shift = ~p~n resource_base = ~p~n"
" proto_major_version = ~p~n proto_minor_version = ~p~n"
" vendor = ~p~n byte_order = ~p~n"
" bitmap_unit = ~p~n bitmap_pad = ~p~n"
" bitmap_bit_order = ~p~n nformats = ~p~n"
" pixmap_formats = ~p~n release = ~p~n"
" last_request_read = ~p~n request = ~p~n"
" max_request_size = ~p~n display_name = ~p~n"
" default_screen = ~p~n nscreens = ~p~n"
" motion_buffer = ~p~n min_keycode = ~p~n"
" max_keycode = ~p~n",
[D#display.fd, D#display.resource_id,
D#display.resource_max, D#display.resource_mask,
D#display.resource_shift, D#display.resource_base,
D#display.proto_major_version,D#display.proto_minor_version,
D#display.vendor, D#display.byte_order,
D#display.bitmap_unit, D#display.bitmap_pad,
D#display.bitmap_bit_order, D#display.nformats,
D#display.pixmap_formats, D#display.release,
D#display.last_request_read, D#display.request,
D#display.max_request_size, D#display.display_name,
D#display.default_screen, D#display.nscreens,
D#display.motion_buffer, D#display.min_keycode,
D#display.max_keycode]),
lists:foreach(
fun(S) -> ?PRINT_SCREEN(S) end,
D#display.screens)
end).
-record(format,
{depth,
bpp,
scanline_pad}).
-record(screen,
{root, % Root window id.
width, height, % width and height of screen
mwidth, mheight, % width and height of in millimeters
ndepths, % number of depths possible
white_pixel, % White and Black pixel values
black_pixel,
root_depth, % bits per pixel
cmap, % default color map
backing_store, % Never, WhenMapped, Always
save_unders,
max_maps, % max and min color maps
min_maps,
root_input_mask, % initial root input mask
depths, % list of allowable depths on the screen
root_visual, % root visual
default_gc % GC for the root root visual
}).
-define(PRINT_SCREEN(S),
begin
io:format("SCREEN:~n"
" root = ~p~n width = ~p~n"
" height = ~p~n mwidth = ~p~n"
" mheight = ~p~n ndepths = ~p~n"
" white_pixel = ~p~n black_pixel = ~p~n"
" root_depth = ~p~n cmap = ~p~n"
" backing_store = ~p~n save_unders = ~p~n"
" max_maps = ~p~n min_maps = ~p~n"
" root_input_mask = ~p~n root_visual = ~p~n"
" default_gc = ~p~n Ndepths = ~p~n",
[S#screen.root, S#screen.width,
S#screen.height, S#screen.mwidth,
S#screen.mheight, S#screen.ndepths,
S#screen.white_pixel, S#screen.black_pixel,
S#screen.root_depth, S#screen.cmap,
S#screen.backing_store, S#screen.save_unders,
S#screen.max_maps, S#screen.min_maps,
S#screen.root_input_mask, S#screen.root_visual,
S#screen.default_gc, length(S#screen.depths)]),
lists:foreach(
fun(D) -> ?PRINT_DEPTH(D) end,
S#screen.depths)
end).
-record(visual,
{visualid, % visual id of this visual
class, % class of screen (monochrome, etc.)
red_mask, % mask values
green_mask,
blue_mask,
bits_per_rgb, % log base 2 of distinct color values
map_entries % color map entries
}).
-define(PRINT_VISUAL(V),
io:format("VISUAL:~n"
" visualid = ~p~n class = ~p~n"
" red_mask = ~p~n green_mask = ~p~n"
" blue_mask = ~p~n bits_per_rgb = ~p~n"
" map_entries = ~p~n",
[V#visual.visualid, V#visual.class,
V#visual.red_mask, V#visual.green_mask,
V#visual.blue_mask, V#visual.bits_per_rgb,
V#visual.map_entries])).
%% --------------
%% Set of Events
-define(EVENT_KEY_PRESS, 16#00000001).
-define(EVENT_KEY_RELEASE, 16#00000002).
-define(EVENT_BUTTON_PRESS, 16#00000004).
-define(EVENT_BUTTON_RELEASE, 16#00000008).
-define(EVENT_ENTER_WINDOW, 16#00000010).
-define(EVENT_LEAVE_WINDOW, 16#00000020).
-define(EVENT_POINTER_MOTION, 16#00000040).
-define(EVENT_POINTER_MOTION_HINT, 16#00000080).
-define(EVENT_BUTTON1_MOTION, 16#00000100).
-define(EVENT_BUTTON2_MOTION, 16#00000200).
-define(EVENT_BUTTON3_MOTION, 16#00000400).
-define(EVENT_BUTTON4_MOTION, 16#00000800).
-define(EVENT_BUTTON5_MOTION, 16#00001000).
-define(EVENT_BUTTON_MOTION, 16#00002000).
-define(EVENT_KEYMAP_STATE, 16#00004000).
-define(EVENT_EXPOSURE, 16#00008000).
-define(EVENT_VISIBILITY_CHANGE, 16#00010000).
-define(EVENT_STRUCTURE_NOTIFY, 16#00020000).
-define(EVENT_RESIZE_REDIRECT, 16#00040000).
-define(EVENT_SUBSTRUCTURE_NOTIFY, 16#00080000).
-define(EVENT_SUBSTRUCTURE_REDIRECT, 16#00100000).
-define(EVENT_FOCUS_CHANGE, 16#00200000).
-define(EVENT_PROPERTY_CHANGE, 16#00400000).
-define(EVENT_COLORMAP_CHANGE, 16#00800000).
-define(EVENT_OWNER_GRAB_BUTTON, 16#01000000).
%% font information
-record(fontInfo,
{min_bounds, % Min bounds (#charInfo)
max_bounds, % Max bounds (#charInfo)
min_byte2, % min char or byte2
max_byte2, % max char or byte2
default_char, %
draw_direction, %
min_byte1, % min byte1
max_byte1, % max byte1
all_chars_exist, % bool
font_ascent, % int
font_descent, % int
font_props, % {Atom,Property}
char_infos % [#charInfo]
}).
-record(charInfo,
{left_side_bearing,
right_side_bearing,
width,
ascent,
descent,
attributes
}).
%% $Xorg: cursorfont.h,v 1.4 2001/02/09 02:03:39 xorgcvs Exp $ */
%%
%% opyright 1987, 1998 The Open Group
%%
%% Permission to use, copy, modify, distribute, and sell this software and its
%% documentation for any purpose is hereby granted without fee, provided that
%% the above copyright notice appear in all copies and that both that
%% copyright notice and this permission notice appear in supporting
%% documentation.
%%
%% The above copyright notice and this permission notice shall be included
%% in all copies or substantial portions of the Software.
%%
%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
%% OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
%% MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
%% IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
%% OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
%% ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
%% OTHER DEALINGS IN THE SOFTWARE.
%%
%% Except as contained in this notice, the name of The Open Group shall
%% not be used in advertising or otherwise to promote the sale, use or
%% other dealings in this Software without prior written authorization
%% from The Open Group.
-define(XC_num_glyphs,154).
-define(XC_X_cursor,0).
-define(XC_arrow,2).
-define(XC_based_arrow_down,4).
-define(XC_based_arrow_up,6).
-define(XC_boat,8).
-define(XC_bogosity,10).
-define(XC_bottom_left_corner,12).
-define(XC_bottom_right_corner,14).
-define(XC_bottom_side,16).
-define(XC_bottom_tee,18).
-define(XC_box_spiral,20).
-define(XC_center_ptr,22).
-define(XC_circle,24).
-define(XC_clock,26).
-define(XC_coffee_mug,28).
-define(XC_cross,30).
-define(XC_cross_reverse,32).
-define(XC_crosshair,34).
-define(XC_diamond_cross,36).
-define(XC_dot,38).
-define(XC_dotbox,40).
-define(XC_double_arrow,42).
-define(XC_draft_large,44).
-define(XC_draft_small,46).
-define(XC_draped_box,48).
-define(XC_exchange,50).
-define(XC_fleur,52).
-define(XC_gobbler,54).
-define(XC_gumby,56).
-define(XC_hand1,58).
-define(XC_hand2,60).
-define(XC_heart,62).
-define(XC_icon,64).
-define(XC_iron_cross,66).
-define(XC_left_ptr,68).
-define(XC_left_side,70).
-define(XC_left_tee,72).
-define(XC_leftbutton,74).
-define(XC_ll_angle,76).
-define(XC_lr_angle,78).
-define(XC_man,80).
-define(XC_middlebutton,82).
-define(XC_mouse,84).
-define(XC_pencil,86).
-define(XC_pirate,88).
-define(XC_plus,90).
-define(XC_question_arrow,92).
-define(XC_right_ptr,94).
-define(XC_right_side,96).
-define(XC_right_tee,98).
-define(XC_rightbutton,100).
-define(XC_rtl_logo,102).
-define(XC_sailboat,104).
-define(XC_sb_down_arrow,106).
-define(XC_sb_h_double_arrow,108).
-define(XC_sb_left_arrow,110).
-define(XC_sb_right_arrow,112).
-define(XC_sb_up_arrow,114).
-define(XC_sb_v_double_arrow,116).
-define(XC_shuttle,118).
-define(XC_sizing,120).
-define(XC_spider,122).
-define(XC_spraycan,124).
-define(XC_star,126).
-define(XC_target,128).
-define(XC_tcross,130).
-define(XC_top_left_arrow,132).
-define(XC_top_left_corner,134).
-define(XC_top_right_corner,136).
-define(XC_top_side,138).
-define(XC_top_tee,140).
-define(XC_trek,142).
-define(XC_ul_angle,144).
-define(XC_umbrella,146).
-define(XC_ur_angle,148).
-define(XC_watch,150).
-define(XC_xterm,152).
%% derived from /usr/X11R6/lib/X11/rgb.txt
-define(snow,16#FFFAFA).
-define(GhostWhite,16#F8F8FF).
-define(WhiteSmoke,16#F5F5F5).
-define(gainsboro,16#DCDCDC).
-define(FloralWhite,16#FFFAF0).
-define(OldLace,16#FDF5E6).
-define(linen,16#FAF0E6).
-define(AntiqueWhite,16#FAEBD7).
-define(PapayaWhip,16#FFEFD5).
-define(BlanchedAlmond,16#FFEBCD).
-define(bisque,16#FFE4C4).
-define(PeachPuff,16#FFDAB9).
-define(NavajoWhite,16#FFDEAD).
-define(moccasin,16#FFE4B5).
-define(cornsilk,16#FFF8DC).
-define(ivory,16#FFFFF0).
-define(LemonChiffon,16#FFFACD).
-define(seashell,16#FFF5EE).
-define(honeydew,16#F0FFF0).
-define(MintCream,16#F5FFFA).
-define(azure,16#F0FFFF).
-define(AliceBlue,16#F0F8FF).
-define(lavender,16#E6E6FA).
-define(LavenderBlush,16#FFF0F5).
-define(MistyRose,16#FFE4E1).
-define(white,16#FFFFFF).
-define(black,16#0).
-define(DarkSlateGray,16#2F4F4F).
-define(DarkSlateGrey,16#2F4F4F).
-define(DimGray,16#696969).
-define(DimGrey,16#696969).
-define(SlateGray,16#708090).
-define(SlateGrey,16#708090).
-define(LightSlateGray,16#778899).
-define(LightSlateGrey,16#778899).
-define(gray,16#BEBEBE).
-define(grey,16#BEBEBE).
-define(LightGrey,16#D3D3D3).
-define(LightGray,16#D3D3D3).
-define(MidnightBlue,16#191970).
-define(navy,16#80).
-define(NavyBlue,16#80).
-define(CornflowerBlue,16#6495ED).
-define(DarkSlateBlue,16#483D8B).
-define(SlateBlue,16#6A5ACD).
-define(MediumSlateBlue,16#7B68EE).
-define(LightSlateBlue,16#8470FF).
-define(MediumBlue,16#CD).
-define(RoyalBlue,16#4169E1).
-define(blue,16#FF).
-define(DodgerBlue,16#1E90FF).
-define(DeepSkyBlue,16#BFFF).
-define(SkyBlue,16#87CEEB).
-define(LightSkyBlue,16#87CEFA).
-define(SteelBlue,16#4682B4).
-define(LightSteelBlue,16#B0C4DE).
-define(LightBlue,16#ADD8E6).
-define(PowderBlue,16#B0E0E6).
-define(PaleTurquoise,16#AFEEEE).
-define(DarkTurquoise,16#CED1).
-define(MediumTurquoise,16#48D1CC).
-define(turquoise,16#40E0D0).
-define(cyan,16#FFFF).
-define(LightCyan,16#E0FFFF).
-define(CadetBlue,16#5F9EA0).
-define(MediumAquamarine,16#66CDAA).
-define(aquamarine,16#7FFFD4).
-define(DarkGreen,16#6400).
-define(DarkOliveGreen,16#556B2F).
-define(DarkSeaGreen,16#8FBC8F).
-define(SeaGreen,16#2E8B57).
-define(MediumSeaGreen,16#3CB371).
-define(LightSeaGreen,16#20B2AA).
-define(PaleGreen,16#98FB98).
-define(SpringGreen,16#FF7F).
-define(LawnGreen,16#7CFC00).
-define(green,16#FF00).
-define(chartreuse,16#7FFF00).
-define(MediumSpringGreen,16#FA9A).
-define(GreenYellow,16#ADFF2F).
-define(LimeGreen,16#32CD32).
-define(YellowGreen,16#9ACD32).
-define(ForestGreen,16#228B22).
-define(OliveDrab,16#6B8E23).
-define(DarkKhaki,16#BDB76B).
-define(khaki,16#F0E68C).
-define(PaleGoldenrod,16#EEE8AA).
-define(LightGoldenrodYellow,16#FAFAD2).
-define(LightYellow,16#FFFFE0).
-define(yellow,16#FFFF00).
-define(gold,16#FFD700).
-define(LightGoldenrod,16#EEDD82).
-define(goldenrod,16#DAA520).
-define(DarkGoldenrod,16#B8860B).
-define(RosyBrown,16#BC8F8F).
-define(IndianRed,16#CD5C5C).
-define(SaddleBrown,16#8B4513).
-define(sienna,16#A0522D).
-define(peru,16#CD853F).
-define(burlywood,16#DEB887).
-define(beige,16#F5F5DC).
-define(wheat,16#F5DEB3).
-define(SandyBrown,16#F4A460).
-define(tan,16#D2B48C).
-define(chocolate,16#D2691E).
-define(firebrick,16#B22222).
-define(brown,16#A52A2A).
-define(DarkSalmon,16#E9967A).
-define(salmon,16#FA8072).
-define(LightSalmon,16#FFA07A).
-define(orange,16#FFA500).
-define(DarkOrange,16#FF8C00).
-define(coral,16#FF7F50).
-define(LightCoral,16#F08080).
-define(tomato,16#FF6347).
-define(OrangeRed,16#FF4500).
-define(red,16#FF0000).
-define(HotPink,16#FF69B4).
-define(DeepPink,16#FF1493).
-define(pink,16#FFC0CB).
-define(LightPink,16#FFB6C1).
-define(PaleVioletRed,16#DB7093).
-define(maroon,16#B03060).
-define(MediumVioletRed,16#C71585).
-define(VioletRed,16#D02090).
-define(magenta,16#FF00FF).
-define(violet,16#EE82EE).
-define(plum,16#DDA0DD).
-define(orchid,16#DA70D6).
-define(MediumOrchid,16#BA55D3).
-define(DarkOrchid,16#9932CC).
-define(DarkViolet,16#9400D3).
-define(BlueViolet,16#8A2BE2).
-define(purple,16#A020F0).
-define(MediumPurple,16#9370DB).
-define(thistle,16#D8BFD8).
-define(snow1,16#FFFAFA).
-define(snow2,16#EEE9E9).
-define(snow3,16#CDC9C9).
-define(snow4,16#8B8989).
-define(seashell1,16#FFF5EE).
-define(seashell2,16#EEE5DE).
-define(seashell3,16#CDC5BF).
-define(seashell4,16#8B8682).
-define(AntiqueWhite1,16#FFEFDB).
-define(AntiqueWhite2,16#EEDFCC).
-define(AntiqueWhite3,16#CDC0B0).
-define(AntiqueWhite4,16#8B8378).
-define(bisque1,16#FFE4C4).
-define(bisque2,16#EED5B7).
-define(bisque3,16#CDB79E).
-define(bisque4,16#8B7D6B).
-define(PeachPuff1,16#FFDAB9).
-define(PeachPuff2,16#EECBAD).
-define(PeachPuff3,16#CDAF95).
-define(PeachPuff4,16#8B7765).
-define(NavajoWhite1,16#FFDEAD).
-define(NavajoWhite2,16#EECFA1).
-define(NavajoWhite3,16#CDB38B).
-define(NavajoWhite4,16#8B795E).
-define(LemonChiffon1,16#FFFACD).
-define(LemonChiffon2,16#EEE9BF).
-define(LemonChiffon3,16#CDC9A5).
-define(LemonChiffon4,16#8B8970).
-define(cornsilk1,16#FFF8DC).
-define(cornsilk2,16#EEE8CD).
-define(cornsilk3,16#CDC8B1).
-define(cornsilk4,16#8B8878).
-define(ivory1,16#FFFFF0).
-define(ivory2,16#EEEEE0).
-define(ivory3,16#CDCDC1).
-define(ivory4,16#8B8B83).
-define(honeydew1,16#F0FFF0).
-define(honeydew2,16#E0EEE0).
-define(honeydew3,16#C1CDC1).
-define(honeydew4,16#838B83).
-define(LavenderBlush1,16#FFF0F5).
-define(LavenderBlush2,16#EEE0E5).
-define(LavenderBlush3,16#CDC1C5).
-define(LavenderBlush4,16#8B8386).
-define(MistyRose1,16#FFE4E1).
-define(MistyRose2,16#EED5D2).
-define(MistyRose3,16#CDB7B5).
-define(MistyRose4,16#8B7D7B).
-define(azure1,16#F0FFFF).
-define(azure2,16#E0EEEE).
-define(azure3,16#C1CDCD).
-define(azure4,16#838B8B).
-define(SlateBlue1,16#836FFF).
-define(SlateBlue2,16#7A67EE).
-define(SlateBlue3,16#6959CD).
-define(SlateBlue4,16#473C8B).
-define(RoyalBlue1,16#4876FF).
-define(RoyalBlue2,16#436EEE).
-define(RoyalBlue3,16#3A5FCD).
-define(RoyalBlue4,16#27408B).
-define(blue1,16#FF).
-define(blue2,16#EE).
-define(blue3,16#CD).
-define(blue4,16#8B).
-define(DodgerBlue1,16#1E90FF).
-define(DodgerBlue2,16#1C86EE).
-define(DodgerBlue3,16#1874CD).
-define(DodgerBlue4,16#104E8B).
-define(SteelBlue1,16#63B8FF).
-define(SteelBlue2,16#5CACEE).
-define(SteelBlue3,16#4F94CD).
-define(SteelBlue4,16#36648B).
-define(DeepSkyBlue1,16#BFFF).
-define(DeepSkyBlue2,16#B2EE).
-define(DeepSkyBlue3,16#9ACD).
-define(DeepSkyBlue4,16#688B).
-define(SkyBlue1,16#87CEFF).
-define(SkyBlue2,16#7EC0EE).
-define(SkyBlue3,16#6CA6CD).
-define(SkyBlue4,16#4A708B).
-define(LightSkyBlue1,16#B0E2FF).
-define(LightSkyBlue2,16#A4D3EE).
-define(LightSkyBlue3,16#8DB6CD).
-define(LightSkyBlue4,16#607B8B).
-define(SlateGray1,16#C6E2FF).
-define(SlateGray2,16#B9D3EE).
-define(SlateGray3,16#9FB6CD).
-define(SlateGray4,16#6C7B8B).
-define(LightSteelBlue1,16#CAE1FF).
-define(LightSteelBlue2,16#BCD2EE).
-define(LightSteelBlue3,16#A2B5CD).
-define(LightSteelBlue4,16#6E7B8B).
-define(LightBlue1,16#BFEFFF).
-define(LightBlue2,16#B2DFEE).
-define(LightBlue3,16#9AC0CD).
-define(LightBlue4,16#68838B).
-define(LightCyan1,16#E0FFFF).
-define(LightCyan2,16#D1EEEE).
-define(LightCyan3,16#B4CDCD).
-define(LightCyan4,16#7A8B8B).
-define(PaleTurquoise1,16#BBFFFF).
-define(PaleTurquoise2,16#AEEEEE).
-define(PaleTurquoise3,16#96CDCD).
-define(PaleTurquoise4,16#668B8B).
-define(CadetBlue1,16#98F5FF).
-define(CadetBlue2,16#8EE5EE).
-define(CadetBlue3,16#7AC5CD).
-define(CadetBlue4,16#53868B).
-define(turquoise1,16#F5FF).
-define(turquoise2,16#E5EE).
-define(turquoise3,16#C5CD).
-define(turquoise4,16#868B).
-define(cyan1,16#FFFF).
-define(cyan2,16#EEEE).
-define(cyan3,16#CDCD).
-define(cyan4,16#8B8B).
-define(DarkSlateGray1,16#97FFFF).
-define(DarkSlateGray2,16#8DEEEE).
-define(DarkSlateGray3,16#79CDCD).
-define(DarkSlateGray4,16#528B8B).
-define(aquamarine1,16#7FFFD4).
-define(aquamarine2,16#76EEC6).
-define(aquamarine3,16#66CDAA).
-define(aquamarine4,16#458B74).
-define(DarkSeaGreen1,16#C1FFC1).
-define(DarkSeaGreen2,16#B4EEB4).
-define(DarkSeaGreen3,16#9BCD9B).
-define(DarkSeaGreen4,16#698B69).
-define(SeaGreen1,16#54FF9F).
-define(SeaGreen2,16#4EEE94).
-define(SeaGreen3,16#43CD80).
-define(SeaGreen4,16#2E8B57).
-define(PaleGreen1,16#9AFF9A).
-define(PaleGreen2,16#90EE90).
-define(PaleGreen3,16#7CCD7C).
-define(PaleGreen4,16#548B54).
-define(SpringGreen1,16#FF7F).
-define(SpringGreen2,16#EE76).
-define(SpringGreen3,16#CD66).
-define(SpringGreen4,16#8B45).
-define(green1,16#FF00).
-define(green2,16#EE00).
-define(green3,16#CD00).
-define(green4,16#8B00).
-define(chartreuse1,16#7FFF00).
-define(chartreuse2,16#76EE00).
-define(chartreuse3,16#66CD00).
-define(chartreuse4,16#458B00).
-define(OliveDrab1,16#C0FF3E).
-define(OliveDrab2,16#B3EE3A).
-define(OliveDrab3,16#9ACD32).
-define(OliveDrab4,16#698B22).
-define(DarkOliveGreen1,16#CAFF70).
-define(DarkOliveGreen2,16#BCEE68).
-define(DarkOliveGreen3,16#A2CD5A).
-define(DarkOliveGreen4,16#6E8B3D).
-define(khaki1,16#FFF68F).
-define(khaki2,16#EEE685).
-define(khaki3,16#CDC673).
-define(khaki4,16#8B864E).
-define(LightGoldenrod1,16#FFEC8B).
-define(LightGoldenrod2,16#EEDC82).
-define(LightGoldenrod3,16#CDBE70).
-define(LightGoldenrod4,16#8B814C).
-define(LightYellow1,16#FFFFE0).
-define(LightYellow2,16#EEEED1).
-define(LightYellow3,16#CDCDB4).
-define(LightYellow4,16#8B8B7A).
-define(yellow1,16#FFFF00).
-define(yellow2,16#EEEE00).
-define(yellow3,16#CDCD00).
-define(yellow4,16#8B8B00).
-define(gold1,16#FFD700).
-define(gold2,16#EEC900).
-define(gold3,16#CDAD00).
-define(gold4,16#8B7500).
-define(goldenrod1,16#FFC125).
-define(goldenrod2,16#EEB422).
-define(goldenrod3,16#CD9B1D).
-define(goldenrod4,16#8B6914).
-define(DarkGoldenrod1,16#FFB90F).
-define(DarkGoldenrod2,16#EEAD0E).
-define(DarkGoldenrod3,16#CD950C).
-define(DarkGoldenrod4,16#8B6508).
-define(RosyBrown1,16#FFC1C1).
-define(RosyBrown2,16#EEB4B4).
-define(RosyBrown3,16#CD9B9B).
-define(RosyBrown4,16#8B6969).
-define(IndianRed1,16#FF6A6A).
-define(IndianRed2,16#EE6363).
-define(IndianRed3,16#CD5555).
-define(IndianRed4,16#8B3A3A).
-define(sienna1,16#FF8247).
-define(sienna2,16#EE7942).
-define(sienna3,16#CD6839).
-define(sienna4,16#8B4726).
-define(burlywood1,16#FFD39B).
-define(burlywood2,16#EEC591).
-define(burlywood3,16#CDAA7D).
-define(burlywood4,16#8B7355).
-define(wheat1,16#FFE7BA).
-define(wheat2,16#EED8AE).
-define(wheat3,16#CDBA96).
-define(wheat4,16#8B7E66).
-define(tan1,16#FFA54F).
-define(tan2,16#EE9A49).
-define(tan3,16#CD853F).
-define(tan4,16#8B5A2B).
-define(chocolate1,16#FF7F24).
-define(chocolate2,16#EE7621).
-define(chocolate3,16#CD661D).
-define(chocolate4,16#8B4513).
-define(firebrick1,16#FF3030).
-define(firebrick2,16#EE2C2C).
-define(firebrick3,16#CD2626).
-define(firebrick4,16#8B1A1A).
-define(brown1,16#FF4040).
-define(brown2,16#EE3B3B).
-define(brown3,16#CD3333).
-define(brown4,16#8B2323).
-define(salmon1,16#FF8C69).
-define(salmon2,16#EE8262).
-define(salmon3,16#CD7054).
-define(salmon4,16#8B4C39).
-define(LightSalmon1,16#FFA07A).
-define(LightSalmon2,16#EE9572).
-define(LightSalmon3,16#CD8162).
-define(LightSalmon4,16#8B5742).
-define(orange1,16#FFA500).
-define(orange2,16#EE9A00).
-define(orange3,16#CD8500).
-define(orange4,16#8B5A00).
-define(DarkOrange1,16#FF7F00).
-define(DarkOrange2,16#EE7600).
-define(DarkOrange3,16#CD6600).
-define(DarkOrange4,16#8B4500).
-define(coral1,16#FF7256).
-define(coral2,16#EE6A50).
-define(coral3,16#CD5B45).
-define(coral4,16#8B3E2F).
-define(tomato1,16#FF6347).
-define(tomato2,16#EE5C42).
-define(tomato3,16#CD4F39).
-define(tomato4,16#8B3626).
-define(OrangeRed1,16#FF4500).
-define(OrangeRed2,16#EE4000).
-define(OrangeRed3,16#CD3700).
-define(OrangeRed4,16#8B2500).
-define(red1,16#FF0000).
-define(red2,16#EE0000).
-define(red3,16#CD0000).
-define(red4,16#8B0000).
-define(DeepPink1,16#FF1493).
-define(DeepPink2,16#EE1289).
-define(DeepPink3,16#CD1076).
-define(DeepPink4,16#8B0A50).
-define(HotPink1,16#FF6EB4).
-define(HotPink2,16#EE6AA7).
-define(HotPink3,16#CD6090).
-define(HotPink4,16#8B3A62).
-define(pink1,16#FFB5C5).
-define(pink2,16#EEA9B8).
-define(pink3,16#CD919E).
-define(pink4,16#8B636C).
-define(LightPink1,16#FFAEB9).
-define(LightPink2,16#EEA2AD).
-define(LightPink3,16#CD8C95).
-define(LightPink4,16#8B5F65).
-define(PaleVioletRed1,16#FF82AB).
-define(PaleVioletRed2,16#EE799F).
-define(PaleVioletRed3,16#CD6889).
-define(PaleVioletRed4,16#8B475D).
-define(maroon1,16#FF34B3).
-define(maroon2,16#EE30A7).
-define(maroon3,16#CD2990).
-define(maroon4,16#8B1C62).
-define(VioletRed1,16#FF3E96).
-define(VioletRed2,16#EE3A8C).
-define(VioletRed3,16#CD3278).
-define(VioletRed4,16#8B2252).
-define(magenta1,16#FF00FF).
-define(magenta2,16#EE00EE).
-define(magenta3,16#CD00CD).
-define(magenta4,16#8B008B).
-define(orchid1,16#FF83FA).
-define(orchid2,16#EE7AE9).
-define(orchid3,16#CD69C9).
-define(orchid4,16#8B4789).
-define(plum1,16#FFBBFF).
-define(plum2,16#EEAEEE).
-define(plum3,16#CD96CD).
-define(plum4,16#8B668B).
-define(MediumOrchid1,16#E066FF).
-define(MediumOrchid2,16#D15FEE).
-define(MediumOrchid3,16#B452CD).
-define(MediumOrchid4,16#7A378B).
-define(DarkOrchid1,16#BF3EFF).
-define(DarkOrchid2,16#B23AEE).
-define(DarkOrchid3,16#9A32CD).
-define(DarkOrchid4,16#68228B).
-define(purple1,16#9B30FF).
-define(purple2,16#912CEE).
-define(purple3,16#7D26CD).
-define(purple4,16#551A8B).
-define(MediumPurple1,16#AB82FF).
-define(MediumPurple2,16#9F79EE).
-define(MediumPurple3,16#8968CD).
-define(MediumPurple4,16#5D478B).
-define(thistle1,16#FFE1FF).
-define(thistle2,16#EED2EE).
-define(thistle3,16#CDB5CD).
-define(thistle4,16#8B7B8B).
-define(gray0,16#0).
-define(grey0,16#0).
-define(gray1,16#30303).
-define(grey1,16#30303).
-define(gray2,16#50505).
-define(grey2,16#50505).
-define(gray3,16#80808).
-define(grey3,16#80808).
-define(gray4,16#A0A0A).
-define(grey4,16#A0A0A).
-define(gray5,16#D0D0D).
-define(grey5,16#D0D0D).
-define(gray6,16#F0F0F).
-define(grey6,16#F0F0F).
-define(gray7,16#121212).
-define(grey7,16#121212).
-define(gray8,16#141414).
-define(grey8,16#141414).
-define(gray9,16#171717).
-define(grey9,16#171717).
-define(gray10,16#1A1A1A).
-define(grey10,16#1A1A1A).
-define(gray11,16#1C1C1C).
-define(grey11,16#1C1C1C).
-define(gray12,16#1F1F1F).
-define(grey12,16#1F1F1F).
-define(gray13,16#212121).
-define(grey13,16#212121).
-define(gray14,16#242424).
-define(grey14,16#242424).
-define(gray15,16#262626).
-define(grey15,16#262626).
-define(gray16,16#292929).
-define(grey16,16#292929).
-define(gray17,16#2B2B2B).
-define(grey17,16#2B2B2B).
-define(gray18,16#2E2E2E).
-define(grey18,16#2E2E2E).
-define(gray19,16#303030).
-define(grey19,16#303030).
-define(gray20,16#333333).
-define(grey20,16#333333).
-define(gray21,16#363636).
-define(grey21,16#363636).
-define(gray22,16#383838).
-define(grey22,16#383838).
-define(gray23,16#3B3B3B).
-define(grey23,16#3B3B3B).
-define(gray24,16#3D3D3D).
-define(grey24,16#3D3D3D).
-define(gray25,16#404040).
-define(grey25,16#404040).
-define(gray26,16#424242).
-define(grey26,16#424242).
-define(gray27,16#454545).
-define(grey27,16#454545).
-define(gray28,16#474747).
-define(grey28,16#474747).
-define(gray29,16#4A4A4A).
-define(grey29,16#4A4A4A).
-define(gray30,16#4D4D4D).
-define(grey30,16#4D4D4D).
-define(gray31,16#4F4F4F).
-define(grey31,16#4F4F4F).
-define(gray32,16#525252).
-define(grey32,16#525252).
-define(gray33,16#545454).
-define(grey33,16#545454).
-define(gray34,16#575757).
-define(grey34,16#575757).
-define(gray35,16#595959).
-define(grey35,16#595959).
-define(gray36,16#5C5C5C).
-define(grey36,16#5C5C5C).
-define(gray37,16#5E5E5E).
-define(grey37,16#5E5E5E).
-define(gray38,16#616161).
-define(grey38,16#616161).
-define(gray39,16#636363).
-define(grey39,16#636363).
-define(gray40,16#666666).
-define(grey40,16#666666).
-define(gray41,16#696969).
-define(grey41,16#696969).
-define(gray42,16#6B6B6B).
-define(grey42,16#6B6B6B).
-define(gray43,16#6E6E6E).
-define(grey43,16#6E6E6E).
-define(gray44,16#707070).
-define(grey44,16#707070).
-define(gray45,16#737373).
-define(grey45,16#737373).
-define(gray46,16#757575).
-define(grey46,16#757575).
-define(gray47,16#787878).
-define(grey47,16#787878).
-define(gray48,16#7A7A7A).
-define(grey48,16#7A7A7A).
-define(gray49,16#7D7D7D).
-define(grey49,16#7D7D7D).
-define(gray50,16#7F7F7F).
-define(grey50,16#7F7F7F).
-define(gray51,16#828282).
-define(grey51,16#828282).
-define(gray52,16#858585).
-define(grey52,16#858585).
-define(gray53,16#878787).
-define(grey53,16#878787).
-define(gray54,16#8A8A8A).
-define(grey54,16#8A8A8A).
-define(gray55,16#8C8C8C).
-define(grey55,16#8C8C8C).
-define(gray56,16#8F8F8F).
-define(grey56,16#8F8F8F).
-define(gray57,16#919191).
-define(grey57,16#919191).
-define(gray58,16#949494).
-define(grey58,16#949494).
-define(gray59,16#969696).
-define(grey59,16#969696).
-define(gray60,16#999999).
-define(grey60,16#999999).
-define(gray61,16#9C9C9C).
-define(grey61,16#9C9C9C).
-define(gray62,16#9E9E9E).
-define(grey62,16#9E9E9E).
-define(gray63,16#A1A1A1).
-define(grey63,16#A1A1A1).
-define(gray64,16#A3A3A3).
-define(grey64,16#A3A3A3).
-define(gray65,16#A6A6A6).
-define(grey65,16#A6A6A6).
-define(gray66,16#A8A8A8).
-define(grey66,16#A8A8A8).
-define(gray67,16#ABABAB).
-define(grey67,16#ABABAB).
-define(gray68,16#ADADAD).
-define(grey68,16#ADADAD).
-define(gray69,16#B0B0B0).
-define(grey69,16#B0B0B0).
-define(gray70,16#B3B3B3).
-define(grey70,16#B3B3B3).
-define(gray71,16#B5B5B5).
-define(grey71,16#B5B5B5).
-define(gray72,16#B8B8B8).
-define(grey72,16#B8B8B8).
-define(gray73,16#BABABA).
-define(grey73,16#BABABA).
-define(gray74,16#BDBDBD).
-define(grey74,16#BDBDBD).
-define(gray75,16#BFBFBF).
-define(grey75,16#BFBFBF).
-define(gray76,16#C2C2C2).
-define(grey76,16#C2C2C2).
-define(gray77,16#C4C4C4).
-define(grey77,16#C4C4C4).
-define(gray78,16#C7C7C7).
-define(grey78,16#C7C7C7).
-define(gray79,16#C9C9C9).
-define(grey79,16#C9C9C9).
-define(gray80,16#CCCCCC).
-define(grey80,16#CCCCCC).
-define(gray81,16#CFCFCF).
-define(grey81,16#CFCFCF).
-define(gray82,16#D1D1D1).
-define(grey82,16#D1D1D1).
-define(gray83,16#D4D4D4).
-define(grey83,16#D4D4D4).
-define(gray84,16#D6D6D6).
-define(grey84,16#D6D6D6).
-define(gray85,16#D9D9D9).
-define(grey85,16#D9D9D9).
-define(gray86,16#DBDBDB).
-define(grey86,16#DBDBDB).
-define(gray87,16#DEDEDE).
-define(grey87,16#DEDEDE).
-define(gray88,16#E0E0E0).
-define(grey88,16#E0E0E0).
-define(gray89,16#E3E3E3).
-define(grey89,16#E3E3E3).
-define(gray90,16#E5E5E5).
-define(grey90,16#E5E5E5).
-define(gray91,16#E8E8E8).
-define(grey91,16#E8E8E8).
-define(gray92,16#EBEBEB).
-define(grey92,16#EBEBEB).
-define(gray93,16#EDEDED).
-define(grey93,16#EDEDED).
-define(gray94,16#F0F0F0).
-define(grey94,16#F0F0F0).
-define(gray95,16#F2F2F2).
-define(grey95,16#F2F2F2).
-define(gray96,16#F5F5F5).
-define(grey96,16#F5F5F5).
-define(gray97,16#F7F7F7).
-define(grey97,16#F7F7F7).
-define(gray98,16#FAFAFA).
-define(grey98,16#FAFAFA).
-define(gray99,16#FCFCFC).
-define(grey99,16#FCFCFC).
-define(gray100,16#FFFFFF).
-define(grey100,16#FFFFFF).
-define(DarkGrey,16#A9A9A9).
-define(DarkGray,16#A9A9A9).
-define(DarkBlue,16#8B).
-define(DarkCyan,16#8B8B).
-define(DarkMagenta,16#8B008B).
-define(DarkRed,16#8B0000).
-define(LightGreen,16#90EE90).