reflexion 0.5.2 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.doc/ext/reflex/application.cpp +19 -1
- data/.doc/ext/reflex/chase_constraint.cpp +84 -0
- data/.doc/ext/reflex/clipboard.cpp +65 -0
- data/.doc/ext/reflex/constraint.cpp +135 -0
- data/.doc/ext/reflex/key_event.cpp +6 -6
- data/.doc/ext/reflex/link_constraint.cpp +178 -0
- data/.doc/ext/reflex/menu.cpp +302 -0
- data/.doc/ext/reflex/native.cpp +22 -4
- data/.doc/ext/reflex/pin.cpp +156 -0
- data/.doc/ext/reflex/pointer.cpp +2 -0
- data/.doc/ext/reflex/pointer_event.cpp +1 -1
- data/.doc/ext/reflex/reflex.cpp +42 -7
- data/.doc/ext/reflex/selector.cpp +4 -4
- data/.doc/ext/reflex/snap_constraint.cpp +125 -0
- data/.doc/ext/reflex/style_length.cpp +3 -2
- data/.doc/ext/reflex/view.cpp +96 -23
- data/.doc/ext/reflex/wheel_constraint.cpp +142 -0
- data/.doc/ext/reflex/window.cpp +59 -17
- data/.github/workflows/release-gem.yml +10 -1
- data/.github/workflows/test.yml +9 -0
- data/ChangeLog.md +30 -0
- data/README.md +1 -0
- data/VERSION +1 -1
- data/ext/reflex/application.cpp +21 -1
- data/ext/reflex/chase_constraint.cpp +89 -0
- data/ext/reflex/clipboard.cpp +69 -0
- data/ext/reflex/constraint.cpp +146 -0
- data/ext/reflex/key_event.cpp +6 -6
- data/ext/reflex/link_constraint.cpp +194 -0
- data/ext/reflex/menu.cpp +330 -0
- data/ext/reflex/native.cpp +22 -4
- data/ext/reflex/pin.cpp +165 -0
- data/ext/reflex/pointer.cpp +2 -0
- data/ext/reflex/pointer_event.cpp +1 -1
- data/ext/reflex/reflex.cpp +42 -7
- data/ext/reflex/selector.cpp +4 -4
- data/ext/reflex/selector.h +1 -1
- data/ext/reflex/snap_constraint.cpp +135 -0
- data/ext/reflex/style_length.cpp +3 -2
- data/ext/reflex/view.cpp +117 -37
- data/ext/reflex/wheel_constraint.cpp +154 -0
- data/ext/reflex/window.cpp +65 -18
- data/include/reflex/application.h +9 -0
- data/include/reflex/clipboard.h +53 -0
- data/include/reflex/constraint.h +275 -0
- data/include/reflex/defs.h +204 -195
- data/include/reflex/event.h +2 -0
- data/include/reflex/menu.h +120 -0
- data/include/reflex/pin.h +68 -0
- data/include/reflex/pointer.h +4 -0
- data/include/reflex/ruby/clipboard.h +23 -0
- data/include/reflex/ruby/constraint.h +94 -0
- data/include/reflex/ruby/menu.h +103 -0
- data/include/reflex/ruby/pin.h +40 -0
- data/include/reflex/ruby/view.h +36 -0
- data/include/reflex/ruby/window.h +36 -18
- data/include/reflex/view.h +39 -12
- data/include/reflex/window.h +17 -4
- data/include/reflex.h +5 -0
- data/lib/reflex/chase_constraint.rb +15 -0
- data/lib/reflex/clipboard.rb +19 -0
- data/lib/reflex/constraint.rb +29 -0
- data/lib/reflex/extension.rb +1 -1
- data/lib/reflex/helper.rb +28 -0
- data/lib/reflex/key_event.rb +7 -12
- data/lib/reflex/link_constraint.rb +31 -0
- data/lib/reflex/menu.rb +76 -0
- data/lib/reflex/pin.rb +39 -0
- data/lib/reflex/pointer.rb +18 -0
- data/lib/reflex/pointer_event.rb +1 -1
- data/lib/reflex/snap_constraint.rb +28 -0
- data/lib/reflex/view.rb +56 -4
- data/lib/reflex/wheel_constraint.rb +28 -0
- data/lib/reflex/wheel_event.rb +9 -0
- data/lib/reflex.rb +15 -6
- data/pod.rake +4 -2
- data/reflex.gemspec +3 -3
- data/samples/constraint.rb +152 -0
- data/samples/menu.rb +29 -0
- data/src/application.cpp +21 -2
- data/src/application.h +5 -0
- data/src/clipboard.cpp +81 -0
- data/src/constraint.cpp +1662 -0
- data/src/constraint.h +64 -0
- data/src/event.cpp +7 -1
- data/src/event.h +1 -2
- data/src/ios/application.mm +5 -0
- data/src/ios/clipboard.mm +44 -0
- data/src/ios/event.h +6 -2
- data/src/ios/event.mm +31 -12
- data/src/ios/menu.mm +36 -0
- data/src/ios/view_controller.mm +45 -12
- data/src/ios/window.mm +6 -0
- data/src/menu.cpp +325 -0
- data/src/menu.h +65 -0
- data/src/osx/app_delegate.mm +74 -125
- data/src/osx/application.mm +16 -0
- data/src/osx/clipboard.mm +45 -0
- data/src/osx/event.mm +40 -10
- data/src/osx/menu.h +25 -0
- data/src/osx/menu.mm +372 -0
- data/src/osx/native_window.mm +27 -0
- data/src/osx/opengl_view.mm +51 -0
- data/src/osx/window.mm +11 -0
- data/src/pin.cpp +137 -0
- data/src/pointer.cpp +27 -16
- data/src/pointer.h +6 -0
- data/src/sdl/application.cpp +5 -0
- data/src/sdl/clipboard.cpp +39 -0
- data/src/sdl/event.cpp +20 -3
- data/src/sdl/event.h +6 -3
- data/src/sdl/menu.cpp +35 -0
- data/src/sdl/window.cpp +26 -8
- data/src/view.cpp +313 -52
- data/src/view.h +18 -2
- data/src/win32/application.cpp +5 -0
- data/src/win32/clipboard.cpp +210 -0
- data/src/win32/event.cpp +11 -1
- data/src/win32/event.h +2 -0
- data/src/win32/menu.cpp +352 -0
- data/src/win32/menu.h +27 -0
- data/src/win32/window.cpp +62 -0
- data/src/win32/window.h +3 -0
- data/src/window.cpp +235 -22
- data/src/window.h +13 -2
- data/src/world.cpp +77 -14
- data/src/world.h +9 -2
- data/test/helper.rb +7 -0
- data/test/test_application.rb +11 -0
- data/test/test_chase_constraint.rb +124 -0
- data/test/test_clipboard.rb +54 -0
- data/test/test_constraint.rb +186 -0
- data/test/test_key_event.rb +6 -0
- data/test/test_link_constraint.rb +239 -0
- data/test/test_menu.rb +207 -0
- data/test/test_pin.rb +65 -0
- data/test/test_pointer.rb +23 -9
- data/test/test_pointer_event.rb +1 -1
- data/test/test_snap_constraint.rb +142 -0
- data/test/test_view.rb +113 -23
- data/test/test_wheel_constraint.rb +127 -0
- data/test/test_wheel_event.rb +15 -9
- data/test/test_window.rb +10 -0
- metadata +82 -8
data/include/reflex/defs.h
CHANGED
|
@@ -44,32 +44,41 @@ namespace Reflex
|
|
|
44
44
|
{
|
|
45
45
|
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
namespace Types
|
|
48
|
+
{
|
|
48
49
|
|
|
49
|
-
|
|
50
|
+
using Rays::Coord2;
|
|
51
|
+
using Rays::Coord3;
|
|
52
|
+
using Rays::Coord4;
|
|
53
|
+
using Rays::Point;
|
|
54
|
+
using Rays::Bounds;
|
|
55
|
+
using Rays::Color;
|
|
56
|
+
using Rays::Matrix;
|
|
57
|
+
|
|
58
|
+
using Rays::ColorSpace;
|
|
59
|
+
using Rays::Polyline;
|
|
60
|
+
using Rays::Polygon;
|
|
61
|
+
using Rays::Bitmap;
|
|
62
|
+
using Rays::Image;
|
|
63
|
+
using Rays::Font;
|
|
64
|
+
using Rays::Shader;
|
|
65
|
+
|
|
66
|
+
using Rays::Painter;
|
|
50
67
|
|
|
51
|
-
using Rays::StringList;
|
|
52
68
|
|
|
69
|
+
}// Types
|
|
53
70
|
|
|
54
|
-
using Rays::coord;
|
|
55
71
|
|
|
56
|
-
using
|
|
57
|
-
using Rays::Coord3;
|
|
58
|
-
using Rays::Coord4;
|
|
59
|
-
using Rays::Point;
|
|
60
|
-
using Rays::Bounds;
|
|
61
|
-
using Rays::Color;
|
|
62
|
-
using Rays::Matrix;
|
|
72
|
+
using namespace Xot ::Types;
|
|
63
73
|
|
|
64
|
-
using Rays::
|
|
65
|
-
using Rays::Polyline;
|
|
66
|
-
using Rays::Polygon;
|
|
67
|
-
using Rays::Bitmap;
|
|
68
|
-
using Rays::Image;
|
|
69
|
-
using Rays::Font;
|
|
70
|
-
using Rays::Shader;
|
|
74
|
+
using namespace Rays ::Types;
|
|
71
75
|
|
|
72
|
-
using
|
|
76
|
+
using namespace Reflex::Types;
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
using Rays::String;
|
|
80
|
+
|
|
81
|
+
using Rays::StringList;
|
|
73
82
|
|
|
74
83
|
|
|
75
84
|
enum KeyCode
|
|
@@ -123,19 +132,19 @@ namespace Reflex
|
|
|
123
132
|
KEY_8 = NATIVE_VK(0x1C, 0x38, 0x25),
|
|
124
133
|
KEY_9 = NATIVE_VK(0x19, 0x39, 0x26),
|
|
125
134
|
|
|
126
|
-
KEY_MINUS = NATIVE_VK(0x1B,
|
|
127
|
-
KEY_EQUAL = NATIVE_VK(0x18,
|
|
128
|
-
KEY_COMMA = NATIVE_VK(0x2B,
|
|
129
|
-
KEY_PERIOD = NATIVE_VK(0x2F,
|
|
130
|
-
KEY_SEMICOLON = NATIVE_VK(0x29,
|
|
131
|
-
KEY_QUOTE = NATIVE_VK(0x27,
|
|
132
|
-
KEY_SLASH = NATIVE_VK(0x2C,
|
|
133
|
-
KEY_BACKSLASH = NATIVE_VK(0x2A,
|
|
134
|
-
KEY_UNDERSCORE = NATIVE_VK(0x5E, -
|
|
135
|
-
KEY_GRAVE = NATIVE_VK(0x32,
|
|
136
|
-
KEY_YEN = NATIVE_VK(0x5D, -
|
|
137
|
-
KEY_LBRACKET = NATIVE_VK(0x21,
|
|
138
|
-
KEY_RBRACKET = NATIVE_VK(0x1E,
|
|
135
|
+
KEY_MINUS = NATIVE_VK(0x1B, 0xBD, 0x2D),
|
|
136
|
+
KEY_EQUAL = NATIVE_VK(0x18, 0xBB, 0x2E),
|
|
137
|
+
KEY_COMMA = NATIVE_VK(0x2B, 0xBC, 0x36),
|
|
138
|
+
KEY_PERIOD = NATIVE_VK(0x2F, 0xBE, 0x37),
|
|
139
|
+
KEY_SEMICOLON = NATIVE_VK(0x29, 0xBA, 0x33),
|
|
140
|
+
KEY_QUOTE = NATIVE_VK(0x27, 0xDE, 0x34),
|
|
141
|
+
KEY_SLASH = NATIVE_VK(0x2C, 0xBF, 0x38),
|
|
142
|
+
KEY_BACKSLASH = NATIVE_VK(0x2A, 0xDC, 0x31),
|
|
143
|
+
KEY_UNDERSCORE = NATIVE_VK(0x5E, -2, 0x87),// JIS
|
|
144
|
+
KEY_GRAVE = NATIVE_VK(0x32, 0xC0, 0x35),
|
|
145
|
+
KEY_YEN = NATIVE_VK(0x5D, -3, 0x89),// JIS
|
|
146
|
+
KEY_LBRACKET = NATIVE_VK(0x21, 0xDB, 0x2F),
|
|
147
|
+
KEY_RBRACKET = NATIVE_VK(0x1E, 0xDD, 0x30),
|
|
139
148
|
|
|
140
149
|
KEY_ENTER = NATIVE_VK(0x24, 0x0D, 0x28),
|
|
141
150
|
KEY_RETURN = NATIVE_VK(0x24, 0x0D, 0x28),
|
|
@@ -166,13 +175,13 @@ namespace Reflex
|
|
|
166
175
|
KEY_RALT = NATIVE_VK(-5, 0xA5, 0xE6),
|
|
167
176
|
KEY_LWIN = NATIVE_VK(-6, 0x5B, 0xE3),
|
|
168
177
|
KEY_RWIN = NATIVE_VK(-7, 0x5C, 0xE7),
|
|
169
|
-
KEY_COMMAND = NATIVE_VK(0x37, -
|
|
170
|
-
KEY_LCOMMAND = NATIVE_VK(0x37, -
|
|
171
|
-
KEY_RCOMMAND = NATIVE_VK(0x36, -
|
|
172
|
-
KEY_OPTION = NATIVE_VK(0x3A, -
|
|
173
|
-
KEY_LOPTION = NATIVE_VK(0x3A, -
|
|
174
|
-
KEY_ROPTION = NATIVE_VK(0x3D, -
|
|
175
|
-
KEY_FUNCTION = NATIVE_VK(0x3F, -
|
|
178
|
+
KEY_COMMAND = NATIVE_VK(0x37, -4, 0xE3),
|
|
179
|
+
KEY_LCOMMAND = NATIVE_VK(0x37, -5, 0xE3),
|
|
180
|
+
KEY_RCOMMAND = NATIVE_VK(0x36, -6, 0xE7),
|
|
181
|
+
KEY_OPTION = NATIVE_VK(0x3A, -7, 0xE2),
|
|
182
|
+
KEY_LOPTION = NATIVE_VK(0x3A, -8, 0xE2),
|
|
183
|
+
KEY_ROPTION = NATIVE_VK(0x3D, -9, 0xE6),
|
|
184
|
+
KEY_FUNCTION = NATIVE_VK(0x3F, -10, -2),
|
|
176
185
|
|
|
177
186
|
KEY_F1 = NATIVE_VK(0x7A, 0x70, 0x3A),
|
|
178
187
|
KEY_F2 = NATIVE_VK(0x78, 0x71, 0x3B),
|
|
@@ -210,16 +219,16 @@ namespace Reflex
|
|
|
210
219
|
KEY_NUM_8 = NATIVE_VK(0x5B, 0x68, 0x60),
|
|
211
220
|
KEY_NUM_9 = NATIVE_VK(0x5C, 0x69, 0x61),
|
|
212
221
|
|
|
213
|
-
KEY_NUM_PLUS = NATIVE_VK(0x45,
|
|
214
|
-
KEY_NUM_MINUS = NATIVE_VK(0x4E,
|
|
215
|
-
KEY_NUM_MULTIPLY = NATIVE_VK(0x43,
|
|
216
|
-
KEY_NUM_DIVIDE = NATIVE_VK(0x4B,
|
|
217
|
-
KEY_NUM_EQUAL = NATIVE_VK(0x51, -
|
|
218
|
-
KEY_NUM_PERIOD = NATIVE_VK(-12, -
|
|
219
|
-
KEY_NUM_COMMA = NATIVE_VK(0x5F, -
|
|
220
|
-
KEY_NUM_DECIMAL = NATIVE_VK(0x41,
|
|
221
|
-
KEY_NUM_CLEAR = NATIVE_VK(0x47, -
|
|
222
|
-
KEY_NUM_ENTER = NATIVE_VK(0x4C, -
|
|
222
|
+
KEY_NUM_PLUS = NATIVE_VK(0x45, 0x6B, 0x57),
|
|
223
|
+
KEY_NUM_MINUS = NATIVE_VK(0x4E, 0x6D, 0x56),
|
|
224
|
+
KEY_NUM_MULTIPLY = NATIVE_VK(0x43, 0x6A, 0x55),
|
|
225
|
+
KEY_NUM_DIVIDE = NATIVE_VK(0x4B, 0x6F, 0x54),
|
|
226
|
+
KEY_NUM_EQUAL = NATIVE_VK(0x51, -11, 0x67),
|
|
227
|
+
KEY_NUM_PERIOD = NATIVE_VK(-12, -12, 0x63),
|
|
228
|
+
KEY_NUM_COMMA = NATIVE_VK(0x5F, -13, 0x85),
|
|
229
|
+
KEY_NUM_DECIMAL = NATIVE_VK(0x41, 0x6E, 0xDC),
|
|
230
|
+
KEY_NUM_CLEAR = NATIVE_VK(0x47, -14, 0x53),
|
|
231
|
+
KEY_NUM_ENTER = NATIVE_VK(0x4C, -15, 0x58),
|
|
223
232
|
|
|
224
233
|
KEY_CAPSLOCK = NATIVE_VK(0x39, 0x14, 0x39),
|
|
225
234
|
KEY_NUMLOCK = NATIVE_VK(-13, 0x90, 0x53),
|
|
@@ -227,11 +236,11 @@ namespace Reflex
|
|
|
227
236
|
|
|
228
237
|
KEY_PRINTSCREEN = NATIVE_VK(-15, 0x2C, 0x46),
|
|
229
238
|
KEY_PAUSE = NATIVE_VK(-16, 0x13, 0x48),
|
|
230
|
-
KEY_BREAK = NATIVE_VK(-17, -
|
|
239
|
+
KEY_BREAK = NATIVE_VK(-17, -16, -3),
|
|
231
240
|
KEY_SECTION = NATIVE_VK(0x0A, 0xE2, 0x64),
|
|
232
241
|
KEY_HELP = NATIVE_VK(0x72, 0x2F, 0x75),
|
|
233
242
|
|
|
234
|
-
KEY_EISU = NATIVE_VK(0x66, -
|
|
243
|
+
KEY_EISU = NATIVE_VK(0x66, -17, 0x90),
|
|
235
244
|
KEY_KANA = NATIVE_VK(0x68, 0x15, 0x91),
|
|
236
245
|
KEY_KANJI = NATIVE_VK(-18, 0x19, 0x94),
|
|
237
246
|
KEY_IME_ON = NATIVE_VK(-19, 0x16, -4),
|
|
@@ -246,152 +255,152 @@ namespace Reflex
|
|
|
246
255
|
KEY_VOLUME_DOWN = NATIVE_VK(0x49, 0xAE, 0x81),
|
|
247
256
|
KEY_MUTE = NATIVE_VK(0x4A, 0xAD, 0x7F),
|
|
248
257
|
|
|
249
|
-
KEY_SLEEP
|
|
250
|
-
KEY_EXEC
|
|
251
|
-
KEY_PRINT
|
|
252
|
-
|
|
253
|
-
KEY_SELECT
|
|
254
|
-
KEY_CLEAR
|
|
255
|
-
|
|
256
|
-
KEY_NAVIGATION_VIEW = NATIVE_VK(-
|
|
257
|
-
KEY_NAVIGATION_MENU = NATIVE_VK(-
|
|
258
|
-
KEY_NAVIGATION_UP = NATIVE_VK(-
|
|
259
|
-
KEY_NAVIGATION_DOWN = NATIVE_VK(-
|
|
260
|
-
KEY_NAVIGATION_LEFT = NATIVE_VK(-
|
|
261
|
-
KEY_NAVIGATION_RIGHT = NATIVE_VK(-
|
|
262
|
-
KEY_NAVIGATION_ACCEPT = NATIVE_VK(-
|
|
263
|
-
KEY_NAVIGATION_CANCEL = NATIVE_VK(-
|
|
264
|
-
|
|
265
|
-
KEY_BROWSER_BACK = NATIVE_VK(-
|
|
266
|
-
KEY_BROWSER_FORWARD = NATIVE_VK(-
|
|
267
|
-
KEY_BROWSER_REFRESH = NATIVE_VK(-
|
|
268
|
-
KEY_BROWSER_STOP = NATIVE_VK(-
|
|
269
|
-
KEY_BROWSER_SEARCH = NATIVE_VK(-
|
|
270
|
-
KEY_BROWSER_FAVORITES = NATIVE_VK(-
|
|
271
|
-
KEY_BROWSER_HOME = NATIVE_VK(-
|
|
272
|
-
|
|
273
|
-
KEY_MEDIA_PREV_TRACK = NATIVE_VK(-
|
|
274
|
-
KEY_MEDIA_NEXT_TRACK = NATIVE_VK(-
|
|
275
|
-
KEY_MEDIA_PLAY_PAUSE = NATIVE_VK(-
|
|
276
|
-
KEY_MEDIA_STOP = NATIVE_VK(-
|
|
277
|
-
|
|
278
|
-
KEY_LAUNCH_MAIL = NATIVE_VK(-
|
|
279
|
-
KEY_LAUNCH_MEDIA_SELECT = NATIVE_VK(-
|
|
280
|
-
KEY_LAUNCH_APP1 = NATIVE_VK(-
|
|
281
|
-
KEY_LAUNCH_APP2 = NATIVE_VK(-
|
|
258
|
+
KEY_SLEEP = NATIVE_VK(-26, 0x5F, 0x11A),
|
|
259
|
+
KEY_EXEC = NATIVE_VK(-27, 0x2B, 0x74),
|
|
260
|
+
KEY_PRINT = NATIVE_VK(-28, 0x2A, -11),
|
|
261
|
+
KEY_CONTEXT_MENU = NATIVE_VK(0x6E, 0x5D, 0x65),
|
|
262
|
+
KEY_SELECT = NATIVE_VK(-29, 0x29, 0x77),
|
|
263
|
+
KEY_CLEAR = NATIVE_VK(-30, 0x0C, 0x9C),
|
|
264
|
+
|
|
265
|
+
KEY_NAVIGATION_VIEW = NATIVE_VK(-31, 0x88, -12),
|
|
266
|
+
KEY_NAVIGATION_MENU = NATIVE_VK(-32, 0x89, -13),
|
|
267
|
+
KEY_NAVIGATION_UP = NATIVE_VK(-33, 0x8A, -14),
|
|
268
|
+
KEY_NAVIGATION_DOWN = NATIVE_VK(-34, 0x8B, -15),
|
|
269
|
+
KEY_NAVIGATION_LEFT = NATIVE_VK(-35, 0x8C, -16),
|
|
270
|
+
KEY_NAVIGATION_RIGHT = NATIVE_VK(-36, 0x8D, -17),
|
|
271
|
+
KEY_NAVIGATION_ACCEPT = NATIVE_VK(-37, 0x8E, -18),
|
|
272
|
+
KEY_NAVIGATION_CANCEL = NATIVE_VK(-38, 0x8F, -19),
|
|
273
|
+
|
|
274
|
+
KEY_BROWSER_BACK = NATIVE_VK(-39, 0xA6, 0x10E),
|
|
275
|
+
KEY_BROWSER_FORWARD = NATIVE_VK(-40, 0xA7, 0x10F),
|
|
276
|
+
KEY_BROWSER_REFRESH = NATIVE_VK(-41, 0xA8, 0x111),
|
|
277
|
+
KEY_BROWSER_STOP = NATIVE_VK(-42, 0xA9, 0x110),
|
|
278
|
+
KEY_BROWSER_SEARCH = NATIVE_VK(-43, 0xAA, 0x10C),
|
|
279
|
+
KEY_BROWSER_FAVORITES = NATIVE_VK(-44, 0xAB, 0x112),
|
|
280
|
+
KEY_BROWSER_HOME = NATIVE_VK(-45, 0xAC, 0x10D),
|
|
281
|
+
|
|
282
|
+
KEY_MEDIA_PREV_TRACK = NATIVE_VK(-46, 0xB1, 0x103),
|
|
283
|
+
KEY_MEDIA_NEXT_TRACK = NATIVE_VK(-47, 0xB0, 0x102),
|
|
284
|
+
KEY_MEDIA_PLAY_PAUSE = NATIVE_VK(-48, 0xB3, 0x105),
|
|
285
|
+
KEY_MEDIA_STOP = NATIVE_VK(-49, 0xB2, 0x104),
|
|
286
|
+
|
|
287
|
+
KEY_LAUNCH_MAIL = NATIVE_VK(-50, 0xB4, 0x109),
|
|
288
|
+
KEY_LAUNCH_MEDIA_SELECT = NATIVE_VK(-51, 0xB5, 0x107),
|
|
289
|
+
KEY_LAUNCH_APP1 = NATIVE_VK(-52, 0xB6, 0x11B),
|
|
290
|
+
KEY_LAUNCH_APP2 = NATIVE_VK(-53, 0xB7, 0x11C),
|
|
282
291
|
|
|
283
292
|
// from SDK scan codes
|
|
284
|
-
KEY_NONUSHASH = NATIVE_VK(-
|
|
285
|
-
KEY_POWER = NATIVE_VK(-
|
|
286
|
-
KEY_MENU = NATIVE_VK(-
|
|
287
|
-
|
|
288
|
-
KEY_STOP = NATIVE_VK(-
|
|
289
|
-
KEY_AGAIN = NATIVE_VK(-
|
|
290
|
-
KEY_UNDO = NATIVE_VK(-
|
|
291
|
-
KEY_CUT = NATIVE_VK(-
|
|
292
|
-
KEY_COPY = NATIVE_VK(-
|
|
293
|
-
KEY_PASTE = NATIVE_VK(-
|
|
294
|
-
KEY_FIND = NATIVE_VK(-
|
|
295
|
-
|
|
296
|
-
KEY_NUM_EQUALSAS400 = NATIVE_VK(-
|
|
297
|
-
|
|
298
|
-
KEY_INTERNATIONAL2 = NATIVE_VK(-
|
|
299
|
-
KEY_INTERNATIONAL4 = NATIVE_VK(-
|
|
300
|
-
KEY_INTERNATIONAL5 = NATIVE_VK(-
|
|
301
|
-
KEY_INTERNATIONAL6 = NATIVE_VK(-
|
|
302
|
-
KEY_INTERNATIONAL7 = NATIVE_VK(-
|
|
303
|
-
KEY_INTERNATIONAL8 = NATIVE_VK(-
|
|
304
|
-
KEY_INTERNATIONAL9 = NATIVE_VK(-
|
|
305
|
-
|
|
306
|
-
KEY_LANG1 = NATIVE_VK(-
|
|
307
|
-
KEY_LANG2 = NATIVE_VK(-
|
|
308
|
-
KEY_LANG3 = NATIVE_VK(-
|
|
309
|
-
KEY_LANG4 = NATIVE_VK(-
|
|
310
|
-
KEY_LANG5 = NATIVE_VK(-
|
|
311
|
-
KEY_LANG6 = NATIVE_VK(-
|
|
312
|
-
KEY_LANG7 = NATIVE_VK(-
|
|
313
|
-
KEY_LANG8 = NATIVE_VK(-
|
|
314
|
-
KEY_LANG9 = NATIVE_VK(-
|
|
315
|
-
|
|
316
|
-
KEY_ALTERASE = NATIVE_VK(-
|
|
317
|
-
KEY_SYSREQ = NATIVE_VK(-
|
|
318
|
-
KEY_CANCEL = NATIVE_VK(-
|
|
319
|
-
KEY_PRIOR = NATIVE_VK(-
|
|
320
|
-
KEY_RETURN2 = NATIVE_VK(-
|
|
321
|
-
KEY_SEPARATOR = NATIVE_VK(-
|
|
322
|
-
KEY_OUT = NATIVE_VK(-
|
|
323
|
-
KEY_OPER = NATIVE_VK(-
|
|
324
|
-
KEY_CLEARAGAIN = NATIVE_VK(-
|
|
325
|
-
KEY_CRSEL = NATIVE_VK(-
|
|
326
|
-
KEY_EXSEL = NATIVE_VK(-
|
|
327
|
-
|
|
328
|
-
KEY_NUM_00 = NATIVE_VK(-
|
|
329
|
-
KEY_NUM_000 = NATIVE_VK(-
|
|
330
|
-
KEY_THOUSANDSSEP = NATIVE_VK(-
|
|
331
|
-
KEY_DECIMALSEP = NATIVE_VK(-
|
|
332
|
-
KEY_CURRENCYUNIT = NATIVE_VK(-
|
|
333
|
-
KEY_CURRENCYSUBUNIT = NATIVE_VK(-
|
|
334
|
-
KEY_NUM_LPAREN = NATIVE_VK(-
|
|
335
|
-
KEY_NUM_RPAREN = NATIVE_VK(-
|
|
336
|
-
KEY_NUM_LBRACE = NATIVE_VK(-
|
|
337
|
-
KEY_NUM_RBRACE = NATIVE_VK(-
|
|
338
|
-
KEY_NUM_TAB = NATIVE_VK(-
|
|
339
|
-
KEY_NUM_BACKSPACE = NATIVE_VK(-
|
|
340
|
-
KEY_NUM_A = NATIVE_VK(-
|
|
341
|
-
KEY_NUM_B = NATIVE_VK(-
|
|
342
|
-
KEY_NUM_C = NATIVE_VK(-
|
|
343
|
-
KEY_NUM_D = NATIVE_VK(-
|
|
344
|
-
KEY_NUM_E = NATIVE_VK(-
|
|
345
|
-
KEY_NUM_F = NATIVE_VK(-
|
|
346
|
-
KEY_NUM_XOR = NATIVE_VK(-
|
|
347
|
-
KEY_NUM_POWER = NATIVE_VK(-
|
|
348
|
-
KEY_NUM_PERCENT = NATIVE_VK(-
|
|
349
|
-
KEY_NUM_LESS = NATIVE_VK(-
|
|
350
|
-
KEY_NUM_GREATER = NATIVE_VK(-
|
|
351
|
-
KEY_NUM_AMPERSAND = NATIVE_VK(-
|
|
352
|
-
KEY_NUM_DBLAMPERSAND = NATIVE_VK(-
|
|
353
|
-
KEY_NUM_VERTICALBAR = NATIVE_VK(-
|
|
354
|
-
KEY_NUM_DBLVERTICALBAR = NATIVE_VK(-
|
|
355
|
-
KEY_NUM_COLON = NATIVE_VK(-
|
|
356
|
-
KEY_NUM_HASH = NATIVE_VK(-
|
|
357
|
-
KEY_NUM_SPACE = NATIVE_VK(-
|
|
358
|
-
KEY_NUM_AT = NATIVE_VK(-
|
|
359
|
-
KEY_NUM_EXCLAM = NATIVE_VK(-
|
|
360
|
-
KEY_NUM_MEMSTORE = NATIVE_VK(-
|
|
361
|
-
KEY_NUM_MEMRECALL = NATIVE_VK(-
|
|
362
|
-
KEY_NUM_MEMCLEAR = NATIVE_VK(-
|
|
363
|
-
KEY_NUM_MEMADD = NATIVE_VK(-
|
|
364
|
-
KEY_NUM_MEMSUBTRACT = NATIVE_VK(-
|
|
365
|
-
KEY_NUM_MEMMULTIPLY = NATIVE_VK(-
|
|
366
|
-
KEY_NUM_MEMDIVIDE = NATIVE_VK(-
|
|
367
|
-
KEY_NUM_PLUSMINUS = NATIVE_VK(-
|
|
368
|
-
KEY_NUM_CLEARENTRY = NATIVE_VK(-
|
|
369
|
-
KEY_NUM_BINARY = NATIVE_VK(-
|
|
370
|
-
KEY_NUM_OCTAL = NATIVE_VK(-
|
|
371
|
-
KEY_NUM_HEXADECIMAL = NATIVE_VK(-
|
|
372
|
-
|
|
373
|
-
KEY_MODE = NATIVE_VK(-
|
|
374
|
-
|
|
375
|
-
KEY_AUDIOMUTE = NATIVE_VK(-
|
|
376
|
-
KEY_WWW = NATIVE_VK(-
|
|
377
|
-
KEY_CALCULATOR = NATIVE_VK(-
|
|
378
|
-
KEY_COMPUTER = NATIVE_VK(-
|
|
379
|
-
|
|
380
|
-
KEY_BRIGHTNESSDOWN = NATIVE_VK(-
|
|
381
|
-
KEY_BRIGHTNESSUP = NATIVE_VK(-
|
|
382
|
-
KEY_DISPLAYSWITCH = NATIVE_VK(-
|
|
383
|
-
KEY_KBDILLUMTOGGLE = NATIVE_VK(-
|
|
384
|
-
KEY_KBDILLUMDOWN = NATIVE_VK(-
|
|
385
|
-
KEY_KBDILLUMUP = NATIVE_VK(-
|
|
386
|
-
KEY_EJECT = NATIVE_VK(-
|
|
387
|
-
|
|
388
|
-
KEY_AUDIOREWIND = NATIVE_VK(-
|
|
389
|
-
KEY_AUDIOFASTFORWARD = NATIVE_VK(-
|
|
390
|
-
|
|
391
|
-
KEY_SOFTLEFT = NATIVE_VK(-
|
|
392
|
-
KEY_SOFTRIGHT = NATIVE_VK(-
|
|
393
|
-
KEY_CALL = NATIVE_VK(-
|
|
394
|
-
KEY_ENDCALL = NATIVE_VK(-
|
|
293
|
+
KEY_NONUSHASH = NATIVE_VK(-54, -18, 0x32),
|
|
294
|
+
KEY_POWER = NATIVE_VK(-55, -19, 0x66),
|
|
295
|
+
KEY_MENU = NATIVE_VK(-56, -20, 0x76),
|
|
296
|
+
|
|
297
|
+
KEY_STOP = NATIVE_VK(-57, -21, 0x78),
|
|
298
|
+
KEY_AGAIN = NATIVE_VK(-58, -22, 0x79),
|
|
299
|
+
KEY_UNDO = NATIVE_VK(-59, -23, 0x7A),
|
|
300
|
+
KEY_CUT = NATIVE_VK(-60, -24, 0x7B),
|
|
301
|
+
KEY_COPY = NATIVE_VK(-61, -25, 0x7C),
|
|
302
|
+
KEY_PASTE = NATIVE_VK(-62, -26, 0x7D),
|
|
303
|
+
KEY_FIND = NATIVE_VK(-63, -27, 0x7E),
|
|
304
|
+
|
|
305
|
+
KEY_NUM_EQUALSAS400 = NATIVE_VK(-64, -28, 0x86),
|
|
306
|
+
|
|
307
|
+
KEY_INTERNATIONAL2 = NATIVE_VK(-65, -29, 0x88),
|
|
308
|
+
KEY_INTERNATIONAL4 = NATIVE_VK(-66, -30, 0x8A),
|
|
309
|
+
KEY_INTERNATIONAL5 = NATIVE_VK(-67, -31, 0x8B),
|
|
310
|
+
KEY_INTERNATIONAL6 = NATIVE_VK(-68, -32, 0x8C),
|
|
311
|
+
KEY_INTERNATIONAL7 = NATIVE_VK(-69, -33, 0x8D),
|
|
312
|
+
KEY_INTERNATIONAL8 = NATIVE_VK(-70, -34, 0x8E),
|
|
313
|
+
KEY_INTERNATIONAL9 = NATIVE_VK(-71, -35, 0x8F),
|
|
314
|
+
|
|
315
|
+
KEY_LANG1 = NATIVE_VK(-72, -36, 0x90),// Hangul/English toggle
|
|
316
|
+
KEY_LANG2 = NATIVE_VK(-73, -37, 0x91),// Hanja conversion
|
|
317
|
+
KEY_LANG3 = NATIVE_VK(-74, -38, 0x92),// Katakana
|
|
318
|
+
KEY_LANG4 = NATIVE_VK(-75, -39, 0x93),// Hiragana
|
|
319
|
+
KEY_LANG5 = NATIVE_VK(-76, -40, 0x94),// Zenkaku/Hankaku
|
|
320
|
+
KEY_LANG6 = NATIVE_VK(-77, -41, 0x95),
|
|
321
|
+
KEY_LANG7 = NATIVE_VK(-78, -42, 0x96),
|
|
322
|
+
KEY_LANG8 = NATIVE_VK(-79, -43, 0x97),
|
|
323
|
+
KEY_LANG9 = NATIVE_VK(-80, -44, 0x98),
|
|
324
|
+
|
|
325
|
+
KEY_ALTERASE = NATIVE_VK(-81, -45, 0x99),
|
|
326
|
+
KEY_SYSREQ = NATIVE_VK(-82, -46, 0x9A),
|
|
327
|
+
KEY_CANCEL = NATIVE_VK(-83, -47, 0x9B),
|
|
328
|
+
KEY_PRIOR = NATIVE_VK(-84, -48, 0x9D),
|
|
329
|
+
KEY_RETURN2 = NATIVE_VK(-85, -49, 0x9E),
|
|
330
|
+
KEY_SEPARATOR = NATIVE_VK(-86, -50, 0x9F),
|
|
331
|
+
KEY_OUT = NATIVE_VK(-87, -51, 0xA0),
|
|
332
|
+
KEY_OPER = NATIVE_VK(-88, -52, 0xA1),
|
|
333
|
+
KEY_CLEARAGAIN = NATIVE_VK(-89, -53, 0xA2),
|
|
334
|
+
KEY_CRSEL = NATIVE_VK(-90, -54, 0xA3),
|
|
335
|
+
KEY_EXSEL = NATIVE_VK(-91, -55, 0xA4),
|
|
336
|
+
|
|
337
|
+
KEY_NUM_00 = NATIVE_VK(-92, -56, 0xB0),
|
|
338
|
+
KEY_NUM_000 = NATIVE_VK(-93, -57, 0xB1),
|
|
339
|
+
KEY_THOUSANDSSEP = NATIVE_VK(-94, -58, 0xB2),
|
|
340
|
+
KEY_DECIMALSEP = NATIVE_VK(-95, -59, 0xB3),
|
|
341
|
+
KEY_CURRENCYUNIT = NATIVE_VK(-96, -60, 0xB4),
|
|
342
|
+
KEY_CURRENCYSUBUNIT = NATIVE_VK(-97, -61, 0xB5),
|
|
343
|
+
KEY_NUM_LPAREN = NATIVE_VK(-98, -62, 0xB6),
|
|
344
|
+
KEY_NUM_RPAREN = NATIVE_VK(-99, -63, 0xB7),
|
|
345
|
+
KEY_NUM_LBRACE = NATIVE_VK(-100, -64, 0xB8),
|
|
346
|
+
KEY_NUM_RBRACE = NATIVE_VK(-101, -65, 0xB9),
|
|
347
|
+
KEY_NUM_TAB = NATIVE_VK(-102, -66, 0xBA),
|
|
348
|
+
KEY_NUM_BACKSPACE = NATIVE_VK(-103, -67, 0xBB),
|
|
349
|
+
KEY_NUM_A = NATIVE_VK(-104, -68, 0xBC),
|
|
350
|
+
KEY_NUM_B = NATIVE_VK(-105, -69, 0xBD),
|
|
351
|
+
KEY_NUM_C = NATIVE_VK(-106, -70, 0xBE),
|
|
352
|
+
KEY_NUM_D = NATIVE_VK(-107, -71, 0xBF),
|
|
353
|
+
KEY_NUM_E = NATIVE_VK(-108, -72, 0xC0),
|
|
354
|
+
KEY_NUM_F = NATIVE_VK(-109, -73, 0xC1),
|
|
355
|
+
KEY_NUM_XOR = NATIVE_VK(-110, -74, 0xC2),
|
|
356
|
+
KEY_NUM_POWER = NATIVE_VK(-111, -75, 0xC3),
|
|
357
|
+
KEY_NUM_PERCENT = NATIVE_VK(-112, -76, 0xC4),
|
|
358
|
+
KEY_NUM_LESS = NATIVE_VK(-113, -77, 0xC5),
|
|
359
|
+
KEY_NUM_GREATER = NATIVE_VK(-114, -78, 0xC6),
|
|
360
|
+
KEY_NUM_AMPERSAND = NATIVE_VK(-115, -79, 0xC7),
|
|
361
|
+
KEY_NUM_DBLAMPERSAND = NATIVE_VK(-116, -80, 0xC8),
|
|
362
|
+
KEY_NUM_VERTICALBAR = NATIVE_VK(-117, -81, 0xC9),
|
|
363
|
+
KEY_NUM_DBLVERTICALBAR = NATIVE_VK(-118, -82, 0xCA),
|
|
364
|
+
KEY_NUM_COLON = NATIVE_VK(-119, -83, 0xCB),
|
|
365
|
+
KEY_NUM_HASH = NATIVE_VK(-120, -84, 0xCC),
|
|
366
|
+
KEY_NUM_SPACE = NATIVE_VK(-121, -85, 0xCD),
|
|
367
|
+
KEY_NUM_AT = NATIVE_VK(-122, -86, 0xCE),
|
|
368
|
+
KEY_NUM_EXCLAM = NATIVE_VK(-123, -87, 0xCF),
|
|
369
|
+
KEY_NUM_MEMSTORE = NATIVE_VK(-124, -88, 0xD0),
|
|
370
|
+
KEY_NUM_MEMRECALL = NATIVE_VK(-125, -89, 0xD1),
|
|
371
|
+
KEY_NUM_MEMCLEAR = NATIVE_VK(-126, -90, 0xD2),
|
|
372
|
+
KEY_NUM_MEMADD = NATIVE_VK(-127, -91, 0xD3),
|
|
373
|
+
KEY_NUM_MEMSUBTRACT = NATIVE_VK(-128, -92, 0xD4),
|
|
374
|
+
KEY_NUM_MEMMULTIPLY = NATIVE_VK(-129, -93, 0xD5),
|
|
375
|
+
KEY_NUM_MEMDIVIDE = NATIVE_VK(-130, -94, 0xD6),
|
|
376
|
+
KEY_NUM_PLUSMINUS = NATIVE_VK(-131, -95, 0xD7),
|
|
377
|
+
KEY_NUM_CLEARENTRY = NATIVE_VK(-132, -96, 0xD9),
|
|
378
|
+
KEY_NUM_BINARY = NATIVE_VK(-133, -97, 0xDA),
|
|
379
|
+
KEY_NUM_OCTAL = NATIVE_VK(-134, -98, 0xDB),
|
|
380
|
+
KEY_NUM_HEXADECIMAL = NATIVE_VK(-135, -99, 0xDD),
|
|
381
|
+
|
|
382
|
+
KEY_MODE = NATIVE_VK(-136, -100, 0x101),
|
|
383
|
+
|
|
384
|
+
KEY_AUDIOMUTE = NATIVE_VK(-137, -101, 0x106),
|
|
385
|
+
KEY_WWW = NATIVE_VK(-138, -102, 0x108),
|
|
386
|
+
KEY_CALCULATOR = NATIVE_VK(-139, -103, 0x10A),
|
|
387
|
+
KEY_COMPUTER = NATIVE_VK(-140, -104, 0x10B),
|
|
388
|
+
|
|
389
|
+
KEY_BRIGHTNESSDOWN = NATIVE_VK(-141, -105, 0x113),
|
|
390
|
+
KEY_BRIGHTNESSUP = NATIVE_VK(-142, -106, 0x114),
|
|
391
|
+
KEY_DISPLAYSWITCH = NATIVE_VK(-143, -107, 0x115),
|
|
392
|
+
KEY_KBDILLUMTOGGLE = NATIVE_VK(-144, -108, 0x116),
|
|
393
|
+
KEY_KBDILLUMDOWN = NATIVE_VK(-145, -109, 0x117),
|
|
394
|
+
KEY_KBDILLUMUP = NATIVE_VK(-146, -110, 0x118),
|
|
395
|
+
KEY_EJECT = NATIVE_VK(-147, -111, 0x119),
|
|
396
|
+
|
|
397
|
+
KEY_AUDIOREWIND = NATIVE_VK(-148, -112, 0x11D),
|
|
398
|
+
KEY_AUDIOFASTFORWARD = NATIVE_VK(-149, -113, 0x11E),
|
|
399
|
+
|
|
400
|
+
KEY_SOFTLEFT = NATIVE_VK(-150, -114, 0x11F),
|
|
401
|
+
KEY_SOFTRIGHT = NATIVE_VK(-151, -115, 0x120),
|
|
402
|
+
KEY_CALL = NATIVE_VK(-152, -116, 0x121),
|
|
403
|
+
KEY_ENDCALL = NATIVE_VK(-153, -117, 0x122),
|
|
395
404
|
|
|
396
405
|
#undef NATIVE_VK
|
|
397
406
|
|
data/include/reflex/event.h
CHANGED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
// -*- c++ -*-
|
|
2
|
+
#pragma once
|
|
3
|
+
#ifndef __REFLEX_MENU_H__
|
|
4
|
+
#define __REFLEX_MENU_H__
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
#include <vector>
|
|
8
|
+
#include <xot/ref.h>
|
|
9
|
+
#include <xot/pimpl.h>
|
|
10
|
+
#include <reflex/defs.h>
|
|
11
|
+
#include <reflex/selector.h>
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
namespace Reflex
|
|
15
|
+
{
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class Event;
|
|
19
|
+
class View;
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class Menu : public Xot::RefCountable<>, public HasSelector
|
|
23
|
+
{
|
|
24
|
+
|
|
25
|
+
public:
|
|
26
|
+
|
|
27
|
+
typedef Xot::Ref<Menu> Ref;
|
|
28
|
+
|
|
29
|
+
typedef std::vector<Ref> ChildList;
|
|
30
|
+
|
|
31
|
+
typedef ChildList:: iterator iterator;
|
|
32
|
+
|
|
33
|
+
typedef ChildList::const_iterator const_iterator;
|
|
34
|
+
|
|
35
|
+
Menu (const char* label = NULL);
|
|
36
|
+
|
|
37
|
+
virtual ~Menu ();
|
|
38
|
+
|
|
39
|
+
virtual void popup (coord x, coord y);
|
|
40
|
+
|
|
41
|
+
virtual void popup (const Point& position);
|
|
42
|
+
|
|
43
|
+
virtual void popup (View* view, coord x, coord y);
|
|
44
|
+
|
|
45
|
+
virtual void popup (View* view, const Point& position);
|
|
46
|
+
|
|
47
|
+
virtual void add_child (Menu* child, int index = -1);
|
|
48
|
+
|
|
49
|
+
virtual void remove_child (Menu* child);
|
|
50
|
+
|
|
51
|
+
virtual void clear_children ();
|
|
52
|
+
|
|
53
|
+
virtual ChildList find_children (
|
|
54
|
+
const Selector& selector, bool recursive = true) const;
|
|
55
|
+
|
|
56
|
+
virtual void set_label (const char* label);
|
|
57
|
+
|
|
58
|
+
virtual const char* label () const;
|
|
59
|
+
|
|
60
|
+
virtual void enable (bool state);
|
|
61
|
+
|
|
62
|
+
virtual bool is_enabled () const;
|
|
63
|
+
|
|
64
|
+
virtual void check (bool);
|
|
65
|
+
|
|
66
|
+
virtual bool is_checked () const;
|
|
67
|
+
|
|
68
|
+
virtual void set_shortcut (const char* key, uint modifiers = MOD_NONE);
|
|
69
|
+
|
|
70
|
+
virtual const char* shortcut_key () const;
|
|
71
|
+
|
|
72
|
+
virtual uint shortcut_modifiers () const;
|
|
73
|
+
|
|
74
|
+
virtual void set_image (const Image& image);
|
|
75
|
+
|
|
76
|
+
virtual const Image& image () const;
|
|
77
|
+
|
|
78
|
+
virtual bool is_separator () const;
|
|
79
|
+
|
|
80
|
+
virtual Menu* parent ();
|
|
81
|
+
|
|
82
|
+
virtual const Menu* parent () const;
|
|
83
|
+
|
|
84
|
+
virtual size_t size () const;
|
|
85
|
+
|
|
86
|
+
virtual bool empty () const;
|
|
87
|
+
|
|
88
|
+
virtual iterator begin ();
|
|
89
|
+
|
|
90
|
+
virtual const_iterator begin () const;
|
|
91
|
+
|
|
92
|
+
virtual iterator end ();
|
|
93
|
+
|
|
94
|
+
virtual const_iterator end () const;
|
|
95
|
+
|
|
96
|
+
virtual void on_show (Event* e);
|
|
97
|
+
|
|
98
|
+
virtual void on_hide (Event* e);
|
|
99
|
+
|
|
100
|
+
virtual void on_open_submenu (Event* e);
|
|
101
|
+
|
|
102
|
+
virtual void on_close_submenu (Event* e);
|
|
103
|
+
|
|
104
|
+
virtual void on_click (Event* e);
|
|
105
|
+
|
|
106
|
+
struct Data;
|
|
107
|
+
|
|
108
|
+
Xot::PImpl<Data> self;
|
|
109
|
+
|
|
110
|
+
protected:
|
|
111
|
+
|
|
112
|
+
virtual SelectorPtr* get_selector_ptr ();
|
|
113
|
+
|
|
114
|
+
};// Menu
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
}// Reflex
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
#endif//EOH
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// -*- c++ -*-
|
|
2
|
+
#pragma once
|
|
3
|
+
#ifndef __REFLEX_PIN_H__
|
|
4
|
+
#define __REFLEX_PIN_H__
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
#include <xot/pimpl.h>
|
|
8
|
+
#include <rays/point.h>
|
|
9
|
+
#include <reflex/defs.h>
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
namespace Reflex
|
|
13
|
+
{
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class View;
|
|
17
|
+
class SnapConstraint;
|
|
18
|
+
class LinkConstraint;
|
|
19
|
+
class WheelConstraint;
|
|
20
|
+
class ChaseConstraint;
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class Pin
|
|
24
|
+
{
|
|
25
|
+
|
|
26
|
+
public:
|
|
27
|
+
|
|
28
|
+
Pin ();
|
|
29
|
+
|
|
30
|
+
Pin (coord x, coord y);
|
|
31
|
+
|
|
32
|
+
Pin (const Point& position);
|
|
33
|
+
|
|
34
|
+
Pin (View* view);
|
|
35
|
+
|
|
36
|
+
Pin (View* view, coord x, coord y);
|
|
37
|
+
|
|
38
|
+
Pin (View* view, const Point& position);
|
|
39
|
+
|
|
40
|
+
SnapConstraint* snap (Pin target = Pin());
|
|
41
|
+
|
|
42
|
+
LinkConstraint* link (Pin target = Pin());
|
|
43
|
+
|
|
44
|
+
WheelConstraint* wheel (Pin target = Pin());
|
|
45
|
+
|
|
46
|
+
ChaseConstraint* chase (Pin target = Pin());
|
|
47
|
+
|
|
48
|
+
View* view ();
|
|
49
|
+
|
|
50
|
+
const View* view () const;
|
|
51
|
+
|
|
52
|
+
const Point* position () const;
|
|
53
|
+
|
|
54
|
+
operator bool () const;
|
|
55
|
+
|
|
56
|
+
bool operator ! () const;
|
|
57
|
+
|
|
58
|
+
struct Data;
|
|
59
|
+
|
|
60
|
+
Xot::PSharedImpl<Data> self;
|
|
61
|
+
|
|
62
|
+
};// Pin
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
}// Reflex
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
#endif//EOH
|