reflexion 0.1.12 → 0.1.13
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 +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/ext/reflex/wheel_event.cpp
CHANGED
@@ -1,16 +1,10 @@
|
|
1
1
|
#include "reflex/ruby/event.h"
|
2
2
|
|
3
3
|
|
4
|
-
#include <rucy.h>
|
5
4
|
#include "rays/ruby/point.h"
|
6
5
|
#include "defs.h"
|
7
6
|
|
8
7
|
|
9
|
-
using namespace Rucy;
|
10
|
-
|
11
|
-
using Reflex::coord;
|
12
|
-
|
13
|
-
|
14
8
|
RUCY_DEFINE_VALUE_FROM_TO(Reflex::WheelEvent)
|
15
9
|
|
16
10
|
#define THIS to<Reflex::WheelEvent*>(self)
|
@@ -104,22 +98,6 @@ RUCY_DEF0(modifiers)
|
|
104
98
|
}
|
105
99
|
RUCY_END
|
106
100
|
|
107
|
-
static
|
108
|
-
RUCY_DEF0(delta)
|
109
|
-
{
|
110
|
-
CHECK;
|
111
|
-
return value(Rays::Point(THIS->dx, THIS->dy, THIS->dz));
|
112
|
-
}
|
113
|
-
RUCY_END
|
114
|
-
|
115
|
-
static
|
116
|
-
RUCY_DEF0(position)
|
117
|
-
{
|
118
|
-
CHECK;
|
119
|
-
return value(Rays::Point(THIS->x, THIS->y, THIS->z));
|
120
|
-
}
|
121
|
-
RUCY_END
|
122
|
-
|
123
101
|
|
124
102
|
static Class cWheelEvent;
|
125
103
|
|
@@ -130,7 +108,7 @@ Init_wheel_event ()
|
|
130
108
|
|
131
109
|
cWheelEvent = mReflex.define_class("WheelEvent", Reflex::event_class());
|
132
110
|
cWheelEvent.define_alloc_func(alloc);
|
133
|
-
cWheelEvent.define_private_method("initialize",
|
111
|
+
cWheelEvent.define_private_method("initialize", initialize);
|
134
112
|
cWheelEvent.define_private_method("initialize_copy", initialize_copy);
|
135
113
|
cWheelEvent.define_method("dx", dx);
|
136
114
|
cWheelEvent.define_method("dy", dy);
|
@@ -139,8 +117,6 @@ Init_wheel_event ()
|
|
139
117
|
cWheelEvent.define_method("y", y);
|
140
118
|
cWheelEvent.define_method("z", z);
|
141
119
|
cWheelEvent.define_method("modifiers", modifiers);
|
142
|
-
cWheelEvent.define_method("delta", delta);
|
143
|
-
cWheelEvent.define_method("position", position);
|
144
120
|
}
|
145
121
|
|
146
122
|
|
data/ext/reflex/window.cpp
CHANGED
@@ -1,15 +1,10 @@
|
|
1
1
|
#include "reflex/ruby/window.h"
|
2
2
|
|
3
3
|
|
4
|
-
#include <rucy.h>
|
5
4
|
#include <rays/ruby/bounds.h>
|
6
5
|
#include <rays/ruby/painter.h>
|
7
6
|
#include "reflex/ruby/view.h"
|
8
|
-
|
9
|
-
|
10
|
-
using namespace Rucy;
|
11
|
-
|
12
|
-
using Reflex::coord;
|
7
|
+
#include "defs.h"
|
13
8
|
|
14
9
|
|
15
10
|
RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(Reflex::Window)
|
@@ -18,7 +13,7 @@ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(Reflex::Window)
|
|
18
13
|
|
19
14
|
#define CHECK RUCY_CHECK_OBJECT(Reflex::Window, self)
|
20
15
|
|
21
|
-
#define CALL(fun)
|
16
|
+
#define CALL(fun) RUCY_CALL_SUPER(THIS, fun)
|
22
17
|
|
23
18
|
|
24
19
|
static
|
@@ -82,10 +77,11 @@ RUCY_DEF0(get_title)
|
|
82
77
|
RUCY_END
|
83
78
|
|
84
79
|
static
|
85
|
-
|
80
|
+
RUCY_DEFN(set_frame)
|
86
81
|
{
|
87
82
|
CHECK;
|
88
|
-
THIS->set_frame(to<Rays::Bounds>(
|
83
|
+
THIS->set_frame(to<Rays::Bounds>(argc, argv));
|
84
|
+
return value(THIS->frame());
|
89
85
|
}
|
90
86
|
RUCY_END
|
91
87
|
|
@@ -253,9 +249,6 @@ RUCY_DEF1(on_wheel, event)
|
|
253
249
|
}
|
254
250
|
RUCY_END
|
255
251
|
|
256
|
-
static
|
257
|
-
RUCY_DEF_clear_override_flags(cof, Reflex::Window);
|
258
|
-
|
259
252
|
|
260
253
|
static Class cWindow;
|
261
254
|
|
@@ -272,8 +265,8 @@ Init_window ()
|
|
272
265
|
cWindow.define_method("redraw", redraw);
|
273
266
|
cWindow.define_method("title=", set_title);
|
274
267
|
cWindow.define_method("title", get_title);
|
275
|
-
cWindow.
|
276
|
-
cWindow.
|
268
|
+
cWindow.define_method("frame=", set_frame);
|
269
|
+
cWindow.define_method("frame", get_frame);
|
277
270
|
cWindow.define_method("hidden", hidden);
|
278
271
|
cWindow.define_method("root", root);
|
279
272
|
cWindow.define_method("focus", focus);
|
@@ -293,7 +286,6 @@ Init_window ()
|
|
293
286
|
cWindow.define_method("on_pointer_up", on_pointer_up);
|
294
287
|
cWindow.define_method("on_pointer_move", on_pointer_move);
|
295
288
|
cWindow.define_method("on_wheel", on_wheel);
|
296
|
-
cWindow.define_clear_override_flags(cof);
|
297
289
|
}
|
298
290
|
|
299
291
|
|
@@ -0,0 +1,22 @@
|
|
1
|
+
// -*- c++ -*-
|
2
|
+
#pragma once
|
3
|
+
#ifndef __REFLEX_DEBUG_H__
|
4
|
+
#define __REFLEX_DEBUG_H__
|
5
|
+
|
6
|
+
|
7
|
+
#include <xot/debug.h>
|
8
|
+
|
9
|
+
|
10
|
+
namespace Reflex
|
11
|
+
{
|
12
|
+
|
13
|
+
|
14
|
+
using Xot::dout;
|
15
|
+
|
16
|
+
using Xot::doutln;
|
17
|
+
|
18
|
+
|
19
|
+
}// Reflex
|
20
|
+
|
21
|
+
|
22
|
+
#endif//EOH
|
data/include/reflex/defs.h
CHANGED
@@ -7,6 +7,32 @@
|
|
7
7
|
#include <rays/defs.h>
|
8
8
|
|
9
9
|
|
10
|
+
namespace Rays
|
11
|
+
{
|
12
|
+
|
13
|
+
|
14
|
+
struct Coord2;
|
15
|
+
struct Coord3;
|
16
|
+
struct Coord4;
|
17
|
+
struct Point;
|
18
|
+
struct Bounds;
|
19
|
+
struct Color;
|
20
|
+
struct Matrix;
|
21
|
+
|
22
|
+
class ColorSpace;
|
23
|
+
class Polyline;
|
24
|
+
class Polygon;
|
25
|
+
class Bitmap;
|
26
|
+
class Image;
|
27
|
+
class Font;
|
28
|
+
class Shader;
|
29
|
+
|
30
|
+
class Painter;
|
31
|
+
|
32
|
+
|
33
|
+
}// Rays
|
34
|
+
|
35
|
+
|
10
36
|
namespace Reflex
|
11
37
|
{
|
12
38
|
|
@@ -15,8 +41,27 @@ namespace Reflex
|
|
15
41
|
|
16
42
|
using Rays::String;
|
17
43
|
|
44
|
+
|
18
45
|
using Rays::coord;
|
19
46
|
|
47
|
+
using Rays::Coord2;
|
48
|
+
using Rays::Coord3;
|
49
|
+
using Rays::Coord4;
|
50
|
+
using Rays::Point;
|
51
|
+
using Rays::Bounds;
|
52
|
+
using Rays::Color;
|
53
|
+
using Rays::Matrix;
|
54
|
+
|
55
|
+
using Rays::ColorSpace;
|
56
|
+
using Rays::Polyline;
|
57
|
+
using Rays::Polygon;
|
58
|
+
using Rays::Bitmap;
|
59
|
+
using Rays::Image;
|
60
|
+
using Rays::Font;
|
61
|
+
using Rays::Shader;
|
62
|
+
|
63
|
+
using Rays::Painter;
|
64
|
+
|
20
65
|
|
21
66
|
enum KeyCode
|
22
67
|
{
|
data/include/reflex/event.h
CHANGED
@@ -4,16 +4,18 @@
|
|
4
4
|
#define __REFLEX_EVENT_H__
|
5
5
|
|
6
6
|
|
7
|
+
#include <rays/point.h>
|
8
|
+
#include <rays/bounds.h>
|
9
|
+
#include <rays/painter.h>
|
7
10
|
#include <reflex/defs.h>
|
8
|
-
#include <reflex/
|
9
|
-
#include <reflex/bounds.h>
|
10
|
-
#include <reflex/painter.h>
|
11
|
+
#include <reflex/timer.h>
|
11
12
|
|
12
13
|
|
13
14
|
namespace Reflex
|
14
15
|
{
|
15
16
|
|
16
17
|
|
18
|
+
class Shape;
|
17
19
|
class View;
|
18
20
|
|
19
21
|
|
@@ -35,12 +37,24 @@ namespace Reflex
|
|
35
37
|
};// Event
|
36
38
|
|
37
39
|
|
40
|
+
struct MotionEvent : public Event
|
41
|
+
{
|
42
|
+
|
43
|
+
Point gravity;
|
44
|
+
|
45
|
+
MotionEvent (const Point& gravity = Point(0, 9.8));
|
46
|
+
|
47
|
+
};// MotionEvent
|
48
|
+
|
49
|
+
|
38
50
|
struct UpdateEvent : public Event
|
39
51
|
{
|
40
52
|
|
53
|
+
double now;
|
54
|
+
|
41
55
|
float dt;
|
42
56
|
|
43
|
-
UpdateEvent (float dt = 0);
|
57
|
+
UpdateEvent (double now = 0, float dt = 0);
|
44
58
|
|
45
59
|
};// UpdateEvent
|
46
60
|
|
@@ -71,6 +85,7 @@ namespace Reflex
|
|
71
85
|
union
|
72
86
|
{
|
73
87
|
struct {coord dwidth, dheight;};
|
88
|
+
|
74
89
|
struct {coord dw, dh;};
|
75
90
|
};
|
76
91
|
|
@@ -99,13 +114,15 @@ namespace Reflex
|
|
99
114
|
union
|
100
115
|
{
|
101
116
|
struct {coord x, y, z;};
|
102
|
-
|
117
|
+
|
118
|
+
Rays::Coord3 scroll_;
|
103
119
|
};
|
104
120
|
|
105
121
|
union
|
106
122
|
{
|
107
123
|
struct {coord dx, dy, dz;};
|
108
|
-
|
124
|
+
|
125
|
+
Rays::Coord3 delta_;
|
109
126
|
};
|
110
127
|
|
111
128
|
ScrollEvent ();
|
@@ -130,11 +147,11 @@ namespace Reflex
|
|
130
147
|
|
131
148
|
Type type;
|
132
149
|
|
133
|
-
View *
|
150
|
+
View *current, *last;
|
134
151
|
|
135
152
|
FocusEvent ();
|
136
153
|
|
137
|
-
FocusEvent (Type type, View*
|
154
|
+
FocusEvent (Type type, View* current, View* last);
|
138
155
|
|
139
156
|
};// FocusEvent
|
140
157
|
|
@@ -185,7 +202,8 @@ namespace Reflex
|
|
185
202
|
union
|
186
203
|
{
|
187
204
|
struct {coord x, y, z;};
|
188
|
-
|
205
|
+
|
206
|
+
Rays::Coord3 positions[MAX];
|
189
207
|
};
|
190
208
|
|
191
209
|
PointerEvent ();
|
@@ -215,13 +233,15 @@ namespace Reflex
|
|
215
233
|
union
|
216
234
|
{
|
217
235
|
struct {coord dx, dy, dz;};
|
218
|
-
|
236
|
+
|
237
|
+
Rays::Coord3 delta_;
|
219
238
|
};
|
220
239
|
|
221
240
|
union
|
222
241
|
{
|
223
242
|
struct {coord x, y, z;};
|
224
|
-
|
243
|
+
|
244
|
+
Rays::Coord3 position_;
|
225
245
|
};
|
226
246
|
|
227
247
|
uint modifiers;
|
@@ -232,14 +252,14 @@ namespace Reflex
|
|
232
252
|
coord dx, coord dy, coord dz, coord x = 0, coord y = 0, coord z = 0,
|
233
253
|
uint modifiers = 0);
|
234
254
|
|
235
|
-
Point& delta ();
|
236
|
-
|
237
|
-
const Point& delta () const;
|
238
|
-
|
239
255
|
Point& position ();
|
240
256
|
|
241
257
|
const Point& position () const;
|
242
258
|
|
259
|
+
Point& delta ();
|
260
|
+
|
261
|
+
const Point& delta () const;
|
262
|
+
|
243
263
|
};// WheelEvent
|
244
264
|
|
245
265
|
|
@@ -255,6 +275,28 @@ namespace Reflex
|
|
255
275
|
};// CaptureEvent
|
256
276
|
|
257
277
|
|
278
|
+
struct TimerEvent : public Event
|
279
|
+
{
|
280
|
+
|
281
|
+
Timer::Ref timer;
|
282
|
+
|
283
|
+
TimerEvent (Timer* timer = NULL);
|
284
|
+
|
285
|
+
View* owner () const;
|
286
|
+
|
287
|
+
int id () const;
|
288
|
+
|
289
|
+
float interval () const;
|
290
|
+
|
291
|
+
void set_count (int count);
|
292
|
+
|
293
|
+
int count () const;
|
294
|
+
|
295
|
+
bool is_finished () const;
|
296
|
+
|
297
|
+
};// TimerEvent
|
298
|
+
|
299
|
+
|
258
300
|
struct ContactEvent : public Event
|
259
301
|
{
|
260
302
|
|
@@ -262,11 +304,13 @@ namespace Reflex
|
|
262
304
|
|
263
305
|
Type type;
|
264
306
|
|
307
|
+
Shape* shape;
|
308
|
+
|
265
309
|
View* view;
|
266
310
|
|
267
311
|
ContactEvent ();
|
268
312
|
|
269
|
-
ContactEvent (Type type,
|
313
|
+
ContactEvent (Type type, Shape* shape);
|
270
314
|
|
271
315
|
};// ContactEvent
|
272
316
|
|
data/include/reflex/exception.h
CHANGED
@@ -26,6 +26,13 @@ namespace Reflex
|
|
26
26
|
};
|
27
27
|
|
28
28
|
|
29
|
+
class PhysicsError : public ReflexError
|
30
|
+
{
|
31
|
+
typedef ReflexError Super;
|
32
|
+
public: PhysicsError (const char* str = NULL);
|
33
|
+
};
|
34
|
+
|
35
|
+
|
29
36
|
namespace ErrorFunctions
|
30
37
|
{
|
31
38
|
|
@@ -35,6 +42,8 @@ namespace Reflex
|
|
35
42
|
|
36
43
|
void layout_error (const char* file, int line, const char* format = NULL, ...);
|
37
44
|
|
45
|
+
void physics_error (const char* file, int line, const char* format = NULL, ...);
|
46
|
+
|
38
47
|
}// ErrorFunctions
|
39
48
|
|
40
49
|
|
@@ -0,0 +1,56 @@
|
|
1
|
+
// -*- c++ -*-
|
2
|
+
#pragma once
|
3
|
+
#ifndef __REFLEX_FILTER_H__
|
4
|
+
#define __REFLEX_FILTER_H__
|
5
|
+
|
6
|
+
|
7
|
+
#include <xot/ref.h>
|
8
|
+
#include <xot/pimpl.h>
|
9
|
+
#include <rays/image.h>
|
10
|
+
#include <rays/shader.h>
|
11
|
+
#include <rays/painter.h>
|
12
|
+
#include <reflex/defs.h>
|
13
|
+
|
14
|
+
|
15
|
+
namespace Reflex
|
16
|
+
{
|
17
|
+
|
18
|
+
|
19
|
+
class Filter : public Xot::RefCountable<>
|
20
|
+
{
|
21
|
+
|
22
|
+
typedef Filter This;
|
23
|
+
|
24
|
+
public:
|
25
|
+
|
26
|
+
typedef Xot::Ref<This> Ref;
|
27
|
+
|
28
|
+
Filter ();
|
29
|
+
|
30
|
+
Filter (const Shader& shader);
|
31
|
+
|
32
|
+
virtual ~Filter ();
|
33
|
+
|
34
|
+
virtual void apply (Painter* painter, const Image& image) const;
|
35
|
+
|
36
|
+
virtual void set_shader (const Shader& shader);
|
37
|
+
|
38
|
+
virtual Shader& shader ();
|
39
|
+
|
40
|
+
virtual const Shader& shader () const;
|
41
|
+
|
42
|
+
virtual operator bool () const;
|
43
|
+
|
44
|
+
virtual bool operator ! () const;
|
45
|
+
|
46
|
+
struct Data;
|
47
|
+
|
48
|
+
Xot::PImpl<Data> self;
|
49
|
+
|
50
|
+
};// Filter
|
51
|
+
|
52
|
+
|
53
|
+
}// Reflex
|
54
|
+
|
55
|
+
|
56
|
+
#endif//EOH
|
data/include/reflex/image_view.h
CHANGED
@@ -23,15 +23,14 @@ namespace Reflex
|
|
23
23
|
class RubyApplication : public Rucy::ClassWrapper<T>
|
24
24
|
{
|
25
25
|
|
26
|
-
|
26
|
+
typedef Rucy::ClassWrapper<T> Super;
|
27
27
|
|
28
|
-
|
29
|
-
RUCY_OVERRIDE_END
|
28
|
+
public:
|
30
29
|
|
31
30
|
virtual void start ()
|
32
31
|
{
|
33
32
|
RUCY_SYM(start);
|
34
|
-
if (
|
33
|
+
if (this->is_overridable())
|
35
34
|
this->value.call(start);
|
36
35
|
else
|
37
36
|
return Super::start();
|
@@ -40,7 +39,7 @@ namespace Reflex
|
|
40
39
|
virtual void quit ()
|
41
40
|
{
|
42
41
|
RUCY_SYM(quit);
|
43
|
-
if (
|
42
|
+
if (this->is_overridable())
|
44
43
|
this->value.call(quit);
|
45
44
|
else
|
46
45
|
return Super::quit();
|
@@ -49,7 +48,7 @@ namespace Reflex
|
|
49
48
|
virtual void on_start (Event* e)
|
50
49
|
{
|
51
50
|
RUCY_SYM(on_start);
|
52
|
-
if (
|
51
|
+
if (this->is_overridable())
|
53
52
|
this->value.call(on_start, Rucy::value(e));
|
54
53
|
else
|
55
54
|
return Super::on_start(e);
|
@@ -58,16 +57,25 @@ namespace Reflex
|
|
58
57
|
virtual void on_quit (Event* e)
|
59
58
|
{
|
60
59
|
RUCY_SYM(on_quit);
|
61
|
-
if (
|
60
|
+
if (this->is_overridable())
|
62
61
|
this->value.call(on_quit, Rucy::value(e));
|
63
62
|
else
|
64
63
|
return Super::on_quit(e);
|
65
64
|
}
|
66
65
|
|
66
|
+
virtual void on_motion (MotionEvent* e)
|
67
|
+
{
|
68
|
+
RUCY_SYM(on_motion);
|
69
|
+
if (this->is_overridable())
|
70
|
+
this->value.call(on_motion, Rucy::value(e));
|
71
|
+
else
|
72
|
+
Super::on_motion(e);
|
73
|
+
}
|
74
|
+
|
67
75
|
virtual void on_preference (Event* e)
|
68
76
|
{
|
69
77
|
RUCY_SYM(on_preference);
|
70
|
-
if (
|
78
|
+
if (this->is_overridable())
|
71
79
|
this->value.call(on_preference, Rucy::value(e));
|
72
80
|
else
|
73
81
|
return Super::on_preference(e);
|
@@ -76,7 +84,7 @@ namespace Reflex
|
|
76
84
|
virtual void on_about (Event* e)
|
77
85
|
{
|
78
86
|
RUCY_SYM(on_about);
|
79
|
-
if (
|
87
|
+
if (this->is_overridable())
|
80
88
|
this->value.call(on_about, Rucy::value(e));
|
81
89
|
else
|
82
90
|
return Super::on_about(e);
|
data/include/reflex/ruby/event.h
CHANGED
@@ -17,6 +17,9 @@ namespace Reflex
|
|
17
17
|
Rucy::Class event_class ();
|
18
18
|
// class Reflex::Event
|
19
19
|
|
20
|
+
Rucy::Class motion_event_class ();
|
21
|
+
// class Reflex::MotionEvent
|
22
|
+
|
20
23
|
Rucy::Class update_event_class ();
|
21
24
|
// class Reflex::UpdateEvent
|
22
25
|
|
@@ -44,6 +47,9 @@ namespace Reflex
|
|
44
47
|
Rucy::Class capture_event_class ();
|
45
48
|
// class Reflex::CaptureEvent
|
46
49
|
|
50
|
+
Rucy::Class timer_event_class ();
|
51
|
+
// class Reflex::TimerEvent
|
52
|
+
|
47
53
|
Rucy::Class contact_event_class ();
|
48
54
|
// class Reflex::ContactEvent
|
49
55
|
|
@@ -53,6 +59,8 @@ namespace Reflex
|
|
53
59
|
|
54
60
|
RUCY_DECLARE_VALUE_FROM_TO(Reflex::Event)
|
55
61
|
|
62
|
+
RUCY_DECLARE_VALUE_FROM_TO(Reflex::MotionEvent)
|
63
|
+
|
56
64
|
RUCY_DECLARE_VALUE_FROM_TO(Reflex::UpdateEvent)
|
57
65
|
|
58
66
|
RUCY_DECLARE_VALUE_FROM_TO(Reflex::DrawEvent)
|
@@ -71,6 +79,8 @@ RUCY_DECLARE_VALUE_FROM_TO(Reflex::WheelEvent)
|
|
71
79
|
|
72
80
|
RUCY_DECLARE_VALUE_FROM_TO(Reflex::CaptureEvent)
|
73
81
|
|
82
|
+
RUCY_DECLARE_VALUE_FROM_TO(Reflex::TimerEvent)
|
83
|
+
|
74
84
|
RUCY_DECLARE_VALUE_FROM_TO(Reflex::ContactEvent)
|
75
85
|
|
76
86
|
|
@@ -84,6 +94,12 @@ namespace Rucy
|
|
84
94
|
return Reflex::event_class();
|
85
95
|
}
|
86
96
|
|
97
|
+
template <> inline Class
|
98
|
+
get_ruby_class<Reflex::MotionEvent> ()
|
99
|
+
{
|
100
|
+
return Reflex::motion_event_class();
|
101
|
+
}
|
102
|
+
|
87
103
|
template <> inline Class
|
88
104
|
get_ruby_class<Reflex::UpdateEvent> ()
|
89
105
|
{
|
@@ -138,6 +154,12 @@ namespace Rucy
|
|
138
154
|
return Reflex::capture_event_class();
|
139
155
|
}
|
140
156
|
|
157
|
+
template <> inline Class
|
158
|
+
get_ruby_class<Reflex::TimerEvent> ()
|
159
|
+
{
|
160
|
+
return Reflex::timer_event_class();
|
161
|
+
}
|
162
|
+
|
141
163
|
template <> inline Class
|
142
164
|
get_ruby_class<Reflex::ContactEvent> ()
|
143
165
|
{
|
@@ -0,0 +1,69 @@
|
|
1
|
+
// -*- c++ -*-
|
2
|
+
#pragma once
|
3
|
+
#ifndef __REFLEX_RUBY_FILTER_H__
|
4
|
+
#define __REFLEX_RUBY_FILTER_H__
|
5
|
+
|
6
|
+
|
7
|
+
#include <rucy/rucy.h>
|
8
|
+
#include <rucy/class.h>
|
9
|
+
#include <rucy/extension.h>
|
10
|
+
#include <rays/ruby/image.h>
|
11
|
+
#include <rays/ruby/painter.h>
|
12
|
+
#include <reflex/filter.h>
|
13
|
+
|
14
|
+
|
15
|
+
namespace Reflex
|
16
|
+
{
|
17
|
+
|
18
|
+
|
19
|
+
Rucy::Class filter_class ();
|
20
|
+
// class Reflex::Filter
|
21
|
+
|
22
|
+
|
23
|
+
template <typename T>
|
24
|
+
class RubyFilter : public Rucy::ClassWrapper<T>
|
25
|
+
{
|
26
|
+
|
27
|
+
typedef Rucy::ClassWrapper<T> Super;
|
28
|
+
|
29
|
+
public:
|
30
|
+
|
31
|
+
virtual void apply (Painter* painter, const Image& image) const
|
32
|
+
{
|
33
|
+
RUCY_SYM(apply);
|
34
|
+
if (this->is_overridable())
|
35
|
+
this->value.call(apply, Rucy::value(painter), Rucy::value(image));
|
36
|
+
else
|
37
|
+
Super::apply(painter, image);
|
38
|
+
}
|
39
|
+
|
40
|
+
};// RubyFilter
|
41
|
+
|
42
|
+
|
43
|
+
}// Reflex
|
44
|
+
|
45
|
+
|
46
|
+
RUCY_DECLARE_WRAPPER_VALUE_FROM_TO(Reflex::Filter)
|
47
|
+
|
48
|
+
|
49
|
+
namespace Rucy
|
50
|
+
{
|
51
|
+
|
52
|
+
|
53
|
+
template <> inline Class
|
54
|
+
get_ruby_class<Reflex::Filter> ()
|
55
|
+
{
|
56
|
+
return Reflex::filter_class();
|
57
|
+
}
|
58
|
+
|
59
|
+
inline Value
|
60
|
+
value (Reflex::Filter::Ref& ref, Value klass = Reflex::filter_class())
|
61
|
+
{
|
62
|
+
return value(ref.get(), klass);
|
63
|
+
}
|
64
|
+
|
65
|
+
|
66
|
+
}// Rucy
|
67
|
+
|
68
|
+
|
69
|
+
#endif//EOH
|