rays 0.1.7 → 0.1.8

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 (45) hide show
  1. checksums.yaml +4 -4
  2. data/.doc/ext/rays/bitmap.cpp +6 -6
  3. data/.doc/ext/rays/bounds.cpp +4 -4
  4. data/.doc/ext/rays/color.cpp +4 -4
  5. data/.doc/ext/rays/color_space.cpp +4 -4
  6. data/.doc/ext/rays/font.cpp +6 -6
  7. data/.doc/ext/rays/image.cpp +6 -6
  8. data/.doc/ext/rays/matrix.cpp +4 -4
  9. data/.doc/ext/rays/painter.cpp +56 -21
  10. data/.doc/ext/rays/point.cpp +5 -4
  11. data/.doc/ext/rays/rays.cpp +2 -3
  12. data/.doc/ext/rays/shader.cpp +5 -5
  13. data/.doc/ext/rays/texture.cpp +5 -5
  14. data/README.md +2 -2
  15. data/VERSION +1 -1
  16. data/ext/rays/bitmap.cpp +6 -6
  17. data/ext/rays/bounds.cpp +4 -4
  18. data/ext/rays/color.cpp +4 -4
  19. data/ext/rays/color_space.cpp +4 -4
  20. data/ext/rays/font.cpp +6 -6
  21. data/ext/rays/image.cpp +6 -6
  22. data/ext/rays/matrix.cpp +4 -4
  23. data/ext/rays/painter.cpp +72 -35
  24. data/ext/rays/point.cpp +5 -4
  25. data/ext/rays/rays.cpp +2 -3
  26. data/ext/rays/shader.cpp +5 -5
  27. data/ext/rays/texture.cpp +5 -5
  28. data/include/rays/opengl.h +1 -1
  29. data/include/rays/painter.h +12 -0
  30. data/include/rays/point.h +35 -9
  31. data/include/rays/ruby/bitmap.h +14 -0
  32. data/include/rays/ruby/bounds.h +14 -0
  33. data/include/rays/ruby/color.h +14 -0
  34. data/include/rays/ruby/color_space.h +14 -0
  35. data/include/rays/ruby/font.h +14 -0
  36. data/include/rays/ruby/image.h +14 -0
  37. data/include/rays/ruby/matrix.h +14 -0
  38. data/include/rays/ruby/painter.h +14 -0
  39. data/include/rays/ruby/point.h +14 -0
  40. data/include/rays/ruby/shader.h +14 -0
  41. data/include/rays/ruby/texture.h +14 -0
  42. data/rays.gemspec +1 -1
  43. data/src/painter.cpp +132 -43
  44. data/src/point.cpp +65 -30
  45. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4a408fdf8bf60cb32907e9be2fe9048f0c5de133
4
- data.tar.gz: 8e0ab09661a2083e27f9770d7ad8d23c2482fe0f
3
+ metadata.gz: 2f2deaef2e58ab1e422ce210d1f41f96e7560c1a
4
+ data.tar.gz: d6d88f2c02d8220016a4091d349aa94d9a185334
5
5
  SHA512:
6
- metadata.gz: d9d66ab38417be7291948a5003b71836f74cc6d19e9c1163b0156032784d4677bc666afde3551644992180523af55bf501e0bba2435c2080ba90891d3cc7badd
7
- data.tar.gz: 3f52a64943eb855b4cfbb5cd0ebeb7a337fde08d771eca0f42e3272ea6668af9cd16d5a675df426381b70da25493c79c049cc0fde56a3723c96a3e6aa8febae5
6
+ metadata.gz: e6c083d3c3a6c0243e891f6e20156bf1269eeb27dcbf2c9ecd98d4582c997d31de2acbd7fd0ddf898bc3778ebe3d609c176c0dad11c887b5c01b310cf342816b
7
+ data.tar.gz: 2e71710878a684da44a4da37dbc9c283e8fbdd6e6dfcd7312ae7d9af4237044f09775f271495b664da2aaad842f5480beb38c899f65aa0a352479b1d6ea02ac2
@@ -18,13 +18,11 @@ using Rays::uint;
18
18
  using Rays::coord;
19
19
 
20
20
 
21
- static Class cBitmap;
22
-
23
- RUCY_DEFINE_VALUE_FROM_TO(Rays::Bitmap, cBitmap)
21
+ RUCY_DEFINE_VALUE_FROM_TO(Rays::Bitmap)
24
22
 
25
23
  #define THIS to<Rays::Bitmap*>(self)
26
24
 
27
- #define CHECK RUCY_CHECK_OBJECT(Rays::Bitmap, cBitmap, self)
25
+ #define CHECK RUCY_CHECK_OBJECT(Rays::Bitmap, self)
28
26
 
29
27
 
30
28
  static
@@ -36,7 +34,7 @@ VALUE alloc(VALUE klass)
36
34
  static
37
35
  VALUE initialize_copy(VALUE self, VALUE obj)
38
36
  {
39
- RUCY_CHECK_OBJ(Rays::Bitmap, cBitmap, self);
37
+ RUCY_CHECK_OBJ(Rays::Bitmap, self);
40
38
 
41
39
  *THIS = to<Rays::Bitmap&>(obj).copy();
42
40
  return self;
@@ -45,7 +43,7 @@ VALUE initialize_copy(VALUE self, VALUE obj)
45
43
  static
46
44
  VALUE setup(VALUE self, VALUE width, VALUE height, VALUE color_space)
47
45
  {
48
- RUCY_CHECK_OBJ(Rays::Bitmap, cBitmap, self);
46
+ RUCY_CHECK_OBJ(Rays::Bitmap, self);
49
47
 
50
48
  Rays::ColorSpace* cs = to<Rays::ColorSpace*>(color_space);
51
49
  if (!cs)
@@ -143,6 +141,8 @@ VALUE load(VALUE self, VALUE path)
143
141
  }
144
142
 
145
143
 
144
+ static Class cBitmap;
145
+
146
146
  void
147
147
  Init_bitmap ()
148
148
  {
@@ -11,13 +11,11 @@ using namespace Rucy;
11
11
  using Rays::coord;
12
12
 
13
13
 
14
- static Class cBounds;
15
-
16
- RUCY_DEFINE_VALUE_FROM_TO(Rays::Bounds, cBounds)
14
+ RUCY_DEFINE_VALUE_FROM_TO(Rays::Bounds)
17
15
 
18
16
  #define THIS to<Rays::Bounds*>(self)
19
17
 
20
- #define CHECK RUCY_CHECK_OBJ(Rays::Bounds, cBounds, self)
18
+ #define CHECK RUCY_CHECK_OBJ(Rays::Bounds, self)
21
19
 
22
20
 
23
21
  static
@@ -548,6 +546,8 @@ VALUE inspect(VALUE self)
548
546
  }
549
547
 
550
548
 
549
+ static Class cBounds;
550
+
551
551
  void
552
552
  Init_bounds ()
553
553
  {
@@ -8,13 +8,11 @@
8
8
  using namespace Rucy;
9
9
 
10
10
 
11
- static Class cColor;
12
-
13
- RUCY_DEFINE_VALUE_FROM_TO(Rays::Color, cColor)
11
+ RUCY_DEFINE_VALUE_FROM_TO(Rays::Color)
14
12
 
15
13
  #define THIS to<Rays::Color*>(self)
16
14
 
17
- #define CHECK RUCY_CHECK_OBJ(Rays::Color, cColor, self)
15
+ #define CHECK RUCY_CHECK_OBJ(Rays::Color, self)
18
16
 
19
17
 
20
18
  static
@@ -129,6 +127,8 @@ VALUE get_alpha(VALUE self)
129
127
  }
130
128
 
131
129
 
130
+ static Class cColor;
131
+
132
132
  void
133
133
  Init_color ()
134
134
  {
@@ -8,13 +8,11 @@
8
8
  using namespace Rucy;
9
9
 
10
10
 
11
- static Class cColorSpace;
12
-
13
- RUCY_DEFINE_VALUE_FROM_TO(Rays::ColorSpace, cColorSpace)
11
+ RUCY_DEFINE_VALUE_FROM_TO(Rays::ColorSpace)
14
12
 
15
13
  #define THIS to<Rays::ColorSpace*>(self)
16
14
 
17
- #define CHECK RUCY_CHECK_OBJ(Rays::ColorSpace, cColorSpace, self)
15
+ #define CHECK RUCY_CHECK_OBJ(Rays::ColorSpace, self)
18
16
 
19
17
 
20
18
  static
@@ -107,6 +105,8 @@ VALUE is_premult(VALUE self)
107
105
  }
108
106
 
109
107
 
108
+ static Class cColorSpace;
109
+
110
110
  void
111
111
  Init_color_space ()
112
112
  {
@@ -10,13 +10,11 @@ using namespace Rucy;
10
10
  using Rays::coord;
11
11
 
12
12
 
13
- static Class cFont;
14
-
15
- RUCY_DEFINE_VALUE_FROM_TO(Rays::Font, cFont)
13
+ RUCY_DEFINE_VALUE_FROM_TO(Rays::Font)
16
14
 
17
15
  #define THIS to<Rays::Font*>(self)
18
16
 
19
- #define CHECK RUCY_CHECK_OBJECT(Rays::Font, cFont, self)
17
+ #define CHECK RUCY_CHECK_OBJECT(Rays::Font, self)
20
18
 
21
19
 
22
20
  static
@@ -28,7 +26,7 @@ VALUE alloc(VALUE klass)
28
26
  static
29
27
  VALUE initialize(VALUE self)
30
28
  {
31
- RUCY_CHECK_OBJ(Rays::Font, cFont, self);
29
+ RUCY_CHECK_OBJ(Rays::Font, self);
32
30
  check_arg_count(__FILE__, __LINE__, "Font#initialize", argc, 0, 1, 2);
33
31
 
34
32
  const char* name = (argc >= 1) ? argv[0].c_str() : NULL;
@@ -41,7 +39,7 @@ VALUE initialize(VALUE self)
41
39
  static
42
40
  VALUE initialize_copy(VALUE self, VALUE obj)
43
41
  {
44
- RUCY_CHECK_OBJ(Rays::Font, cFont, self);
42
+ RUCY_CHECK_OBJ(Rays::Font, self);
45
43
 
46
44
  *THIS = to<Rays::Font&>(obj).copy();
47
45
  return self;
@@ -76,6 +74,8 @@ VALUE height(VALUE self)
76
74
  }
77
75
 
78
76
 
77
+ static Class cFont;
78
+
79
79
  void
80
80
  Init_font ()
81
81
  {
@@ -14,13 +14,11 @@ using namespace Rucy;
14
14
  using Rays::coord;
15
15
 
16
16
 
17
- static Class cImage;
18
-
19
- RUCY_DEFINE_VALUE_FROM_TO(Rays::Image, cImage)
17
+ RUCY_DEFINE_VALUE_FROM_TO(Rays::Image)
20
18
 
21
19
  #define THIS to<Rays::Image*>(self)
22
20
 
23
- #define CHECK RUCY_CHECK_OBJECT(Rays::Image, cImage, self)
21
+ #define CHECK RUCY_CHECK_OBJECT(Rays::Image, self)
24
22
 
25
23
 
26
24
  static
@@ -32,7 +30,7 @@ VALUE alloc(VALUE klass)
32
30
  static
33
31
  VALUE initialize(VALUE self)
34
32
  {
35
- RUCY_CHECK_OBJ(Rays::Image, cImage, self);
33
+ RUCY_CHECK_OBJ(Rays::Image, self);
36
34
  check_arg_count(__FILE__, __LINE__, "Image#initialize", argc, 1, 2, 3);
37
35
 
38
36
  if (argc == 0) return self;
@@ -61,7 +59,7 @@ VALUE initialize(VALUE self)
61
59
  static
62
60
  VALUE initialize_copy(VALUE self, VALUE obj)
63
61
  {
64
- RUCY_CHECK_OBJ(Rays::Image, cImage, self);
62
+ RUCY_CHECK_OBJ(Rays::Image, self);
65
63
 
66
64
  *THIS = to<Rays::Image&>(obj).copy();
67
65
  return self;
@@ -132,6 +130,8 @@ VALUE load(VALUE self, VALUE path, VALUE alpha_only)
132
130
  }
133
131
 
134
132
 
133
+ static Class cImage;
134
+
135
135
  void
136
136
  Init_image ()
137
137
  {
@@ -8,13 +8,11 @@
8
8
  using namespace Rucy;
9
9
 
10
10
 
11
- static Class cMatrix;
12
-
13
- RUCY_DEFINE_VALUE_FROM_TO(Rays::Matrix, cMatrix)
11
+ RUCY_DEFINE_VALUE_FROM_TO(Rays::Matrix)
14
12
 
15
13
  #define THIS to<Rays::Matrix*>(self)
16
14
 
17
- #define CHECK RUCY_CHECK_OBJ(Rays::Matrix, cMatrix, self)
15
+ #define CHECK RUCY_CHECK_OBJ(Rays::Matrix, self)
18
16
 
19
17
 
20
18
  static
@@ -93,6 +91,8 @@ VALUE at(VALUE self, VALUE row, VALUE column)
93
91
  }
94
92
 
95
93
 
94
+ static Class cMatrix;
95
+
96
96
  void
97
97
  Init_matrix ()
98
98
  {
@@ -1,6 +1,7 @@
1
1
  #include "rays/ruby/painter.h"
2
2
 
3
3
 
4
+ #include <vector>
4
5
  #include <rucy.h>
5
6
  #include "rays/ruby/point.h"
6
7
  #include "rays/ruby/bounds.h"
@@ -17,13 +18,11 @@ using namespace Rucy;
17
18
  using Rays::coord;
18
19
 
19
20
 
20
- static Class cPainter;
21
-
22
- RUCY_DEFINE_VALUE_FROM_TO(Rays::Painter, cPainter)
21
+ RUCY_DEFINE_VALUE_FROM_TO(Rays::Painter)
23
22
 
24
23
  #define THIS to<Rays::Painter*>(self)
25
24
 
26
- #define CHECK RUCY_CHECK_OBJECT(Rays::Painter, cPainter, self)
25
+ #define CHECK RUCY_CHECK_OBJECT(Rays::Painter, self)
27
26
 
28
27
 
29
28
  static
@@ -46,6 +45,14 @@ VALUE canvas(VALUE self, VALUE x, VALUE y, VALUE width, VALUE height)
46
45
  return self;
47
46
  }
48
47
 
48
+ static
49
+ VALUE bounds(VALUE self)
50
+ {
51
+ CHECK;
52
+ return value(THIS->bounds());
53
+ }
54
+
55
+
49
56
  static
50
57
  VALUE begin_paint(VALUE self)
51
58
  {
@@ -62,6 +69,12 @@ VALUE end_paint(VALUE self)
62
69
  return self;
63
70
  }
64
71
 
72
+ static
73
+ VALUE clear(VALUE self)
74
+ {
75
+ CHECK;
76
+ THIS->clear();
77
+ }
65
78
 
66
79
  static
67
80
  VALUE line(VALUE self)
@@ -83,6 +96,38 @@ VALUE line(VALUE self)
83
96
  return self;
84
97
  }
85
98
 
99
+ static
100
+ VALUE lines(VALUE self)
101
+ {
102
+ CHECK;
103
+ if (argc <= 0)
104
+ argument_error(__FILE__, __LINE__, "Painter#lines");
105
+
106
+ std::vector<Rays::Coord3> points;
107
+ points.reserve(argc);
108
+ for (int i = 0; i < argc; ++i)
109
+ points.push_back(to<Rays::Point&>(argv[i]));
110
+
111
+ THIS->lines((Rays::Point*) &points[0], points.size());
112
+ return self;
113
+ }
114
+
115
+ static
116
+ VALUE polygon(VALUE self)
117
+ {
118
+ CHECK;
119
+ if (argc <= 0)
120
+ argument_error(__FILE__, __LINE__, "Painter#polygon");
121
+
122
+ std::vector<Rays::Coord3> points;
123
+ points.reserve(argc);
124
+ for (int i = 0; i < argc; ++i)
125
+ points.push_back(to<Rays::Point&>(argv[i]));
126
+
127
+ THIS->polygon((Rays::Point*) &points[0], points.size());
128
+ return self;
129
+ }
130
+
86
131
  static
87
132
  VALUE rect(VALUE self)
88
133
  {
@@ -246,20 +291,6 @@ VALUE text(VALUE self)
246
291
  return self;
247
292
  }
248
293
 
249
- static
250
- VALUE clear(VALUE self)
251
- {
252
- CHECK;
253
- THIS->clear();
254
- }
255
-
256
- static
257
- VALUE bounds(VALUE self)
258
- {
259
- CHECK;
260
- return value(THIS->bounds());
261
- }
262
-
263
294
  static
264
295
  VALUE set_background(VALUE self)
265
296
  {
@@ -619,6 +650,8 @@ VALUE pop_matrix(VALUE self)
619
650
  }
620
651
 
621
652
 
653
+ static Class cPainter;
654
+
622
655
  void
623
656
  Init_painter ()
624
657
  {
@@ -628,18 +661,20 @@ Init_painter ()
628
661
  rb_define_alloc_func(cPainter, alloc);
629
662
 
630
663
  rb_define_method(cPainter, "canvas", RUBY_METHOD_FUNC(canvas), 4);
664
+ rb_define_method(cPainter, "bounds", RUBY_METHOD_FUNC(bounds), 0);
665
+
631
666
  rb_define_private_method(cPainter, "begin_paint", RUBY_METHOD_FUNC(begin_paint), 0);
632
667
  rb_define_private_method(cPainter, "end_paint", RUBY_METHOD_FUNC(end_paint), 0);
633
-
668
+ rb_define_method(cPainter, "clear", RUBY_METHOD_FUNC(clear), 0);
634
669
  rb_define_method(cPainter, "line", RUBY_METHOD_FUNC(line), -1);
670
+ rb_define_method(cPainter, "lines", RUBY_METHOD_FUNC(lines), -1);
671
+ rb_define_method(cPainter, "polygon", RUBY_METHOD_FUNC(polygon), -1);
635
672
  rb_define_method(cPainter, "rect", RUBY_METHOD_FUNC(rect), -1);
636
673
  rb_define_method(cPainter, "ellipse", RUBY_METHOD_FUNC(ellipse), -1);
637
674
  rb_define_method(cPainter, "arc", RUBY_METHOD_FUNC(arc), -1);
638
675
  rb_define_method(cPainter, "image", RUBY_METHOD_FUNC(image), -1);
639
676
  rb_define_method(cPainter, "text", RUBY_METHOD_FUNC(text), -1);
640
677
 
641
- rb_define_method(cPainter, "clear", RUBY_METHOD_FUNC(clear), 0);
642
- rb_define_method(cPainter, "bounds", RUBY_METHOD_FUNC(bounds), 0);
643
678
  rb_define_private_method(cPainter, "set_background", RUBY_METHOD_FUNC(set_background), -1);
644
679
  rb_define_private_method(cPainter, "get_background", RUBY_METHOD_FUNC(get_background), 0);
645
680
  rb_define_method(cPainter, "no_background", RUBY_METHOD_FUNC(no_background), 0);
@@ -10,13 +10,11 @@ using namespace Rucy;
10
10
  using Rays::coord;
11
11
 
12
12
 
13
- static Class cPoint;
14
-
15
- RUCY_DEFINE_VALUE_FROM_TO(Rays::Point, cPoint)
13
+ RUCY_DEFINE_VALUE_FROM_TO(Rays::Point)
16
14
 
17
15
  #define THIS to<Rays::Point*>(self)
18
16
 
19
- #define CHECK RUCY_CHECK_OBJ(Rays::Point, cPoint, self)
17
+ #define CHECK RUCY_CHECK_OBJ(Rays::Point, self)
20
18
 
21
19
 
22
20
  static
@@ -211,6 +209,9 @@ VALUE inspect(VALUE self)
211
209
  return value(Xot::stringf("#<Rays::Point %s>", THIS->inspect().c_str()));
212
210
  }
213
211
 
212
+
213
+ static Class cPoint;
214
+
214
215
  void
215
216
  Init_point ()
216
217
  {
@@ -7,9 +7,6 @@
7
7
  using namespace Rucy;
8
8
 
9
9
 
10
- static Module mRays;
11
-
12
-
13
10
  static
14
11
  VALUE init(VALUE self)
15
12
  {
@@ -32,6 +29,8 @@ VALUE init_offscreen_context(VALUE self)
32
29
  }
33
30
 
34
31
 
32
+ static Module mRays;
33
+
35
34
  void
36
35
  Init_rays ()
37
36
  {
@@ -8,13 +8,11 @@
8
8
  using namespace Rucy;
9
9
 
10
10
 
11
- static Class cShader;
12
-
13
- RUCY_DEFINE_VALUE_FROM_TO(Rays::Shader, cShader)
11
+ RUCY_DEFINE_VALUE_FROM_TO(Rays::Shader)
14
12
 
15
13
  #define THIS to<Rays::Shader*>(self)
16
14
 
17
- #define CHECK RUCY_CHECK_OBJECT(Rays::Shader, cShader, self)
15
+ #define CHECK RUCY_CHECK_OBJECT(Rays::Shader, self)
18
16
 
19
17
 
20
18
  static
@@ -26,7 +24,7 @@ VALUE alloc(VALUE klass)
26
24
  static
27
25
  VALUE initialize(VALUE self, VALUE source)
28
26
  {
29
- RUCY_CHECK_OBJ(Rays::Shader, cShader, self);
27
+ RUCY_CHECK_OBJ(Rays::Shader, self);
30
28
 
31
29
  if (!source.is_s())
32
30
  argument_error(__FILE__, __LINE__);
@@ -36,6 +34,8 @@ VALUE initialize(VALUE self, VALUE source)
36
34
  }
37
35
 
38
36
 
37
+ static Class cShader;
38
+
39
39
  void
40
40
  Init_shader ()
41
41
  {