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/include/reflex/selector.h
CHANGED
@@ -6,7 +6,6 @@
|
|
6
6
|
|
7
7
|
#include <set>
|
8
8
|
#include <xot/pimpl.h>
|
9
|
-
#include <xot/string.h>
|
10
9
|
#include <reflex/defs.h>
|
11
10
|
|
12
11
|
|
@@ -14,6 +13,9 @@ namespace Reflex
|
|
14
13
|
{
|
15
14
|
|
16
15
|
|
16
|
+
class SelectorPtr;
|
17
|
+
|
18
|
+
|
17
19
|
class Selector
|
18
20
|
{
|
19
21
|
|
@@ -41,6 +43,10 @@ namespace Reflex
|
|
41
43
|
|
42
44
|
void remove_tag (const char* tag);
|
43
45
|
|
46
|
+
void clear_tags ();
|
47
|
+
|
48
|
+
bool has_tag (const char* tag) const;
|
49
|
+
|
44
50
|
iterator begin ();
|
45
51
|
|
46
52
|
const_iterator begin () const;
|
@@ -59,11 +65,57 @@ namespace Reflex
|
|
59
65
|
|
60
66
|
struct Data;
|
61
67
|
|
62
|
-
Xot::
|
68
|
+
Xot::PSharedImpl<Data> self;
|
63
69
|
|
64
70
|
};// Selector
|
65
71
|
|
66
72
|
|
73
|
+
class HasSelector
|
74
|
+
{
|
75
|
+
|
76
|
+
public:
|
77
|
+
|
78
|
+
typedef Selector:: iterator tag_iterator;
|
79
|
+
|
80
|
+
typedef Selector::const_iterator const_tag_iterator;
|
81
|
+
|
82
|
+
virtual ~HasSelector ();
|
83
|
+
|
84
|
+
virtual void set_name (const char* name);
|
85
|
+
|
86
|
+
virtual const char* name () const;
|
87
|
+
|
88
|
+
virtual void add_tag (const char* tag);
|
89
|
+
|
90
|
+
virtual void remove_tag (const char* tag);
|
91
|
+
|
92
|
+
virtual void clear_tags ();
|
93
|
+
|
94
|
+
virtual bool has_tag (const char* tag) const;
|
95
|
+
|
96
|
+
virtual tag_iterator tag_begin ();
|
97
|
+
|
98
|
+
virtual const_tag_iterator tag_begin () const;
|
99
|
+
|
100
|
+
virtual tag_iterator tag_end ();
|
101
|
+
|
102
|
+
virtual const_tag_iterator tag_end () const;
|
103
|
+
|
104
|
+
virtual void set_selector (const Selector& selector);
|
105
|
+
|
106
|
+
virtual Selector& selector ();
|
107
|
+
|
108
|
+
virtual const Selector& selector () const;
|
109
|
+
|
110
|
+
protected:
|
111
|
+
|
112
|
+
virtual SelectorPtr* get_selector_ptr () = 0;
|
113
|
+
|
114
|
+
virtual const SelectorPtr* get_selector_ptr () const;
|
115
|
+
|
116
|
+
};// HasSelector
|
117
|
+
|
118
|
+
|
67
119
|
}// Reflex
|
68
120
|
|
69
121
|
|
@@ -0,0 +1,211 @@
|
|
1
|
+
// -*- c++ -*-
|
2
|
+
#pragma once
|
3
|
+
#ifndef __REFLEX_SHAPE_H__
|
4
|
+
#define __REFLEX_SHAPE_H__
|
5
|
+
|
6
|
+
|
7
|
+
#include <xot/ref.h>
|
8
|
+
#include <xot/pimpl.h>
|
9
|
+
#include <rays/bounds.h>
|
10
|
+
#include <reflex/defs.h>
|
11
|
+
#include <reflex/selector.h>
|
12
|
+
|
13
|
+
|
14
|
+
namespace Reflex
|
15
|
+
{
|
16
|
+
|
17
|
+
|
18
|
+
class Event;
|
19
|
+
struct DrawEvent;
|
20
|
+
struct FrameEvent;
|
21
|
+
struct ContactEvent;
|
22
|
+
|
23
|
+
class View;
|
24
|
+
class Fixture;
|
25
|
+
|
26
|
+
|
27
|
+
class Shape : public Xot::RefCountable<>, public HasSelector
|
28
|
+
{
|
29
|
+
|
30
|
+
typedef Shape This;
|
31
|
+
|
32
|
+
public:
|
33
|
+
|
34
|
+
typedef Xot::Ref<This> Ref;
|
35
|
+
|
36
|
+
virtual ~Shape ();
|
37
|
+
|
38
|
+
virtual View* owner ();
|
39
|
+
|
40
|
+
virtual const View* owner () const;
|
41
|
+
|
42
|
+
void set_frame (coord x, coord y, coord width, coord height);
|
43
|
+
|
44
|
+
virtual void set_frame (const Bounds& frame);
|
45
|
+
|
46
|
+
virtual Bounds frame () const;
|
47
|
+
|
48
|
+
virtual void set_density (float density);
|
49
|
+
|
50
|
+
virtual float density () const;
|
51
|
+
|
52
|
+
virtual void set_friction (float friction);
|
53
|
+
|
54
|
+
virtual float friction () const;
|
55
|
+
|
56
|
+
virtual void set_restitution (float restitution);
|
57
|
+
|
58
|
+
virtual float restitution () const;
|
59
|
+
|
60
|
+
virtual void set_sensor (bool state);
|
61
|
+
|
62
|
+
virtual bool is_sensor () const;
|
63
|
+
|
64
|
+
virtual void set_category_bits (uint bits);
|
65
|
+
|
66
|
+
virtual uint category_bits () const;
|
67
|
+
|
68
|
+
virtual void set_collision_mask (uint mask);
|
69
|
+
|
70
|
+
virtual uint collision_mask () const;
|
71
|
+
|
72
|
+
virtual void on_draw (DrawEvent* e);
|
73
|
+
|
74
|
+
virtual void on_resize (FrameEvent* e);
|
75
|
+
|
76
|
+
virtual void on_contact (ContactEvent* e);
|
77
|
+
|
78
|
+
virtual void on_contact_begin (ContactEvent* e);
|
79
|
+
|
80
|
+
virtual void on_contact_end (ContactEvent* e);
|
81
|
+
|
82
|
+
struct Data;
|
83
|
+
|
84
|
+
Xot::PImpl<Data> self;
|
85
|
+
|
86
|
+
protected:
|
87
|
+
|
88
|
+
Shape (Data* data, const char* name = NULL);
|
89
|
+
|
90
|
+
virtual SelectorPtr* get_selector_ptr ();
|
91
|
+
|
92
|
+
};// Shape
|
93
|
+
|
94
|
+
|
95
|
+
class PolygonShape : public Shape
|
96
|
+
{
|
97
|
+
|
98
|
+
typedef Shape Super;
|
99
|
+
|
100
|
+
public:
|
101
|
+
|
102
|
+
PolygonShape (const char* name = NULL);
|
103
|
+
|
104
|
+
virtual ~PolygonShape ();
|
105
|
+
|
106
|
+
virtual void set_polygon (const Polygon& polygon);
|
107
|
+
|
108
|
+
virtual const Polygon& polygon () const;
|
109
|
+
|
110
|
+
};// PolygonShape
|
111
|
+
|
112
|
+
|
113
|
+
class LineShape : public Shape
|
114
|
+
{
|
115
|
+
|
116
|
+
typedef Shape Super;
|
117
|
+
|
118
|
+
public:
|
119
|
+
|
120
|
+
LineShape (const char* name = NULL);
|
121
|
+
|
122
|
+
virtual ~LineShape ();
|
123
|
+
|
124
|
+
virtual void add_point (coord x, coord y, coord z = 0);
|
125
|
+
|
126
|
+
virtual void add_point (const Point& point);
|
127
|
+
|
128
|
+
virtual void add_points (const Point* points, size_t size);
|
129
|
+
|
130
|
+
virtual void set_loop (bool loop = true);
|
131
|
+
|
132
|
+
virtual bool loop () const;
|
133
|
+
|
134
|
+
};// LineShape
|
135
|
+
|
136
|
+
|
137
|
+
class RectShape : public Shape
|
138
|
+
{
|
139
|
+
|
140
|
+
typedef Shape Super;
|
141
|
+
|
142
|
+
public:
|
143
|
+
|
144
|
+
RectShape (const char* name = NULL);
|
145
|
+
|
146
|
+
virtual ~RectShape ();
|
147
|
+
|
148
|
+
virtual void set_round (coord round);
|
149
|
+
|
150
|
+
virtual void set_round (
|
151
|
+
coord left_top, coord right_top, coord left_bottom, coord right_bottom);
|
152
|
+
|
153
|
+
virtual void set_round_left_top (coord round);
|
154
|
+
|
155
|
+
virtual coord round_left_top () const;
|
156
|
+
|
157
|
+
virtual void set_round_right_top (coord round);
|
158
|
+
|
159
|
+
virtual coord round_right_top () const;
|
160
|
+
|
161
|
+
virtual void set_round_left_bottom (coord round);
|
162
|
+
|
163
|
+
virtual coord round_left_bottom () const;
|
164
|
+
|
165
|
+
virtual void set_round_right_bottom (coord round);
|
166
|
+
|
167
|
+
virtual coord round_right_bottom () const;
|
168
|
+
|
169
|
+
virtual void set_nsegment (uint num_of_segments);
|
170
|
+
|
171
|
+
virtual uint nsegment () const;
|
172
|
+
|
173
|
+
};// RectShape
|
174
|
+
|
175
|
+
|
176
|
+
class EllipseShape : public Shape
|
177
|
+
{
|
178
|
+
|
179
|
+
typedef Shape Super;
|
180
|
+
|
181
|
+
public:
|
182
|
+
|
183
|
+
EllipseShape (const char* name = NULL);
|
184
|
+
|
185
|
+
virtual ~EllipseShape ();
|
186
|
+
|
187
|
+
virtual void set_hole_size (coord width, coord height);
|
188
|
+
|
189
|
+
virtual void set_hole_size (const Point& size);
|
190
|
+
|
191
|
+
virtual const Point& hole_size () const;
|
192
|
+
|
193
|
+
virtual void set_angle_from (float degree);
|
194
|
+
|
195
|
+
virtual float angle_from () const;
|
196
|
+
|
197
|
+
virtual void set_angle_to (float degree);
|
198
|
+
|
199
|
+
virtual float angle_to () const;
|
200
|
+
|
201
|
+
virtual void set_nsegment (uint num_of_segments);
|
202
|
+
|
203
|
+
virtual uint nsegment() const;
|
204
|
+
|
205
|
+
};// EllipseShape
|
206
|
+
|
207
|
+
|
208
|
+
}// Reflex
|
209
|
+
|
210
|
+
|
211
|
+
#endif//EOH
|
data/include/reflex/style.h
CHANGED
@@ -5,8 +5,9 @@
|
|
5
5
|
|
6
6
|
|
7
7
|
#include <xot/pimpl.h>
|
8
|
-
#include <
|
9
|
-
#include <
|
8
|
+
#include <rays/color.h>
|
9
|
+
#include <rays/image.h>
|
10
|
+
#include <reflex/defs.h>
|
10
11
|
#include <reflex/selector.h>
|
11
12
|
|
12
13
|
|
@@ -14,9 +15,6 @@ namespace Reflex
|
|
14
15
|
{
|
15
16
|
|
16
17
|
|
17
|
-
class View;
|
18
|
-
|
19
|
-
|
20
18
|
class StyleLength
|
21
19
|
{
|
22
20
|
|
@@ -26,25 +24,17 @@ namespace Reflex
|
|
26
24
|
|
27
25
|
typedef coord Value;
|
28
26
|
|
29
|
-
enum
|
30
|
-
|
31
|
-
StyleLength ();
|
32
|
-
|
33
|
-
StyleLength (Value value, Unit unit = PIXEL);
|
27
|
+
enum Type {NONE = 0, PIXEL, PERCENT, FILL, FIT, TYPE_LAST};
|
34
28
|
|
35
|
-
|
29
|
+
StyleLength (Type type = NONE, Value value = 0);
|
36
30
|
|
37
31
|
This copy () const;
|
38
32
|
|
39
|
-
void reset (
|
40
|
-
|
41
|
-
void reset (const char* str);
|
33
|
+
void reset (Type type = NONE, Value value = 0);
|
42
34
|
|
43
35
|
Value value () const;
|
44
36
|
|
45
|
-
|
46
|
-
|
47
|
-
String to_s () const;
|
37
|
+
Type type () const;
|
48
38
|
|
49
39
|
operator bool () const;
|
50
40
|
|
@@ -56,12 +46,12 @@ namespace Reflex
|
|
56
46
|
|
57
47
|
struct Data;
|
58
48
|
|
59
|
-
Xot::
|
49
|
+
Xot::PSharedImpl<Data> self;
|
60
50
|
|
61
51
|
};// StyleLength
|
62
52
|
|
63
53
|
|
64
|
-
class Style
|
54
|
+
class Style : public HasSelector
|
65
55
|
{
|
66
56
|
|
67
57
|
typedef Style This;
|
@@ -74,122 +64,162 @@ namespace Reflex
|
|
74
64
|
FLOW_LAST
|
75
65
|
};
|
76
66
|
|
77
|
-
typedef Selector:: iterator tag_iterator;
|
78
|
-
|
79
|
-
typedef Selector::const_iterator const_tag_iterator;
|
80
|
-
|
81
67
|
Style (const char* name = NULL);
|
82
68
|
|
83
69
|
~Style ();
|
84
70
|
|
85
|
-
void
|
71
|
+
void set_name (const char* name);
|
72
|
+
|
73
|
+
void add_tag (const char* tag);
|
74
|
+
|
75
|
+
void remove_tag (const char* tag);
|
76
|
+
|
77
|
+
void clear_tags ();
|
78
|
+
|
79
|
+
void set_selector (const Selector& selector);
|
80
|
+
|
81
|
+
void set_flow (Flow main, Flow sub = FLOW_NONE);
|
82
|
+
|
83
|
+
void clear_flow ();
|
84
|
+
|
85
|
+
void get_flow (Flow* main, Flow* sub) const;
|
86
|
+
|
87
|
+
void set_width (const StyleLength& width);
|
86
88
|
|
87
|
-
|
89
|
+
void clear_width ();
|
88
90
|
|
89
|
-
|
91
|
+
const StyleLength& width () const;
|
90
92
|
|
91
|
-
void
|
93
|
+
void set_height (const StyleLength& height);
|
92
94
|
|
93
|
-
|
95
|
+
void clear_height ();
|
94
96
|
|
95
|
-
|
97
|
+
const StyleLength& height () const;
|
96
98
|
|
97
|
-
|
99
|
+
void set_left (const StyleLength& left);
|
98
100
|
|
99
|
-
|
101
|
+
void clear_left ();
|
100
102
|
|
101
|
-
|
103
|
+
const StyleLength& left () const;
|
102
104
|
|
103
|
-
|
105
|
+
void set_top (const StyleLength& top);
|
104
106
|
|
105
|
-
|
107
|
+
void clear_top ();
|
106
108
|
|
107
|
-
|
109
|
+
const StyleLength& top () const;
|
108
110
|
|
109
|
-
void
|
111
|
+
void set_right (const StyleLength& right);
|
110
112
|
|
111
|
-
void
|
113
|
+
void clear_right ();
|
112
114
|
|
113
|
-
|
115
|
+
const StyleLength& right () const;
|
114
116
|
|
115
|
-
const StyleLength&
|
117
|
+
void set_bottom (const StyleLength& bottom);
|
116
118
|
|
117
|
-
|
119
|
+
void clear_bottom ();
|
118
120
|
|
119
|
-
|
121
|
+
const StyleLength& bottom () const;
|
120
122
|
|
121
|
-
void
|
123
|
+
void set_margin_left (const StyleLength& left);
|
122
124
|
|
123
|
-
void
|
125
|
+
void clear_margin_left ();
|
124
126
|
|
125
|
-
|
127
|
+
const StyleLength& margin_left () const;
|
126
128
|
|
127
|
-
const StyleLength&
|
129
|
+
void set_margin_top (const StyleLength& top);
|
128
130
|
|
129
|
-
|
131
|
+
void clear_margin_top ();
|
130
132
|
|
131
|
-
const StyleLength&
|
133
|
+
const StyleLength& margin_top () const;
|
132
134
|
|
133
|
-
const StyleLength&
|
135
|
+
void set_margin_right (const StyleLength& right);
|
134
136
|
|
135
|
-
void
|
137
|
+
void clear_margin_right ();
|
136
138
|
|
137
|
-
|
139
|
+
const StyleLength& margin_right () const;
|
138
140
|
|
139
|
-
void
|
141
|
+
void set_margin_bottom (const StyleLength& bottom);
|
140
142
|
|
141
|
-
void
|
143
|
+
void clear_margin_bottom ();
|
142
144
|
|
143
|
-
const StyleLength&
|
145
|
+
const StyleLength& margin_bottom () const;
|
144
146
|
|
145
|
-
const StyleLength&
|
147
|
+
void set_padding_left (const StyleLength& left);
|
146
148
|
|
147
|
-
|
149
|
+
void clear_padding_left ();
|
148
150
|
|
149
|
-
const StyleLength&
|
151
|
+
const StyleLength& padding_left () const;
|
150
152
|
|
151
|
-
void
|
153
|
+
void set_padding_top (const StyleLength& top);
|
152
154
|
|
153
|
-
void
|
155
|
+
void clear_padding_top ();
|
154
156
|
|
155
|
-
|
157
|
+
const StyleLength& padding_top () const;
|
156
158
|
|
157
|
-
void
|
159
|
+
void set_padding_right (const StyleLength& right);
|
158
160
|
|
159
|
-
|
161
|
+
void clear_padding_right ();
|
160
162
|
|
161
|
-
const StyleLength&
|
163
|
+
const StyleLength& padding_right () const;
|
162
164
|
|
163
|
-
const StyleLength&
|
165
|
+
void set_padding_bottom (const StyleLength& bottom);
|
164
166
|
|
165
|
-
|
167
|
+
void clear_padding_bottom ();
|
166
168
|
|
167
|
-
|
169
|
+
const StyleLength& padding_bottom () const;
|
168
170
|
|
169
|
-
void
|
171
|
+
void set_center_x (const StyleLength& x);
|
170
172
|
|
171
|
-
void
|
173
|
+
void clear_center_x ();
|
172
174
|
|
173
|
-
|
175
|
+
const StyleLength& center_x () const;
|
174
176
|
|
175
|
-
const StyleLength&
|
177
|
+
void set_center_y (const StyleLength& y);
|
176
178
|
|
177
|
-
|
179
|
+
void clear_center_y ();
|
178
180
|
|
179
|
-
const StyleLength&
|
181
|
+
const StyleLength& center_y () const;
|
180
182
|
|
181
|
-
const
|
183
|
+
void set_foreground_fill (const Color& fill);
|
182
184
|
|
183
|
-
void
|
185
|
+
void clear_foreground_fill ();
|
184
186
|
|
185
|
-
const Color&
|
187
|
+
const Color& foreground_fill () const;
|
186
188
|
|
187
|
-
void
|
189
|
+
void set_foreground_stroke (const Color& stroke);
|
188
190
|
|
189
|
-
|
191
|
+
void clear_foreground_stroke ();
|
192
|
+
|
193
|
+
const Color& foreground_stroke () const;
|
194
|
+
|
195
|
+
void set_foreground_stroke_width (coord width);
|
196
|
+
|
197
|
+
void clear_foreground_stroke_width ();
|
198
|
+
|
199
|
+
coord foreground_stroke_width () const;
|
200
|
+
|
201
|
+
void set_background_fill (const Color& fill);
|
202
|
+
|
203
|
+
void clear_background_fill ();
|
204
|
+
|
205
|
+
const Color& background_fill () const;
|
206
|
+
|
207
|
+
void set_background_stroke (const Color& stroke);
|
208
|
+
|
209
|
+
void clear_background_stroke ();
|
210
|
+
|
211
|
+
const Color& background_stroke () const;
|
212
|
+
|
213
|
+
void set_background_stroke_width (coord width);
|
214
|
+
|
215
|
+
void clear_background_stroke_width ();
|
216
|
+
|
217
|
+
coord background_stroke_width () const;
|
190
218
|
|
191
219
|
void set_image (const Image& image);
|
192
220
|
|
221
|
+
void clear_image ();
|
222
|
+
|
193
223
|
const Image& image () const;
|
194
224
|
|
195
225
|
friend bool operator == (const This& lhs, const This& rhs);
|
@@ -198,7 +228,11 @@ namespace Reflex
|
|
198
228
|
|
199
229
|
struct Data;
|
200
230
|
|
201
|
-
Xot::
|
231
|
+
Xot::PSharedImpl<Data> self;
|
232
|
+
|
233
|
+
protected:
|
234
|
+
|
235
|
+
virtual SelectorPtr* get_selector_ptr ();
|
202
236
|
|
203
237
|
};// Style
|
204
238
|
|
@@ -0,0 +1,73 @@
|
|
1
|
+
// -*- c++ -*-
|
2
|
+
#pragma once
|
3
|
+
#ifndef __REFLEX_TIMER_H__
|
4
|
+
#define __REFLEX_TIMER_H__
|
5
|
+
|
6
|
+
|
7
|
+
#include <xot/ref.h>
|
8
|
+
#include <xot/pimpl.h>
|
9
|
+
#include <reflex/defs.h>
|
10
|
+
#include <reflex/selector.h>
|
11
|
+
|
12
|
+
|
13
|
+
namespace Reflex
|
14
|
+
{
|
15
|
+
|
16
|
+
|
17
|
+
class View;
|
18
|
+
|
19
|
+
|
20
|
+
class Timer : public Xot::RefCountable<>, public HasSelector
|
21
|
+
{
|
22
|
+
|
23
|
+
typedef Timer This;
|
24
|
+
|
25
|
+
public:
|
26
|
+
|
27
|
+
typedef Xot::Ref<This> Ref;
|
28
|
+
|
29
|
+
enum {ID_INVALID = 0, ID_FIRST};
|
30
|
+
|
31
|
+
Timer ();
|
32
|
+
|
33
|
+
virtual ~Timer ();
|
34
|
+
|
35
|
+
virtual void fire ();
|
36
|
+
|
37
|
+
virtual void stop ();
|
38
|
+
|
39
|
+
virtual View* owner () const;
|
40
|
+
|
41
|
+
virtual int id () const;
|
42
|
+
|
43
|
+
virtual float interval () const;
|
44
|
+
|
45
|
+
virtual void set_count (int count);
|
46
|
+
|
47
|
+
virtual int count () const;
|
48
|
+
|
49
|
+
virtual bool is_finished () const;
|
50
|
+
|
51
|
+
virtual operator bool () const;
|
52
|
+
|
53
|
+
virtual bool operator ! () const;
|
54
|
+
|
55
|
+
friend bool operator == (const This& lhs, const This& rhs);
|
56
|
+
|
57
|
+
friend bool operator != (const This& lhs, const This& rhs);
|
58
|
+
|
59
|
+
struct Data;
|
60
|
+
|
61
|
+
Xot::PImpl<Data> self;
|
62
|
+
|
63
|
+
protected:
|
64
|
+
|
65
|
+
virtual SelectorPtr* get_selector_ptr ();
|
66
|
+
|
67
|
+
};// Timer
|
68
|
+
|
69
|
+
|
70
|
+
}// Reflex
|
71
|
+
|
72
|
+
|
73
|
+
#endif//EOH
|