reflexion 0.2.1 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
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