1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
pub use crate::prelude::*;
use std::mem;
#[repr(i32)]
#[derive(Debug, Copy, Clone)]
pub enum Align {
AlignCenter = 0,
AlignTop = 1,
AlignBottom = 2,
AlignLeft = 4,
AlignRight = 8,
}
#[repr(i32)]
#[derive(Debug, Copy, Clone)]
pub enum Font {
Helvetica = 0,
HelveticaBold = 1,
HelveticaItalic = 2,
HelveticaBoldItalic = 3,
Courrier = 4,
CourrierBold = 5,
CourrierItalic = 6,
CourrierBoldItalic = 7,
Times = 8,
TimesBold = 9,
TimesItalic = 10,
TimesBoldItalic = 11,
Symbol = 12,
Screen = 13,
ScreenBold = 14,
Zapfdingbats = 15,
Freefont = 16,
}
#[repr(i32)]
#[derive(Debug, Copy, Clone)]
pub enum Color {
ForeGround = 0,
BackGround = 7,
Inactive = 8,
Selection = 15,
Gray0 = 32,
Dark3 = 39,
Dark2 = 45,
Dark1 = 47,
FrameDefault = 49,
Light1 = 50,
Light2 = 52,
Light3 = 54,
Black = 56,
Red = 88,
Green = 63,
Yellow = 95,
Blue = 216,
Magenta = 248,
Cyan = 223,
DarkRed = 72,
DarkGreen = 60,
DarkYellow = 76,
DarkBlue = 136,
DarkMagenta = 152,
DarkCyan = 140,
White = 255,
}
#[repr(i32)]
#[derive(Debug, Copy, Clone)]
pub enum Event {
NoEvent = 0,
Push,
Released,
Enter,
Leave,
Drag,
Focus,
Unfocus,
KeyDown,
KeyUp,
Close,
Move,
Shortcut,
Deactivate,
Activate,
Hide,
Show,
Paste,
SelectionClear,
MouseWheel,
}
#[repr(i32)]
#[derive(WidgetType, Debug, Copy, Clone)]
pub enum LabelType {
NormalLabel = 0,
NoLabel,
ShadowLabel,
EngravedLabel,
EmbossedLabel,
MultiLabel,
IconLabel,
ImageLabel,
FreeLabelType,
}
#[repr(i32)]
#[derive(Debug, Copy, Clone)]
pub enum Shortcut {
Shift = 0x00010000,
CapsLock = 0x00020000,
Ctrl = 0x00040000,
Alt = 0x00080000,
}
impl std::ops::Add<char> for Shortcut {
type Output = i32;
fn add(self, other: char) -> i32 {
self as i32 + other as i32
}
}