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.
Files changed (145) hide show
  1. checksums.yaml +4 -4
  2. data/.doc/ext/reflex/application.cpp +19 -1
  3. data/.doc/ext/reflex/chase_constraint.cpp +84 -0
  4. data/.doc/ext/reflex/clipboard.cpp +65 -0
  5. data/.doc/ext/reflex/constraint.cpp +135 -0
  6. data/.doc/ext/reflex/key_event.cpp +6 -6
  7. data/.doc/ext/reflex/link_constraint.cpp +178 -0
  8. data/.doc/ext/reflex/menu.cpp +302 -0
  9. data/.doc/ext/reflex/native.cpp +22 -4
  10. data/.doc/ext/reflex/pin.cpp +156 -0
  11. data/.doc/ext/reflex/pointer.cpp +2 -0
  12. data/.doc/ext/reflex/pointer_event.cpp +1 -1
  13. data/.doc/ext/reflex/reflex.cpp +42 -7
  14. data/.doc/ext/reflex/selector.cpp +4 -4
  15. data/.doc/ext/reflex/snap_constraint.cpp +125 -0
  16. data/.doc/ext/reflex/style_length.cpp +3 -2
  17. data/.doc/ext/reflex/view.cpp +96 -23
  18. data/.doc/ext/reflex/wheel_constraint.cpp +142 -0
  19. data/.doc/ext/reflex/window.cpp +59 -17
  20. data/.github/workflows/release-gem.yml +10 -1
  21. data/.github/workflows/test.yml +9 -0
  22. data/ChangeLog.md +30 -0
  23. data/README.md +1 -0
  24. data/VERSION +1 -1
  25. data/ext/reflex/application.cpp +21 -1
  26. data/ext/reflex/chase_constraint.cpp +89 -0
  27. data/ext/reflex/clipboard.cpp +69 -0
  28. data/ext/reflex/constraint.cpp +146 -0
  29. data/ext/reflex/key_event.cpp +6 -6
  30. data/ext/reflex/link_constraint.cpp +194 -0
  31. data/ext/reflex/menu.cpp +330 -0
  32. data/ext/reflex/native.cpp +22 -4
  33. data/ext/reflex/pin.cpp +165 -0
  34. data/ext/reflex/pointer.cpp +2 -0
  35. data/ext/reflex/pointer_event.cpp +1 -1
  36. data/ext/reflex/reflex.cpp +42 -7
  37. data/ext/reflex/selector.cpp +4 -4
  38. data/ext/reflex/selector.h +1 -1
  39. data/ext/reflex/snap_constraint.cpp +135 -0
  40. data/ext/reflex/style_length.cpp +3 -2
  41. data/ext/reflex/view.cpp +117 -37
  42. data/ext/reflex/wheel_constraint.cpp +154 -0
  43. data/ext/reflex/window.cpp +65 -18
  44. data/include/reflex/application.h +9 -0
  45. data/include/reflex/clipboard.h +53 -0
  46. data/include/reflex/constraint.h +275 -0
  47. data/include/reflex/defs.h +204 -195
  48. data/include/reflex/event.h +2 -0
  49. data/include/reflex/menu.h +120 -0
  50. data/include/reflex/pin.h +68 -0
  51. data/include/reflex/pointer.h +4 -0
  52. data/include/reflex/ruby/clipboard.h +23 -0
  53. data/include/reflex/ruby/constraint.h +94 -0
  54. data/include/reflex/ruby/menu.h +103 -0
  55. data/include/reflex/ruby/pin.h +40 -0
  56. data/include/reflex/ruby/view.h +36 -0
  57. data/include/reflex/ruby/window.h +36 -18
  58. data/include/reflex/view.h +39 -12
  59. data/include/reflex/window.h +17 -4
  60. data/include/reflex.h +5 -0
  61. data/lib/reflex/chase_constraint.rb +15 -0
  62. data/lib/reflex/clipboard.rb +19 -0
  63. data/lib/reflex/constraint.rb +29 -0
  64. data/lib/reflex/extension.rb +1 -1
  65. data/lib/reflex/helper.rb +28 -0
  66. data/lib/reflex/key_event.rb +7 -12
  67. data/lib/reflex/link_constraint.rb +31 -0
  68. data/lib/reflex/menu.rb +76 -0
  69. data/lib/reflex/pin.rb +39 -0
  70. data/lib/reflex/pointer.rb +18 -0
  71. data/lib/reflex/pointer_event.rb +1 -1
  72. data/lib/reflex/snap_constraint.rb +28 -0
  73. data/lib/reflex/view.rb +56 -4
  74. data/lib/reflex/wheel_constraint.rb +28 -0
  75. data/lib/reflex/wheel_event.rb +9 -0
  76. data/lib/reflex.rb +15 -6
  77. data/pod.rake +4 -2
  78. data/reflex.gemspec +3 -3
  79. data/samples/constraint.rb +152 -0
  80. data/samples/menu.rb +29 -0
  81. data/src/application.cpp +21 -2
  82. data/src/application.h +5 -0
  83. data/src/clipboard.cpp +81 -0
  84. data/src/constraint.cpp +1662 -0
  85. data/src/constraint.h +64 -0
  86. data/src/event.cpp +7 -1
  87. data/src/event.h +1 -2
  88. data/src/ios/application.mm +5 -0
  89. data/src/ios/clipboard.mm +44 -0
  90. data/src/ios/event.h +6 -2
  91. data/src/ios/event.mm +31 -12
  92. data/src/ios/menu.mm +36 -0
  93. data/src/ios/view_controller.mm +45 -12
  94. data/src/ios/window.mm +6 -0
  95. data/src/menu.cpp +325 -0
  96. data/src/menu.h +65 -0
  97. data/src/osx/app_delegate.mm +74 -125
  98. data/src/osx/application.mm +16 -0
  99. data/src/osx/clipboard.mm +45 -0
  100. data/src/osx/event.mm +40 -10
  101. data/src/osx/menu.h +25 -0
  102. data/src/osx/menu.mm +372 -0
  103. data/src/osx/native_window.mm +27 -0
  104. data/src/osx/opengl_view.mm +51 -0
  105. data/src/osx/window.mm +11 -0
  106. data/src/pin.cpp +137 -0
  107. data/src/pointer.cpp +27 -16
  108. data/src/pointer.h +6 -0
  109. data/src/sdl/application.cpp +5 -0
  110. data/src/sdl/clipboard.cpp +39 -0
  111. data/src/sdl/event.cpp +20 -3
  112. data/src/sdl/event.h +6 -3
  113. data/src/sdl/menu.cpp +35 -0
  114. data/src/sdl/window.cpp +26 -8
  115. data/src/view.cpp +313 -52
  116. data/src/view.h +18 -2
  117. data/src/win32/application.cpp +5 -0
  118. data/src/win32/clipboard.cpp +210 -0
  119. data/src/win32/event.cpp +11 -1
  120. data/src/win32/event.h +2 -0
  121. data/src/win32/menu.cpp +352 -0
  122. data/src/win32/menu.h +27 -0
  123. data/src/win32/window.cpp +62 -0
  124. data/src/win32/window.h +3 -0
  125. data/src/window.cpp +235 -22
  126. data/src/window.h +13 -2
  127. data/src/world.cpp +77 -14
  128. data/src/world.h +9 -2
  129. data/test/helper.rb +7 -0
  130. data/test/test_application.rb +11 -0
  131. data/test/test_chase_constraint.rb +124 -0
  132. data/test/test_clipboard.rb +54 -0
  133. data/test/test_constraint.rb +186 -0
  134. data/test/test_key_event.rb +6 -0
  135. data/test/test_link_constraint.rb +239 -0
  136. data/test/test_menu.rb +207 -0
  137. data/test/test_pin.rb +65 -0
  138. data/test/test_pointer.rb +23 -9
  139. data/test/test_pointer_event.rb +1 -1
  140. data/test/test_snap_constraint.rb +142 -0
  141. data/test/test_view.rb +113 -23
  142. data/test/test_wheel_constraint.rb +127 -0
  143. data/test/test_wheel_event.rb +15 -9
  144. data/test/test_window.rb +10 -0
  145. metadata +82 -8
@@ -0,0 +1,127 @@
1
+ require_relative 'helper'
2
+
3
+
4
+ class TestWheelConstraint < Test::Unit::TestCase
5
+
6
+ def window()
7
+ Reflex::Window.new
8
+ end
9
+
10
+ def view(x = 0, y = 0, w = 50, h = 50, **options, &block)
11
+ Reflex::View.new(
12
+ frame: [x, y, w, h],
13
+ shape: Reflex::RectShape.new(density: 1),
14
+ **options, &block)
15
+ end
16
+
17
+ def point(...)
18
+ Reflex::Point.new(...)
19
+ end
20
+
21
+ def setup_views(win = window)
22
+ v1 = view 100, 100, dynamic: true
23
+ v2 = view 200, 100, static: true
24
+ win&.add v1
25
+ win&.add v2
26
+ [v1, v2, win, win&.root]
27
+ end
28
+
29
+ def test_initial_state()
30
+ v1, v2, = setup_views
31
+
32
+ assert_equal v1, v1.wheel(v2) .pins[0].view
33
+ assert_equal v2, v1.wheel(v2) .pins[1].view
34
+ assert_equal_point point(0, 1), v1.wheel(v2) .axis
35
+ assert_equal_point point(1, 0), v1.wheel(v2, axis: [1, 0]).axis
36
+ assert_nil v1.wheel(v2) .range
37
+ assert_equal 2..3, v1.wheel(v2, range: 2..3) .range
38
+ assert_nil v1.wheel(v2) .motor
39
+ assert_equal 4, v1.wheel(v2, motor: 4) .motor
40
+ assert_nil v1.wheel(v2) .force
41
+ assert_equal 6, v1.wheel(v2, force: 6) .force
42
+ assert_nil v1.wheel(v2) .spring
43
+ assert_equal 5, v1.wheel(v2, spring: 5) .spring
44
+ assert_in_delta 0.7, v1.wheel(v2) .damping
45
+ assert_false v1.wheel(v2) .collide?
46
+ assert_true v1.wheel(v2) .active?
47
+ assert_false v1.wheel(v2) .removed?
48
+ end
49
+
50
+ def test_rotation_is_free()
51
+ win = window
52
+ wheeled = view 100, 100, dynamic: true
53
+ railed = view 300, 100, dynamic: true
54
+ anchor = view 200, 100, static: true
55
+ [wheeled, railed, anchor].each {|v| win.add v}
56
+
57
+ wheeled.wheel anchor, axis: [1, 0] # a wheel leaves the rotation free
58
+ railed .link anchor, axis: [1, 0] # a rail locks it
59
+
60
+ wheeled.angular_velocity = 90
61
+ railed .angular_velocity = 90
62
+ 3.times {win.root.update_world}
63
+
64
+ assert_in_delta 0, railed.angular_velocity
65
+ assert_operator wheeled.angular_velocity.abs, :>, railed.angular_velocity.abs
66
+ end
67
+
68
+ def test_motor_spins_the_wheel()
69
+ v1, v2, _, root = setup_views
70
+
71
+ c = v1.wheel v2, axis: [1, 0], motor: 90
72
+ assert_equal 90, c.motor
73
+
74
+ root.update_world
75
+ assert_operator v1.angular_velocity, :>, 0
76
+
77
+ c.motor = nil
78
+ assert_nil c.motor
79
+ end
80
+
81
+ def test_force()
82
+ v1, v2, = setup_views
83
+
84
+ c = v1.wheel v2, motor: 90, force: 500
85
+ assert_equal 500, c.force
86
+
87
+ c.force = nil
88
+ assert_nil c.force
89
+
90
+ c.force = 100
91
+ assert_equal 100, c.force
92
+
93
+ assert_raise(ArgumentError) {c.force = -1}
94
+ end
95
+
96
+ def test_slides_along_axis()
97
+ v1, v2, _, root = setup_views
98
+ root.gravity 900, 900
99
+
100
+ c = v1.wheel v2, axis: [1, 0]
101
+ assert_equal_point point(1, 0), c.axis
102
+
103
+ root.update_world
104
+ assert_operator v1.linear_velocity.x, :>, 0 # suspension slides along the axis
105
+ assert_in_delta 0, v1.linear_velocity.y
106
+
107
+ c.axis = [0, 1]
108
+ assert_equal_point point(0, 1), c.axis
109
+ end
110
+
111
+ def test_range()
112
+ v1, v2, _, root = setup_views
113
+ root.gravity 0, 900
114
+
115
+ c = v1.pin(25, 25).wheel v2.pin(25, 25), axis: [0, 1], range: 100..200
116
+ assert_equal 100..200, c.range
117
+
118
+ 60.times {root.update_world}
119
+ assert_equal_point point(200, 300), v1.pos
120
+
121
+ c.range = nil
122
+ assert_nil c.range
123
+
124
+ assert_raise(ArgumentError) {c.range = 'invalid'}
125
+ end
126
+
127
+ end# TestWheelConstraint
@@ -13,15 +13,15 @@ class TestWheelEvent < Test::Unit::TestCase
13
13
 
14
14
  def test_initialize()
15
15
  e = event 1, 2, 3, 4, 5, 6, 7
16
- assert_equal 1, e.x
17
- assert_equal 2, e.y
18
- assert_equal 3, e.z
19
- assert_equal 4, e.dx
20
- assert_equal 5, e.dy
21
- assert_equal 6, e.dz
22
- assert_equal 7, e.modifiers
23
- assert_equal point(1, 2, 3), e. position
24
- assert_equal point(4, 5, 6), e.dposition
16
+ assert_equal 1, e.x
17
+ assert_equal 2, e.y
18
+ assert_equal 3, e.z
19
+ assert_equal 4, e.dx
20
+ assert_equal 5, e.dy
21
+ assert_equal 6, e.dz
22
+ assert_equal [:alt, :control, :shift], e.modifiers
23
+ assert_equal point(1, 2, 3), e. position
24
+ assert_equal point(4, 5, 6), e.dposition
25
25
  end
26
26
 
27
27
  def test_dup()
@@ -34,4 +34,10 @@ class TestWheelEvent < Test::Unit::TestCase
34
34
  assert_true e3.blocked?
35
35
  end
36
36
 
37
+ def test_modifiers()
38
+ e = event 0, 0, 0, 0, 0, 0, Reflex::MOD_CONTROL | Reflex::MOD_SCROLL
39
+ assert_equal [:control, :scroll], e.modifiers
40
+ assert_equal [:control], e.modifiers(locks: false)
41
+ end
42
+
37
43
  end# TestWheelEvent
data/test/test_window.rb CHANGED
@@ -73,6 +73,16 @@ class TestWindow < Test::Unit::TestCase
73
73
  w.frame = [bounds(1, 2, 3, 4, 5, 6)]; assert_equal [1, 2, 0, minw[4], 5, 0], w.frame.to_a(3)
74
74
  end
75
75
 
76
+ def test_menu()
77
+ w = win
78
+ m = Reflex::Menu.new
79
+ assert_nil w.menu
80
+ w.menu = m
81
+ assert_equal m, w.menu
82
+ w.menu = nil
83
+ assert_nil w.menu
84
+ end
85
+
76
86
  def test_closable?()
77
87
  w = win
78
88
  assert_true w.closable?
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reflexion
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - xordog
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-06-23 00:00:00.000000000 Z
11
+ date: 2026-08-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xot
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.3.15
19
+ version: 0.4.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.3.15
26
+ version: 0.4.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rucy
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.3.15
33
+ version: 0.4.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.3.15
40
+ version: 0.4.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rays
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.3.16
47
+ version: 0.4.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.3.16
54
+ version: 0.4.0
55
55
  description: This library helps you to develop interactive graphical user interface.
56
56
  email: xordog@gmail.com
57
57
  executables: []
@@ -60,6 +60,9 @@ extensions:
60
60
  extra_rdoc_files:
61
61
  - ".doc/ext/reflex/application.cpp"
62
62
  - ".doc/ext/reflex/capture_event.cpp"
63
+ - ".doc/ext/reflex/chase_constraint.cpp"
64
+ - ".doc/ext/reflex/clipboard.cpp"
65
+ - ".doc/ext/reflex/constraint.cpp"
63
66
  - ".doc/ext/reflex/contact_event.cpp"
64
67
  - ".doc/ext/reflex/control_change_event.cpp"
65
68
  - ".doc/ext/reflex/device.cpp"
@@ -74,11 +77,14 @@ extra_rdoc_files:
74
77
  - ".doc/ext/reflex/image_view.cpp"
75
78
  - ".doc/ext/reflex/key_event.cpp"
76
79
  - ".doc/ext/reflex/line_shape.cpp"
80
+ - ".doc/ext/reflex/link_constraint.cpp"
81
+ - ".doc/ext/reflex/menu.cpp"
77
82
  - ".doc/ext/reflex/midi.cpp"
78
83
  - ".doc/ext/reflex/midi_event.cpp"
79
84
  - ".doc/ext/reflex/motion_event.cpp"
80
85
  - ".doc/ext/reflex/native.cpp"
81
86
  - ".doc/ext/reflex/note_event.cpp"
87
+ - ".doc/ext/reflex/pin.cpp"
82
88
  - ".doc/ext/reflex/pointer.cpp"
83
89
  - ".doc/ext/reflex/pointer_event.cpp"
84
90
  - ".doc/ext/reflex/polygon_shape.cpp"
@@ -88,17 +94,22 @@ extra_rdoc_files:
88
94
  - ".doc/ext/reflex/scroll_event.cpp"
89
95
  - ".doc/ext/reflex/selector.cpp"
90
96
  - ".doc/ext/reflex/shape.cpp"
97
+ - ".doc/ext/reflex/snap_constraint.cpp"
91
98
  - ".doc/ext/reflex/style.cpp"
92
99
  - ".doc/ext/reflex/style_length.cpp"
93
100
  - ".doc/ext/reflex/timer.cpp"
94
101
  - ".doc/ext/reflex/timer_event.cpp"
95
102
  - ".doc/ext/reflex/update_event.cpp"
96
103
  - ".doc/ext/reflex/view.cpp"
104
+ - ".doc/ext/reflex/wheel_constraint.cpp"
97
105
  - ".doc/ext/reflex/wheel_event.cpp"
98
106
  - ".doc/ext/reflex/window.cpp"
99
107
  files:
100
108
  - ".doc/ext/reflex/application.cpp"
101
109
  - ".doc/ext/reflex/capture_event.cpp"
110
+ - ".doc/ext/reflex/chase_constraint.cpp"
111
+ - ".doc/ext/reflex/clipboard.cpp"
112
+ - ".doc/ext/reflex/constraint.cpp"
102
113
  - ".doc/ext/reflex/contact_event.cpp"
103
114
  - ".doc/ext/reflex/control_change_event.cpp"
104
115
  - ".doc/ext/reflex/device.cpp"
@@ -113,11 +124,14 @@ files:
113
124
  - ".doc/ext/reflex/image_view.cpp"
114
125
  - ".doc/ext/reflex/key_event.cpp"
115
126
  - ".doc/ext/reflex/line_shape.cpp"
127
+ - ".doc/ext/reflex/link_constraint.cpp"
128
+ - ".doc/ext/reflex/menu.cpp"
116
129
  - ".doc/ext/reflex/midi.cpp"
117
130
  - ".doc/ext/reflex/midi_event.cpp"
118
131
  - ".doc/ext/reflex/motion_event.cpp"
119
132
  - ".doc/ext/reflex/native.cpp"
120
133
  - ".doc/ext/reflex/note_event.cpp"
134
+ - ".doc/ext/reflex/pin.cpp"
121
135
  - ".doc/ext/reflex/pointer.cpp"
122
136
  - ".doc/ext/reflex/pointer_event.cpp"
123
137
  - ".doc/ext/reflex/polygon_shape.cpp"
@@ -127,12 +141,14 @@ files:
127
141
  - ".doc/ext/reflex/scroll_event.cpp"
128
142
  - ".doc/ext/reflex/selector.cpp"
129
143
  - ".doc/ext/reflex/shape.cpp"
144
+ - ".doc/ext/reflex/snap_constraint.cpp"
130
145
  - ".doc/ext/reflex/style.cpp"
131
146
  - ".doc/ext/reflex/style_length.cpp"
132
147
  - ".doc/ext/reflex/timer.cpp"
133
148
  - ".doc/ext/reflex/timer_event.cpp"
134
149
  - ".doc/ext/reflex/update_event.cpp"
135
150
  - ".doc/ext/reflex/view.cpp"
151
+ - ".doc/ext/reflex/wheel_constraint.cpp"
136
152
  - ".doc/ext/reflex/wheel_event.cpp"
137
153
  - ".doc/ext/reflex/window.cpp"
138
154
  - ".github/PULL_REQUEST_TEMPLATE.md"
@@ -152,6 +168,9 @@ files:
152
168
  - VERSION
153
169
  - ext/reflex/application.cpp
154
170
  - ext/reflex/capture_event.cpp
171
+ - ext/reflex/chase_constraint.cpp
172
+ - ext/reflex/clipboard.cpp
173
+ - ext/reflex/constraint.cpp
155
174
  - ext/reflex/contact_event.cpp
156
175
  - ext/reflex/control_change_event.cpp
157
176
  - ext/reflex/defs.h
@@ -168,11 +187,14 @@ files:
168
187
  - ext/reflex/image_view.cpp
169
188
  - ext/reflex/key_event.cpp
170
189
  - ext/reflex/line_shape.cpp
190
+ - ext/reflex/link_constraint.cpp
191
+ - ext/reflex/menu.cpp
171
192
  - ext/reflex/midi.cpp
172
193
  - ext/reflex/midi_event.cpp
173
194
  - ext/reflex/motion_event.cpp
174
195
  - ext/reflex/native.cpp
175
196
  - ext/reflex/note_event.cpp
197
+ - ext/reflex/pin.cpp
176
198
  - ext/reflex/pointer.cpp
177
199
  - ext/reflex/pointer_event.cpp
178
200
  - ext/reflex/polygon_shape.cpp
@@ -183,16 +205,20 @@ files:
183
205
  - ext/reflex/selector.cpp
184
206
  - ext/reflex/selector.h
185
207
  - ext/reflex/shape.cpp
208
+ - ext/reflex/snap_constraint.cpp
186
209
  - ext/reflex/style.cpp
187
210
  - ext/reflex/style_length.cpp
188
211
  - ext/reflex/timer.cpp
189
212
  - ext/reflex/timer_event.cpp
190
213
  - ext/reflex/update_event.cpp
191
214
  - ext/reflex/view.cpp
215
+ - ext/reflex/wheel_constraint.cpp
192
216
  - ext/reflex/wheel_event.cpp
193
217
  - ext/reflex/window.cpp
194
218
  - include/reflex.h
195
219
  - include/reflex/application.h
220
+ - include/reflex/clipboard.h
221
+ - include/reflex/constraint.h
196
222
  - include/reflex/debug.h
197
223
  - include/reflex/defs.h
198
224
  - include/reflex/device.h
@@ -201,18 +227,24 @@ files:
201
227
  - include/reflex/filter.h
202
228
  - include/reflex/gamepad.h
203
229
  - include/reflex/image_view.h
230
+ - include/reflex/menu.h
204
231
  - include/reflex/midi.h
232
+ - include/reflex/pin.h
205
233
  - include/reflex/pointer.h
206
234
  - include/reflex/reflex.h
207
235
  - include/reflex/ruby.h
208
236
  - include/reflex/ruby/application.h
237
+ - include/reflex/ruby/clipboard.h
238
+ - include/reflex/ruby/constraint.h
209
239
  - include/reflex/ruby/defs.h
210
240
  - include/reflex/ruby/device.h
211
241
  - include/reflex/ruby/event.h
212
242
  - include/reflex/ruby/exception.h
213
243
  - include/reflex/ruby/filter.h
214
244
  - include/reflex/ruby/image_view.h
245
+ - include/reflex/ruby/menu.h
215
246
  - include/reflex/ruby/midi.h
247
+ - include/reflex/ruby/pin.h
216
248
  - include/reflex/ruby/pointer.h
217
249
  - include/reflex/ruby/reflex.h
218
250
  - include/reflex/ruby/screen.h
@@ -237,8 +269,11 @@ files:
237
269
  - lib/reflex/button.rb
238
270
  - lib/reflex/camera.rb
239
271
  - lib/reflex/capture_event.rb
272
+ - lib/reflex/chase_constraint.rb
273
+ - lib/reflex/clipboard.rb
240
274
  - lib/reflex/color.rb
241
275
  - lib/reflex/color_space.rb
276
+ - lib/reflex/constraint.rb
242
277
  - lib/reflex/contact_event.rb
243
278
  - lib/reflex/draw_event.rb
244
279
  - lib/reflex/ellipse_shape.rb
@@ -254,14 +289,17 @@ files:
254
289
  - lib/reflex/image_view.rb
255
290
  - lib/reflex/key_event.rb
256
291
  - lib/reflex/line_shape.rb
292
+ - lib/reflex/link_constraint.rb
257
293
  - lib/reflex/list_view.rb
258
294
  - lib/reflex/matrix.rb
295
+ - lib/reflex/menu.rb
259
296
  - lib/reflex/midi_event.rb
260
297
  - lib/reflex/model.rb
261
298
  - lib/reflex/model_owner.rb
262
299
  - lib/reflex/model_view.rb
263
300
  - lib/reflex/note_event.rb
264
301
  - lib/reflex/painter.rb
302
+ - lib/reflex/pin.rb
265
303
  - lib/reflex/point.rb
266
304
  - lib/reflex/pointer.rb
267
305
  - lib/reflex/pointer_event.rb
@@ -275,6 +313,7 @@ files:
275
313
  - lib/reflex/selector.rb
276
314
  - lib/reflex/shader.rb
277
315
  - lib/reflex/shape.rb
316
+ - lib/reflex/snap_constraint.rb
278
317
  - lib/reflex/style.rb
279
318
  - lib/reflex/style_length.rb
280
319
  - lib/reflex/text_view.rb
@@ -282,6 +321,7 @@ files:
282
321
  - lib/reflex/timer_event.rb
283
322
  - lib/reflex/update_event.rb
284
323
  - lib/reflex/view.rb
324
+ - lib/reflex/wheel_constraint.rb
285
325
  - lib/reflex/wheel_event.rb
286
326
  - lib/reflex/window.rb
287
327
  - lib/reflexion.rb
@@ -292,6 +332,7 @@ files:
292
332
  - samples/bats.rb
293
333
  - samples/camera.rb
294
334
  - samples/checker.rb
335
+ - samples/constraint.rb
295
336
  - samples/fans.rb
296
337
  - samples/fps.rb
297
338
  - samples/grid.rb
@@ -306,6 +347,7 @@ files:
306
347
  - samples/ios/hello/hello/main.cpp
307
348
  - samples/key.rb
308
349
  - samples/layout.rb
350
+ - samples/menu.rb
309
351
  - samples/model.rb
310
352
  - samples/multi_window.rb
311
353
  - samples/osx/hello/hello.xcodeproj/project.pbxproj
@@ -334,6 +376,9 @@ files:
334
376
  - src/application.h
335
377
  - src/body.cpp
336
378
  - src/body.h
379
+ - src/clipboard.cpp
380
+ - src/constraint.cpp
381
+ - src/constraint.h
337
382
  - src/device.cpp
338
383
  - src/event.cpp
339
384
  - src/event.h
@@ -348,10 +393,12 @@ files:
348
393
  - src/ios/app_delegate.mm
349
394
  - src/ios/application.h
350
395
  - src/ios/application.mm
396
+ - src/ios/clipboard.mm
351
397
  - src/ios/device.mm
352
398
  - src/ios/event.h
353
399
  - src/ios/event.mm
354
400
  - src/ios/gamepad.mm
401
+ - src/ios/menu.mm
355
402
  - src/ios/reflex.mm
356
403
  - src/ios/screen.h
357
404
  - src/ios/screen.mm
@@ -359,18 +406,23 @@ files:
359
406
  - src/ios/view_controller.mm
360
407
  - src/ios/window.h
361
408
  - src/ios/window.mm
409
+ - src/menu.cpp
410
+ - src/menu.h
362
411
  - src/midi.cpp
363
412
  - src/midi.h
364
413
  - src/osx/app_delegate.h
365
414
  - src/osx/app_delegate.mm
366
415
  - src/osx/application.h
367
416
  - src/osx/application.mm
417
+ - src/osx/clipboard.mm
368
418
  - src/osx/device.mm
369
419
  - src/osx/event.h
370
420
  - src/osx/event.mm
371
421
  - src/osx/gamepad.mm
372
422
  - src/osx/gamepad_gc.mm
373
423
  - src/osx/gamepad_hid.mm
424
+ - src/osx/menu.h
425
+ - src/osx/menu.mm
374
426
  - src/osx/native_window.h
375
427
  - src/osx/native_window.mm
376
428
  - src/osx/opengl_view.h
@@ -380,15 +432,18 @@ files:
380
432
  - src/osx/screen.mm
381
433
  - src/osx/window.h
382
434
  - src/osx/window.mm
435
+ - src/pin.cpp
383
436
  - src/pointer.cpp
384
437
  - src/pointer.h
385
438
  - src/queue.h
386
439
  - src/reflex.cpp
387
440
  - src/sdl/application.cpp
441
+ - src/sdl/clipboard.cpp
388
442
  - src/sdl/device.cpp
389
443
  - src/sdl/event.cpp
390
444
  - src/sdl/event.h
391
445
  - src/sdl/gamepad.cpp
446
+ - src/sdl/menu.cpp
392
447
  - src/sdl/opengl.cpp
393
448
  - src/sdl/opengl.h
394
449
  - src/sdl/reflex.cpp
@@ -407,11 +462,14 @@ files:
407
462
  - src/view.cpp
408
463
  - src/view.h
409
464
  - src/win32/application.cpp
465
+ - src/win32/clipboard.cpp
410
466
  - src/win32/device.cpp
411
467
  - src/win32/event.cpp
412
468
  - src/win32/event.h
413
469
  - src/win32/gamepad.cpp
414
470
  - src/win32/gamepad.h
471
+ - src/win32/menu.cpp
472
+ - src/win32/menu.h
415
473
  - src/win32/opengl.cpp
416
474
  - src/win32/opengl.h
417
475
  - src/win32/reflex.cpp
@@ -426,6 +484,9 @@ files:
426
484
  - test/helper.rb
427
485
  - test/test_application.rb
428
486
  - test/test_capture_event.rb
487
+ - test/test_chase_constraint.rb
488
+ - test/test_clipboard.rb
489
+ - test/test_constraint.rb
429
490
  - test/test_contact_event.rb
430
491
  - test/test_device.rb
431
492
  - test/test_draw_event.rb
@@ -434,10 +495,13 @@ files:
434
495
  - test/test_frame_event.rb
435
496
  - test/test_has_frame.rb
436
497
  - test/test_key_event.rb
498
+ - test/test_link_constraint.rb
499
+ - test/test_menu.rb
437
500
  - test/test_midi_event.rb
438
501
  - test/test_model.rb
439
502
  - test/test_model_owner.rb
440
503
  - test/test_note_event.rb
504
+ - test/test_pin.rb
441
505
  - test/test_pointer.rb
442
506
  - test/test_pointer_event.rb
443
507
  - test/test_reflex_init.rb
@@ -445,11 +509,13 @@ files:
445
509
  - test/test_scroll_event.rb
446
510
  - test/test_selector.rb
447
511
  - test/test_shape.rb
512
+ - test/test_snap_constraint.rb
448
513
  - test/test_style.rb
449
514
  - test/test_style_length.rb
450
515
  - test/test_timer_event.rb
451
516
  - test/test_update_event.rb
452
517
  - test/test_view.rb
518
+ - test/test_wheel_constraint.rb
453
519
  - test/test_wheel_event.rb
454
520
  - test/test_window.rb
455
521
  homepage: https://github.com/xord/reflex
@@ -479,6 +545,9 @@ test_files:
479
545
  - test/helper.rb
480
546
  - test/test_application.rb
481
547
  - test/test_capture_event.rb
548
+ - test/test_chase_constraint.rb
549
+ - test/test_clipboard.rb
550
+ - test/test_constraint.rb
482
551
  - test/test_contact_event.rb
483
552
  - test/test_device.rb
484
553
  - test/test_draw_event.rb
@@ -487,10 +556,13 @@ test_files:
487
556
  - test/test_frame_event.rb
488
557
  - test/test_has_frame.rb
489
558
  - test/test_key_event.rb
559
+ - test/test_link_constraint.rb
560
+ - test/test_menu.rb
490
561
  - test/test_midi_event.rb
491
562
  - test/test_model.rb
492
563
  - test/test_model_owner.rb
493
564
  - test/test_note_event.rb
565
+ - test/test_pin.rb
494
566
  - test/test_pointer.rb
495
567
  - test/test_pointer_event.rb
496
568
  - test/test_reflex_init.rb
@@ -498,10 +570,12 @@ test_files:
498
570
  - test/test_scroll_event.rb
499
571
  - test/test_selector.rb
500
572
  - test/test_shape.rb
573
+ - test/test_snap_constraint.rb
501
574
  - test/test_style.rb
502
575
  - test/test_style_length.rb
503
576
  - test/test_timer_event.rb
504
577
  - test/test_update_event.rb
505
578
  - test/test_view.rb
579
+ - test/test_wheel_constraint.rb
506
580
  - test/test_wheel_event.rb
507
581
  - test/test_window.rb