1134 lines
49 KiB
C++
1134 lines
49 KiB
C++
/************************************************************************
|
||
* fc.h - Implements global constants and enumerations *
|
||
* *
|
||
* This file is part of the Final Cut widget toolkit *
|
||
* *
|
||
* Copyright 2015-2017 Markus Gans *
|
||
* *
|
||
* The Final Cut is free software; you can redistribute it and/or modify *
|
||
* it under the terms of the GNU General Public License as published by *
|
||
* the Free Software Foundation; either version 3 of the License, or *
|
||
* (at your option) any later version. *
|
||
* *
|
||
* The Final Cut is distributed in the hope that it will be useful, *
|
||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||
* GNU General Public License for more details. *
|
||
* *
|
||
* You should have received a copy of the GNU General Public License *
|
||
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
|
||
************************************************************************/
|
||
|
||
/* Standalone class
|
||
* ════════════════
|
||
*
|
||
* ▕▔▔▔▔▔▔▔▔▏
|
||
* ▕ fc ▏
|
||
* ▕▁▁▁▁▁▁▁▁▏
|
||
*/
|
||
|
||
#ifndef FC_H
|
||
#define FC_H
|
||
|
||
#if !defined (USE_FINAL_H) && !defined (COMPILE_FINAL_CUT)
|
||
#error "Only <final/final.h> can be included directly."
|
||
#endif
|
||
|
||
#include "final/fstring.h"
|
||
|
||
// ascii sequences
|
||
#define ESC "\033" // Escape
|
||
#define CSI ESC "[" // Control sequence introducer (7-bit)
|
||
#define ENQ "\005" // Enquiry
|
||
#define BEL "\007" // Bell (ctrl‐g)
|
||
#define BS "\010" // Backspace
|
||
#define SO "\016" // Shift out (alternative character set)
|
||
#define SI "\017" // Shift in (regular character set)
|
||
#define OSC ESC "]" // Operating system command (7-bit)
|
||
#define SECDA ESC "[>c" // Secondary Device Attributes
|
||
|
||
|
||
//----------------------------------------------------------------------
|
||
// class fc
|
||
//----------------------------------------------------------------------
|
||
|
||
#pragma pack(push)
|
||
#pragma pack(1)
|
||
|
||
class fc
|
||
{
|
||
public:
|
||
// Event types
|
||
enum events
|
||
{
|
||
None_Event, // invalid event
|
||
KeyPress_Event, // key pressed
|
||
KeyUp_Event, // key released
|
||
KeyDown_Event, // key pressed
|
||
MouseDown_Event, // mouse button pressed
|
||
MouseUp_Event, // mouse button released
|
||
MouseDoubleClick_Event, // mouse button double click
|
||
MouseWheel_Event, // mouse wheel rolled
|
||
MouseMove_Event, // mouse move
|
||
FocusIn_Event, // focus in
|
||
FocusOut_Event, // focus out
|
||
ChildFocusIn_Event, // child focus in
|
||
ChildFocusOut_Event, // child focus out
|
||
WindowActive_Event, // activate window
|
||
WindowInactive_Event, // deactivate window
|
||
WindowRaised_Event, // raise window
|
||
WindowLowered_Event, // lower window
|
||
Accelerator_Event, // keyboard accelerator
|
||
Resize_Event, // terminal resize
|
||
Show_Event, // widget is shown
|
||
Hide_Event, // widget is hidden
|
||
Close_Event, // widget close
|
||
Timer_Event // timer event occur
|
||
};
|
||
|
||
// Properties of a widget
|
||
enum widget_flags
|
||
{
|
||
shadow = 0x00000001,
|
||
trans_shadow = 0x00000002,
|
||
active = 0x00000004,
|
||
focus = 0x00000008,
|
||
scrollable = 0x00000010,
|
||
resizeable = 0x00000020,
|
||
modal = 0x00000040,
|
||
window_widget = 0x00000080,
|
||
dialog_widget = 0x00000100,
|
||
menu_widget = 0x00000200,
|
||
always_on_top = 0x00000400,
|
||
flat = 0x00000800,
|
||
no_underline = 0x00001000
|
||
};
|
||
|
||
// Internal character encoding
|
||
enum encoding
|
||
{
|
||
UTF8,
|
||
VT100,
|
||
PC,
|
||
ASCII,
|
||
NUM_OF_ENCODINGS // number of items
|
||
};
|
||
|
||
// VT100 line graphic keys
|
||
enum vt100_keys
|
||
{
|
||
vt100_key_rarrow = '+', // ► - arrow pointing right
|
||
vt100_key_larrow = ',', // ◄ - arrow pointing left
|
||
vt100_key_uarrow = '-', // ▲ - arrow pointing up
|
||
vt100_key_darrow = '.', // ▼ - arrow pointing down
|
||
vt100_key_block = '0', // █ - solid square block
|
||
vt100_key_nsup = 'I', // ⁿ - superscript letter n
|
||
vt100_key_blackrect = '_', // ▮ - black vertical rectangle
|
||
vt100_key_diamond = '`', // ◆ - diamond
|
||
vt100_key_ckboard = 'a', // ▒ - checker board (stipple)
|
||
vt100_key_htab = 'b', // ␉ - horizontal tab symbol
|
||
vt100_key_ff = 'c', // ␌ - form feed symbol
|
||
vt100_key_cr = 'd', // ␍ - carriage return symbol
|
||
vt100_key_lf = 'e', // ␊ - line feed symbol
|
||
vt100_key_degree = 'f', // ° - degree symbol
|
||
vt100_key_plminus = 'g', // ± - plus/minus
|
||
vt100_key_board = 'h', //  - board of squares
|
||
vt100_key_lantern = 'i', // ␋ - lantern symbol
|
||
vt100_key_lrcorner = 'j', // ┘ - lower right corner
|
||
vt100_key_urcorner = 'k', // ┐ - upper right corner
|
||
vt100_key_ulcorner = 'l', // ┌ - upper left corner
|
||
vt100_key_llcorner = 'm', // └ - lower left corner
|
||
vt100_key_plus = 'n', // ┼ - large plus or crossover
|
||
vt100_key_s1 = 'o', // ⎺ - scan line 1
|
||
vt100_key_s3 = 'p', // ⎻ - scan line 3
|
||
vt100_key_hline = 'q', // ─ - horizontal line
|
||
vt100_key_s7 = 'r', // ⎼ - scan line 7
|
||
vt100_key_s9 = 's', // ⎽ - scan line 9
|
||
vt100_key_ltee = 't', // ├ - tee pointing right
|
||
vt100_key_rtee = 'u', // ┤ - tee pointing left
|
||
vt100_key_btee = 'v', // ┴ - tee pointing up
|
||
vt100_key_ttee = 'w', // ┬ - tee pointing down
|
||
vt100_key_vline = 'x', // │ - vertical line
|
||
vt100_key_lequal = 'y', // ≤ - less-than-or-equal-to
|
||
vt100_key_gequal = 'z', // ≥ - greater-than-or-equal-to
|
||
vt100_key_pi = '{', // π - greek pi
|
||
vt100_key_nequal = '|', // ≠ - not-equal
|
||
vt100_key_sterling = '}', // £ - UK pound sign
|
||
vt100_key_bullet = '~' // · - bullet
|
||
};
|
||
|
||
// Unicode characters
|
||
enum SpecialCharacter
|
||
{
|
||
Euro = 0x20ac, // €
|
||
Pound = 0x00a3, // £
|
||
Pi = 0x03c0, // π
|
||
SuperscriptLatinSmallLetterN = 0x207F, // ⁿ
|
||
GreaterThanOrEqualTo = 0x2265, // ≥
|
||
LessThanOrEqualTo = 0x2264, // ≤
|
||
NotEqualTo = 0x2260, // ≠
|
||
PlusMinus = 0x00b1, // ±
|
||
Times = 0x00d7, // ×
|
||
Degree = 0x00b0, // °
|
||
BlackVerticalRectangle = 0x25ae, // ▮ (1)
|
||
SmallBullet = 0x00b7, // ·
|
||
BlackDiamondSuit = 0x2666, // ◆
|
||
SymbolForNewline = 0x2424, //  (1)
|
||
SymbolForVerticalTab = 0x240b, // ␋ (1)
|
||
SymbolForHorizontalTab = 0x2409, // ␉ (1)
|
||
SymbolForFormFeed = 0x240c, // ␌ (1)
|
||
SymbolForCarriageReturn = 0x240d, // ␍ (1)
|
||
SymbolForLineFeed = 0x240a, // ␊ (1)
|
||
MediumShade = 0x2592, // ▒
|
||
BoxDrawingsHorizontal = 0x2500, // ─
|
||
BoxDrawingsVertical = 0x2502, // │
|
||
BoxDrawingsDownAndRight = 0x250c, // ┌
|
||
BoxDrawingsDownAndLeft = 0x2510, // ┐
|
||
BoxDrawingsUpAndRight = 0x2514, // └
|
||
BoxDrawingsUpAndLeft = 0x2518, // ┘
|
||
BoxDrawingsCross = 0x253c, // ┼
|
||
BoxDrawingsDownAndHorizontal = 0x252c, // ┬
|
||
BoxDrawingsVerticalAndLeft = 0x2524, // ┤
|
||
BoxDrawingsVerticalAndRight = 0x251c, // ├
|
||
BoxDrawingsUpAndHorizontal = 0x2534, // ┴
|
||
HorizontalScanLine1 = 0x23ba, // ⎺ (1)
|
||
HorizontalScanLine3 = 0x23bb, // ⎻ (1)
|
||
HorizontalScanLine7 = 0x23bc, // ⎼ (1)
|
||
HorizontalScanLine9 = 0x23bd, // ⎽ (1)
|
||
BlackUpPointingTriangle = 0x25b2, // ▲
|
||
BlackDownPointingTriangle = 0x25bc, // ▼
|
||
BlackRightPointingTriangle = 0x25b6, // ▶ (1)
|
||
BlackLeftPointingTriangle = 0x25c0, // ◀ (1)
|
||
BlackRightPointingPointer = 0x25ba, // ►
|
||
BlackLeftPointingPointer = 0x25c4, // ◄
|
||
Bullet = 0x2022, // •
|
||
FullBlock = 0x2588, // █
|
||
UpperHalfBlock = 0x2580, // ▀
|
||
LowerHalfBlock = 0x2584, // ▄
|
||
LeftHalfBlock = 0x258c, // ▌
|
||
RightHalfBlock = 0x2590, // ▐
|
||
NF_rev_left_arrow2 = 0x1ab4, // ⊐ (2)
|
||
NF_rev_right_arrow2 = 0x1ab5, // ► (2)
|
||
NF_radio_button3 = 0x1ab7, // ) (2)
|
||
NF_rev_border_corner_upper_right = 0x1ab8, // ⎤ (2)
|
||
NF_rev_border_line_right = 0x1ab9, // ⎹ (2)
|
||
NF_rev_border_line_vertical_left = 0x1aba, // ┤ (2)
|
||
NF_rev_border_corner_lower_right = 0x1abb, // ⎦ (2)
|
||
NF_border_line_left = 0x1abc, // ⎸ (2)
|
||
NF_rev_up_arrow2 = 0x1abd, //⎹◣ (2)
|
||
NF_rev_down_arrow2 = 0x1abe, //⎹◤ (2)
|
||
NF_border_corner_middle_lower_left = 0x1ac0, // └ (2)
|
||
NF_rev_up_arrow1 = 0x1ac1, // ◢⎸ (2)
|
||
NF_rev_down_arrow1 = 0x1ac2, // ◥⎸ (2)
|
||
NF_border_line_vertical_right = 0x1ac3, // ├ (2)
|
||
NF_border_line_up_and_down = 0x1ac5, // ニ (2)
|
||
NF_shadow_box_middle = 0x1ac6, // ニ (2)
|
||
NF_shadow_box_hdd = 0x1ac7, // ニ (2)
|
||
NF_rev_left_arrow1 = 0x1ac8, // ◄ (2)
|
||
NF_rev_right_arrow1 = 0x1ac9, // ⊏ (2)
|
||
NF_rev_menu_button1 = 0x1aca, // [ (2)
|
||
NF_rev_menu_button2 = 0x1acb, // - (2)
|
||
NF_border_corner_middle_upper_left = 0x1acc, // ┌ (2)
|
||
NF_shadow_box_cd = 0x1acd, // ニ (2)
|
||
NF_shadow_box_left = 0x1ace, // [ (2)
|
||
NF_border_corner_middle_lower_right = 0x1acf, // ┘ (2)
|
||
NF_border_corner_middle_upper_right = 0x1ad0, // ┐ (2)
|
||
NF_shadow_box_net = 0x1ad1, // ニ (2)
|
||
NF_rev_up_pointing_triangle1 = 0x1ad2, // ◢ (2)
|
||
NF_border_corner_lower_left = 0x1ad3, // ⎣ (2)
|
||
NF_border_line_bottom = 0x1ad4, // _ (2)
|
||
NF_radio_button2 = 0x1ad5, // ⁐ (2)
|
||
NF_radio_button2_checked = 0x1ad6, // ● (2)
|
||
NF_rev_down_pointing_triangle1 = 0x1ad7, // ◥ (2)
|
||
NF_border_line_upper = 0x1ad8, // ¯ (2)
|
||
NF_radio_button1 = 0x1ad9, // ( (2)
|
||
NF_border_corner_upper_left = 0x1ada, // ⎡ (2)
|
||
NF_shadow_box_checked = 0x1adc, // ✓ (2)
|
||
NF_rev_border_line_right_and_left = 0x1ae7, // || (2)
|
||
NF_rev_up_pointing_triangle2 = 0x1ae8, // ◣ (2)
|
||
NF_rev_down_pointing_triangle2 = 0x1ae9, // ◤ (2)
|
||
NF_rev_menu_button3 = 0x1af4, // ] (2)
|
||
NF_shadow_box_right = 0x1af5, // ] (2)
|
||
NF_Bullet = 0x1af9, // ● (2)
|
||
NF_check_mark = 0x1afb, // ✓ (2)
|
||
SquareRoot = 0x221a // √
|
||
};
|
||
/*
|
||
* (1) Not defined in Windows Glyph List 4 (WGL4)
|
||
* (2) Only supported in use with newfont
|
||
*/
|
||
|
||
// keyboard - single keys
|
||
enum keys
|
||
{
|
||
Fckey_a = 0x0000001, // control-a
|
||
Fckey_b = 0x0000002, // control-b
|
||
Fckey_c = 0x0000003, // control-c
|
||
Fckey_d = 0x0000004, // control-d
|
||
Fckey_e = 0x0000005, // control-e
|
||
Fckey_f = 0x0000006, // control-f
|
||
Fckey_g = 0x0000007, // control-g
|
||
Fkey_erase = 0x0000008, // control-h
|
||
Fkey_tab = 0x0000009, // control-i
|
||
Fckey_j = 0x000000a, // control-j
|
||
Fckey_h = 0x000000b, // control-k
|
||
Fckey_l = 0x000000c, // control-l
|
||
Fkey_return = 0x000000d, // control-m
|
||
Fckey_n = 0x000000e, // control-n
|
||
Fckey_o = 0x000000f, // control-o
|
||
Fckey_p = 0x0000010, // control-p
|
||
Fckey_q = 0x0000011, // control-q
|
||
Fckey_r = 0x0000012, // control-r
|
||
Fckey_s = 0x0000013, // control-s
|
||
Fckey_t = 0x0000014, // control-t
|
||
Fckey_u = 0x0000015, // control-u
|
||
Fckey_v = 0x0000016, // control-v
|
||
Fckey_w = 0x0000017, // control-w
|
||
Fckey_x = 0x0000018, // control-x
|
||
Fckey_y = 0x0000019, // control-y
|
||
Fckey_z = 0x000001a, // control-t
|
||
Fkey_escape = 0x000001b, // control-[
|
||
Fckey_backslash = 0x000001c, // control-'\'
|
||
Fckey_right_square_bracket = 0x000001d, // control-]
|
||
Fckey_caret = 0x000001e, // control-^
|
||
Fckey_underscore = 0x000001f, // control-_
|
||
Fkey_space = 0x0000020,
|
||
Fckey_space = 0x1000020, // control-space
|
||
Fkey_backspace = 0x1000100,
|
||
Fkey_catab = 0x1000101,
|
||
Fkey_clear = 0x1000102,
|
||
Fkey_ctab = 0x1000103,
|
||
Fkey_dc = 0x1000104,
|
||
Fkey_dl = 0x1000105,
|
||
Fkey_down = 0x1000106,
|
||
Fkey_eic = 0x1000107,
|
||
Fkey_eol = 0x1000108,
|
||
Fkey_eos = 0x1000109,
|
||
Fkey_f0 = 0x100010a,
|
||
Fkey_f1 = 0x100010b,
|
||
Fkey_f2 = 0x100010c,
|
||
Fkey_f3 = 0x100010d,
|
||
Fkey_f4 = 0x100010e,
|
||
Fkey_f5 = 0x100010f,
|
||
Fkey_f6 = 0x1000110,
|
||
Fkey_f7 = 0x1000111,
|
||
Fkey_f8 = 0x1000112,
|
||
Fkey_f9 = 0x1000113,
|
||
Fkey_f10 = 0x1000114,
|
||
Fkey_home = 0x1000115,
|
||
Fkey_ic = 0x1000116, // insert key
|
||
Fkey_il = 0x1000117,
|
||
Fkey_left = 0x1000118,
|
||
Fkey_ll = 0x1000119,
|
||
Fkey_npage = 0x100011a,
|
||
Fkey_ppage = 0x100011b,
|
||
Fkey_right = 0x100011c,
|
||
Fkey_sf = 0x100011d,
|
||
Fkey_sr = 0x100011e,
|
||
Fkey_stab = 0x100011f,
|
||
Fkey_up = 0x1000120,
|
||
Fkey_a1 = 0x1000121,
|
||
Fkey_a3 = 0x1000122,
|
||
Fkey_b2 = 0x1000123,
|
||
Fkey_c1 = 0x1000124,
|
||
Fkey_c3 = 0x1000125,
|
||
Fkey_btab = 0x1000126,
|
||
Fkey_beg = 0x1000127,
|
||
Fkey_cancel = 0x1000128,
|
||
Fkey_close = 0x1000129,
|
||
Fkey_command = 0x100012a,
|
||
Fkey_copy = 0x100012b,
|
||
Fkey_create = 0x100012c,
|
||
Fkey_end = 0x100012d,
|
||
Fkey_enter = 0x100012e,
|
||
Fkey_exit = 0x100012f,
|
||
Fkey_find = 0x1000130,
|
||
Fkey_help = 0x1000131,
|
||
Fkey_mark = 0x1000132,
|
||
Fkey_message = 0x1000133,
|
||
Fkey_move = 0x1000134,
|
||
Fkey_next = 0x1000135,
|
||
Fkey_open = 0x1000136,
|
||
Fkey_options = 0x1000137,
|
||
Fkey_previous = 0x1000138,
|
||
Fkey_print = 0x1000139,
|
||
Fkey_redo = 0x100013a,
|
||
Fkey_reference = 0x100013b,
|
||
Fkey_refresh = 0x100013c,
|
||
Fkey_replace = 0x100013d,
|
||
Fkey_restart = 0x100013e,
|
||
Fkey_resume = 0x100013f,
|
||
Fkey_save = 0x1000140,
|
||
Fkey_suspend = 0x1000141,
|
||
Fkey_undo = 0x1000142,
|
||
Fkey_sbeg = 0x1000143,
|
||
Fkey_scancel = 0x1000144,
|
||
Fkey_scommand = 0x1000145,
|
||
Fkey_scopy = 0x1000146,
|
||
Fkey_screate = 0x1000147,
|
||
Fkey_sdc = 0x1000148,
|
||
Fkey_sdl = 0x1000149,
|
||
Fkey_select = 0x100014a,
|
||
Fkey_send = 0x100014b,
|
||
Fkey_seol = 0x100014c,
|
||
Fkey_sexit = 0x100014d,
|
||
Fkey_sfind = 0x100014e,
|
||
Fkey_shelp = 0x100014f,
|
||
Fkey_shome = 0x1000150,
|
||
Fkey_sic = 0x1000151,
|
||
Fkey_sleft = 0x1000152,
|
||
Fkey_smessage = 0x1000153,
|
||
Fkey_smove = 0x1000154,
|
||
Fkey_snext = 0x1000155,
|
||
Fkey_soptions = 0x1000156,
|
||
Fkey_sprevious = 0x1000157,
|
||
Fkey_sprint = 0x1000158,
|
||
Fkey_sredo = 0x1000159,
|
||
Fkey_sreplace = 0x100015a,
|
||
Fkey_sright = 0x100015b,
|
||
Fkey_srsume = 0x100015c,
|
||
Fkey_ssave = 0x100015d,
|
||
Fkey_ssuspend = 0x100015e,
|
||
Fkey_sundo = 0x100015f,
|
||
Fkey_f11 = 0x1000160,
|
||
Fkey_f12 = 0x1000161,
|
||
Fkey_f13 = 0x1000162,
|
||
Fkey_f14 = 0x1000163,
|
||
Fkey_f15 = 0x1000164,
|
||
Fkey_f16 = 0x1000165,
|
||
Fkey_f17 = 0x1000166,
|
||
Fkey_f18 = 0x1000167,
|
||
Fkey_f19 = 0x1000168,
|
||
Fkey_f20 = 0x1000169,
|
||
Fkey_f21 = 0x100016a,
|
||
Fkey_f22 = 0x100016b,
|
||
Fkey_f23 = 0x100016c,
|
||
Fkey_f24 = 0x100016d,
|
||
Fkey_f25 = 0x100016e,
|
||
Fkey_f26 = 0x100016f,
|
||
Fkey_f27 = 0x1000170,
|
||
Fkey_f28 = 0x1000171,
|
||
Fkey_f29 = 0x1000172,
|
||
Fkey_f30 = 0x1000173,
|
||
Fkey_f31 = 0x1000174,
|
||
Fkey_f32 = 0x1000175,
|
||
Fkey_f33 = 0x1000176,
|
||
Fkey_f34 = 0x1000177,
|
||
Fkey_f35 = 0x1000178,
|
||
Fkey_f36 = 0x1000179,
|
||
Fkey_f37 = 0x100017a,
|
||
Fkey_f38 = 0x100017b,
|
||
Fkey_f39 = 0x100017c,
|
||
Fkey_f40 = 0x100017d,
|
||
Fkey_f41 = 0x100017e,
|
||
Fkey_f42 = 0x100017f,
|
||
Fkey_f43 = 0x1000180,
|
||
Fkey_f44 = 0x1000181,
|
||
Fkey_f45 = 0x1000182,
|
||
Fkey_f46 = 0x1000183,
|
||
Fkey_f47 = 0x1000184,
|
||
Fkey_f48 = 0x1000185,
|
||
Fkey_f49 = 0x1000186,
|
||
Fkey_f50 = 0x1000187,
|
||
Fkey_f51 = 0x1000188,
|
||
Fkey_f52 = 0x1000189,
|
||
Fkey_f53 = 0x100018a,
|
||
Fkey_f54 = 0x100018b,
|
||
Fkey_f55 = 0x100018c,
|
||
Fkey_f56 = 0x100018d,
|
||
Fkey_f57 = 0x100018e,
|
||
Fkey_f58 = 0x100018f,
|
||
Fkey_f59 = 0x1000190,
|
||
Fkey_f60 = 0x1000191,
|
||
Fkey_f61 = 0x1000192,
|
||
Fkey_f62 = 0x1000193,
|
||
Fkey_f63 = 0x1000194
|
||
};
|
||
|
||
// Keyboard - modifier key combinations
|
||
enum metakeys
|
||
{
|
||
Fmkey_ic = 0x1500100, // M-insert
|
||
Fmkey_dc = 0x1500101, // M-delete
|
||
Fmkey_home = 0x1500102, // M-home
|
||
Fmkey_end = 0x1500103, // M-end
|
||
Fmkey_ppage = 0x1500104, // M-prev-page
|
||
Fmkey_npage = 0x1500105, // M-next-page
|
||
Fmkey_f1 = 0x1500106, // M-f1
|
||
Fmkey_f2 = 0x1500107, // M-f2
|
||
Fmkey_f3 = 0x1500108, // M-f3
|
||
Fmkey_f4 = 0x1500109, // M-f4
|
||
Fmkey_f5 = 0x150010a, // M-f5
|
||
Fmkey_f6 = 0x150010b, // M-F6
|
||
Fmkey_f7 = 0x150010c, // M-f7
|
||
Fmkey_f8 = 0x150010d, // M-f8
|
||
Fmkey_f9 = 0x150010e, // M-f9
|
||
Fmkey_f10 = 0x150010f, // M-f10
|
||
Fmkey_f11 = 0x1500110, // M-f11
|
||
Fmkey_f12 = 0x1500111, // M-f12
|
||
Fmkey_up = 0x1500112, // M-up
|
||
Fmkey_down = 0x1500113, // M-down
|
||
Fmkey_right = 0x1500114, // M-right
|
||
Fmkey_left = 0x1500115, // M-left
|
||
Fmkey_sic = 0x1500116, // shifted M-Insert
|
||
Fmkey_sdc = 0x1500117, // shifted M-Delete
|
||
Fmkey_shome = 0x1500118, // shifted M-Home
|
||
Fmkey_send = 0x1500119, // shifted M-End
|
||
Fmkey_sppage = 0x150011a, // shifted M-Page_Up
|
||
Fmkey_snpage = 0x150011b, // shifted M-Page_Down
|
||
Fmkey_sf1 = 0x150011c, // shifted M-F1
|
||
Fmkey_sf2 = 0x150011d, // shifted M-F2
|
||
Fmkey_sf3 = 0x150011e, // shifted M-F3
|
||
Fmkey_sf4 = 0x150011f, // shifted M-F4
|
||
Fmkey_sf5 = 0x1500120, // shifted M-F5
|
||
Fmkey_sf6 = 0x1500121, // shifted M-F6
|
||
Fmkey_sf7 = 0x1500122, // shifted M-F7
|
||
Fmkey_sf8 = 0x1500123, // shifted M-F8
|
||
Fmkey_sf9 = 0x1500124, // shifted M-F9
|
||
Fmkey_sf10 = 0x1500125, // shifted M-F10
|
||
Fmkey_sf11 = 0x1500126, // shifted M-F11
|
||
Fmkey_sf12 = 0x1500127, // shifted M-F12
|
||
Fmkey_sup = 0x1500128, // shifted M-Up
|
||
Fmkey_sdown = 0x1500129, // shifted M-Down
|
||
Fmkey_sright = 0x150012a, // shifted M-Right
|
||
Fmkey_sleft = 0x150012b, // shifted M-Left
|
||
Fckey_ic = 0x150012c, // control-Insert
|
||
Fckey_dc = 0x150012d, // control-Delete
|
||
Fckey_home = 0x150012e, // control-Home
|
||
Fckey_end = 0x150012f, // control-End
|
||
Fckey_ppage = 0x1500130, // control-Page_Up
|
||
Fckey_npage = 0x1500131, // control-Page_Down
|
||
Fckey_up = 0x1500132, // control-Up
|
||
Fckey_down = 0x1500133, // control-Down
|
||
Fckey_right = 0x1500134, // control-Right
|
||
Fckey_left = 0x1500135, // control-Left
|
||
Fckey_sic = 0x1500136, // shifted control-M-Insert
|
||
Fckey_sdc = 0x1500137, // shifted control-M-Delete
|
||
Fckey_shome = 0x1500138, // shifted control-M-Home
|
||
Fckey_send = 0x1500139, // shifted control-M-End
|
||
Fckey_sppage = 0x150013a, // shifted control-M-Page_Up
|
||
Fckey_snpage = 0x150013b, // shifted control-M-Page_Down
|
||
Fckey_sup = 0x150013c, // shifted control-M-Up
|
||
Fckey_sdown = 0x150013d, // shifted control-M-Down
|
||
Fckey_sright = 0x150013e, // shifted control-M-Right
|
||
Fckey_sleft = 0x150013f, // shifted control-M-Left
|
||
Fcmkey_ic = 0x1500140, // control-M-Insert
|
||
Fcmkey_dc = 0x1500141, // control-M-Delete
|
||
Fcmkey_home = 0x1500142, // control-M-Home
|
||
Fcmkey_end = 0x1500143, // control-M-End
|
||
Fcmkey_ppage = 0x1500144, // control-M-Page_Up
|
||
Fcmkey_npage = 0x1500145, // control-M-Page_Down
|
||
Fcmkey_up = 0x1500146, // control-M-Up
|
||
Fcmkey_down = 0x1500147, // control-M-Down
|
||
Fcmkey_right = 0x1500148, // control-M-Right
|
||
Fcmkey_left = 0x1500149, // control-M-Left
|
||
Fcmkey_sic = 0x150014a, // shifted control-M-Insert
|
||
Fcmkey_sdc = 0x150014b, // shifted control-M-Delete
|
||
Fcmkey_shome = 0x150014c, // shifted control-M-Home
|
||
Fcmkey_send = 0x150014d, // shifted control-M-End
|
||
Fcmkey_sppage = 0x150014e, // shifted control-M-Page_Up
|
||
Fcmkey_snpage = 0x150014f, // shifted control-M-Page_Down
|
||
Fcmkey_sf1 = 0x1500150, // shifted control-M-F1
|
||
Fcmkey_sf2 = 0x1500151, // shifted control-M-F2
|
||
Fcmkey_sf3 = 0x1500152, // shifted control-M-F3
|
||
Fcmkey_sf4 = 0x1500153, // shifted control-M-F4
|
||
Fcmkey_sf5 = 0x1500154, // shifted control-M-F5
|
||
Fcmkey_sf6 = 0x1500155, // shifted control-M-F6
|
||
Fcmkey_sf7 = 0x1500156, // shifted control-M-F7
|
||
Fcmkey_sf8 = 0x1500157, // shifted control-M-F8
|
||
Fcmkey_sf9 = 0x1500158, // shifted control-M-F9
|
||
Fcmkey_sf10 = 0x1500159, // shifted control-M-F10
|
||
Fcmkey_sf11 = 0x150015a, // shifted control-M-F11
|
||
Fcmkey_sf12 = 0x150015b, // shifted control-M-F12
|
||
Fcmkey_sup = 0x150015c, // shifted control-M-Up
|
||
Fcmkey_sdown = 0x150015d, // shifted control-M-Down
|
||
Fcmkey_sright = 0x150015e, // shifted control-M-Right
|
||
Fcmkey_sleft = 0x150015f, // shifted control-M-Left
|
||
Fkey_menu = 0x1600000, // menu
|
||
Fkey_smenu = 0x1600001, // shifted menu
|
||
Fckey_menu = 0x1600002, // control-menu
|
||
Fckey_smenu = 0x1600003, // shifted control-menu
|
||
Fmkey_menu = 0x1600004, // M-menu
|
||
Fmkey_smenu = 0x1600005, // shifted M-menu
|
||
Fcmkey_menu = 0x1600006, // control-M-menu
|
||
Fcmkey_smenu = 0x1600007, // shifted control-M-menu
|
||
Fkey_escape_mintty = 0x200001b, // mintty Esc
|
||
Fkey_mouse = 0x2000020, // xterm mouse
|
||
Fkey_extended_mouse = 0x2000021, // SGR extended mouse
|
||
Fkey_urxvt_mouse = 0x2000022, // urxvt mouse extension
|
||
Fmkey_meta = 0x20000e0, // meta key offset
|
||
Fmkey_tab = 0x20000e9, // M-tab
|
||
Fmkey_enter = 0x20000ea, // M-enter
|
||
Fmkey_space = 0x2000100, // M-' '
|
||
Fmkey_bang = 0x2000101, // M-!
|
||
Fmkey_quotes = 0x2000102, // M-"
|
||
Fmkey_hash = 0x2000103, // M-#
|
||
Fmkey_dollar = 0x2000104, // M-$
|
||
Fmkey_percent = 0x2000105, // M-%
|
||
Fmkey_ampersand = 0x2000106, // M-&
|
||
Fmkey_apostrophe = 0x2000107, // M-'
|
||
Fmkey_left_parenthesis = 0x2000108, // M-(
|
||
Fmkey_right_parenthesis = 0x2000109, // M-)
|
||
Fmkey_asterisk = 0x200010a, // M-*
|
||
Fmkey_plus = 0x200010b, // M-+
|
||
Fmkey_comma = 0x200010c, // M-,
|
||
Fmkey_minus = 0x200010d, // M-'-'
|
||
Fmkey_full_stop = 0x200010e, // M-.
|
||
Fmkey_slash = 0x200010f, // M-/
|
||
Fmkey_0 = 0x2000110, // M-0
|
||
Fmkey_1 = 0x2000111, // M-1
|
||
Fmkey_2 = 0x2000112, // M-2
|
||
Fmkey_3 = 0x2000113, // M-3
|
||
Fmkey_4 = 0x2000114, // M-4
|
||
Fmkey_5 = 0x2000115, // M-5
|
||
Fmkey_6 = 0x2000116, // M-6
|
||
Fmkey_7 = 0x2000117, // M-7
|
||
Fmkey_8 = 0x2000118, // M-8
|
||
Fmkey_9 = 0x2000119, // M-9
|
||
Fmkey_colon = 0x200011a, // M-:
|
||
Fmkey_semicolon = 0x200011b, // M-;
|
||
Fmkey_less_than = 0x200011c, // M-<
|
||
Fmkey_equals = 0x200011d, // M-=
|
||
Fmkey_greater_than = 0x200011e, // M->
|
||
Fmkey_question_mark = 0x200011f, // M-?
|
||
Fmkey_at = 0x2000120, // M-@
|
||
Fmkey_A = 0x2000121, // M-A
|
||
Fmkey_B = 0x2000122, // M-B
|
||
Fmkey_C = 0x2000123, // M-C
|
||
Fmkey_D = 0x2000124, // M-D
|
||
Fmkey_E = 0x2000125, // M-E
|
||
Fmkey_F = 0x2000126, // M-F
|
||
Fmkey_G = 0x2000127, // M-G
|
||
Fmkey_H = 0x2000128, // M-H
|
||
Fmkey_I = 0x2000129, // M-I
|
||
Fmkey_J = 0x200012a, // M-J
|
||
Fmkey_K = 0x200012b, // M-K
|
||
Fmkey_L = 0x200012c, // M-L
|
||
Fmkey_M = 0x200012d, // M-M
|
||
Fmkey_N = 0x200012e, // M-N
|
||
Fmkey_O = 0x200012f, // M-O
|
||
Fmkey_P = 0x2000130, // M-P
|
||
Fmkey_Q = 0x2000131, // M-Q
|
||
Fmkey_R = 0x2000132, // M-R
|
||
Fmkey_S = 0x2000133, // M-S
|
||
Fmkey_T = 0x2000134, // M-T
|
||
Fmkey_U = 0x2000135, // M-U
|
||
Fmkey_V = 0x2000136, // M-V
|
||
Fmkey_W = 0x2000137, // M-W
|
||
Fmkey_X = 0x2000138, // M-X
|
||
Fmkey_Y = 0x2000139, // M-Y
|
||
Fmkey_Z = 0x200013a, // M-Z
|
||
Fmkey_left_square_bracket = 0x200013b, // M-[
|
||
Fmkey_backslash = 0x200013c, // M-'\'
|
||
Fmkey_right_square_bracket = 0x200013d, // M-]
|
||
Fmkey_caret = 0x200013e, // M-^
|
||
Fmkey_underscore = 0x200013f, // M-_
|
||
Fmkey_grave_accent = 0x2000140, // M-`
|
||
Fmkey_a = 0x2000141, // M-a
|
||
Fmkey_b = 0x2000142, // M-b
|
||
Fmkey_c = 0x2000143, // M-c
|
||
Fmkey_d = 0x2000144, // M-d
|
||
Fmkey_e = 0x2000145, // M-e
|
||
Fmkey_f = 0x2000146, // M-f
|
||
Fmkey_g = 0x2000147, // M-g
|
||
Fmkey_h = 0x2000148, // M-h
|
||
Fmkey_i = 0x2000149, // M-i
|
||
Fmkey_j = 0x200014a, // M-j
|
||
Fmkey_k = 0x200014b, // M-k
|
||
Fmkey_l = 0x200014c, // M-l
|
||
Fmkey_m = 0x200014d, // M-m
|
||
Fmkey_n = 0x200014e, // M-n
|
||
Fmkey_o = 0x200014f, // M-o
|
||
Fmkey_p = 0x2000150, // M-p
|
||
Fmkey_q = 0x2000151, // M-q
|
||
Fmkey_r = 0x2000152, // M-r
|
||
Fmkey_s = 0x2000153, // M-s
|
||
Fmkey_t = 0x2000154, // M-t
|
||
Fmkey_u = 0x2000155, // M-u
|
||
Fmkey_v = 0x2000156, // M-v
|
||
Fmkey_w = 0x2000157, // M-w
|
||
Fmkey_x = 0x2000158, // M-x
|
||
Fmkey_y = 0x2000159, // M-y
|
||
Fmkey_z = 0x200015a, // M-z
|
||
Fmkey_left_curly_bracket = 0x200015b, // M-{
|
||
Fmkey_vertical_bar = 0x200015c, // M-|
|
||
Fmkey_right_curly_bracket = 0x200015d, // M-}
|
||
Fmkey_tilde = 0x200015e // M-~
|
||
};
|
||
|
||
// Console color names
|
||
enum colornames
|
||
{
|
||
Default = -1,
|
||
Black = 0,
|
||
Blue = 1,
|
||
Green = 2,
|
||
Cyan = 3,
|
||
Red = 4,
|
||
Magenta = 5,
|
||
Brown = 6,
|
||
LightGray = 7,
|
||
DarkGray = 8,
|
||
LightBlue = 9,
|
||
LightGreen = 10,
|
||
LightCyan = 11,
|
||
LightRed = 12,
|
||
LightMagenta = 13,
|
||
Yellow = 14,
|
||
White = 15,
|
||
/* 256 color terminals */
|
||
Grey0 = 16, // #000000
|
||
NavyBlue = 17, // #00005f
|
||
DarkBlue = 18, // #000087
|
||
Blue3 = 19, // #0000af
|
||
Blue2 = 20, // #0000d7
|
||
Blue1 = 21, // #0000ff
|
||
DarkGreen = 22, // #005f00
|
||
DarkCyan2 = 23, // #005f5f
|
||
DeepSkyBlue6 = 24, // #005f87
|
||
DeepSkyBlue5 = 25, // #005faf
|
||
DodgerBlue3 = 26, // #005fd7
|
||
DodgerBlue2 = 27, // #005fff
|
||
Green4 = 28, // #008700
|
||
SpringGreen6 = 29, // #00875f
|
||
Turquoise4 = 30, // #008787
|
||
DeepSkyBlue4 = 31, // #0087af
|
||
DeepSkyBlue3 = 32, // #0087d7
|
||
DodgerBlue1 = 33, // #0087ff
|
||
Green2 = 34, // #00af00
|
||
SpringGreen5 = 35, // #00af5f
|
||
DarkCyan = 36, // #00af87
|
||
LightSeaGreen = 37, // #00afaf
|
||
DeepSkyBlue2 = 38, // #00afd7
|
||
DeepSkyBlue1 = 39, // #00afff
|
||
Green3 = 40, // #00d700
|
||
SpringGreen4 = 41, // #00d75f
|
||
SpringGreen3 = 42, // #00d787
|
||
Cyan3 = 43, // #00d7af
|
||
DarkTurquoise = 44, // #00d7d7
|
||
Turquoise2 = 45, // #00d7ff
|
||
Green1 = 46, // #00ff00
|
||
SpringGreen2 = 47, // #00ff5f
|
||
SpringGreen1 = 48, // #00ff87
|
||
MediumSpringGreen = 49, // #00ffaf
|
||
Cyan2 = 50, // #00ffd7
|
||
Cyan1 = 51, // #00ffff
|
||
DarkRed = 52, // #5f0000
|
||
DeepPink7 = 53, // #5f005f
|
||
Purple4 = 54, // #5f0087
|
||
Purple3 = 55, // #5f00af
|
||
Purple2 = 56, // #5f00d7
|
||
BlueViolet = 57, // #5f00ff
|
||
Orange4 = 58, // #5f5f00
|
||
Grey37 = 59, // #5f5f5f
|
||
MediumPurple6 = 60, // #5f5f87
|
||
SlateBlue3 = 61, // #5f5faf
|
||
SlateBlue2 = 62, // #5f5fd7
|
||
RoyalBlue1 = 63, // #5f5fff
|
||
Chartreuse5 = 64, // #5f8700
|
||
DarkSeaGreen8 = 65, // #5f875f
|
||
PaleTurquoise4 = 66, // #5f8787
|
||
SteelBlue = 67, // #5f87af
|
||
SteelBlue3 = 68, // #5f87d7
|
||
CornflowerBlue = 69, // #5f87ff
|
||
Chartreuse4 = 70, // #5faf00
|
||
DarkSeaGreen7 = 71, // #5faf5f
|
||
CadetBlue2 = 72, // #5faf87
|
||
CadetBlue1 = 73, // #5fafaf
|
||
SkyBlue3 = 74, // #5fafd7
|
||
SteelBlue2 = 75, // #5fafff
|
||
Chartreuse3 = 76, // #5fd700
|
||
PaleGreen3 = 77, // #5fd75f
|
||
SeaGreen4 = 78, // #5fd787
|
||
Aquamarine3 = 79, // #5fd7af
|
||
MediumTurquoise = 80, // #5fd7d7
|
||
SteelBlue1 = 81, // #5fd7ff
|
||
Chartreuse = 82, // #5fff00
|
||
SeaGreen3 = 83, // #5fff5f
|
||
SeaGreen2 = 84, // #5fff87
|
||
SeaGreen1 = 85, // #5fffaf
|
||
Aquamarine2 = 86, // #5fffd7
|
||
DarkSlateGray2 = 87, // #5fffff
|
||
DarkRed2 = 88, // #870000
|
||
DeepPink6 = 89, // #87005f
|
||
DarkMagenta2 = 90, // #870087
|
||
DarkMagenta = 91, // #8700af
|
||
DarkViolet1 = 92, // #8700d7
|
||
Purple1 = 93, // #8700ff
|
||
Orange3 = 94, // #875f00
|
||
LightPink4 = 95, // #875f5f
|
||
Plum4 = 96, // #875f87
|
||
MediumPurple5 = 97, // #875faf
|
||
MediumPurple4 = 98, // #875fd7
|
||
SlateBlue1 = 99, // #875fff
|
||
Yellow6 = 100, // #878700
|
||
Wheat4 = 101, // #87875f
|
||
Grey53 = 102, // #878787
|
||
LightSlateGrey = 103, // #8787af
|
||
MediumPurple = 104, // #8787d7
|
||
LightSlateBlue = 105, // #8787ff
|
||
Yellow5 = 106, // #87af00
|
||
DarkOliveGreen5 = 107, // #87af5f
|
||
DarkSeaGreen6 = 108, // #87af87
|
||
LightSkyBlue3 = 109, // #87afaf
|
||
LightSkyBlue2 = 110, // #87afd7
|
||
SkyBlue2 = 111, // #87afff
|
||
Chartreuse2 = 112, // #87d700
|
||
DarkOliveGreen4 = 113, // #87d75f
|
||
PaleGreen2 = 114, // #87d787
|
||
DarkSeaGreen5 = 115, // #87d7af
|
||
DarkSlateGray3 = 116, // #87d7d7
|
||
SkyBlue1 = 117, // #87d7ff
|
||
Chartreuse1 = 118, // #87ff00
|
||
LightGreen3 = 119, // #87ff5f
|
||
LightGreen2 = 120, // #87ff87
|
||
PaleGreen1 = 121, // #87ffaf
|
||
Aquamarine1 = 122, // #87ffd7
|
||
DarkSlateGray1 = 123, // #87ffff
|
||
Red3 = 124, // #af0000
|
||
DeepPink5 = 125, // #af005f
|
||
MediumVioletRed = 126, // #af0087
|
||
Magenta6 = 127, // #af00af
|
||
DarkViolet = 128, // #af00d7
|
||
Purple = 129, // #af00ff
|
||
DarkOrange3 = 130, // #af5f00
|
||
IndianRed3 = 131, // #af5f5f
|
||
HotPink4 = 132, // #af5f87
|
||
MediumOrchid3 = 133, // #af5faf
|
||
MediumOrchid = 134, // #af5fd7
|
||
MediumPurple3 = 135, // #af5fff
|
||
DarkGoldenrod = 136, // #af8700
|
||
LightSalmon3 = 137, // #af875f
|
||
RosyBrown = 138, // #af8787
|
||
Grey63 = 139, // #af87af
|
||
MediumPurple2 = 140, // #af87d7
|
||
MediumPurple1 = 141, // #af87ff
|
||
Gold3 = 142, // #afaf00
|
||
DarkKhaki = 143, // #afaf5f
|
||
NavajoWhite3 = 144, // #afaf87
|
||
Grey69 = 145, // #afafaf
|
||
LightSteelBlue3 = 146, // #afafd7
|
||
LightSteelBlue = 147, // #afafff
|
||
Yellow4 = 148, // #afd700
|
||
DarkOliveGreen3 = 149, // #afd75f
|
||
DarkSeaGreen4 = 150, // #afd787
|
||
DarkSeaGreen3 = 151, // #afd7af
|
||
LightCyan3 = 152, // #afd7d7
|
||
LightSkyBlue1 = 153, // #afd7ff
|
||
GreenYellow = 154, // #afff00
|
||
DarkOliveGreen2 = 155, // #afff5f
|
||
PaleGreen = 156, // #afff87
|
||
DarkSeaGreen2 = 157, // #afffaf
|
||
DarkSeaGreen1 = 158, // #afffd7
|
||
PaleTurquoise1 = 159, // #afffff
|
||
Red2 = 160, // #d70000
|
||
DeepPink4 = 161, // #d7005f
|
||
DeepPink3 = 162, // #d70087
|
||
Magenta5 = 163, // #d700af
|
||
Magenta4 = 164, // #d700d7
|
||
Magenta3 = 165, // #d700ff
|
||
DarkOrange2 = 166, // #d75f00
|
||
IndianRed = 167, // #d75f5f
|
||
HotPink3 = 168, // #d75f87
|
||
HotPink2 = 169, // #d75faf
|
||
Orchid = 170, // #d75fd7
|
||
MediumOrchid2 = 171, // #d75fff
|
||
Orange2 = 172, // #d78700
|
||
LightSalmon2 = 173, // #d7875f
|
||
LightPink3 = 174, // #d78787
|
||
Pink3 = 175, // #d787af
|
||
Plum3 = 176, // #d787d7
|
||
Violet = 177, // #d787ff
|
||
Gold2 = 178, // #d7af00
|
||
LightGoldenrod5 = 179, // #d7af5f
|
||
Tan = 180, // #d7af87
|
||
MistyRose3 = 181, // #d7afaf
|
||
Thistle3 = 182, // #d7afd7
|
||
Plum2 = 183, // #d7afff
|
||
Yellow3 = 184, // #d7d700
|
||
Khaki3 = 185, // #d7d75f
|
||
LightGoldenrod4 = 186, // #d7d787
|
||
LightYellow3 = 187, // #d7d7af
|
||
Grey84 = 188, // #d7d7d7
|
||
LightSteelBlue1 = 189, // #d7d7ff
|
||
Yellow2 = 190, // #d7ff00
|
||
DarkOliveGreen1 = 191, // #d7ff5f
|
||
DarkOliveGreen = 192, // #d7ff87
|
||
DarkSeaGreen = 193, // #d7ffaf
|
||
Honeydew2 = 194, // #d7ffd7
|
||
LightCyan1 = 195, // #d7ffff
|
||
Red1 = 196, // #ff0000
|
||
DeepPink2 = 197, // #ff005f
|
||
DeepPink1 = 198, // #ff0087
|
||
DeepPink = 199, // #ff00af
|
||
Magenta2 = 200, // #ff00d7
|
||
Magenta1 = 201, // #ff00ff
|
||
OrangeRed1 = 202, // #ff5f00
|
||
IndianRed2 = 203, // #ff5f5f
|
||
IndianRed1 = 204, // #ff5f87
|
||
HotPink1 = 205, // #ff5faf
|
||
HotPink = 206, // #ff5fd7
|
||
MediumOrchid1 = 207, // #ff5fff
|
||
DarkOrange = 208, // #ff8700
|
||
Salmon1 = 209, // #ff875f
|
||
LightCoral = 210, // #ff8787
|
||
PaleVioletRed1 = 211, // #ff87af
|
||
Orchid2 = 212, // #ff87d7
|
||
Orchid1 = 213, // #ff87ff
|
||
Orange1 = 214, // #ffaf00
|
||
SandyBrown = 215, // #ffaf5f
|
||
LightSalmon1 = 216, // #ffaf87
|
||
LightPink1 = 217, // #ffafaf
|
||
Pink1 = 218, // #ffafd7
|
||
Plum1 = 219, // #ffafff
|
||
Gold1 = 220, // #ffd700
|
||
LightGoldenrod3 = 221, // #ffd75f
|
||
LightGoldenrod2 = 222, // #ffd787
|
||
NavajoWhite1 = 223, // #ffd7af
|
||
MistyRose1 = 224, // #ffd7d7
|
||
Thistle1 = 225, // #ffd7ff
|
||
Yellow1 = 226, // #ffff00
|
||
LightGoldenrod = 227, // #ffff5f
|
||
Khaki1 = 228, // #ffff87
|
||
Wheat1 = 229, // #ffffaf
|
||
Cornsilk1 = 230, // #ffffd7
|
||
Grey100 = 231, // #ffffff
|
||
Grey3 = 232, // #080808
|
||
Grey7 = 233, // #121212
|
||
Grey11 = 234, // #1c1c1c
|
||
Grey15 = 235, // #262626
|
||
Grey19 = 236, // #303030
|
||
Grey23 = 237, // #3a3a3a
|
||
Grey27 = 238, // #444444
|
||
Grey30 = 239, // #4e4e4e
|
||
Grey35 = 240, // #585858
|
||
Grey39 = 241, // #626262
|
||
Grey42 = 242, // #6c6c6c
|
||
Grey46 = 243, // #767676
|
||
Grey50 = 244, // #808080
|
||
Grey54 = 245, // #8a8a8a
|
||
Grey58 = 246, // #949494
|
||
Grey62 = 247, // #9e9e9e
|
||
Grey66 = 248, // #a8a8a8
|
||
Grey70 = 249, // #b2b2b2
|
||
Grey74 = 250, // #bcbcbc
|
||
Grey78 = 251, // #c6c6c6
|
||
Grey82 = 252, // #d0d0d0
|
||
Grey85 = 253, // #dadada
|
||
Grey89 = 254, // #e4e4e4
|
||
Grey93 = 255 // #eeeeee
|
||
};
|
||
|
||
// Mouse/keyboard state values
|
||
enum ButtonState
|
||
{
|
||
NoButton = 0x00,
|
||
LeftButton = 0x01,
|
||
RightButton = 0x02,
|
||
MiddleButton = 0x04,
|
||
MouseButtonMask = 0x07,
|
||
ShiftButton = 0x08,
|
||
ControlButton = 0x10,
|
||
MetaButton = 0x20,
|
||
KeyButtonMask = 0x38
|
||
};
|
||
|
||
// Wheel state values
|
||
enum WheelState
|
||
{
|
||
NoWheel = 0x00,
|
||
WheelUp = 0x01,
|
||
WheelDown = 0x02,
|
||
WheelMask = 0x03
|
||
};
|
||
|
||
// Type of focus
|
||
enum FocusTypes
|
||
{
|
||
FocusNextWidget = 0x00,
|
||
FocusPreviousWidget = 0x01,
|
||
FocusDefiniteWidget = 0x03 // event default
|
||
};
|
||
|
||
// Drag scrolling mode
|
||
enum dragScroll
|
||
{
|
||
noScroll = 0,
|
||
scrollUp = 1,
|
||
scrollDown = 2,
|
||
scrollUpSelect = 3,
|
||
scrollDownSelect = 4
|
||
};
|
||
|
||
// Scroll bar visibility mode
|
||
enum scrollBarMode
|
||
{
|
||
Auto = 0, // Shows a scroll bar when area is larger than viewport
|
||
Hidden = 1, // Never shows a scroll bar
|
||
Scroll = 2 // Always shows a scroll bar
|
||
};
|
||
|
||
// Xterm cursor style
|
||
enum xtermCursorStyle
|
||
{
|
||
blinking_block = 0,
|
||
blinking_block_default = 1,
|
||
steady_block = 2,
|
||
blinking_underline = 3,
|
||
steady_underline = 4,
|
||
blinking_bar_xterm = 5,
|
||
steady_bar_xterm = 6
|
||
};
|
||
|
||
// Linux console and framebuffer cursor style
|
||
enum linuxConsoleCursorStyle
|
||
{
|
||
default_cursor = 0,
|
||
invisible_cursor = 1,
|
||
underscore_cursor = 2,
|
||
lower_third_cursor = 3,
|
||
lower_half_cursor = 4,
|
||
two_thirds_cursor = 5,
|
||
full_block_cursor = 6
|
||
};
|
||
|
||
// BSD console cursor style
|
||
enum freebsdConsoleCursorStyle
|
||
{
|
||
normal_cursor = 0,
|
||
blink_cursor = 1,
|
||
destructive_cursor = 3
|
||
};
|
||
|
||
// KDE konsole cursor style
|
||
enum kdeKonsoleCursorShape
|
||
{
|
||
BlockCursor = 0,
|
||
IBeamCursor = 1,
|
||
UnderlineCursor = 2
|
||
};
|
||
|
||
enum text_alignment
|
||
{
|
||
alignLeft = 1,
|
||
alignCenter = 2,
|
||
alignRight = 3
|
||
};
|
||
|
||
enum orientation
|
||
{
|
||
vertical = 0,
|
||
horizontal = 1
|
||
};
|
||
|
||
enum sides
|
||
{
|
||
top = 0,
|
||
right = 1,
|
||
bottom = 2,
|
||
left = 3
|
||
};
|
||
|
||
enum brackets_type
|
||
{
|
||
NoBrackets = 0,
|
||
SquareBrackets = 1, // [ ]
|
||
Parenthesis = 2, // ( )
|
||
CurlyBrackets = 3, // { }
|
||
AngleBrackets = 4 // < >
|
||
};
|
||
|
||
enum termcaps
|
||
{
|
||
t_bell,
|
||
t_erase_chars,
|
||
t_clear_screen,
|
||
t_clr_eos,
|
||
t_clr_eol,
|
||
t_clr_bol,
|
||
t_cursor_home,
|
||
t_cursor_to_ll,
|
||
t_carriage_return,
|
||
t_tab,
|
||
t_back_tab,
|
||
t_insert_padding,
|
||
t_insert_character,
|
||
t_parm_ich,
|
||
t_repeat_char,
|
||
t_initialize_color,
|
||
t_initialize_pair,
|
||
t_set_a_foreground,
|
||
t_set_a_background,
|
||
t_set_foreground,
|
||
t_set_background,
|
||
t_set_color_pair,
|
||
t_orig_pair,
|
||
t_orig_colors,
|
||
t_no_color_video,
|
||
t_cursor_address,
|
||
t_column_address,
|
||
t_row_address,
|
||
t_cursor_visible,
|
||
t_cursor_invisible,
|
||
t_cursor_normal,
|
||
t_cursor_up,
|
||
t_cursor_down,
|
||
t_cursor_left,
|
||
t_cursor_right,
|
||
t_parm_up_cursor,
|
||
t_parm_down_cursor,
|
||
t_parm_left_cursor,
|
||
t_parm_right_cursor,
|
||
t_save_cursor,
|
||
t_restore_cursor,
|
||
t_scroll_forward,
|
||
t_scroll_reverse,
|
||
t_enter_ca_mode,
|
||
t_exit_ca_mode,
|
||
t_enable_acs,
|
||
t_enter_bold_mode,
|
||
t_exit_bold_mode,
|
||
t_enter_dim_mode,
|
||
t_exit_dim_mode,
|
||
t_enter_italics_mode,
|
||
t_exit_italics_mode,
|
||
t_enter_underline_mode,
|
||
t_exit_underline_mode,
|
||
t_enter_blink_mode,
|
||
t_exit_blink_mode,
|
||
t_enter_reverse_mode,
|
||
t_exit_reverse_mode,
|
||
t_enter_standout_mode,
|
||
t_exit_standout_mode,
|
||
t_enter_secure_mode,
|
||
t_exit_secure_mode,
|
||
t_enter_protected_mode,
|
||
t_exit_protected_mode,
|
||
t_enter_crossed_out_mode,
|
||
t_exit_crossed_out_mode,
|
||
t_enter_dbl_underline_mode,
|
||
t_exit_dbl_underline_mode,
|
||
t_set_attributes,
|
||
t_exit_attribute_mode,
|
||
t_enter_alt_charset_mode,
|
||
t_exit_alt_charset_mode,
|
||
t_enter_pc_charset_mode,
|
||
t_exit_pc_charset_mode,
|
||
t_enter_insert_mode,
|
||
t_exit_insert_mode,
|
||
t_enter_am_mode,
|
||
t_exit_am_mode,
|
||
t_acs_chars,
|
||
t_keypad_xmit,
|
||
t_keypad_local,
|
||
t_key_mouse
|
||
};
|
||
|
||
// Data Member
|
||
static const FString* empty_string;
|
||
};
|
||
|
||
#pragma pack(pop)
|
||
|
||
#endif // FC_H
|