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.
Files changed (329) hide show
  1. checksums.yaml +5 -5
  2. data/.doc/ext/reflex/application.cpp +9 -5
  3. data/.doc/ext/reflex/capture_event.cpp +0 -4
  4. data/.doc/ext/reflex/contact_event.cpp +17 -10
  5. data/.doc/ext/reflex/draw_event.cpp +1 -5
  6. data/.doc/ext/reflex/ellipse_shape.cpp +51 -24
  7. data/.doc/ext/reflex/event.cpp +0 -4
  8. data/.doc/ext/reflex/filter.cpp +81 -0
  9. data/.doc/ext/reflex/focus_event.cpp +9 -13
  10. data/.doc/ext/reflex/frame_event.cpp +40 -6
  11. data/.doc/ext/reflex/image_view.cpp +1 -10
  12. data/.doc/ext/reflex/key_event.cpp +2 -6
  13. data/.doc/ext/reflex/line_shape.cpp +99 -0
  14. data/.doc/ext/reflex/motion_event.cpp +75 -0
  15. data/.doc/ext/reflex/native.cpp +18 -18
  16. data/.doc/ext/reflex/pointer_event.cpp +5 -11
  17. data/.doc/ext/reflex/polygon_shape.cpp +65 -0
  18. data/.doc/ext/reflex/rect_shape.cpp +102 -23
  19. data/.doc/ext/reflex/reflex.cpp +21 -2
  20. data/.doc/ext/reflex/scroll_event.cpp +0 -6
  21. data/.doc/ext/reflex/selector.cpp +43 -15
  22. data/.doc/ext/reflex/shape.cpp +211 -0
  23. data/.doc/ext/reflex/style.cpp +359 -185
  24. data/.doc/ext/reflex/style_length.cpp +163 -35
  25. data/.doc/ext/reflex/timer.cpp +101 -0
  26. data/.doc/ext/reflex/timer_event.cpp +123 -0
  27. data/.doc/ext/reflex/update_event.cpp +11 -6
  28. data/.doc/ext/reflex/view.cpp +548 -144
  29. data/.doc/ext/reflex/wheel_event.cpp +0 -22
  30. data/.doc/ext/reflex/window.cpp +7 -15
  31. data/README.md +1 -1
  32. data/Rakefile +14 -12
  33. data/VERSION +1 -1
  34. data/ext/reflex/application.cpp +10 -5
  35. data/ext/reflex/capture_event.cpp +1 -5
  36. data/ext/reflex/contact_event.cpp +19 -11
  37. data/ext/reflex/defs.h +5 -2
  38. data/ext/reflex/draw_event.cpp +2 -6
  39. data/ext/reflex/ellipse_shape.cpp +56 -25
  40. data/ext/reflex/event.cpp +0 -4
  41. data/ext/reflex/extconf.rb +1 -2
  42. data/ext/reflex/filter.cpp +86 -0
  43. data/ext/reflex/focus_event.cpp +11 -15
  44. data/ext/reflex/frame_event.cpp +46 -7
  45. data/ext/reflex/image_view.cpp +1 -10
  46. data/ext/reflex/key_event.cpp +3 -7
  47. data/ext/reflex/line_shape.cpp +104 -0
  48. data/ext/reflex/motion_event.cpp +79 -0
  49. data/ext/reflex/native.cpp +18 -18
  50. data/ext/reflex/pointer_event.cpp +6 -12
  51. data/ext/reflex/polygon_shape.cpp +68 -0
  52. data/ext/reflex/rect_shape.cpp +113 -24
  53. data/ext/reflex/reflex.cpp +21 -2
  54. data/ext/reflex/scroll_event.cpp +1 -7
  55. data/ext/reflex/selector.cpp +46 -16
  56. data/ext/reflex/selector.h +130 -0
  57. data/ext/reflex/shape.cpp +231 -0
  58. data/ext/reflex/style.cpp +363 -192
  59. data/ext/reflex/style_length.cpp +164 -37
  60. data/ext/reflex/timer.cpp +108 -0
  61. data/ext/reflex/timer_event.cpp +133 -0
  62. data/ext/reflex/update_event.cpp +13 -7
  63. data/ext/reflex/view.cpp +594 -150
  64. data/ext/reflex/wheel_event.cpp +1 -25
  65. data/ext/reflex/window.cpp +7 -15
  66. data/include/reflex/application.h +2 -0
  67. data/include/reflex/debug.h +22 -0
  68. data/include/reflex/defs.h +45 -0
  69. data/include/reflex/event.h +60 -16
  70. data/include/reflex/exception.h +9 -0
  71. data/include/reflex/filter.h +56 -0
  72. data/include/reflex/image_view.h +1 -1
  73. data/include/reflex/ruby/application.h +17 -9
  74. data/include/reflex/ruby/event.h +22 -0
  75. data/include/reflex/ruby/filter.h +69 -0
  76. data/include/reflex/ruby/selector.h +1 -1
  77. data/include/reflex/ruby/shape.h +140 -0
  78. data/include/reflex/ruby/style.h +1 -1
  79. data/include/reflex/ruby/timer.h +69 -0
  80. data/include/reflex/ruby/view.h +43 -76
  81. data/include/reflex/ruby/window.h +17 -32
  82. data/include/reflex/ruby.h +6 -4
  83. data/include/reflex/selector.h +54 -2
  84. data/include/reflex/shape.h +211 -0
  85. data/include/reflex/style.h +111 -77
  86. data/include/reflex/timer.h +73 -0
  87. data/include/reflex/view.h +181 -59
  88. data/include/reflex/window.h +4 -3
  89. data/include/reflex.h +5 -4
  90. data/lib/reflex/application.rb +6 -3
  91. data/lib/reflex/button.rb +2 -2
  92. data/lib/reflex/capture_event.rb +7 -6
  93. data/lib/reflex/contact_event.rb +10 -12
  94. data/lib/reflex/draw_event.rb +6 -1
  95. data/lib/reflex/ellipse_shape.rb +27 -0
  96. data/lib/reflex/filter.rb +18 -0
  97. data/lib/reflex/fixture.rb +4 -0
  98. data/lib/reflex/focus_event.rb +10 -12
  99. data/lib/reflex/frame_event.rb +1 -1
  100. data/lib/reflex/helper.rb +17 -29
  101. data/lib/reflex/key_event.rb +13 -11
  102. data/lib/reflex/line_shape.rb +18 -0
  103. data/lib/reflex/{texture.rb → matrix.rb} +2 -2
  104. data/lib/reflex/module.rb +4 -19
  105. data/lib/reflex/pointer_event.rb +26 -37
  106. data/lib/reflex/polygon.rb +14 -0
  107. data/lib/reflex/polygon_shape.rb +23 -0
  108. data/lib/reflex/polyline.rb +13 -0
  109. data/lib/reflex/rect_shape.rb +20 -0
  110. data/lib/reflex/reflex.rb +1 -3
  111. data/lib/reflex/scroll_event.rb +1 -1
  112. data/lib/reflex/selector.rb +2 -2
  113. data/lib/reflex/shape.rb +62 -0
  114. data/lib/reflex/style.rb +78 -11
  115. data/lib/reflex/style_length.rb +0 -11
  116. data/lib/reflex/text_view.rb +7 -24
  117. data/lib/reflex/timer.rb +30 -0
  118. data/lib/reflex/timer_event.rb +29 -0
  119. data/lib/reflex/update_event.rb +1 -1
  120. data/lib/reflex/view.rb +127 -32
  121. data/lib/reflex/wheel_event.rb +9 -1
  122. data/lib/reflex/window.rb +29 -9
  123. data/lib/reflex.rb +11 -5
  124. data/lib/reflexion.rb +23 -7
  125. data/reflex.gemspec +8 -10
  126. data/samples/bats.rb +4 -4
  127. data/samples/fans.rb +1 -1
  128. data/samples/fps.rb +5 -3
  129. data/samples/hello.rb +4 -6
  130. data/samples/image.rb +5 -4
  131. data/samples/ios/hello/hello.xcodeproj/project.pbxproj +0 -2
  132. data/samples/layout.rb +16 -7
  133. data/samples/model.rb +10 -7
  134. data/samples/physics.rb +22 -20
  135. data/samples/reflexion/breakout.rb +4 -5
  136. data/samples/reflexion/hello.rb +2 -2
  137. data/samples/reflexion/jump_action.rb +191 -0
  138. data/samples/reflexion/noise.rb +23 -0
  139. data/samples/reflexion/paint.rb +7 -6
  140. data/samples/reflexion/physics.rb +15 -8
  141. data/samples/reflexion/pulse.rb +24 -10
  142. data/samples/shader.rb +8 -6
  143. data/samples/shapes.rb +63 -14
  144. data/samples/tree.rb +9 -10
  145. data/samples/views.rb +3 -3
  146. data/samples/visuals.rb +2 -5
  147. data/src/body.cpp +146 -345
  148. data/src/body.h +91 -0
  149. data/src/event.cpp +66 -16
  150. data/src/exception.cpp +13 -3
  151. data/src/filter.cpp +76 -0
  152. data/src/fixture.cpp +164 -39
  153. data/src/fixture.h +85 -0
  154. data/src/image_view.cpp +4 -4
  155. data/src/ios/app_delegate.h +5 -10
  156. data/src/ios/app_delegate.mm +79 -41
  157. data/src/ios/application.h +32 -0
  158. data/src/ios/application.mm +35 -25
  159. data/src/ios/event.mm +8 -4
  160. data/src/ios/reflex.mm +0 -7
  161. data/src/ios/view_controller.h +33 -0
  162. data/src/ios/view_controller.mm +436 -0
  163. data/src/ios/window.h +40 -0
  164. data/src/ios/window.mm +59 -250
  165. data/src/osx/app_delegate.h +5 -10
  166. data/src/osx/app_delegate.mm +52 -55
  167. data/src/osx/application.h +32 -0
  168. data/src/osx/application.mm +44 -39
  169. data/src/osx/native_window.h +0 -15
  170. data/src/osx/native_window.mm +131 -115
  171. data/src/osx/opengl_view.h +0 -2
  172. data/src/osx/opengl_view.mm +12 -3
  173. data/src/osx/reflex.mm +0 -9
  174. data/src/osx/window.h +42 -0
  175. data/src/osx/window.mm +45 -252
  176. data/src/selector.cpp +232 -7
  177. data/src/selector.h +52 -0
  178. data/src/shape.cpp +1191 -0
  179. data/src/shape.h +61 -0
  180. data/src/style.cpp +571 -374
  181. data/src/style.h +39 -0
  182. data/src/timer.cpp +291 -0
  183. data/src/timer.h +55 -0
  184. data/src/view.cpp +1624 -984
  185. data/src/view.h +56 -0
  186. data/src/win32/window.cpp +3 -4
  187. data/src/window.cpp +275 -20
  188. data/src/window.h +92 -0
  189. data/src/world.cpp +112 -111
  190. data/src/world.h +34 -53
  191. data/task/box2d.rake +31 -10
  192. data/test/test_capture_event.rb +8 -6
  193. data/test/test_pointer_event.rb +85 -0
  194. data/test/test_selector.rb +1 -1
  195. data/test/test_shape.rb +71 -0
  196. data/test/test_style.rb +77 -11
  197. data/test/test_style_length.rb +42 -13
  198. data/test/test_view.rb +138 -14
  199. metadata +109 -210
  200. data/.doc/ext/reflex/arc_shape.cpp +0 -89
  201. data/.doc/ext/reflex/body.cpp +0 -299
  202. data/.doc/ext/reflex/fixture.cpp +0 -101
  203. data/.doc/ext/reflex/shape_view.cpp +0 -153
  204. data/ext/reflex/arc_shape.cpp +0 -94
  205. data/ext/reflex/body.cpp +0 -328
  206. data/ext/reflex/fixture.cpp +0 -108
  207. data/ext/reflex/shape_view.cpp +0 -161
  208. data/include/reflex/bitmap.h +0 -20
  209. data/include/reflex/body.h +0 -128
  210. data/include/reflex/bounds.h +0 -20
  211. data/include/reflex/color.h +0 -20
  212. data/include/reflex/color_space.h +0 -20
  213. data/include/reflex/fixture.h +0 -117
  214. data/include/reflex/font.h +0 -20
  215. data/include/reflex/image.h +0 -20
  216. data/include/reflex/matrix.h +0 -20
  217. data/include/reflex/painter.h +0 -20
  218. data/include/reflex/point.h +0 -24
  219. data/include/reflex/ruby/body.h +0 -41
  220. data/include/reflex/ruby/fixture.h +0 -41
  221. data/include/reflex/ruby/shape_view.h +0 -96
  222. data/include/reflex/shader.h +0 -20
  223. data/include/reflex/shape_view.h +0 -146
  224. data/include/reflex/texture.h +0 -20
  225. data/lib/reflex/body.rb +0 -22
  226. data/lib/reflex/flags.rb +0 -18
  227. data/lib/reflex/shape_view.rb +0 -25
  228. data/src/ios/application_data.h +0 -45
  229. data/src/ios/native_window.h +0 -39
  230. data/src/ios/native_window.mm +0 -224
  231. data/src/ios/opengl_view.h +0 -13
  232. data/src/ios/opengl_view.mm +0 -139
  233. data/src/ios/window_data.h +0 -75
  234. data/src/osx/application_data.h +0 -45
  235. data/src/osx/window_data.h +0 -75
  236. data/src/physics/Box2D/Box2D.h +0 -68
  237. data/src/physics/Box2D/Collision/Shapes/b2ChainShape.cpp +0 -193
  238. data/src/physics/Box2D/Collision/Shapes/b2ChainShape.h +0 -105
  239. data/src/physics/Box2D/Collision/Shapes/b2CircleShape.cpp +0 -99
  240. data/src/physics/Box2D/Collision/Shapes/b2CircleShape.h +0 -91
  241. data/src/physics/Box2D/Collision/Shapes/b2EdgeShape.cpp +0 -138
  242. data/src/physics/Box2D/Collision/Shapes/b2EdgeShape.h +0 -74
  243. data/src/physics/Box2D/Collision/Shapes/b2PolygonShape.cpp +0 -467
  244. data/src/physics/Box2D/Collision/Shapes/b2PolygonShape.h +0 -101
  245. data/src/physics/Box2D/Collision/Shapes/b2Shape.h +0 -101
  246. data/src/physics/Box2D/Collision/b2BroadPhase.cpp +0 -119
  247. data/src/physics/Box2D/Collision/b2BroadPhase.h +0 -257
  248. data/src/physics/Box2D/Collision/b2CollideCircle.cpp +0 -154
  249. data/src/physics/Box2D/Collision/b2CollideEdge.cpp +0 -698
  250. data/src/physics/Box2D/Collision/b2CollidePolygon.cpp +0 -239
  251. data/src/physics/Box2D/Collision/b2Collision.cpp +0 -252
  252. data/src/physics/Box2D/Collision/b2Collision.h +0 -277
  253. data/src/physics/Box2D/Collision/b2Distance.cpp +0 -603
  254. data/src/physics/Box2D/Collision/b2Distance.h +0 -141
  255. data/src/physics/Box2D/Collision/b2DynamicTree.cpp +0 -778
  256. data/src/physics/Box2D/Collision/b2DynamicTree.h +0 -289
  257. data/src/physics/Box2D/Collision/b2TimeOfImpact.cpp +0 -486
  258. data/src/physics/Box2D/Collision/b2TimeOfImpact.h +0 -58
  259. data/src/physics/Box2D/Common/b2BlockAllocator.cpp +0 -215
  260. data/src/physics/Box2D/Common/b2BlockAllocator.h +0 -62
  261. data/src/physics/Box2D/Common/b2Draw.cpp +0 -44
  262. data/src/physics/Box2D/Common/b2Draw.h +0 -86
  263. data/src/physics/Box2D/Common/b2GrowableStack.h +0 -85
  264. data/src/physics/Box2D/Common/b2Math.cpp +0 -94
  265. data/src/physics/Box2D/Common/b2Math.h +0 -720
  266. data/src/physics/Box2D/Common/b2Settings.cpp +0 -44
  267. data/src/physics/Box2D/Common/b2Settings.h +0 -151
  268. data/src/physics/Box2D/Common/b2StackAllocator.cpp +0 -83
  269. data/src/physics/Box2D/Common/b2StackAllocator.h +0 -60
  270. data/src/physics/Box2D/Common/b2Timer.cpp +0 -101
  271. data/src/physics/Box2D/Common/b2Timer.h +0 -50
  272. data/src/physics/Box2D/Dynamics/Contacts/b2ChainAndCircleContact.cpp +0 -53
  273. data/src/physics/Box2D/Dynamics/Contacts/b2ChainAndCircleContact.h +0 -39
  274. data/src/physics/Box2D/Dynamics/Contacts/b2ChainAndPolygonContact.cpp +0 -53
  275. data/src/physics/Box2D/Dynamics/Contacts/b2ChainAndPolygonContact.h +0 -39
  276. data/src/physics/Box2D/Dynamics/Contacts/b2CircleContact.cpp +0 -52
  277. data/src/physics/Box2D/Dynamics/Contacts/b2CircleContact.h +0 -39
  278. data/src/physics/Box2D/Dynamics/Contacts/b2Contact.cpp +0 -247
  279. data/src/physics/Box2D/Dynamics/Contacts/b2Contact.h +0 -349
  280. data/src/physics/Box2D/Dynamics/Contacts/b2ContactSolver.cpp +0 -838
  281. data/src/physics/Box2D/Dynamics/Contacts/b2ContactSolver.h +0 -95
  282. data/src/physics/Box2D/Dynamics/Contacts/b2EdgeAndCircleContact.cpp +0 -49
  283. data/src/physics/Box2D/Dynamics/Contacts/b2EdgeAndCircleContact.h +0 -39
  284. data/src/physics/Box2D/Dynamics/Contacts/b2EdgeAndPolygonContact.cpp +0 -49
  285. data/src/physics/Box2D/Dynamics/Contacts/b2EdgeAndPolygonContact.h +0 -39
  286. data/src/physics/Box2D/Dynamics/Contacts/b2PolygonAndCircleContact.cpp +0 -49
  287. data/src/physics/Box2D/Dynamics/Contacts/b2PolygonAndCircleContact.h +0 -38
  288. data/src/physics/Box2D/Dynamics/Contacts/b2PolygonContact.cpp +0 -52
  289. data/src/physics/Box2D/Dynamics/Contacts/b2PolygonContact.h +0 -39
  290. data/src/physics/Box2D/Dynamics/Joints/b2DistanceJoint.cpp +0 -260
  291. data/src/physics/Box2D/Dynamics/Joints/b2DistanceJoint.h +0 -169
  292. data/src/physics/Box2D/Dynamics/Joints/b2FrictionJoint.cpp +0 -251
  293. data/src/physics/Box2D/Dynamics/Joints/b2FrictionJoint.h +0 -119
  294. data/src/physics/Box2D/Dynamics/Joints/b2GearJoint.cpp +0 -419
  295. data/src/physics/Box2D/Dynamics/Joints/b2GearJoint.h +0 -125
  296. data/src/physics/Box2D/Dynamics/Joints/b2Joint.cpp +0 -211
  297. data/src/physics/Box2D/Dynamics/Joints/b2Joint.h +0 -226
  298. data/src/physics/Box2D/Dynamics/Joints/b2MotorJoint.cpp +0 -304
  299. data/src/physics/Box2D/Dynamics/Joints/b2MotorJoint.h +0 -133
  300. data/src/physics/Box2D/Dynamics/Joints/b2MouseJoint.cpp +0 -222
  301. data/src/physics/Box2D/Dynamics/Joints/b2MouseJoint.h +0 -129
  302. data/src/physics/Box2D/Dynamics/Joints/b2PrismaticJoint.cpp +0 -629
  303. data/src/physics/Box2D/Dynamics/Joints/b2PrismaticJoint.h +0 -196
  304. data/src/physics/Box2D/Dynamics/Joints/b2PulleyJoint.cpp +0 -348
  305. data/src/physics/Box2D/Dynamics/Joints/b2PulleyJoint.h +0 -152
  306. data/src/physics/Box2D/Dynamics/Joints/b2RevoluteJoint.cpp +0 -502
  307. data/src/physics/Box2D/Dynamics/Joints/b2RevoluteJoint.h +0 -204
  308. data/src/physics/Box2D/Dynamics/Joints/b2RopeJoint.cpp +0 -241
  309. data/src/physics/Box2D/Dynamics/Joints/b2RopeJoint.h +0 -114
  310. data/src/physics/Box2D/Dynamics/Joints/b2WeldJoint.cpp +0 -344
  311. data/src/physics/Box2D/Dynamics/Joints/b2WeldJoint.h +0 -126
  312. data/src/physics/Box2D/Dynamics/Joints/b2WheelJoint.cpp +0 -419
  313. data/src/physics/Box2D/Dynamics/Joints/b2WheelJoint.h +0 -210
  314. data/src/physics/Box2D/Dynamics/b2Body.cpp +0 -549
  315. data/src/physics/Box2D/Dynamics/b2Body.h +0 -860
  316. data/src/physics/Box2D/Dynamics/b2ContactManager.cpp +0 -296
  317. data/src/physics/Box2D/Dynamics/b2ContactManager.h +0 -52
  318. data/src/physics/Box2D/Dynamics/b2Fixture.cpp +0 -303
  319. data/src/physics/Box2D/Dynamics/b2Fixture.h +0 -345
  320. data/src/physics/Box2D/Dynamics/b2Island.cpp +0 -539
  321. data/src/physics/Box2D/Dynamics/b2Island.h +0 -93
  322. data/src/physics/Box2D/Dynamics/b2TimeStep.h +0 -70
  323. data/src/physics/Box2D/Dynamics/b2World.cpp +0 -1339
  324. data/src/physics/Box2D/Dynamics/b2World.h +0 -354
  325. data/src/physics/Box2D/Dynamics/b2WorldCallbacks.cpp +0 -36
  326. data/src/physics/Box2D/Dynamics/b2WorldCallbacks.h +0 -155
  327. data/src/physics/Box2D/Rope/b2Rope.cpp +0 -259
  328. data/src/physics/Box2D/Rope/b2Rope.h +0 -115
  329. data/src/shape_view.cpp +0 -306
@@ -1,21 +1,19 @@
1
1
  #include "reflex/ruby/style.h"
2
2
 
3
3
 
4
- #include <rucy.h>
5
4
  #include "rays/ruby/color.h"
6
5
  #include "rays/ruby/image.h"
7
6
  #include "reflex/ruby/selector.h"
8
7
  #include "defs.h"
9
-
10
-
11
- using namespace Rucy;
8
+ #include "selector.h"
12
9
 
13
10
 
14
11
  RUCY_DEFINE_VALUE_FROM_TO(Reflex::Style)
15
12
 
16
- #define THIS to<Reflex::Style*>(self)
13
+ #define THIS to< Reflex::Style*>(self)
14
+ #define C_THIS to<const Reflex::Style*>(self)
17
15
 
18
- #define CHECK RUCY_CHECK_OBJ(Reflex::Style, self)
16
+ #define CHECK RUCY_CHECK_OBJ(Reflex::Style, self)
19
17
 
20
18
 
21
19
  static
@@ -32,75 +30,34 @@ VALUE initialize_copy(VALUE self, VALUE obj)
32
30
  return self;
33
31
  }
34
32
 
35
- static
36
- VALUE set_name(VALUE self, VALUE name)
37
- {
38
- CHECK;
39
- THIS->set_name(name.is_nil() ? NULL : name.c_str());
40
- }
41
-
42
- static
43
- VALUE get_name(VALUE self)
44
- {
45
- CHECK;
46
- return THIS->name() ? value(THIS->name()) : nil();
47
- }
48
-
49
- static
50
- VALUE add_tag(VALUE self, VALUE tag)
51
- {
52
- CHECK;
53
- THIS->add_tag(tag.c_str());
54
- }
55
-
56
- static
57
- VALUE remove_tag(VALUE self, VALUE tag)
58
- {
59
- CHECK;
60
- THIS->remove_tag(tag.c_str());
61
- }
62
-
63
- static
64
- VALUE each_tag(VALUE self)
65
- {
66
- CHECK;
67
-
68
- Value ret;
69
- Reflex::Style::tag_iterator end = THIS->tag_end();
70
- for (Reflex::Style::tag_iterator it = THIS->tag_begin(); it != end; ++it)
71
- ret = rb_yield(value(*it));
72
- return ret;
73
- }
74
-
75
- static
76
- VALUE set_selector(VALUE self, VALUE selector)
77
- {
78
- CHECK;
79
- THIS->set_selector(to<Reflex::Selector>(selector));
80
- }
81
-
82
- static
83
- VALUE get_selector(VALUE self)
84
- {
85
- CHECK;
86
- return value(THIS->selector());
87
- }
88
-
89
33
  static
90
34
  VALUE set_flow(VALUE self)
91
35
  {
92
36
  CHECK;
93
37
  check_arg_count(__FILE__, __LINE__, "Style#set_flow", argc, 1, 2);
94
38
 
95
- THIS->set_flow(
96
- (Reflex::Style::Flow) argv[0].as_i(),
97
- argc >= 2 ? (Reflex::Style::Flow) argv[1].as_i() : Reflex::Style::FLOW_NONE);
39
+ if (argv[0].is_nil())
40
+ {
41
+ if (argc >= 2 && !argv[1].is_nil())
42
+ argument_error(__FILE__, __LINE__);
43
+
44
+ THIS->clear_flow();
45
+ }
46
+ else
47
+ {
48
+ THIS->set_flow(
49
+ (Reflex::Style::Flow) to<int>(argv[0]),
50
+ argc >= 2 ? (Reflex::Style::Flow) to<int>(argv[1]) : Reflex::Style::FLOW_NONE);
51
+ }
52
+
53
+ return value(argc, argv);
98
54
  }
99
55
 
100
56
  static
101
57
  VALUE get_flow(VALUE self)
102
58
  {
103
59
  CHECK;
60
+
104
61
  Reflex::Style::Flow main, sub;
105
62
  THIS->get_flow(&main, &sub);
106
63
  return array(main, sub);
@@ -110,7 +67,13 @@ static
110
67
  VALUE set_width(VALUE self, VALUE width)
111
68
  {
112
69
  CHECK;
113
- THIS->set_width(to<Reflex::StyleLength>(width));
70
+
71
+ if (width.is_nil())
72
+ THIS->clear_width();
73
+ else
74
+ THIS->set_width(to<Reflex::StyleLength>(width));
75
+
76
+ return width;
114
77
  }
115
78
 
116
79
  static
@@ -124,7 +87,13 @@ static
124
87
  VALUE set_height(VALUE self, VALUE height)
125
88
  {
126
89
  CHECK;
127
- THIS->set_height(to<Reflex::StyleLength>(height));
90
+
91
+ if (height.is_nil())
92
+ THIS->clear_height();
93
+ else
94
+ THIS->set_height(to<Reflex::StyleLength>(height));
95
+
96
+ return height;
128
97
  }
129
98
 
130
99
  static
@@ -140,22 +109,32 @@ VALUE set_size(VALUE self)
140
109
  CHECK;
141
110
  check_arg_count(__FILE__, __LINE__, "Style#set_size", argc, 1, 2);
142
111
 
143
- set_width (self, argv[0]);
112
+ set_width( self, argv[0]);
144
113
  set_height(self, argc >= 2 ? argv[1] : argv[0]);
114
+
115
+ return value(argc, argv);
145
116
  }
146
117
 
147
118
  static
148
119
  VALUE get_size(VALUE self)
149
120
  {
150
121
  CHECK;
151
- return array(get_width(self), get_height(self));
122
+ return array(
123
+ get_width(self),
124
+ get_height(self));
152
125
  }
153
126
 
154
127
  static
155
128
  VALUE set_left(VALUE self, VALUE left)
156
129
  {
157
130
  CHECK;
158
- THIS->set_left(to<Reflex::StyleLength>(left));
131
+
132
+ if (left.is_nil())
133
+ THIS->clear_left();
134
+ else
135
+ THIS->set_left(to<Reflex::StyleLength>(left));
136
+
137
+ return left;
159
138
  }
160
139
 
161
140
  static
@@ -169,7 +148,13 @@ static
169
148
  VALUE set_top(VALUE self, VALUE top)
170
149
  {
171
150
  CHECK;
172
- THIS->set_top(to<Reflex::StyleLength>(top));
151
+
152
+ if (top.is_nil())
153
+ THIS->clear_top();
154
+ else
155
+ THIS->set_top(to<Reflex::StyleLength>(top));
156
+
157
+ return top;
173
158
  }
174
159
 
175
160
  static
@@ -183,7 +168,13 @@ static
183
168
  VALUE set_right(VALUE self, VALUE right)
184
169
  {
185
170
  CHECK;
186
- THIS->set_right(to<Reflex::StyleLength>(right));
171
+
172
+ if (right.is_nil())
173
+ THIS->clear_right();
174
+ else
175
+ THIS->set_right(to<Reflex::StyleLength>(right));
176
+
177
+ return right;
187
178
  }
188
179
 
189
180
  static
@@ -197,7 +188,13 @@ static
197
188
  VALUE set_bottom(VALUE self, VALUE bottom)
198
189
  {
199
190
  CHECK;
200
- THIS->set_bottom(to<Reflex::StyleLength>(bottom));
191
+
192
+ if (bottom.is_nil())
193
+ THIS->clear_bottom();
194
+ else
195
+ THIS->set_bottom(to<Reflex::StyleLength>(bottom));
196
+
197
+ return bottom;
201
198
  }
202
199
 
203
200
  static
@@ -211,10 +208,13 @@ static
211
208
  VALUE set_position(VALUE self, VALUE left, VALUE top, VALUE right, VALUE bottom)
212
209
  {
213
210
  CHECK;
214
- set_left (self, left);
215
- set_top (self, top);
216
- set_right (self, right);
211
+
212
+ set_left( self, left);
213
+ set_top( self, top);
214
+ set_right( self, right);
217
215
  set_bottom(self, bottom);
216
+
217
+ return array(left, top, right, bottom);
218
218
  }
219
219
 
220
220
  static
@@ -229,269 +229,444 @@ VALUE get_position(VALUE self)
229
229
  }
230
230
 
231
231
  static
232
- VALUE set_offset_left(VALUE self, VALUE left)
232
+ VALUE set_margin_left(VALUE self, VALUE left)
233
233
  {
234
234
  CHECK;
235
- THIS->set_offset_left(to<Reflex::StyleLength>(left));
235
+
236
+ if (left.is_nil())
237
+ THIS->clear_margin_left();
238
+ else
239
+ THIS->set_margin_left(to<Reflex::StyleLength>(left));
240
+
241
+ return left;
236
242
  }
237
243
 
238
244
  static
239
- VALUE get_offset_left(VALUE self)
245
+ VALUE get_margin_left(VALUE self)
240
246
  {
241
247
  CHECK;
242
- return value(THIS->offset_left());
248
+ return value(THIS->margin_left());
243
249
  }
244
250
 
245
251
  static
246
- VALUE set_offset_top(VALUE self, VALUE top)
252
+ VALUE set_margin_top(VALUE self, VALUE top)
247
253
  {
248
254
  CHECK;
249
- THIS->set_offset_top(to<Reflex::StyleLength>(top));
255
+
256
+ if (top.is_nil())
257
+ THIS->clear_margin_top();
258
+ else
259
+ THIS->set_margin_top(to<Reflex::StyleLength>(top));
260
+
261
+ return top;
250
262
  }
251
263
 
252
264
  static
253
- VALUE get_offset_top(VALUE self)
265
+ VALUE get_margin_top(VALUE self)
254
266
  {
255
267
  CHECK;
256
- return value(THIS->offset_top());
268
+ return value(THIS->margin_top());
257
269
  }
258
270
 
259
271
  static
260
- VALUE set_offset_right(VALUE self, VALUE right)
272
+ VALUE set_margin_right(VALUE self, VALUE right)
261
273
  {
262
274
  CHECK;
263
- THIS->set_offset_right(to<Reflex::StyleLength>(right));
275
+
276
+ if (right.is_nil())
277
+ THIS->clear_margin_right();
278
+ else
279
+ THIS->set_margin_right(to<Reflex::StyleLength>(right));
280
+
281
+ return right;
264
282
  }
265
283
 
266
284
  static
267
- VALUE get_offset_right(VALUE self)
285
+ VALUE get_margin_right(VALUE self)
268
286
  {
269
287
  CHECK;
270
- return value(THIS->offset_right());
288
+ return value(THIS->margin_right());
271
289
  }
272
290
 
273
291
  static
274
- VALUE set_offset_bottom(VALUE self, VALUE bottom)
292
+ VALUE set_margin_bottom(VALUE self, VALUE bottom)
275
293
  {
276
294
  CHECK;
277
- THIS->set_offset_bottom(to<Reflex::StyleLength>(bottom));
295
+
296
+ if (bottom.is_nil())
297
+ THIS->clear_margin_bottom();
298
+ else
299
+ THIS->set_margin_bottom(to<Reflex::StyleLength>(bottom));
300
+
301
+ return bottom;
278
302
  }
279
303
 
280
304
  static
281
- VALUE get_offset_bottom(VALUE self)
305
+ VALUE get_margin_bottom(VALUE self)
282
306
  {
283
307
  CHECK;
284
- return value(THIS->offset_bottom());
308
+ return value(THIS->margin_bottom());
285
309
  }
286
310
 
287
311
  static
288
- VALUE set_offset(VALUE self, VALUE left, VALUE top, VALUE right, VALUE bottom)
312
+ VALUE set_margin(VALUE self, VALUE left, VALUE top, VALUE right, VALUE bottom)
289
313
  {
290
314
  CHECK;
291
- set_offset_left (self, left);
292
- set_offset_top (self, top);
293
- set_offset_right (self, right);
294
- set_offset_bottom(self, bottom);
315
+
316
+ set_margin_left( self, left);
317
+ set_margin_top( self, top);
318
+ set_margin_right( self, right);
319
+ set_margin_bottom(self, bottom);
320
+
321
+ return array(left, top, right, bottom);
295
322
  }
296
323
 
297
324
  static
298
- VALUE get_offset(VALUE self)
325
+ VALUE get_margin(VALUE self)
299
326
  {
300
327
  CHECK;
301
328
  return array(
302
- get_offset_left(self),
303
- get_offset_top(self),
304
- get_offset_right(self),
305
- get_offset_bottom(self));
329
+ get_margin_left(self),
330
+ get_margin_top(self),
331
+ get_margin_right(self),
332
+ get_margin_bottom(self));
306
333
  }
307
334
 
308
335
  static
309
- VALUE set_margin_left(VALUE self, VALUE left)
336
+ VALUE set_padding_left(VALUE self, VALUE left)
310
337
  {
311
338
  CHECK;
312
- THIS->set_margin_left(to<Reflex::StyleLength>(left));
339
+
340
+ if (left.is_nil())
341
+ THIS->clear_padding_left();
342
+ else
343
+ THIS->set_padding_left(to<Reflex::StyleLength>(left));
344
+
345
+ return left;
313
346
  }
314
347
 
315
348
  static
316
- VALUE get_margin_left(VALUE self)
349
+ VALUE get_padding_left(VALUE self)
317
350
  {
318
351
  CHECK;
319
- return value(THIS->margin_left());
352
+ return value(THIS->padding_left());
320
353
  }
321
354
 
322
355
  static
323
- VALUE set_margin_top(VALUE self, VALUE top)
356
+ VALUE set_padding_top(VALUE self, VALUE top)
324
357
  {
325
358
  CHECK;
326
- THIS->set_margin_top(to<Reflex::StyleLength>(top));
359
+
360
+ if (top.is_nil())
361
+ THIS->clear_padding_top();
362
+ else
363
+ THIS->set_padding_top(to<Reflex::StyleLength>(top));
364
+
365
+ return top;
327
366
  }
328
367
 
329
368
  static
330
- VALUE get_margin_top(VALUE self)
369
+ VALUE get_padding_top(VALUE self)
331
370
  {
332
371
  CHECK;
333
- return value(THIS->margin_top());
372
+ return value(THIS->padding_top());
334
373
  }
335
374
 
336
375
  static
337
- VALUE set_margin_right(VALUE self, VALUE right)
376
+ VALUE set_padding_right(VALUE self, VALUE right)
338
377
  {
339
378
  CHECK;
340
- THIS->set_margin_right(to<Reflex::StyleLength>(right));
379
+
380
+ if (right.is_nil())
381
+ THIS->clear_padding_right();
382
+ else
383
+ THIS->set_padding_right(to<Reflex::StyleLength>(right));
384
+
385
+ return right;
341
386
  }
342
387
 
343
388
  static
344
- VALUE get_margin_right(VALUE self)
389
+ VALUE get_padding_right(VALUE self)
345
390
  {
346
391
  CHECK;
347
- return value(THIS->margin_right());
392
+ return value(THIS->padding_right());
348
393
  }
349
394
 
350
395
  static
351
- VALUE set_margin_bottom(VALUE self, VALUE bottom)
396
+ VALUE set_padding_bottom(VALUE self, VALUE bottom)
352
397
  {
353
398
  CHECK;
354
- THIS->set_margin_bottom(to<Reflex::StyleLength>(bottom));
399
+
400
+ if (bottom.is_nil())
401
+ THIS->clear_padding_bottom();
402
+ else
403
+ THIS->set_padding_bottom(to<Reflex::StyleLength>(bottom));
404
+
405
+ return bottom;
355
406
  }
356
407
 
357
408
  static
358
- VALUE get_margin_bottom(VALUE self)
409
+ VALUE get_padding_bottom(VALUE self)
359
410
  {
360
411
  CHECK;
361
- return value(THIS->margin_bottom());
412
+ return value(THIS->padding_bottom());
362
413
  }
363
414
 
364
415
  static
365
- VALUE set_margin(VALUE self, VALUE left, VALUE top, VALUE right, VALUE bottom)
416
+ VALUE set_padding(VALUE self, VALUE left, VALUE top, VALUE right, VALUE bottom)
366
417
  {
367
418
  CHECK;
368
- set_margin_left (self, left);
369
- set_margin_top (self, top);
370
- set_margin_right (self, right);
371
- set_margin_bottom(self, bottom);
419
+
420
+ set_padding_left( self, left);
421
+ set_padding_top( self, top);
422
+ set_padding_right( self, right);
423
+ set_padding_bottom(self, bottom);
424
+
425
+ return array(left, top, right, bottom);
372
426
  }
373
427
 
374
428
  static
375
- VALUE get_margin(VALUE self)
429
+ VALUE get_padding(VALUE self)
376
430
  {
377
431
  CHECK;
378
432
  return array(
379
- get_margin_left(self),
380
- get_margin_top(self),
381
- get_margin_right(self),
382
- get_margin_bottom(self));
433
+ get_padding_left(self),
434
+ get_padding_top(self),
435
+ get_padding_right(self),
436
+ get_padding_bottom(self));
383
437
  }
384
438
 
385
439
  static
386
- VALUE set_padding_left(VALUE self, VALUE left)
440
+ VALUE set_center_x(VALUE self, VALUE x)
387
441
  {
388
442
  CHECK;
389
- THIS->set_padding_left(to<Reflex::StyleLength>(left));
443
+
444
+ if (x.is_nil())
445
+ THIS->clear_center_x();
446
+ else
447
+ THIS->set_center_x(to<Reflex::StyleLength>(x));
448
+
449
+ return x;
390
450
  }
391
451
 
392
452
  static
393
- VALUE get_padding_left(VALUE self)
453
+ VALUE get_center_x(VALUE self)
394
454
  {
395
455
  CHECK;
396
- return value(THIS->padding_left());
456
+ return value(THIS->center_x());
397
457
  }
398
458
 
399
459
  static
400
- VALUE set_padding_top(VALUE self, VALUE top)
460
+ VALUE set_center_y(VALUE self, VALUE y)
401
461
  {
402
462
  CHECK;
403
- THIS->set_padding_top(to<Reflex::StyleLength>(top));
463
+
464
+ if (y.is_nil())
465
+ THIS->clear_center_y();
466
+ else
467
+ THIS->set_center_y(to<Reflex::StyleLength>(y));
468
+
469
+ return y;
404
470
  }
405
471
 
406
472
  static
407
- VALUE get_padding_top(VALUE self)
473
+ VALUE get_center_y(VALUE self)
408
474
  {
409
475
  CHECK;
410
- return value(THIS->padding_top());
476
+ return value(THIS->center_y());
411
477
  }
412
478
 
413
479
  static
414
- VALUE set_padding_right(VALUE self, VALUE right)
480
+ VALUE set_center(VALUE self, VALUE x, VALUE y)
415
481
  {
416
482
  CHECK;
417
- THIS->set_padding_right(to<Reflex::StyleLength>(right));
483
+
484
+ set_center_x(self, x);
485
+ set_center_y(self, y);
486
+
487
+ return array(x, y);
418
488
  }
419
489
 
420
490
  static
421
- VALUE get_padding_right(VALUE self)
491
+ VALUE get_center(VALUE self)
422
492
  {
423
493
  CHECK;
424
- return value(THIS->padding_right());
494
+ return array(
495
+ get_center_x(self),
496
+ get_center_y(self));
425
497
  }
426
498
 
427
499
  static
428
- VALUE set_padding_bottom(VALUE self, VALUE bottom)
500
+ VALUE set_foreground_fill(VALUE self)
429
501
  {
430
502
  CHECK;
431
- THIS->set_padding_bottom(to<Reflex::StyleLength>(bottom));
503
+ check_arg_count(
504
+ __FILE__, __LINE__, "Style#set_foreground_fill", argc, 1, 2, 3, 4);
505
+
506
+ if (argv[0].is_nil())
507
+ {
508
+ if (argc != 1)
509
+ argument_error(__FILE__, __LINE__);
510
+
511
+ THIS->clear_foreground_fill();
512
+ return argv[0];
513
+ }
514
+ else
515
+ {
516
+ Reflex::Color color = to<Reflex::Color>(argc, argv);
517
+ THIS->set_foreground_fill(color);
518
+ return value(color);
519
+ }
432
520
  }
433
521
 
434
522
  static
435
- VALUE get_padding_bottom(VALUE self)
523
+ VALUE set_foreground_stroke(VALUE self)
436
524
  {
437
525
  CHECK;
438
- return value(THIS->padding_bottom());
526
+ check_arg_count(
527
+ __FILE__, __LINE__, "Style#set_foreground_stroke", argc, 1, 2, 3, 4);
528
+
529
+ if (argv[0].is_nil())
530
+ {
531
+ if (argc != 1)
532
+ argument_error(__FILE__, __LINE__);
533
+
534
+ THIS->clear_foreground_stroke();
535
+ return argv[0];
536
+ }
537
+ else
538
+ {
539
+ Reflex::Color color = to<Reflex::Color>(argc, argv);
540
+ THIS->set_foreground_stroke(color);
541
+ return value(color);
542
+ }
439
543
  }
440
544
 
441
545
  static
442
- VALUE set_padding(VALUE self, VALUE left, VALUE top, VALUE right, VALUE bottom)
546
+ VALUE set_foreground_stroke_width(VALUE self, VALUE width)
443
547
  {
444
548
  CHECK;
445
- set_padding_left (self, left);
446
- set_padding_top (self, top);
447
- set_padding_right (self, right);
448
- set_padding_bottom(self, bottom);
549
+
550
+ if (width.is_nil())
551
+ THIS->clear_foreground_stroke_width();
552
+ else
553
+ THIS->set_foreground_stroke_width(to<coord>(width));
554
+
555
+ return width;
449
556
  }
450
557
 
451
558
  static
452
- VALUE get_padding(VALUE self)
559
+ VALUE set_background_fill(VALUE self)
453
560
  {
454
561
  CHECK;
455
- return array(
456
- get_padding_left(self),
457
- get_padding_top(self),
458
- get_padding_right(self),
459
- get_padding_bottom(self));
562
+ check_arg_count(
563
+ __FILE__, __LINE__, "Style#set_background_fill", argc, 1, 2, 3, 4);
564
+
565
+ if (argv[0].is_nil())
566
+ {
567
+ if (argc != 1)
568
+ argument_error(__FILE__, __LINE__);
569
+
570
+ THIS->clear_background_fill();
571
+ return argv[0];
572
+ }
573
+ else
574
+ {
575
+ Reflex::Color color = to<Reflex::Color>(argc, argv);
576
+ THIS->set_background_fill(color);
577
+ return value(color);
578
+ }
579
+ }
580
+
581
+ static
582
+ VALUE set_background_stroke(VALUE self)
583
+ {
584
+ CHECK;
585
+ check_arg_count(
586
+ __FILE__, __LINE__, "Style#set_background_stroke", argc, 1, 2, 3, 4);
587
+
588
+ if (argv[0].is_nil())
589
+ {
590
+ if (argc != 1)
591
+ argument_error(__FILE__, __LINE__);
592
+
593
+ THIS->clear_background_stroke();
594
+ return argv[0];
595
+ }
596
+ else
597
+ {
598
+ Reflex::Color color = to<Reflex::Color>(argc, argv);
599
+ THIS->set_background_stroke(color);
600
+ return value(color);
601
+ }
602
+ }
603
+
604
+ static
605
+ VALUE set_background_stroke_width(VALUE self, VALUE width)
606
+ {
607
+ CHECK;
608
+
609
+ if (width.is_nil())
610
+ THIS->clear_background_stroke_width();
611
+ else
612
+ THIS->set_background_stroke_width(to<coord>(width));
613
+
614
+ return width;
460
615
  }
461
616
 
462
617
  static
463
- VALUE set_fill(VALUE self, VALUE color)
618
+ VALUE get_foreground_fill(VALUE self)
464
619
  {
465
620
  CHECK;
466
- THIS->set_fill(to<Reflex::Color&>(color));
621
+ return value(THIS->foreground_fill());
467
622
  }
468
623
 
469
624
  static
470
- VALUE get_fill(VALUE self)
625
+ VALUE get_foreground_stroke(VALUE self)
471
626
  {
472
627
  CHECK;
473
- return value(THIS->fill());
628
+ return value(THIS->foreground_stroke());
474
629
  }
475
630
 
476
631
  static
477
- VALUE set_stroke(VALUE self, VALUE color)
632
+ VALUE get_foreground_stroke_width(VALUE self)
478
633
  {
479
634
  CHECK;
480
- THIS->set_stroke(to<Reflex::Color&>(color));
635
+ return value(THIS->foreground_stroke_width());
481
636
  }
482
637
 
483
638
  static
484
- VALUE get_stroke(VALUE self)
639
+ VALUE get_background_fill(VALUE self)
485
640
  {
486
641
  CHECK;
487
- return value(THIS->stroke());
642
+ return value(THIS->background_fill());
643
+ }
644
+
645
+ static
646
+ VALUE get_background_stroke(VALUE self)
647
+ {
648
+ CHECK;
649
+ return value(THIS->background_stroke());
650
+ }
651
+
652
+ static
653
+ VALUE get_background_stroke_width(VALUE self)
654
+ {
655
+ CHECK;
656
+ return value(THIS->background_stroke_width());
488
657
  }
489
658
 
490
659
  static
491
660
  VALUE set_image(VALUE self, VALUE image)
492
661
  {
493
662
  CHECK;
494
- THIS->set_image(to<Reflex::Image&>(image));
663
+
664
+ if (image.is_nil())
665
+ THIS->clear_image();
666
+ else
667
+ THIS->set_image(to<Reflex::Image&>(image));
668
+
669
+ return image;
495
670
  }
496
671
 
497
672
  static
@@ -520,14 +695,6 @@ Init_style ()
520
695
  rb_define_alloc_func(cStyle, alloc);
521
696
  rb_define_private_method(cStyle, "initialize_copy", RUBY_METHOD_FUNC(initialize_copy), 1);
522
697
 
523
- rb_define_method(cStyle, "name=", RUBY_METHOD_FUNC(set_name), 1);
524
- rb_define_method(cStyle, "name", RUBY_METHOD_FUNC(get_name), 0);
525
- rb_define_method(cStyle, "add_tag", RUBY_METHOD_FUNC(add_tag), 1);
526
- rb_define_method(cStyle, "remove_tag", RUBY_METHOD_FUNC(remove_tag), 1);
527
- rb_define_method(cStyle, "each_tag", RUBY_METHOD_FUNC(each_tag), 0);
528
- rb_define_method(cStyle, "selector=", RUBY_METHOD_FUNC(set_selector), 1);
529
- rb_define_method(cStyle, "selector", RUBY_METHOD_FUNC(get_selector), 0);
530
-
531
698
  rb_define_method(cStyle, "set_flow", RUBY_METHOD_FUNC(set_flow), -1);
532
699
  rb_define_method(cStyle, "get_flow", RUBY_METHOD_FUNC(get_flow), 0);
533
700
 
@@ -549,17 +716,6 @@ Init_style ()
549
716
  rb_define_method(cStyle, "position=", RUBY_METHOD_FUNC(set_position), 4);
550
717
  rb_define_method(cStyle, "position", RUBY_METHOD_FUNC(get_position), 0);
551
718
 
552
- rb_define_method(cStyle, "offset_left=", RUBY_METHOD_FUNC(set_offset_left), 1);
553
- rb_define_method(cStyle, "offset_left", RUBY_METHOD_FUNC(get_offset_left), 0);
554
- rb_define_method(cStyle, "offset_top=", RUBY_METHOD_FUNC(set_offset_top), 1);
555
- rb_define_method(cStyle, "offset_top", RUBY_METHOD_FUNC(get_offset_top), 0);
556
- rb_define_method(cStyle, "offset_right=", RUBY_METHOD_FUNC(set_offset_right), 1);
557
- rb_define_method(cStyle, "offset_right", RUBY_METHOD_FUNC(get_offset_right), 0);
558
- rb_define_method(cStyle, "offset_bottom=", RUBY_METHOD_FUNC(set_offset_bottom), 1);
559
- rb_define_method(cStyle, "offset_bottom", RUBY_METHOD_FUNC(get_offset_bottom), 0);
560
- rb_define_method(cStyle, "offset=", RUBY_METHOD_FUNC(set_offset), 4);
561
- rb_define_method(cStyle, "offset", RUBY_METHOD_FUNC(get_offset), 0);
562
-
563
719
  rb_define_method(cStyle, "margin_left=", RUBY_METHOD_FUNC(set_margin_left), 1);
564
720
  rb_define_method(cStyle, "margin_left", RUBY_METHOD_FUNC(get_margin_left), 0);
565
721
  rb_define_method(cStyle, "margin_top=", RUBY_METHOD_FUNC(set_margin_top), 1);
@@ -582,20 +738,38 @@ Init_style ()
582
738
  rb_define_method(cStyle, "padding=", RUBY_METHOD_FUNC(set_padding), 4);
583
739
  rb_define_method(cStyle, "padding", RUBY_METHOD_FUNC(get_padding), 0);
584
740
 
585
- rb_define_method(cStyle, "fill=", RUBY_METHOD_FUNC(set_fill), 1);
586
- rb_define_method(cStyle, "fill", RUBY_METHOD_FUNC(get_fill), 0);
587
- rb_define_method(cStyle, "stroke=", RUBY_METHOD_FUNC(set_stroke), 1);
588
- rb_define_method(cStyle, "stroke", RUBY_METHOD_FUNC(get_stroke), 0);
741
+ rb_define_method(cStyle, "center_x=", RUBY_METHOD_FUNC(set_center_x), 1);
742
+ rb_define_method(cStyle, "center_x", RUBY_METHOD_FUNC(get_center_x), 0);
743
+ rb_define_method(cStyle, "center_y=", RUBY_METHOD_FUNC(set_center_y), 1);
744
+ rb_define_method(cStyle, "center_y", RUBY_METHOD_FUNC(get_center_y), 0);
745
+ rb_define_method(cStyle, "center=", RUBY_METHOD_FUNC(set_center), 2);
746
+ rb_define_method(cStyle, "center", RUBY_METHOD_FUNC(get_center), 0);
747
+
748
+ rb_define_method(cStyle, "foreground_fill=", RUBY_METHOD_FUNC(set_foreground_fill), -1);
749
+ rb_define_method(cStyle, "foreground_fill", RUBY_METHOD_FUNC(get_foreground_fill), 0);
750
+ rb_define_method(cStyle, "foreground_stroke=", RUBY_METHOD_FUNC(set_foreground_stroke), -1);
751
+ rb_define_method(cStyle, "foreground_stroke", RUBY_METHOD_FUNC(get_foreground_stroke), 0);
752
+ rb_define_method(cStyle, "foreground_stroke_width=", RUBY_METHOD_FUNC(set_foreground_stroke_width), 1);
753
+ rb_define_method(cStyle, "foreground_stroke_width", RUBY_METHOD_FUNC(get_foreground_stroke_width), 0);
754
+ rb_define_method(cStyle, "background_fill=", RUBY_METHOD_FUNC(set_background_fill), -1);
755
+ rb_define_method(cStyle, "background_fill", RUBY_METHOD_FUNC(get_background_fill), 0);
756
+ rb_define_method(cStyle, "background_stroke=", RUBY_METHOD_FUNC(set_background_stroke), -1);
757
+ rb_define_method(cStyle, "background_stroke", RUBY_METHOD_FUNC(get_background_stroke), 0);
758
+ rb_define_method(cStyle, "background_stroke_width=", RUBY_METHOD_FUNC(set_background_stroke_width), 1);
759
+ rb_define_method(cStyle, "background_stroke_width", RUBY_METHOD_FUNC(get_background_stroke_width), 0);
589
760
 
590
761
  rb_define_method(cStyle, "image=", RUBY_METHOD_FUNC(set_image), 1);
591
762
  rb_define_method(cStyle, "image", RUBY_METHOD_FUNC(get_image), 0);
592
763
 
593
764
  cStyle.define_method("==", equal);
765
+
594
766
  cStyle.define_const("FLOW_NONE", Reflex::Style::FLOW_NONE);
595
767
  cStyle.define_const("FLOW_DOWN", Reflex::Style::FLOW_DOWN);
596
768
  cStyle.define_const("FLOW_RIGHT", Reflex::Style::FLOW_RIGHT);
597
769
  cStyle.define_const("FLOW_UP", Reflex::Style::FLOW_UP);
598
770
  cStyle.define_const("FLOW_LEFT", Reflex::Style::FLOW_LEFT);
771
+
772
+ define_selector_methods<Reflex::Style>(cStyle);
599
773
  }
600
774
 
601
775