reflexion 0.1.12 → 0.1.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.doc/ext/reflex/application.cpp +9 -5
- data/.doc/ext/reflex/capture_event.cpp +0 -4
- data/.doc/ext/reflex/contact_event.cpp +17 -10
- data/.doc/ext/reflex/draw_event.cpp +1 -5
- data/.doc/ext/reflex/ellipse_shape.cpp +51 -24
- data/.doc/ext/reflex/event.cpp +0 -4
- data/.doc/ext/reflex/filter.cpp +81 -0
- data/.doc/ext/reflex/focus_event.cpp +9 -13
- data/.doc/ext/reflex/frame_event.cpp +40 -6
- data/.doc/ext/reflex/image_view.cpp +1 -10
- data/.doc/ext/reflex/key_event.cpp +2 -6
- data/.doc/ext/reflex/line_shape.cpp +99 -0
- data/.doc/ext/reflex/motion_event.cpp +75 -0
- data/.doc/ext/reflex/native.cpp +18 -18
- data/.doc/ext/reflex/pointer_event.cpp +5 -11
- data/.doc/ext/reflex/polygon_shape.cpp +65 -0
- data/.doc/ext/reflex/rect_shape.cpp +102 -23
- data/.doc/ext/reflex/reflex.cpp +21 -2
- data/.doc/ext/reflex/scroll_event.cpp +0 -6
- data/.doc/ext/reflex/selector.cpp +43 -15
- data/.doc/ext/reflex/shape.cpp +211 -0
- data/.doc/ext/reflex/style.cpp +359 -185
- data/.doc/ext/reflex/style_length.cpp +163 -35
- data/.doc/ext/reflex/timer.cpp +101 -0
- data/.doc/ext/reflex/timer_event.cpp +123 -0
- data/.doc/ext/reflex/update_event.cpp +11 -6
- data/.doc/ext/reflex/view.cpp +548 -144
- data/.doc/ext/reflex/wheel_event.cpp +0 -22
- data/.doc/ext/reflex/window.cpp +7 -15
- data/README.md +1 -1
- data/Rakefile +14 -12
- data/VERSION +1 -1
- data/ext/reflex/application.cpp +10 -5
- data/ext/reflex/capture_event.cpp +1 -5
- data/ext/reflex/contact_event.cpp +19 -11
- data/ext/reflex/defs.h +5 -2
- data/ext/reflex/draw_event.cpp +2 -6
- data/ext/reflex/ellipse_shape.cpp +56 -25
- data/ext/reflex/event.cpp +0 -4
- data/ext/reflex/extconf.rb +1 -2
- data/ext/reflex/filter.cpp +86 -0
- data/ext/reflex/focus_event.cpp +11 -15
- data/ext/reflex/frame_event.cpp +46 -7
- data/ext/reflex/image_view.cpp +1 -10
- data/ext/reflex/key_event.cpp +3 -7
- data/ext/reflex/line_shape.cpp +104 -0
- data/ext/reflex/motion_event.cpp +79 -0
- data/ext/reflex/native.cpp +18 -18
- data/ext/reflex/pointer_event.cpp +6 -12
- data/ext/reflex/polygon_shape.cpp +68 -0
- data/ext/reflex/rect_shape.cpp +113 -24
- data/ext/reflex/reflex.cpp +21 -2
- data/ext/reflex/scroll_event.cpp +1 -7
- data/ext/reflex/selector.cpp +46 -16
- data/ext/reflex/selector.h +130 -0
- data/ext/reflex/shape.cpp +231 -0
- data/ext/reflex/style.cpp +363 -192
- data/ext/reflex/style_length.cpp +164 -37
- data/ext/reflex/timer.cpp +108 -0
- data/ext/reflex/timer_event.cpp +133 -0
- data/ext/reflex/update_event.cpp +13 -7
- data/ext/reflex/view.cpp +594 -150
- data/ext/reflex/wheel_event.cpp +1 -25
- data/ext/reflex/window.cpp +7 -15
- data/include/reflex/application.h +2 -0
- data/include/reflex/debug.h +22 -0
- data/include/reflex/defs.h +45 -0
- data/include/reflex/event.h +60 -16
- data/include/reflex/exception.h +9 -0
- data/include/reflex/filter.h +56 -0
- data/include/reflex/image_view.h +1 -1
- data/include/reflex/ruby/application.h +17 -9
- data/include/reflex/ruby/event.h +22 -0
- data/include/reflex/ruby/filter.h +69 -0
- data/include/reflex/ruby/selector.h +1 -1
- data/include/reflex/ruby/shape.h +140 -0
- data/include/reflex/ruby/style.h +1 -1
- data/include/reflex/ruby/timer.h +69 -0
- data/include/reflex/ruby/view.h +43 -76
- data/include/reflex/ruby/window.h +17 -32
- data/include/reflex/ruby.h +6 -4
- data/include/reflex/selector.h +54 -2
- data/include/reflex/shape.h +211 -0
- data/include/reflex/style.h +111 -77
- data/include/reflex/timer.h +73 -0
- data/include/reflex/view.h +181 -59
- data/include/reflex/window.h +4 -3
- data/include/reflex.h +5 -4
- data/lib/reflex/application.rb +6 -3
- data/lib/reflex/button.rb +2 -2
- data/lib/reflex/capture_event.rb +7 -6
- data/lib/reflex/contact_event.rb +10 -12
- data/lib/reflex/draw_event.rb +6 -1
- data/lib/reflex/ellipse_shape.rb +27 -0
- data/lib/reflex/filter.rb +18 -0
- data/lib/reflex/fixture.rb +4 -0
- data/lib/reflex/focus_event.rb +10 -12
- data/lib/reflex/frame_event.rb +1 -1
- data/lib/reflex/helper.rb +17 -29
- data/lib/reflex/key_event.rb +13 -11
- data/lib/reflex/line_shape.rb +18 -0
- data/lib/reflex/{texture.rb → matrix.rb} +2 -2
- data/lib/reflex/module.rb +4 -19
- data/lib/reflex/pointer_event.rb +26 -37
- data/lib/reflex/polygon.rb +14 -0
- data/lib/reflex/polygon_shape.rb +23 -0
- data/lib/reflex/polyline.rb +13 -0
- data/lib/reflex/rect_shape.rb +20 -0
- data/lib/reflex/reflex.rb +1 -3
- data/lib/reflex/scroll_event.rb +1 -1
- data/lib/reflex/selector.rb +2 -2
- data/lib/reflex/shape.rb +62 -0
- data/lib/reflex/style.rb +78 -11
- data/lib/reflex/style_length.rb +0 -11
- data/lib/reflex/text_view.rb +7 -24
- data/lib/reflex/timer.rb +30 -0
- data/lib/reflex/timer_event.rb +29 -0
- data/lib/reflex/update_event.rb +1 -1
- data/lib/reflex/view.rb +127 -32
- data/lib/reflex/wheel_event.rb +9 -1
- data/lib/reflex/window.rb +29 -9
- data/lib/reflex.rb +11 -5
- data/lib/reflexion.rb +23 -7
- data/reflex.gemspec +8 -10
- data/samples/bats.rb +4 -4
- data/samples/fans.rb +1 -1
- data/samples/fps.rb +5 -3
- data/samples/hello.rb +4 -6
- data/samples/image.rb +5 -4
- data/samples/ios/hello/hello.xcodeproj/project.pbxproj +0 -2
- data/samples/layout.rb +16 -7
- data/samples/model.rb +10 -7
- data/samples/physics.rb +22 -20
- data/samples/reflexion/breakout.rb +4 -5
- data/samples/reflexion/hello.rb +2 -2
- data/samples/reflexion/jump_action.rb +191 -0
- data/samples/reflexion/noise.rb +23 -0
- data/samples/reflexion/paint.rb +7 -6
- data/samples/reflexion/physics.rb +15 -8
- data/samples/reflexion/pulse.rb +24 -10
- data/samples/shader.rb +8 -6
- data/samples/shapes.rb +63 -14
- data/samples/tree.rb +9 -10
- data/samples/views.rb +3 -3
- data/samples/visuals.rb +2 -5
- data/src/body.cpp +146 -345
- data/src/body.h +91 -0
- data/src/event.cpp +66 -16
- data/src/exception.cpp +13 -3
- data/src/filter.cpp +76 -0
- data/src/fixture.cpp +164 -39
- data/src/fixture.h +85 -0
- data/src/image_view.cpp +4 -4
- data/src/ios/app_delegate.h +5 -10
- data/src/ios/app_delegate.mm +79 -41
- data/src/ios/application.h +32 -0
- data/src/ios/application.mm +35 -25
- data/src/ios/event.mm +8 -4
- data/src/ios/reflex.mm +0 -7
- data/src/ios/view_controller.h +33 -0
- data/src/ios/view_controller.mm +436 -0
- data/src/ios/window.h +40 -0
- data/src/ios/window.mm +59 -250
- data/src/osx/app_delegate.h +5 -10
- data/src/osx/app_delegate.mm +52 -55
- data/src/osx/application.h +32 -0
- data/src/osx/application.mm +44 -39
- data/src/osx/native_window.h +0 -15
- data/src/osx/native_window.mm +131 -115
- data/src/osx/opengl_view.h +0 -2
- data/src/osx/opengl_view.mm +12 -3
- data/src/osx/reflex.mm +0 -9
- data/src/osx/window.h +42 -0
- data/src/osx/window.mm +45 -252
- data/src/selector.cpp +232 -7
- data/src/selector.h +52 -0
- data/src/shape.cpp +1191 -0
- data/src/shape.h +61 -0
- data/src/style.cpp +571 -374
- data/src/style.h +39 -0
- data/src/timer.cpp +291 -0
- data/src/timer.h +55 -0
- data/src/view.cpp +1624 -984
- data/src/view.h +56 -0
- data/src/win32/window.cpp +3 -4
- data/src/window.cpp +275 -20
- data/src/window.h +92 -0
- data/src/world.cpp +112 -111
- data/src/world.h +34 -53
- data/task/box2d.rake +31 -10
- data/test/test_capture_event.rb +8 -6
- data/test/test_pointer_event.rb +85 -0
- data/test/test_selector.rb +1 -1
- data/test/test_shape.rb +71 -0
- data/test/test_style.rb +77 -11
- data/test/test_style_length.rb +42 -13
- data/test/test_view.rb +138 -14
- metadata +109 -210
- data/.doc/ext/reflex/arc_shape.cpp +0 -89
- data/.doc/ext/reflex/body.cpp +0 -299
- data/.doc/ext/reflex/fixture.cpp +0 -101
- data/.doc/ext/reflex/shape_view.cpp +0 -153
- data/ext/reflex/arc_shape.cpp +0 -94
- data/ext/reflex/body.cpp +0 -328
- data/ext/reflex/fixture.cpp +0 -108
- data/ext/reflex/shape_view.cpp +0 -161
- data/include/reflex/bitmap.h +0 -20
- data/include/reflex/body.h +0 -128
- data/include/reflex/bounds.h +0 -20
- data/include/reflex/color.h +0 -20
- data/include/reflex/color_space.h +0 -20
- data/include/reflex/fixture.h +0 -117
- data/include/reflex/font.h +0 -20
- data/include/reflex/image.h +0 -20
- data/include/reflex/matrix.h +0 -20
- data/include/reflex/painter.h +0 -20
- data/include/reflex/point.h +0 -24
- data/include/reflex/ruby/body.h +0 -41
- data/include/reflex/ruby/fixture.h +0 -41
- data/include/reflex/ruby/shape_view.h +0 -96
- data/include/reflex/shader.h +0 -20
- data/include/reflex/shape_view.h +0 -146
- data/include/reflex/texture.h +0 -20
- data/lib/reflex/body.rb +0 -22
- data/lib/reflex/flags.rb +0 -18
- data/lib/reflex/shape_view.rb +0 -25
- data/src/ios/application_data.h +0 -45
- data/src/ios/native_window.h +0 -39
- data/src/ios/native_window.mm +0 -224
- data/src/ios/opengl_view.h +0 -13
- data/src/ios/opengl_view.mm +0 -139
- data/src/ios/window_data.h +0 -75
- data/src/osx/application_data.h +0 -45
- data/src/osx/window_data.h +0 -75
- data/src/physics/Box2D/Box2D.h +0 -68
- data/src/physics/Box2D/Collision/Shapes/b2ChainShape.cpp +0 -193
- data/src/physics/Box2D/Collision/Shapes/b2ChainShape.h +0 -105
- data/src/physics/Box2D/Collision/Shapes/b2CircleShape.cpp +0 -99
- data/src/physics/Box2D/Collision/Shapes/b2CircleShape.h +0 -91
- data/src/physics/Box2D/Collision/Shapes/b2EdgeShape.cpp +0 -138
- data/src/physics/Box2D/Collision/Shapes/b2EdgeShape.h +0 -74
- data/src/physics/Box2D/Collision/Shapes/b2PolygonShape.cpp +0 -467
- data/src/physics/Box2D/Collision/Shapes/b2PolygonShape.h +0 -101
- data/src/physics/Box2D/Collision/Shapes/b2Shape.h +0 -101
- data/src/physics/Box2D/Collision/b2BroadPhase.cpp +0 -119
- data/src/physics/Box2D/Collision/b2BroadPhase.h +0 -257
- data/src/physics/Box2D/Collision/b2CollideCircle.cpp +0 -154
- data/src/physics/Box2D/Collision/b2CollideEdge.cpp +0 -698
- data/src/physics/Box2D/Collision/b2CollidePolygon.cpp +0 -239
- data/src/physics/Box2D/Collision/b2Collision.cpp +0 -252
- data/src/physics/Box2D/Collision/b2Collision.h +0 -277
- data/src/physics/Box2D/Collision/b2Distance.cpp +0 -603
- data/src/physics/Box2D/Collision/b2Distance.h +0 -141
- data/src/physics/Box2D/Collision/b2DynamicTree.cpp +0 -778
- data/src/physics/Box2D/Collision/b2DynamicTree.h +0 -289
- data/src/physics/Box2D/Collision/b2TimeOfImpact.cpp +0 -486
- data/src/physics/Box2D/Collision/b2TimeOfImpact.h +0 -58
- data/src/physics/Box2D/Common/b2BlockAllocator.cpp +0 -215
- data/src/physics/Box2D/Common/b2BlockAllocator.h +0 -62
- data/src/physics/Box2D/Common/b2Draw.cpp +0 -44
- data/src/physics/Box2D/Common/b2Draw.h +0 -86
- data/src/physics/Box2D/Common/b2GrowableStack.h +0 -85
- data/src/physics/Box2D/Common/b2Math.cpp +0 -94
- data/src/physics/Box2D/Common/b2Math.h +0 -720
- data/src/physics/Box2D/Common/b2Settings.cpp +0 -44
- data/src/physics/Box2D/Common/b2Settings.h +0 -151
- data/src/physics/Box2D/Common/b2StackAllocator.cpp +0 -83
- data/src/physics/Box2D/Common/b2StackAllocator.h +0 -60
- data/src/physics/Box2D/Common/b2Timer.cpp +0 -101
- data/src/physics/Box2D/Common/b2Timer.h +0 -50
- data/src/physics/Box2D/Dynamics/Contacts/b2ChainAndCircleContact.cpp +0 -53
- data/src/physics/Box2D/Dynamics/Contacts/b2ChainAndCircleContact.h +0 -39
- data/src/physics/Box2D/Dynamics/Contacts/b2ChainAndPolygonContact.cpp +0 -53
- data/src/physics/Box2D/Dynamics/Contacts/b2ChainAndPolygonContact.h +0 -39
- data/src/physics/Box2D/Dynamics/Contacts/b2CircleContact.cpp +0 -52
- data/src/physics/Box2D/Dynamics/Contacts/b2CircleContact.h +0 -39
- data/src/physics/Box2D/Dynamics/Contacts/b2Contact.cpp +0 -247
- data/src/physics/Box2D/Dynamics/Contacts/b2Contact.h +0 -349
- data/src/physics/Box2D/Dynamics/Contacts/b2ContactSolver.cpp +0 -838
- data/src/physics/Box2D/Dynamics/Contacts/b2ContactSolver.h +0 -95
- data/src/physics/Box2D/Dynamics/Contacts/b2EdgeAndCircleContact.cpp +0 -49
- data/src/physics/Box2D/Dynamics/Contacts/b2EdgeAndCircleContact.h +0 -39
- data/src/physics/Box2D/Dynamics/Contacts/b2EdgeAndPolygonContact.cpp +0 -49
- data/src/physics/Box2D/Dynamics/Contacts/b2EdgeAndPolygonContact.h +0 -39
- data/src/physics/Box2D/Dynamics/Contacts/b2PolygonAndCircleContact.cpp +0 -49
- data/src/physics/Box2D/Dynamics/Contacts/b2PolygonAndCircleContact.h +0 -38
- data/src/physics/Box2D/Dynamics/Contacts/b2PolygonContact.cpp +0 -52
- data/src/physics/Box2D/Dynamics/Contacts/b2PolygonContact.h +0 -39
- data/src/physics/Box2D/Dynamics/Joints/b2DistanceJoint.cpp +0 -260
- data/src/physics/Box2D/Dynamics/Joints/b2DistanceJoint.h +0 -169
- data/src/physics/Box2D/Dynamics/Joints/b2FrictionJoint.cpp +0 -251
- data/src/physics/Box2D/Dynamics/Joints/b2FrictionJoint.h +0 -119
- data/src/physics/Box2D/Dynamics/Joints/b2GearJoint.cpp +0 -419
- data/src/physics/Box2D/Dynamics/Joints/b2GearJoint.h +0 -125
- data/src/physics/Box2D/Dynamics/Joints/b2Joint.cpp +0 -211
- data/src/physics/Box2D/Dynamics/Joints/b2Joint.h +0 -226
- data/src/physics/Box2D/Dynamics/Joints/b2MotorJoint.cpp +0 -304
- data/src/physics/Box2D/Dynamics/Joints/b2MotorJoint.h +0 -133
- data/src/physics/Box2D/Dynamics/Joints/b2MouseJoint.cpp +0 -222
- data/src/physics/Box2D/Dynamics/Joints/b2MouseJoint.h +0 -129
- data/src/physics/Box2D/Dynamics/Joints/b2PrismaticJoint.cpp +0 -629
- data/src/physics/Box2D/Dynamics/Joints/b2PrismaticJoint.h +0 -196
- data/src/physics/Box2D/Dynamics/Joints/b2PulleyJoint.cpp +0 -348
- data/src/physics/Box2D/Dynamics/Joints/b2PulleyJoint.h +0 -152
- data/src/physics/Box2D/Dynamics/Joints/b2RevoluteJoint.cpp +0 -502
- data/src/physics/Box2D/Dynamics/Joints/b2RevoluteJoint.h +0 -204
- data/src/physics/Box2D/Dynamics/Joints/b2RopeJoint.cpp +0 -241
- data/src/physics/Box2D/Dynamics/Joints/b2RopeJoint.h +0 -114
- data/src/physics/Box2D/Dynamics/Joints/b2WeldJoint.cpp +0 -344
- data/src/physics/Box2D/Dynamics/Joints/b2WeldJoint.h +0 -126
- data/src/physics/Box2D/Dynamics/Joints/b2WheelJoint.cpp +0 -419
- data/src/physics/Box2D/Dynamics/Joints/b2WheelJoint.h +0 -210
- data/src/physics/Box2D/Dynamics/b2Body.cpp +0 -549
- data/src/physics/Box2D/Dynamics/b2Body.h +0 -860
- data/src/physics/Box2D/Dynamics/b2ContactManager.cpp +0 -296
- data/src/physics/Box2D/Dynamics/b2ContactManager.h +0 -52
- data/src/physics/Box2D/Dynamics/b2Fixture.cpp +0 -303
- data/src/physics/Box2D/Dynamics/b2Fixture.h +0 -345
- data/src/physics/Box2D/Dynamics/b2Island.cpp +0 -539
- data/src/physics/Box2D/Dynamics/b2Island.h +0 -93
- data/src/physics/Box2D/Dynamics/b2TimeStep.h +0 -70
- data/src/physics/Box2D/Dynamics/b2World.cpp +0 -1339
- data/src/physics/Box2D/Dynamics/b2World.h +0 -354
- data/src/physics/Box2D/Dynamics/b2WorldCallbacks.cpp +0 -36
- data/src/physics/Box2D/Dynamics/b2WorldCallbacks.h +0 -155
- data/src/physics/Box2D/Rope/b2Rope.cpp +0 -259
- data/src/physics/Box2D/Rope/b2Rope.h +0 -115
- data/src/shape_view.cpp +0 -306
data/lib/reflex/frame_event.rb
CHANGED
data/lib/reflex/helper.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
require 'xot/hookable'
|
5
|
+
require 'xot/universal_accessor'
|
5
6
|
require 'reflex/point'
|
6
7
|
require 'reflex/bounds'
|
7
8
|
|
@@ -22,38 +23,28 @@ module Reflex
|
|
22
23
|
|
23
24
|
module HasFrame
|
24
25
|
|
25
|
-
def frame= (*args)
|
26
|
-
set_frame args.flatten
|
27
|
-
get_frame
|
28
|
-
end
|
29
|
-
|
30
|
-
def frame (*args)
|
31
|
-
send :frame=, *args unless args.empty?
|
32
|
-
get_frame
|
33
|
-
end
|
34
|
-
|
35
26
|
def move_to (*args)
|
36
|
-
self.frame =
|
27
|
+
self.frame = frame.move_to *args
|
37
28
|
self
|
38
29
|
end
|
39
30
|
|
40
31
|
def move_by (*args)
|
41
|
-
self.frame =
|
32
|
+
self.frame = frame.move_by *args
|
42
33
|
self
|
43
34
|
end
|
44
35
|
|
45
36
|
def resize_to (*args)
|
46
|
-
self.frame =
|
37
|
+
self.frame = frame.resize_to *args
|
47
38
|
self
|
48
39
|
end
|
49
40
|
|
50
41
|
def resize_by (*args)
|
51
|
-
self.frame =
|
42
|
+
self.frame = frame.resize_by *args
|
52
43
|
self
|
53
44
|
end
|
54
45
|
|
55
46
|
def inset_by (*args)
|
56
|
-
self.frame =
|
47
|
+
self.frame = frame.inset_by *args
|
57
48
|
self
|
58
49
|
end
|
59
50
|
|
@@ -64,20 +55,17 @@ module Reflex
|
|
64
55
|
lt rt lb rb
|
65
56
|
position pos size center
|
66
57
|
].each do |name|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
set_frame b
|
79
|
-
ret
|
80
|
-
end
|
58
|
+
class_eval <<-END
|
59
|
+
def #{name} ()
|
60
|
+
frame.#{name}
|
61
|
+
end
|
62
|
+
def #{name}= (*args)
|
63
|
+
self.frame = frame.tap {|b| b.send :#{name}=, *args}
|
64
|
+
#{name}
|
65
|
+
end
|
66
|
+
END
|
67
|
+
|
68
|
+
universal_accessor name
|
81
69
|
end
|
82
70
|
|
83
71
|
end# HasFrame
|
data/lib/reflex/key_event.rb
CHANGED
@@ -1,17 +1,22 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
|
3
3
|
|
4
|
+
require 'xot/const_symbol_accessor'
|
4
5
|
require 'reflex/ext'
|
5
6
|
|
6
7
|
|
7
8
|
module Reflex
|
8
9
|
|
9
10
|
|
10
|
-
class KeyEvent
|
11
|
+
class KeyEvent < Event
|
11
12
|
|
12
|
-
|
13
|
-
|
14
|
-
|
13
|
+
alias get_type type
|
14
|
+
|
15
|
+
const_symbol_reader :type, {
|
16
|
+
none: TYPE_NONE,
|
17
|
+
down: TYPE_DOWN,
|
18
|
+
up: TYPE_UP
|
19
|
+
}
|
15
20
|
|
16
21
|
def down? ()
|
17
22
|
get_type == TYPE_DOWN
|
@@ -21,17 +26,14 @@ module Reflex
|
|
21
26
|
get_type == TYPE_UP
|
22
27
|
end
|
23
28
|
|
29
|
+
def repeat? ()
|
30
|
+
repeat >= 1
|
31
|
+
end
|
32
|
+
|
24
33
|
def inspect ()
|
25
34
|
"#<Reflex::KeyEvent type:#{type} chars:'#{chars}' code:#{code} mod:#{modifiers} repeat:#{repeat} capture?:#{capture?}>"
|
26
35
|
end
|
27
36
|
|
28
|
-
private
|
29
|
-
|
30
|
-
TYPE2SYM = {
|
31
|
-
TYPE_DOWN => :down,
|
32
|
-
TYPE_UP => :up,
|
33
|
-
}
|
34
|
-
|
35
37
|
end# KeyEvent
|
36
38
|
|
37
39
|
|
data/lib/reflex/module.rb
CHANGED
@@ -6,6 +6,8 @@ module Reflex
|
|
6
6
|
|
7
7
|
module Module
|
8
8
|
|
9
|
+
module_function
|
10
|
+
|
9
11
|
def name ()
|
10
12
|
super.split('::')[-2]
|
11
13
|
end
|
@@ -15,10 +17,10 @@ module Reflex
|
|
15
17
|
end
|
16
18
|
|
17
19
|
def root_dir (path = '')
|
18
|
-
File.expand_path "
|
20
|
+
File.expand_path "../../#{path}", __dir__
|
19
21
|
end
|
20
22
|
|
21
|
-
def
|
23
|
+
def inc_dir ()
|
22
24
|
root_dir 'include'
|
23
25
|
end
|
24
26
|
|
@@ -26,23 +28,6 @@ module Reflex
|
|
26
28
|
root_dir 'lib'
|
27
29
|
end
|
28
30
|
|
29
|
-
def task_dir ()
|
30
|
-
root_dir 'task'
|
31
|
-
end
|
32
|
-
|
33
|
-
def load_tasks (*names)
|
34
|
-
if names.empty?
|
35
|
-
Dir["#{task_dir}/**/*.rake"].each {|path| load path}
|
36
|
-
else
|
37
|
-
names.each do |name|
|
38
|
-
path = "#{task_dir}/#{name}.rake"
|
39
|
-
load path if File.exist? path
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
extend self
|
45
|
-
|
46
31
|
end# Module
|
47
32
|
|
48
33
|
|
data/lib/reflex/pointer_event.rb
CHANGED
@@ -1,19 +1,36 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
|
3
3
|
|
4
|
+
require 'xot/bit_flag_accessor'
|
5
|
+
require 'xot/const_symbol_accessor'
|
4
6
|
require 'reflex/ext'
|
5
7
|
|
6
8
|
|
7
9
|
module Reflex
|
8
10
|
|
9
11
|
|
10
|
-
class PointerEvent
|
12
|
+
class PointerEvent < Event
|
11
13
|
|
12
14
|
alias pos position
|
13
15
|
|
14
|
-
|
15
|
-
|
16
|
-
|
16
|
+
alias get_type type
|
17
|
+
alias get_pointer_type pointer_type
|
18
|
+
|
19
|
+
const_symbol_reader :type, {
|
20
|
+
none: TYPE_NONE,
|
21
|
+
down: TYPE_DOWN,
|
22
|
+
up: TYPE_UP,
|
23
|
+
move: TYPE_MOVE
|
24
|
+
}
|
25
|
+
|
26
|
+
bit_flag_reader :pointer_type, {
|
27
|
+
none: POINTER_NONE,
|
28
|
+
mouse_left: POINTER_MOUSE_LEFT,
|
29
|
+
mouse_right: POINTER_MOUSE_RIGHT,
|
30
|
+
mouse_middle: POINTER_MOUSE_MIDDLE,
|
31
|
+
touch: POINTER_TOUCH,
|
32
|
+
pen: POINTER_PEN
|
33
|
+
}
|
17
34
|
|
18
35
|
def down? ()
|
19
36
|
get_type == TYPE_DOWN
|
@@ -28,57 +45,29 @@ module Reflex
|
|
28
45
|
end
|
29
46
|
|
30
47
|
def left? ()
|
31
|
-
|
48
|
+
(get_pointer_type & POINTER_MOUSE_LEFT) != 0
|
32
49
|
end
|
33
50
|
|
34
51
|
def right? ()
|
35
|
-
|
52
|
+
(get_pointer_type & POINTER_MOUSE_RIGHT) != 0
|
36
53
|
end
|
37
54
|
|
38
55
|
def middle? ()
|
39
|
-
|
56
|
+
(get_pointer_type & POINTER_MOUSE_MIDDLE) != 0
|
40
57
|
end
|
41
58
|
|
42
59
|
def touch? ()
|
43
|
-
|
60
|
+
(get_pointer_type & POINTER_TOUCH) != 0
|
44
61
|
end
|
45
62
|
|
46
63
|
def pen? ()
|
47
|
-
|
48
|
-
end
|
49
|
-
|
50
|
-
def pointer_type ()
|
51
|
-
type_, array = get_pointer_type, []
|
52
|
-
POINTER_TYPE_LAST.to_s(2).sub(/^0+/, '').size.times do |i|
|
53
|
-
bit = 0x1 << i
|
54
|
-
if (type_ & bit) != 0
|
55
|
-
sym = POINTERTYPE2SYM[bit]
|
56
|
-
array << sym if sym
|
57
|
-
end
|
58
|
-
end
|
59
|
-
array
|
64
|
+
(get_pointer_type & POINTER_PEN) != 0
|
60
65
|
end
|
61
66
|
|
62
67
|
def inspect ()
|
63
68
|
"#<Reflex::PointerEvent type:#{type}/#{pointer_type} x:#{x} y:#{y} size:#{size} mod:#{modifiers} count:#{count} drag:#{drag?}>"
|
64
69
|
end
|
65
70
|
|
66
|
-
private
|
67
|
-
|
68
|
-
TYPE2SYM = {
|
69
|
-
TYPE_DOWN => :down,
|
70
|
-
TYPE_UP => :up,
|
71
|
-
TYPE_MOVE => :move
|
72
|
-
}
|
73
|
-
|
74
|
-
POINTERTYPE2SYM = {
|
75
|
-
POINTER_MOUSE_LEFT => :mouse_left,
|
76
|
-
POINTER_MOUSE_RIGHT => :mouse_right,
|
77
|
-
POINTER_MOUSE_MIDDLE => :mouse_middle,
|
78
|
-
POINTER_TOUCH => :touch,
|
79
|
-
POINTER_PEN => :pen,
|
80
|
-
}
|
81
|
-
|
82
71
|
end# PointerEvent
|
83
72
|
|
84
73
|
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
|
4
|
+
require 'xot/universal_accessor'
|
5
|
+
require 'reflex/shape'
|
6
|
+
|
7
|
+
|
8
|
+
module Reflex
|
9
|
+
|
10
|
+
|
11
|
+
class PolygonShape < Shape
|
12
|
+
|
13
|
+
universal_accessor :polygon
|
14
|
+
|
15
|
+
def initialize (polygon, *args, &block)
|
16
|
+
super *args, &block
|
17
|
+
self.polygon = polygon
|
18
|
+
end
|
19
|
+
|
20
|
+
end# PolygonShape
|
21
|
+
|
22
|
+
|
23
|
+
end# Reflex
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
|
4
|
+
require 'xot/universal_accessor'
|
5
|
+
require 'reflex/shape'
|
6
|
+
|
7
|
+
|
8
|
+
module Reflex
|
9
|
+
|
10
|
+
|
11
|
+
class RectShape < Shape
|
12
|
+
|
13
|
+
universal_accessor :nsegment, :round,
|
14
|
+
:round_left_top, :round_right_top,
|
15
|
+
:round_left_bottom, :round_right_bottom
|
16
|
+
|
17
|
+
end# RectShape
|
18
|
+
|
19
|
+
|
20
|
+
end# Reflex
|
data/lib/reflex/reflex.rb
CHANGED
data/lib/reflex/scroll_event.rb
CHANGED
data/lib/reflex/selector.rb
CHANGED
@@ -20,9 +20,9 @@ module Reflex
|
|
20
20
|
arg0.kind_of?(Selector) ? arg0 : self.new(*args)
|
21
21
|
end
|
22
22
|
|
23
|
-
def initialize (
|
23
|
+
def initialize (options = nil, &block)
|
24
24
|
super()
|
25
|
-
set
|
25
|
+
set options if options
|
26
26
|
Xot::BlockUtil.instance_eval_or_block_call self, &block if block
|
27
27
|
end
|
28
28
|
|
data/lib/reflex/shape.rb
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
|
4
|
+
require 'xot/setter'
|
5
|
+
require 'xot/universal_accessor'
|
6
|
+
require 'xot/block_util'
|
7
|
+
require 'reflex/ext'
|
8
|
+
require 'reflex/helper'
|
9
|
+
|
10
|
+
|
11
|
+
module Reflex
|
12
|
+
|
13
|
+
|
14
|
+
class Shape
|
15
|
+
|
16
|
+
include Xot::Setter
|
17
|
+
include Hookable
|
18
|
+
include HasFrame
|
19
|
+
include HasTags
|
20
|
+
|
21
|
+
alias sensor? sensor
|
22
|
+
|
23
|
+
universal_accessor :name, :selector,
|
24
|
+
:density, :friction, :restitution, :sensor,
|
25
|
+
:category_bits, :collision_mask
|
26
|
+
|
27
|
+
def initialize (options = nil, &block)
|
28
|
+
super()
|
29
|
+
set options if options
|
30
|
+
Xot::BlockUtil.instance_eval_or_block_call self, &block if block
|
31
|
+
end
|
32
|
+
|
33
|
+
def on_contact (e)
|
34
|
+
end
|
35
|
+
|
36
|
+
def on_contact_begin (e)
|
37
|
+
end
|
38
|
+
|
39
|
+
def on_contact_end (e)
|
40
|
+
end
|
41
|
+
|
42
|
+
private
|
43
|
+
|
44
|
+
def on_contact! (*args)
|
45
|
+
call_contact! *args
|
46
|
+
owner&.delay {on_contact *args}# delay to avoid physics world lock
|
47
|
+
end
|
48
|
+
|
49
|
+
def on_contact_begin! (*args)
|
50
|
+
call_contact_begin! *args
|
51
|
+
owner&.delay {on_contact_begin *args}
|
52
|
+
end
|
53
|
+
|
54
|
+
def on_contact_end! (*args)
|
55
|
+
call_contact_end! *args
|
56
|
+
owner&.delay {on_contact_end *args}
|
57
|
+
end
|
58
|
+
|
59
|
+
end# Shape
|
60
|
+
|
61
|
+
|
62
|
+
end# Reflex
|
data/lib/reflex/style.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
require 'xot/setter'
|
5
|
+
require 'xot/universal_accessor'
|
5
6
|
require 'xot/block_util'
|
6
7
|
require 'reflex/ext'
|
7
8
|
require 'reflex/helper'
|
@@ -15,9 +16,9 @@ module Reflex
|
|
15
16
|
include Xot::Setter
|
16
17
|
include HasTags
|
17
18
|
|
18
|
-
def initialize (
|
19
|
+
def initialize (options = nil, &block)
|
19
20
|
super()
|
20
|
-
set
|
21
|
+
set options if options
|
21
22
|
Xot::BlockUtil.instance_eval_or_block_call self, &block if block
|
22
23
|
end
|
23
24
|
|
@@ -29,17 +30,83 @@ module Reflex
|
|
29
30
|
get_flow.map {|n| flow2sym n}
|
30
31
|
end
|
31
32
|
|
33
|
+
def foreground= (fill, stroke = nil)
|
34
|
+
self.foreground_fill = fill
|
35
|
+
self.foreground_stroke = stroke
|
36
|
+
end
|
37
|
+
|
38
|
+
def foreground ()
|
39
|
+
return foreground_fill, foreground_stroke
|
40
|
+
end
|
41
|
+
|
42
|
+
def background= (fill, stroke = nil)
|
43
|
+
self.background_fill = fill
|
44
|
+
self.background_stroke = stroke
|
45
|
+
end
|
46
|
+
|
47
|
+
def background ()
|
48
|
+
return background_fill, background_stroke
|
49
|
+
end
|
50
|
+
|
51
|
+
universal_accessor :name, :selector, :flow, :width, :height, :size,
|
52
|
+
:left, :top, :right, :bottom, :position,
|
53
|
+
:margin_left, :margin_top, :margin_right, :margin_bottom, :margin,
|
54
|
+
:padding_left, :padding_top, :padding_right, :padding_bottom, :padding,
|
55
|
+
:center, :center_x, :center_y,
|
56
|
+
:foreground_fill, :foreground_stroke, :foreground_stroke_width,
|
57
|
+
:background_fill, :background_stroke, :background_stroke_width,
|
58
|
+
:foreground, :background,
|
59
|
+
:image
|
60
|
+
|
61
|
+
alias x= left=
|
62
|
+
alias x left
|
63
|
+
alias y= top=
|
64
|
+
alias y top
|
65
|
+
alias w= width=
|
66
|
+
alias w width
|
67
|
+
alias h= height=
|
68
|
+
alias h height
|
69
|
+
alias pos= position=
|
70
|
+
alias pos position
|
71
|
+
|
72
|
+
alias fore_fill= foreground_fill=
|
73
|
+
alias fore_fill foreground_fill
|
74
|
+
alias fore_stroke= foreground_stroke=
|
75
|
+
alias fore_stroke foreground_stroke
|
76
|
+
alias fore_stroke_width= foreground_stroke_width=
|
77
|
+
alias fore_stroke_width foreground_stroke_width
|
78
|
+
|
79
|
+
alias back_fill= background_fill=
|
80
|
+
alias back_fill background_fill
|
81
|
+
alias back_stroke= background_stroke=
|
82
|
+
alias back_stroke background_stroke
|
83
|
+
alias back_stroke_width= background_stroke_width=
|
84
|
+
alias back_stroke_width background_stroke_width
|
85
|
+
|
86
|
+
alias fore= foreground_fill=
|
87
|
+
alias fore foreground_fill
|
88
|
+
alias back= background_fill=
|
89
|
+
alias back background_fill
|
90
|
+
|
91
|
+
alias fill= foreground_fill=
|
92
|
+
alias fill foreground_fill
|
93
|
+
alias stroke= foreground_stroke=
|
94
|
+
alias stroke foreground_stroke
|
95
|
+
alias stroke_width= foreground_stroke_width=
|
96
|
+
alias stroke_width foreground_stroke_width
|
97
|
+
|
32
98
|
def inspect ()
|
33
99
|
attrs = {
|
34
|
-
selector:
|
35
|
-
flow:
|
36
|
-
size:
|
37
|
-
position:
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
100
|
+
selector: selector,
|
101
|
+
flow: flow,
|
102
|
+
size: size,
|
103
|
+
position: position,
|
104
|
+
margin: margin,
|
105
|
+
padding: padding,
|
106
|
+
center: center,
|
107
|
+
foreground: foreground,
|
108
|
+
background: background,
|
109
|
+
image: image
|
43
110
|
}
|
44
111
|
"#<Reflex::Style #{attrs.map {|k, v| %(#{k}:#{v.to_s})}.join ' '}>"
|
45
112
|
end
|
data/lib/reflex/style_length.rb
CHANGED
@@ -9,17 +9,6 @@ module Reflex
|
|
9
9
|
|
10
10
|
class StyleLength
|
11
11
|
|
12
|
-
def initialize (*args)
|
13
|
-
return if args.empty?
|
14
|
-
case args[0]
|
15
|
-
when Numeric
|
16
|
-
args << :px if args.size < 2
|
17
|
-
setup_num *args
|
18
|
-
when String
|
19
|
-
setup_str *args
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
12
|
def inspect ()
|
24
13
|
"#<#{self.class.name} #{to_s}>"
|
25
14
|
end
|
data/lib/reflex/text_view.rb
CHANGED
@@ -15,12 +15,10 @@ module Reflex
|
|
15
15
|
|
16
16
|
attr_accessor :font
|
17
17
|
|
18
|
-
|
19
|
-
|
20
|
-
super
|
21
|
-
end
|
18
|
+
alias text= data=
|
19
|
+
alias text data
|
22
20
|
|
23
|
-
def
|
21
|
+
def content_bounds ()
|
24
22
|
s = string
|
25
23
|
return 0, 0 unless s && window
|
26
24
|
font = @font || window.painter.font
|
@@ -28,26 +26,11 @@ module Reflex
|
|
28
26
|
end
|
29
27
|
|
30
28
|
def on_draw (e)
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
pa = e.painter
|
35
|
-
pa.color 1
|
36
|
-
pa.image @image
|
37
|
-
end
|
38
|
-
|
39
|
-
def on_data_update (e)
|
40
|
-
@outdated = true
|
41
|
-
super
|
42
|
-
end
|
43
|
-
|
44
|
-
private
|
45
|
-
|
46
|
-
def create_text_image ()
|
47
|
-
str, size = string, content_size
|
48
|
-
return nil unless str && size.all? {|n| n > 0}
|
49
|
-
Image.new Bitmap.new(*size, :GRAY).draw_string(str), true
|
29
|
+
s = string
|
30
|
+
e.painter.push font: @font do
|
31
|
+
text s
|
50
32
|
end
|
33
|
+
end
|
51
34
|
|
52
35
|
end# TextView
|
53
36
|
|