reflexion 0.2.1 → 0.3.1

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 (123) hide show
  1. checksums.yaml +4 -4
  2. data/.doc/ext/reflex/application.cpp +1 -1
  3. data/.doc/ext/reflex/capture_event.cpp +1 -1
  4. data/.doc/ext/reflex/contact_event.cpp +1 -1
  5. data/.doc/ext/reflex/draw_event.cpp +1 -1
  6. data/.doc/ext/reflex/ellipse_shape.cpp +1 -1
  7. data/.doc/ext/reflex/event.cpp +1 -1
  8. data/.doc/ext/reflex/filter.cpp +1 -1
  9. data/.doc/ext/reflex/focus_event.cpp +1 -1
  10. data/.doc/ext/reflex/frame_event.cpp +1 -1
  11. data/.doc/ext/reflex/image_view.cpp +1 -1
  12. data/.doc/ext/reflex/key_event.cpp +74 -69
  13. data/.doc/ext/reflex/line_shape.cpp +1 -1
  14. data/.doc/ext/reflex/motion_event.cpp +1 -1
  15. data/.doc/ext/reflex/pointer.cpp +7 -16
  16. data/.doc/ext/reflex/pointer_event.cpp +1 -1
  17. data/.doc/ext/reflex/polygon_shape.cpp +1 -1
  18. data/.doc/ext/reflex/rect_shape.cpp +1 -1
  19. data/.doc/ext/reflex/reflex.cpp +58 -50
  20. data/.doc/ext/reflex/screen.cpp +1 -1
  21. data/.doc/ext/reflex/scroll_event.cpp +1 -1
  22. data/.doc/ext/reflex/selector.cpp +2 -2
  23. data/.doc/ext/reflex/shape.cpp +1 -1
  24. data/.doc/ext/reflex/style.cpp +1 -1
  25. data/.doc/ext/reflex/style_length.cpp +5 -3
  26. data/.doc/ext/reflex/timer.cpp +1 -1
  27. data/.doc/ext/reflex/timer_event.cpp +1 -1
  28. data/.doc/ext/reflex/update_event.cpp +1 -1
  29. data/.doc/ext/reflex/view.cpp +17 -9
  30. data/.doc/ext/reflex/wheel_event.cpp +1 -1
  31. data/.doc/ext/reflex/window.cpp +1 -1
  32. data/.github/workflows/release-gem.yml +1 -1
  33. data/.github/workflows/test.yml +3 -0
  34. data/ChangeLog.md +17 -0
  35. data/Gemfile.lock +1 -1
  36. data/LICENSE +1 -1
  37. data/Rakefile +1 -2
  38. data/VERSION +1 -1
  39. data/ext/reflex/application.cpp +1 -1
  40. data/ext/reflex/capture_event.cpp +1 -1
  41. data/ext/reflex/contact_event.cpp +1 -1
  42. data/ext/reflex/defs.h +2 -0
  43. data/ext/reflex/draw_event.cpp +1 -1
  44. data/ext/reflex/ellipse_shape.cpp +1 -1
  45. data/ext/reflex/event.cpp +1 -1
  46. data/ext/reflex/extconf.rb +4 -4
  47. data/ext/reflex/filter.cpp +1 -1
  48. data/ext/reflex/focus_event.cpp +1 -1
  49. data/ext/reflex/frame_event.cpp +1 -1
  50. data/ext/reflex/image_view.cpp +1 -1
  51. data/ext/reflex/key_event.cpp +74 -69
  52. data/ext/reflex/line_shape.cpp +1 -1
  53. data/ext/reflex/motion_event.cpp +1 -1
  54. data/ext/reflex/pointer.cpp +7 -17
  55. data/ext/reflex/pointer_event.cpp +1 -1
  56. data/ext/reflex/polygon_shape.cpp +1 -1
  57. data/ext/reflex/rect_shape.cpp +1 -1
  58. data/ext/reflex/reflex.cpp +58 -50
  59. data/ext/reflex/screen.cpp +1 -1
  60. data/ext/reflex/scroll_event.cpp +1 -1
  61. data/ext/reflex/selector.cpp +2 -2
  62. data/ext/reflex/shape.cpp +1 -1
  63. data/ext/reflex/style.cpp +1 -1
  64. data/ext/reflex/style_length.cpp +5 -3
  65. data/ext/reflex/timer.cpp +1 -1
  66. data/ext/reflex/timer_event.cpp +1 -1
  67. data/ext/reflex/update_event.cpp +1 -1
  68. data/ext/reflex/view.cpp +18 -9
  69. data/ext/reflex/wheel_event.cpp +1 -1
  70. data/ext/reflex/window.cpp +1 -1
  71. data/include/reflex/defs.h +204 -187
  72. data/include/reflex/pointer.h +3 -5
  73. data/include/reflex/reflex.h +1 -0
  74. data/include/reflex/ruby/application.h +2 -2
  75. data/include/reflex/ruby/event.h +26 -26
  76. data/include/reflex/ruby/exception.h +3 -3
  77. data/include/reflex/ruby/filter.h +2 -2
  78. data/include/reflex/ruby/image_view.h +2 -2
  79. data/include/reflex/ruby/pointer.h +2 -2
  80. data/include/reflex/ruby/reflex.h +1 -1
  81. data/include/reflex/ruby/screen.h +2 -2
  82. data/include/reflex/ruby/selector.h +2 -2
  83. data/include/reflex/ruby/shape.h +10 -10
  84. data/include/reflex/ruby/style.h +4 -4
  85. data/include/reflex/ruby/timer.h +3 -3
  86. data/include/reflex/ruby/view.h +2 -2
  87. data/include/reflex/ruby/window.h +2 -2
  88. data/include/reflex/view.h +3 -1
  89. data/lib/reflex/extension.rb +4 -0
  90. data/lib/reflex/pointer.rb +1 -1
  91. data/lib/reflex/pointer_event.rb +2 -2
  92. data/reflex.gemspec +4 -4
  93. data/src/body.cpp +12 -6
  94. data/src/event.cpp +17 -31
  95. data/src/event.h +3 -3
  96. data/src/filter.cpp +3 -1
  97. data/src/ios/event.mm +20 -27
  98. data/src/osx/application.mm +6 -5
  99. data/src/osx/event.mm +1 -2
  100. data/src/pointer.cpp +12 -32
  101. data/src/pointer.h +0 -2
  102. data/src/selector.cpp +3 -1
  103. data/src/shape.cpp +5 -3
  104. data/src/style.cpp +14 -8
  105. data/src/view.cpp +47 -24
  106. data/src/win32/application.cpp +48 -35
  107. data/src/win32/device.cpp +18 -0
  108. data/src/win32/event.cpp +219 -0
  109. data/src/win32/event.h +50 -0
  110. data/src/win32/opengl.cpp +54 -27
  111. data/src/win32/opengl.h +15 -13
  112. data/src/win32/reflex.cpp +10 -16
  113. data/src/win32/screen.cpp +61 -0
  114. data/src/win32/screen.h +21 -0
  115. data/src/win32/window.cpp +445 -240
  116. data/src/window.cpp +28 -30
  117. data/src/window.h +3 -12
  118. data/test/test_pointer.rb +8 -10
  119. data/test/test_pointer_event.rb +8 -9
  120. data/test/test_window.rb +24 -21
  121. metadata +15 -12
  122. data/src/win32/defs.cpp +0 -303
  123. data/src/win32/defs.h +0 -34
@@ -5,7 +5,7 @@
5
5
  #include "defs.h"
6
6
 
7
7
 
8
- RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(Reflex::StyleLength)
8
+ RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(REFLEX_EXPORT, Reflex::StyleLength)
9
9
 
10
10
  #define THIS to<Reflex::StyleLength*>(self)
11
11
 
@@ -71,7 +71,9 @@ scan_type_and_value (
71
71
  {
72
72
  assert(type && value);
73
73
 
74
- if (!str || *str == '\0')
74
+ if (!str)
75
+ argument_error(__FILE__, __LINE__);
76
+ if (*str == '\0')
75
77
  argument_error(__FILE__, __LINE__);
76
78
 
77
79
  char buf[101];
@@ -208,7 +210,7 @@ namespace Rucy
208
210
  {
209
211
 
210
212
 
211
- template <> Reflex::StyleLength
213
+ template <> REFLEX_EXPORT Reflex::StyleLength
212
214
  value_to<Reflex::StyleLength> (int argc, const Value* argv, bool convert)
213
215
  {
214
216
  if (argc == 1 && argv->is_array())
@@ -8,7 +8,7 @@
8
8
  #include "selector.h"
9
9
 
10
10
 
11
- RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(Reflex::Timer)
11
+ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::Timer)
12
12
 
13
13
  #define THIS to<Reflex::Timer*>(self)
14
14
 
@@ -6,7 +6,7 @@
6
6
  #include "defs.h"
7
7
 
8
8
 
9
- RUCY_DEFINE_VALUE_FROM_TO(Reflex::TimerEvent)
9
+ RUCY_DEFINE_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::TimerEvent)
10
10
 
11
11
  #define THIS to<Reflex::TimerEvent*>(self)
12
12
 
@@ -4,7 +4,7 @@
4
4
  #include "defs.h"
5
5
 
6
6
 
7
- RUCY_DEFINE_VALUE_FROM_TO(Reflex::UpdateEvent)
7
+ RUCY_DEFINE_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::UpdateEvent)
8
8
 
9
9
  #define THIS to<Reflex::UpdateEvent*>(self)
10
10
 
@@ -15,7 +15,7 @@
15
15
  #include "selector.h"
16
16
 
17
17
 
18
- RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(Reflex::View)
18
+ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::View)
19
19
 
20
20
  #define THIS to< Reflex::View*>(self)
21
21
  #define C_THIS to<const Reflex::View*>(self)
@@ -272,7 +272,7 @@ to_shape (Value value)
272
272
  if (value.is_nil())
273
273
  return NULL;
274
274
 
275
- if (value.is_kind_of(Rays::polygon_class()))
275
+ if (value.is_a(Rays::polygon_class()))
276
276
  {
277
277
  Reflex::PolygonShape* shape = new Reflex::PolygonShape();
278
278
  shape->set_polygon(to<Rays::Polygon&>(value));
@@ -409,7 +409,7 @@ VALUE set_pivot(VALUE self)
409
409
  {
410
410
  CHECK;
411
411
 
412
- if (argv[0].is_kind_of(Rays::point_class()))
412
+ if (argv[0].is_a(Rays::point_class()))
413
413
  {
414
414
  check_arg_count(__FILE__, __LINE__, "View#pivot=(Point)", argc, 1);
415
415
 
@@ -446,7 +446,7 @@ VALUE scroll_to(VALUE self)
446
446
  {
447
447
  CHECK;
448
448
 
449
- if (argv[0].is_kind_of(Rays::point_class()))
449
+ if (argv[0].is_a(Rays::point_class()))
450
450
  {
451
451
  check_arg_count(__FILE__, __LINE__, "View#scroll_to(Point)", argc, 1);
452
452
 
@@ -476,7 +476,7 @@ VALUE scroll_by(VALUE self)
476
476
  {
477
477
  CHECK;
478
478
 
479
- if (argv[0].is_kind_of(Rays::point_class()))
479
+ if (argv[0].is_a(Rays::point_class()))
480
480
  {
481
481
  check_arg_count(__FILE__, __LINE__, "View#scroll_by", argc, 1);
482
482
 
@@ -819,13 +819,20 @@ VALUE get_gravity_scale(VALUE self)
819
819
  }
820
820
 
821
821
  static
822
- VALUE update_physics(VALUE self)
822
+ VALUE create_world(VALUE self, VALUE pixels_per_meter)
823
823
  {
824
824
  CHECK;
825
- check_arg_count(__FILE__, __LINE__, "View#update_physics", argc, 0, 1);
825
+ THIS->create_world(to<float>(pixels_per_meter));
826
+ }
827
+
828
+ static
829
+ VALUE update_world(VALUE self)
830
+ {
831
+ CHECK;
832
+ check_arg_count(__FILE__, __LINE__, "View#update_world", argc, 0, 1);
826
833
 
827
834
  float duration = argc >= 1 ? to<float>(argv[0]) : 0;
828
- THIS->update_physics(duration);
835
+ THIS->update_world(duration);
829
836
  return self;
830
837
  }
831
838
 
@@ -1182,7 +1189,8 @@ Init_reflex_view ()
1182
1189
  rb_define_method(cView, "gravity_scale=", RUBY_METHOD_FUNC(set_gravity_scale), 1);
1183
1190
  rb_define_method(cView, "gravity_scale", RUBY_METHOD_FUNC(get_gravity_scale), 0);
1184
1191
 
1185
- rb_define_method(cView, "update_physics", RUBY_METHOD_FUNC(update_physics), -1);
1192
+ rb_define_method(cView, "create_world", RUBY_METHOD_FUNC(create_world), 1);
1193
+ rb_define_method(cView, "update_world", RUBY_METHOD_FUNC(update_world), -1);
1186
1194
  rb_define_method(cView, "meter2pixel", RUBY_METHOD_FUNC(meter2pixel), -1);
1187
1195
  rb_define_method(cView, "gravity=", RUBY_METHOD_FUNC(set_gravity), -1);
1188
1196
  rb_define_method(cView, "gravity", RUBY_METHOD_FUNC(get_gravity), 0);
@@ -5,7 +5,7 @@
5
5
  #include "defs.h"
6
6
 
7
7
 
8
- RUCY_DEFINE_VALUE_FROM_TO(Reflex::WheelEvent)
8
+ RUCY_DEFINE_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::WheelEvent)
9
9
 
10
10
  #define THIS to<Reflex::WheelEvent*>(self)
11
11
 
@@ -8,7 +8,7 @@
8
8
  #include "defs.h"
9
9
 
10
10
 
11
- RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(Reflex::Window)
11
+ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::Window)
12
12
 
13
13
  #define THIS to<Reflex::Window*>(self)
14
14
 
@@ -24,7 +24,7 @@ jobs:
24
24
  run: "ruby -I.github/workflows -rutils -e 'setup_dependencies'"
25
25
 
26
26
  - name: test
27
- run: bundle exec rake quiet test
27
+ run: bundle exec rake quiet packages test
28
28
 
29
29
  - name: create gem
30
30
  id: gem
@@ -24,6 +24,9 @@ jobs:
24
24
  - name: setup dependencies
25
25
  run: "ruby -I.github/workflows -rutils -e 'setup_dependencies'"
26
26
 
27
+ - name: packages
28
+ run: bundle exec rake packages
29
+
27
30
  - name: lib
28
31
  run: bundle exec rake lib
29
32
 
data/ChangeLog.md CHANGED
@@ -1,6 +1,23 @@
1
1
  # reflex ChangeLog
2
2
 
3
3
 
4
+ ## [v0.3.1] - 2025-01-13
5
+
6
+ - Add View#create_world(pixels_per_meter)
7
+ - Rename View#update_physics to View#update_world
8
+ - Delete Pointer#view_index
9
+ - Update LICENSE
10
+
11
+ - Fix crash in unregister_captures() called immediately after deleting a view
12
+ - Fix that incorrect determination whether the pointer is in a view or not
13
+ - Fix a bug that caused some pointer events to be ignored in zoomed views
14
+
15
+
16
+ ## [v0.3] - 2024-07-06
17
+
18
+ - Support Windows
19
+
20
+
4
21
  ## [v0.2.1] - 2024-07-05
5
22
 
6
23
  - Use native values for key codes
data/Gemfile.lock CHANGED
@@ -9,7 +9,7 @@ GEM
9
9
 
10
10
  PLATFORMS
11
11
  arm64-darwin-21
12
- arm64-darwin-22
12
+ arm64-darwin-23
13
13
 
14
14
  DEPENDENCIES
15
15
  rake
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2019 xord.org
3
+ Copyright (c) 2011 xord.org
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/Rakefile CHANGED
@@ -1,6 +1,5 @@
1
1
  # -*- mode: ruby -*-
2
2
 
3
-
4
3
  %w[../xot ../rucy ../rays .]
5
4
  .map {|s| File.expand_path "#{s}/lib", __dir__}
6
5
  .each {|s| $:.unshift s if !$:.include?(s) && File.directory?(s)}
@@ -26,6 +25,6 @@ default_tasks :ext
26
25
  use_bundler
27
26
  build_native_library
28
27
  build_ruby_extension
29
- test_ruby_extension
28
+ test_ruby_extension unless github_actions? && win32?
30
29
  generate_documents
31
30
  build_ruby_gem
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 0.3.1
@@ -4,7 +4,7 @@
4
4
  #include "defs.h"
5
5
 
6
6
 
7
- RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(Reflex::Application)
7
+ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::Application)
8
8
 
9
9
  #define THIS to<Reflex::Application*>(self)
10
10
 
@@ -5,7 +5,7 @@
5
5
  #include "defs.h"
6
6
 
7
7
 
8
- RUCY_DEFINE_VALUE_FROM_TO(Reflex::CaptureEvent)
8
+ RUCY_DEFINE_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::CaptureEvent)
9
9
 
10
10
  #define THIS to<Reflex::CaptureEvent*>(self)
11
11
 
@@ -7,7 +7,7 @@
7
7
  #include "defs.h"
8
8
 
9
9
 
10
- RUCY_DEFINE_VALUE_FROM_TO(Reflex::ContactEvent)
10
+ RUCY_DEFINE_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::ContactEvent)
11
11
 
12
12
  #define THIS to<Reflex::ContactEvent*>(self)
13
13
 
data/ext/reflex/defs.h CHANGED
@@ -9,6 +9,8 @@
9
9
  #include "reflex/ruby/defs.h"
10
10
 
11
11
 
12
+ using namespace Xot::Types;
13
+
12
14
  using namespace Rucy;
13
15
 
14
16
  using Reflex::coord;
@@ -6,7 +6,7 @@
6
6
  #include "defs.h"
7
7
 
8
8
 
9
- RUCY_DEFINE_VALUE_FROM_TO(Reflex::DrawEvent)
9
+ RUCY_DEFINE_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::DrawEvent)
10
10
 
11
11
  #define THIS to<Reflex::DrawEvent*>(self)
12
12
 
@@ -4,7 +4,7 @@
4
4
  #include "defs.h"
5
5
 
6
6
 
7
- RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(Reflex::EllipseShape)
7
+ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::EllipseShape)
8
8
 
9
9
  #define THIS to<Reflex::EllipseShape*>(self)
10
10
 
data/ext/reflex/event.cpp CHANGED
@@ -5,7 +5,7 @@
5
5
  #include "defs.h"
6
6
 
7
7
 
8
- RUCY_DEFINE_VALUE_FROM_TO(Reflex::Event)
8
+ RUCY_DEFINE_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::Event)
9
9
 
10
10
  #define THIS to<Reflex::Event*>(self)
11
11
 
@@ -13,12 +13,12 @@ require 'reflex/extension'
13
13
  Xot::ExtConf.new Xot, Rucy, Rays, Reflex do
14
14
  setup do
15
15
  headers << 'ruby.h'
16
- libs.unshift 'gdi21', 'opengl32' if win32?
17
- frameworks << 'Cocoa' if osx?
18
- $LDFLAGS << ' -Wl,--out-implib=native.dll.a' if cygwin?
16
+ libs.unshift 'gdi32', 'opengl32', 'glew32' if win32?
17
+ frameworks << 'Cocoa' if osx?
18
+ $LDFLAGS << ' -Wl,--out-implib=native.dll.a' if mingw? || cygwin?
19
19
 
20
20
  unless osx?
21
- lib_dirs << Rays::Extension.lib_dir
21
+ lib_dirs << Rays::Extension.ext_dir
22
22
  libs << 'rays/native'
23
23
  end
24
24
  end
@@ -6,7 +6,7 @@
6
6
  #include "defs.h"
7
7
 
8
8
 
9
- RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(Reflex::Filter)
9
+ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::Filter)
10
10
 
11
11
  #define THIS to<Reflex::Filter*>(self)
12
12
 
@@ -5,7 +5,7 @@
5
5
  #include "defs.h"
6
6
 
7
7
 
8
- RUCY_DEFINE_VALUE_FROM_TO(Reflex::FocusEvent)
8
+ RUCY_DEFINE_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::FocusEvent)
9
9
 
10
10
  #define THIS to<Reflex::FocusEvent*>(self)
11
11
 
@@ -6,7 +6,7 @@
6
6
  #include "defs.h"
7
7
 
8
8
 
9
- RUCY_DEFINE_VALUE_FROM_TO(Reflex::FrameEvent)
9
+ RUCY_DEFINE_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::FrameEvent)
10
10
 
11
11
  #define THIS to<Reflex::FrameEvent*>(self)
12
12
 
@@ -6,7 +6,7 @@
6
6
  #include "defs.h"
7
7
 
8
8
 
9
- RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(Reflex::ImageView)
9
+ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::ImageView)
10
10
 
11
11
  #define THIS to<Reflex::ImageView*>(self)
12
12
 
@@ -4,7 +4,7 @@
4
4
  #include "defs.h"
5
5
 
6
6
 
7
- RUCY_DEFINE_VALUE_FROM_TO(Reflex::KeyEvent)
7
+ RUCY_DEFINE_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::KeyEvent)
8
8
 
9
9
  #define THIS to<Reflex::KeyEvent*>(self)
10
10
 
@@ -123,18 +123,18 @@ RUCY_DEF0(get_key)
123
123
  CASE(LBRACKET): SYMBOL1(lbracket);
124
124
  CASE(RBRACKET): SYMBOL1(rbracket);
125
125
 
126
- #if defined(OSX) || defined(IOS)
127
- CASE(ENTER): SYMBOL1(enter);
126
+ #if defined(OSX) || defined(IOS) || defined(WIN32)
127
+ CASE(ENTER): SYMBOL1(enter);
128
128
  #else
129
- CASE(ENTER): SYMBOL1(enter);
130
- CASE(RETURN): SYMBOL1(_return, "return");
129
+ CASE(ENTER): SYMBOL1(enter);
130
+ CASE(RETURN): SYMBOL1(_return, "return");
131
131
  #endif
132
- CASE(SPACE): SYMBOL1(space);
133
- CASE(TAB): SYMBOL1(tab);
134
- CASE(DELETE): SYMBOL2(_delete, "delete");
135
- CASE(BACKSPACE): SYMBOL1(backspace);
136
- //CASE(INSERT): SYMBOL1(insert);
137
- CASE(ESCAPE): SYMBOL1(escape);
132
+ CASE(SPACE): SYMBOL1(space);
133
+ CASE(TAB): SYMBOL1(tab);
134
+ CASE(DELETE): SYMBOL2(_delete, "delete");
135
+ CASE(BACKSPACE): SYMBOL1(backspace);
136
+ CASE(INSERT): SYMBOL1(insert);
137
+ CASE(ESCAPE): SYMBOL1(escape);
138
138
 
139
139
  CASE(LEFT): SYMBOL1(left);
140
140
  CASE(RIGHT): SYMBOL1(right);
@@ -145,27 +145,25 @@ RUCY_DEF0(get_key)
145
145
  CASE(PAGEUP): SYMBOL1(pageup);
146
146
  CASE(PAGEDOWN): SYMBOL1(pagedown);
147
147
 
148
- #if defined(OSX) || defined(IOS)
148
+ #if !defined(OSX) && !defined(IOS)
149
+ CASE(SHIFT):
150
+ #endif
149
151
  CASE(LSHIFT):
150
152
  CASE(RSHIFT): SYMBOL1(shift);
153
+ #if !defined(OSX) && !defined(IOS)
154
+ CASE(CONTROL):
155
+ #endif
151
156
  CASE(LCONTROL):
152
157
  CASE(RCONTROL): SYMBOL1(control);
158
+ CASE(ALT):
159
+ CASE(LALT):
160
+ CASE(RALT): SYMBOL1(alt);
161
+ CASE(LWIN):
162
+ CASE(RWIN): SYMBOL1(win);
153
163
  CASE(LCOMMAND):
154
164
  CASE(RCOMMAND): SYMBOL1(command);
155
165
  CASE(LOPTION):
156
166
  CASE(ROPTION): SYMBOL1(option);
157
- #else
158
- CASE(SHIFT):
159
- CASE(LSHIFT):
160
- CASE(RSHIFT): SYMBOL1(shift);
161
- CASE(CONTROL):
162
- CASE(LCONTROL):
163
- CASE(RCONTROL): SYMBOL1(control);
164
- //CASE(LALT):
165
- //CASE(RALT): SYMBOL1(alt);
166
- //CASE(LWIN):
167
- //CASE(RWIN): SYMBOL1(win);
168
- #endif
169
167
  CASE(FUNCTION): SYMBOL1(function);
170
168
 
171
169
  CASE(F1): SYMBOL1(f1);
@@ -188,10 +186,10 @@ RUCY_DEF0(get_key)
188
186
  CASE(F18): SYMBOL1(f18);
189
187
  CASE(F19): SYMBOL1(f19);
190
188
  CASE(F20): SYMBOL1(f20);
191
- //CASE(F21): SYMBOL1(f21);
192
- //CASE(F22): SYMBOL1(f22);
193
- //CASE(F23): SYMBOL1(f23);
194
- //CASE(F24): SYMBOL1(f24);
189
+ CASE(F21): SYMBOL1(f21);
190
+ CASE(F22): SYMBOL1(f22);
191
+ CASE(F23): SYMBOL1(f23);
192
+ CASE(F24): SYMBOL1(f24);
195
193
 
196
194
  CASE(NUM_PLUS): SYMBOL1(plus);
197
195
  CASE(NUM_MINUS): SYMBOL1(minus);
@@ -204,56 +202,63 @@ RUCY_DEF0(get_key)
204
202
  CASE(NUM_ENTER): SYMBOL1(enter);
205
203
 
206
204
  CASE(CAPSLOCK): SYMBOL1(capslock);
207
- //CASE(NUMLOCK): SYMBOL1(numlock);
208
- //CASE(SCROLLLOCK): SYMBOL1(scrolllock);
205
+ CASE(NUMLOCK): SYMBOL1(numlock);
206
+ CASE(SCROLLLOCK): SYMBOL1(scrolllock);
209
207
 
210
- //CASE(PRINTSCREEN): SYMBOL1(printscreen);
211
- //CASE(PAUSE): SYMBOL1(pause);
212
- //CASE(BREAK): SYMBOL2(_break, "break");
208
+ CASE(PRINTSCREEN): SYMBOL1(printscreen);
209
+ CASE(PAUSE): SYMBOL1(pause);
210
+ CASE(BREAK): SYMBOL2(_break, "break");
213
211
  CASE(SECTION): SYMBOL1(section);
214
212
  CASE(HELP): SYMBOL1(help);
215
213
 
216
- CASE(IME_EISU): SYMBOL1(eisu);
217
- CASE(IME_KANA): SYMBOL1(kana);
218
- //CASE(IME_KANJI): SYMBOL1(kanji);
219
- //CASE(IME_JUNJA): SYMBOL1(junja);
220
- //CASE(IME_PROCESS): SYMBOL1(process);
221
- //CASE(IME_ACCEPT): SYMBOL1(accept);
222
- //CASE(IME_FINAL): SYMBOL2(_final, "final");
223
- //CASE(IME_CONVERT): SYMBOL1(convert);
224
- //CASE(IME_NONCONVERT): SYMBOL1(nonconvert);
225
- //CASE(IME_MODECHANGE): SYMBOL1(mode_change);
214
+ CASE(EISU): SYMBOL1(eisu);
215
+ CASE(KANA): SYMBOL1(kana);
216
+ CASE(KANJI): SYMBOL1(kanji);
217
+ CASE(IME_ON): SYMBOL1(ime_on);
218
+ CASE(IME_OFF): SYMBOL1(ime_off);
219
+ CASE(IME_MODECHANGE): SYMBOL1(ime_mode_change);
220
+ CASE(CONVERT): SYMBOL1(convert);
221
+ CASE(NONCONVERT): SYMBOL1(nonconvert);
222
+ CASE(ACCEPT): SYMBOL1(accept);
223
+ CASE(PROCESS): SYMBOL1(process);
226
224
 
227
225
  CASE(VOLUME_UP): SYMBOL1(volume_up);
228
226
  CASE(VOLUME_DOWN): SYMBOL1(volume_down);
229
227
  CASE(MUTE): SYMBOL1(mute);
230
228
 
231
- //CASE(SLEEP): SYMBOL1(sleep);
232
- //CASE(EXEC): SYMBOL1(exec);
233
- //CASE(PRINT): SYMBOL1(print);
234
- //CASE(APPS): SYMBOL1(apps);
235
- //CASE(SELECT): SYMBOL1(select);
236
- //CASE(CLEAR): SYMBOL1(clear);
237
- //CASE(PLAY): SYMBOL1(play);
238
- //CASE(ZOOM): SYMBOL1(zoom);
239
-
240
- //CASE(BROWSER_BACK): SYMBOL1(browser_back);
241
- //CASE(BROWSER_FORWARD): SYMBOL1(browser_forward);
242
- //CASE(BROWSER_REFRESH): SYMBOL1(browser_refresh);
243
- //CASE(BROWSER_STOP): SYMBOL1(browser_stop);
244
- //CASE(BROWSER_SEARCH): SYMBOL1(browser_search);
245
- //CASE(BROWSER_FAVORITES): SYMBOL1(browser_favorites);
246
- //CASE(BROWSER_HOME): SYMBOL1(browser_home);
247
-
248
- //CASE(MEDIA_NEXT_TRACK): SYMBOL1(media_next);
249
- //CASE(MEDIA_PREV_TRACK): SYMBOL1(media_prev);
250
- //CASE(MEDIA_STOP): SYMBOL1(media_stop);
251
- //CASE(MEDIA_PLAY_PAUSE): SYMBOL1(media_play_stop);
252
-
253
- //CASE(LAUNCH_MAIL): SYMBOL1(launch_mail);
254
- //CASE(LAUNCH_MEDIA_SELECT): SYMBOL1(launch_media_select);
255
- //CASE(LAUNCH_APP1): SYMBOL1(launch_app1);
256
- //CASE(LAUNCH_APP2): SYMBOL1(launch_app2);
229
+ CASE(SLEEP): SYMBOL1(sleep);
230
+ CASE(EXEC): SYMBOL1(exec);
231
+ CASE(PRINT): SYMBOL1(print);
232
+ CASE(APPS): SYMBOL1(apps);
233
+ CASE(SELECT): SYMBOL1(select);
234
+ CASE(CLEAR): SYMBOL1(clear);
235
+
236
+ CASE(NAVIGATION_VIEW): SYMBOL1(navigation_view);
237
+ CASE(NAVIGATION_MENU): SYMBOL1(navigation_menu);
238
+ CASE(NAVIGATION_UP): SYMBOL1(navigation_up);
239
+ CASE(NAVIGATION_DOWN): SYMBOL1(navigation_down);
240
+ CASE(NAVIGATION_LEFT): SYMBOL1(navigation_left);
241
+ CASE(NAVIGATION_RIGHT): SYMBOL1(navigation_right);
242
+ CASE(NAVIGATION_ACCEPT): SYMBOL1(navigation_accept);
243
+ CASE(NAVIGATION_CANCEL): SYMBOL1(navigation_cancel);
244
+
245
+ CASE(BROWSER_BACK): SYMBOL1(browser_back);
246
+ CASE(BROWSER_FORWARD): SYMBOL1(browser_forward);
247
+ CASE(BROWSER_REFRESH): SYMBOL1(browser_refresh);
248
+ CASE(BROWSER_STOP): SYMBOL1(browser_stop);
249
+ CASE(BROWSER_SEARCH): SYMBOL1(browser_search);
250
+ CASE(BROWSER_FAVORITES): SYMBOL1(browser_favorites);
251
+ CASE(BROWSER_HOME): SYMBOL1(browser_home);
252
+
253
+ CASE(MEDIA_PREV_TRACK): SYMBOL1(media_prev);
254
+ CASE(MEDIA_NEXT_TRACK): SYMBOL1(media_next);
255
+ CASE(MEDIA_PLAY_PAUSE): SYMBOL1(media_play_pause);
256
+ CASE(MEDIA_STOP): SYMBOL1(media_stop);
257
+
258
+ CASE(LAUNCH_MAIL): SYMBOL1(launch_mail);
259
+ CASE(LAUNCH_MEDIA_SELECT): SYMBOL1(launch_media_select);
260
+ CASE(LAUNCH_APP1): SYMBOL1(launch_app1);
261
+ CASE(LAUNCH_APP2): SYMBOL1(launch_app2);
257
262
 
258
263
  #undef CASE
259
264
  #undef SYMBOL1
@@ -5,7 +5,7 @@
5
5
  #include "defs.h"
6
6
 
7
7
 
8
- RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(Reflex::LineShape)
8
+ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::LineShape)
9
9
 
10
10
  #define THIS to<Reflex::LineShape*>(self)
11
11
 
@@ -5,7 +5,7 @@
5
5
  #include "defs.h"
6
6
 
7
7
 
8
- RUCY_DEFINE_VALUE_FROM_TO(Reflex::MotionEvent)
8
+ RUCY_DEFINE_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::MotionEvent)
9
9
 
10
10
  #define THIS to<Reflex::MotionEvent*>(self)
11
11
 
@@ -5,7 +5,7 @@
5
5
  #include "defs.h"
6
6
 
7
7
 
8
- RUCY_DEFINE_VALUE_FROM_TO(Reflex::Pointer)
8
+ RUCY_DEFINE_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::Pointer)
9
9
 
10
10
  #define THIS to<Reflex::Pointer*>(self)
11
11
 
@@ -20,8 +20,8 @@ RUCY_DEF_ALLOC(alloc, klass)
20
20
  RUCY_END
21
21
 
22
22
  static
23
- RUCY_DEF9(initialize,
24
- id, types, action, position, modifiers, drag, click_count, view_index, time)
23
+ RUCY_DEF8(initialize,
24
+ id, types, action, position, modifiers, click_count, drag, time)
25
25
  {
26
26
  CHECK;
27
27
 
@@ -31,9 +31,8 @@ RUCY_DEF9(initialize,
31
31
  (Reflex::Pointer::Action) to<int>(action),
32
32
  to<Rays::Point>(position),
33
33
  to<uint>(modifiers),
34
- to<bool>(drag),
35
34
  to<uint>(click_count),
36
- to<uint>(view_index),
35
+ to<bool>(drag),
37
36
  to<double>(time));
38
37
  return self;
39
38
  }
@@ -88,14 +87,6 @@ RUCY_DEF0(get_modifiers)
88
87
  }
89
88
  RUCY_END
90
89
 
91
- static
92
- RUCY_DEF0(is_drag)
93
- {
94
- CHECK;
95
- return value(THIS->is_drag());
96
- }
97
- RUCY_END
98
-
99
90
  static
100
91
  RUCY_DEF0(get_click_count)
101
92
  {
@@ -105,10 +96,10 @@ RUCY_DEF0(get_click_count)
105
96
  RUCY_END
106
97
 
107
98
  static
108
- RUCY_DEF0(get_view_index)
99
+ RUCY_DEF0(is_drag)
109
100
  {
110
101
  CHECK;
111
- return value(THIS->view_index());
102
+ return value(THIS->is_drag());
112
103
  }
113
104
  RUCY_END
114
105
 
@@ -153,9 +144,8 @@ Init_reflex_pointer ()
153
144
  cPointer.define_private_method("get_action", get_action);
154
145
  cPointer.define_method("position", get_position);
155
146
  cPointer.define_method("modifiers", get_modifiers);
156
- cPointer.define_method("drag?", is_drag);
157
147
  cPointer.define_method("click_count", get_click_count);
158
- cPointer.define_method("view_index", get_view_index);
148
+ cPointer.define_method("drag?", is_drag);
159
149
  cPointer.define_method("time", get_time);
160
150
  cPointer.define_method("prev", get_prev);
161
151
  cPointer.define_method("down", get_down);
@@ -7,7 +7,7 @@
7
7
  #include "defs.h"
8
8
 
9
9
 
10
- RUCY_DEFINE_VALUE_FROM_TO(Reflex::PointerEvent)
10
+ RUCY_DEFINE_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::PointerEvent)
11
11
 
12
12
  #define THIS to<Reflex::PointerEvent*>(self)
13
13