rays 0.2.1 → 0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.doc/ext/rays/bitmap.cpp +99 -32
- data/.doc/ext/rays/bounds.cpp +2 -2
- data/.doc/ext/rays/camera.cpp +1 -1
- data/.doc/ext/rays/color.cpp +2 -2
- data/.doc/ext/rays/color_space.cpp +3 -3
- data/.doc/ext/rays/font.cpp +4 -3
- data/.doc/ext/rays/image.cpp +1 -1
- data/.doc/ext/rays/matrix.cpp +4 -4
- data/.doc/ext/rays/painter.cpp +1 -1
- data/.doc/ext/rays/point.cpp +2 -2
- data/.doc/ext/rays/polygon.cpp +3 -3
- data/.doc/ext/rays/polyline.cpp +3 -3
- data/.doc/ext/rays/rays.cpp +10 -10
- data/.doc/ext/rays/shader.cpp +2 -2
- data/.github/workflows/release-gem.yml +1 -1
- data/.github/workflows/test.yml +3 -0
- data/ChangeLog.md +5 -0
- data/Rakefile +17 -2
- data/VERSION +1 -1
- data/ext/rays/bitmap.cpp +99 -32
- data/ext/rays/bounds.cpp +2 -2
- data/ext/rays/camera.cpp +1 -1
- data/ext/rays/color.cpp +2 -2
- data/ext/rays/color_space.cpp +3 -3
- data/ext/rays/defs.h +2 -0
- data/ext/rays/extconf.rb +4 -2
- data/ext/rays/font.cpp +4 -3
- data/ext/rays/image.cpp +1 -1
- data/ext/rays/matrix.cpp +4 -4
- data/ext/rays/painter.cpp +1 -1
- data/ext/rays/point.cpp +2 -2
- data/ext/rays/polygon.cpp +3 -3
- data/ext/rays/polyline.cpp +3 -3
- data/ext/rays/rays.cpp +10 -10
- data/ext/rays/shader.cpp +2 -2
- data/include/rays/defs.h +7 -0
- data/include/rays/ruby/bitmap.h +2 -2
- data/include/rays/ruby/bounds.h +2 -2
- data/include/rays/ruby/camera.h +2 -2
- data/include/rays/ruby/color.h +2 -2
- data/include/rays/ruby/color_space.h +2 -2
- data/include/rays/ruby/exception.h +3 -3
- data/include/rays/ruby/font.h +2 -2
- data/include/rays/ruby/image.h +2 -2
- data/include/rays/ruby/matrix.h +2 -2
- data/include/rays/ruby/painter.h +2 -2
- data/include/rays/ruby/point.h +2 -2
- data/include/rays/ruby/polygon.h +2 -2
- data/include/rays/ruby/polyline.h +2 -2
- data/include/rays/ruby/rays.h +6 -6
- data/include/rays/ruby/shader.h +2 -2
- data/lib/rays/bitmap.rb +7 -0
- data/lib/rays/extension.rb +4 -0
- data/rays.gemspec +2 -2
- data/src/coord.h +2 -2
- data/src/font.cpp +1 -0
- data/src/ios/bitmap.mm +23 -30
- data/src/ios/font.mm +4 -1
- data/src/ios/rays.mm +2 -2
- data/src/matrix.h +1 -1
- data/src/opengl.h +1 -2
- data/src/osx/bitmap.mm +23 -30
- data/src/osx/font.mm +4 -1
- data/src/osx/rays.mm +2 -2
- data/src/painter.cpp +1 -0
- data/src/shader.cpp +3 -0
- data/src/win32/bitmap.cpp +167 -65
- data/src/win32/camera.cpp +119 -0
- data/src/win32/font.cpp +179 -40
- data/src/win32/gdi.h +1 -1
- data/src/win32/opengl.cpp +127 -0
- data/src/win32/rays.cpp +16 -9
- data/test/helper.rb +2 -0
- data/test/test_bitmap.rb +3 -1
- data/test/test_image.rb +8 -14
- data/test/test_painter.rb +4 -4
- metadata +7 -6
- data/src/win32/font.h +0 -24
data/ext/rays/bitmap.cpp
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
#include "defs.h"
|
8
8
|
|
9
9
|
|
10
|
-
RUCY_DEFINE_VALUE_FROM_TO(Rays::Bitmap)
|
10
|
+
RUCY_DEFINE_VALUE_FROM_TO(RAYS_EXPORT, Rays::Bitmap)
|
11
11
|
|
12
12
|
#define THIS to<Rays::Bitmap*>(self)
|
13
13
|
|
@@ -323,23 +323,23 @@ set_pixels (Rays::Bitmap* bmp, Value pixels)
|
|
323
323
|
}
|
324
324
|
}
|
325
325
|
|
326
|
-
static inline
|
327
|
-
|
326
|
+
static inline uint32_t
|
327
|
+
to_rgb (uint8_t r, uint8_t g, uint8_t b)
|
328
328
|
{
|
329
|
-
return
|
330
|
-
((
|
331
|
-
((
|
332
|
-
((
|
329
|
+
return
|
330
|
+
((uint32_t) r) << 16 |
|
331
|
+
((uint32_t) g) << 8 |
|
332
|
+
((uint32_t) b);
|
333
333
|
}
|
334
334
|
|
335
|
-
static inline
|
336
|
-
|
335
|
+
static inline uint32_t
|
336
|
+
to_argb (uint8_t r, uint8_t g, uint8_t b, uint8_t a)
|
337
337
|
{
|
338
|
-
return
|
339
|
-
((
|
340
|
-
((
|
341
|
-
((
|
342
|
-
((
|
338
|
+
return
|
339
|
+
((uint32_t) a) << 24 |
|
340
|
+
((uint32_t) r) << 16 |
|
341
|
+
((uint32_t) g) << 8 |
|
342
|
+
((uint32_t) b);
|
343
343
|
}
|
344
344
|
|
345
345
|
static void
|
@@ -398,7 +398,7 @@ get_pixels (auto* pixels, const Rays::Bitmap& bmp)
|
|
398
398
|
{
|
399
399
|
const auto* p = bmp.at<uint8_t>(0, y);
|
400
400
|
for (int x = 0; x < w; ++x, p += 3)
|
401
|
-
pixels->push_back(
|
401
|
+
pixels->push_back(value(to_rgb(p[0], p[1], p[2])));
|
402
402
|
}
|
403
403
|
break;
|
404
404
|
|
@@ -408,7 +408,7 @@ get_pixels (auto* pixels, const Rays::Bitmap& bmp)
|
|
408
408
|
{
|
409
409
|
const auto* p = bmp.at<uint8_t>(0, y);
|
410
410
|
for (int x = 0; x < w; ++x, p += 4)
|
411
|
-
pixels->push_back(
|
411
|
+
pixels->push_back(value(to_argb(p[0], p[1], p[2], p[3])));
|
412
412
|
}
|
413
413
|
break;
|
414
414
|
|
@@ -418,7 +418,7 @@ get_pixels (auto* pixels, const Rays::Bitmap& bmp)
|
|
418
418
|
{
|
419
419
|
const auto* p = bmp.at<uint8_t>(0, y);
|
420
420
|
for (int x = 0; x < w; ++x, p += 4)
|
421
|
-
pixels->push_back(
|
421
|
+
pixels->push_back(value(to_argb(p[1], p[2], p[3], p[0])));
|
422
422
|
}
|
423
423
|
break;
|
424
424
|
|
@@ -427,7 +427,7 @@ get_pixels (auto* pixels, const Rays::Bitmap& bmp)
|
|
427
427
|
{
|
428
428
|
const auto* p = bmp.at<uint8_t>(0, y);
|
429
429
|
for (int x = 0; x < w; ++x, p += 3)
|
430
|
-
pixels->push_back(
|
430
|
+
pixels->push_back(value(to_rgb(p[2], p[1], p[0])));
|
431
431
|
}
|
432
432
|
break;
|
433
433
|
|
@@ -437,7 +437,7 @@ get_pixels (auto* pixels, const Rays::Bitmap& bmp)
|
|
437
437
|
{
|
438
438
|
const auto* p = bmp.at<uint8_t>(0, y);
|
439
439
|
for (int x = 0; x < w; ++x, p += 4)
|
440
|
-
pixels->push_back(
|
440
|
+
pixels->push_back(value(to_argb(p[2], p[1], p[0], p[3])));
|
441
441
|
}
|
442
442
|
break;
|
443
443
|
|
@@ -447,7 +447,7 @@ get_pixels (auto* pixels, const Rays::Bitmap& bmp)
|
|
447
447
|
{
|
448
448
|
const auto* p = bmp.at<uint8_t>(0, y);
|
449
449
|
for (int x = 0; x < w; ++x, p += 4)
|
450
|
-
pixels->push_back(
|
450
|
+
pixels->push_back(value(to_argb(p[3], p[2], p[1], p[0])));
|
451
451
|
}
|
452
452
|
break;
|
453
453
|
|
@@ -538,17 +538,85 @@ get_pixels (auto* pixels, const Rays::Bitmap& bmp)
|
|
538
538
|
}
|
539
539
|
}
|
540
540
|
|
541
|
-
static
|
542
|
-
|
541
|
+
static Value
|
542
|
+
get_32bit_pixels_string (const Rays::Bitmap& bmp)
|
543
543
|
{
|
544
|
-
|
544
|
+
// avoid SEGV caused by 32bit argb value on 'x64-mingw-ucrt' platform.
|
545
|
+
|
546
|
+
const auto& cs = bmp.color_space();
|
547
|
+
if (cs.bpp() != 32) return nil();
|
548
|
+
|
549
|
+
int w = bmp.width(), h = bmp.height();
|
545
550
|
|
546
|
-
|
551
|
+
std::vector<uint32_t> pixels;
|
552
|
+
pixels.reserve(w * h);
|
553
|
+
|
554
|
+
switch (cs.type())
|
547
555
|
{
|
548
|
-
|
549
|
-
|
556
|
+
case Rays::GRAY_32:
|
557
|
+
case Rays::ALPHA_32:
|
558
|
+
for (int y = 0; y < h; ++y)
|
559
|
+
{
|
560
|
+
const auto* p = bmp.at<uint32_t>(0, y);
|
561
|
+
for (int x = 0; x < w; ++x, ++p)
|
562
|
+
pixels.push_back(*p);
|
563
|
+
}
|
564
|
+
break;
|
565
|
+
|
566
|
+
case Rays::RGBA_8888:
|
567
|
+
case Rays::RGBX_8888:
|
568
|
+
for (int y = 0; y < h; ++y)
|
569
|
+
{
|
570
|
+
const auto* p = bmp.at<uint8_t>(0, y);
|
571
|
+
for (int x = 0; x < w; ++x, p += 4)
|
572
|
+
pixels.push_back(to_argb(p[0], p[1], p[2], p[3]));
|
573
|
+
}
|
574
|
+
break;
|
575
|
+
|
576
|
+
case Rays::ARGB_8888:
|
577
|
+
case Rays::XRGB_8888:
|
578
|
+
for (int y = 0; y < h; ++y)
|
579
|
+
{
|
580
|
+
const auto* p = bmp.at<uint8_t>(0, y);
|
581
|
+
for (int x = 0; x < w; ++x, p += 4)
|
582
|
+
pixels.push_back(to_argb(p[1], p[2], p[3], p[0]));
|
583
|
+
}
|
584
|
+
break;
|
585
|
+
|
586
|
+
case Rays::BGRA_8888:
|
587
|
+
case Rays::BGRX_8888:
|
588
|
+
for (int y = 0; y < h; ++y)
|
589
|
+
{
|
590
|
+
const auto* p = bmp.at<uint8_t>(0, y);
|
591
|
+
for (int x = 0; x < w; ++x, p += 4)
|
592
|
+
pixels.push_back(to_argb(p[2], p[1], p[0], p[3]));
|
593
|
+
}
|
594
|
+
break;
|
595
|
+
|
596
|
+
case Rays::ABGR_8888:
|
597
|
+
case Rays::XBGR_8888:
|
598
|
+
for (int y = 0; y < h; ++y)
|
599
|
+
{
|
600
|
+
const auto* p = bmp.at<uint8_t>(0, y);
|
601
|
+
for (int x = 0; x < w; ++x, p += 4)
|
602
|
+
pixels.push_back(to_argb(p[3], p[2], p[1], p[0]));
|
603
|
+
}
|
604
|
+
break;
|
605
|
+
|
606
|
+
default:
|
607
|
+
return nil();
|
550
608
|
}
|
551
609
|
|
610
|
+
return value(
|
611
|
+
(const char*) &pixels[0], pixels.size() * sizeof(uint32_t),
|
612
|
+
rb_ascii8bit_encoding());
|
613
|
+
}
|
614
|
+
|
615
|
+
static
|
616
|
+
RUCY_DEF1(set_pixels, pixels)
|
617
|
+
{
|
618
|
+
CHECK;
|
619
|
+
|
552
620
|
set_pixels(THIS, pixels);
|
553
621
|
return pixels;
|
554
622
|
}
|
@@ -559,11 +627,10 @@ RUCY_DEF0(get_pixels)
|
|
559
627
|
{
|
560
628
|
CHECK;
|
561
629
|
|
562
|
-
|
563
|
-
|
564
|
-
|
565
|
-
|
566
|
-
}
|
630
|
+
#ifdef RAYS_32BIT_PIXELS_STRING
|
631
|
+
Value str = get_32bit_pixels_string(*THIS);
|
632
|
+
if (str) return str;
|
633
|
+
#endif
|
567
634
|
|
568
635
|
std::vector<VALUE> pixels;
|
569
636
|
get_pixels(&pixels, *THIS);
|
@@ -613,7 +680,7 @@ Init_rays_bitmap ()
|
|
613
680
|
cBitmap.define_method("height", height);
|
614
681
|
cBitmap.define_method("color_space", color_space);
|
615
682
|
cBitmap.define_method("pixels=", set_pixels);
|
616
|
-
cBitmap.define_method("pixels",
|
683
|
+
cBitmap.define_method("pixels!", get_pixels);
|
617
684
|
cBitmap.define_method("[]=", set_at);
|
618
685
|
cBitmap.define_method("[]", get_at);
|
619
686
|
}
|
data/ext/rays/bounds.cpp
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
#include "defs.h"
|
7
7
|
|
8
8
|
|
9
|
-
RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(Rays::Bounds)
|
9
|
+
RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(RAYS_EXPORT, Rays::Bounds)
|
10
10
|
|
11
11
|
#define THIS to<Rays::Bounds*>(self)
|
12
12
|
|
@@ -629,7 +629,7 @@ namespace Rucy
|
|
629
629
|
{
|
630
630
|
|
631
631
|
|
632
|
-
template <> Rays::Bounds
|
632
|
+
template <> RAYS_EXPORT Rays::Bounds
|
633
633
|
value_to<Rays::Bounds> (int argc, const Value* argv, bool convert)
|
634
634
|
{
|
635
635
|
if (argc == 1 && argv->is_array())
|
data/ext/rays/camera.cpp
CHANGED
data/ext/rays/color.cpp
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
#include "defs.h"
|
7
7
|
|
8
8
|
|
9
|
-
RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(Rays::Color)
|
9
|
+
RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(RAYS_EXPORT, Rays::Color)
|
10
10
|
|
11
11
|
#define THIS to<Rays::Color*>(self)
|
12
12
|
|
@@ -344,7 +344,7 @@ namespace Rucy
|
|
344
344
|
return find_color(str_.c_str());
|
345
345
|
}
|
346
346
|
|
347
|
-
template <> Rays::Color
|
347
|
+
template <> RAYS_EXPORT Rays::Color
|
348
348
|
value_to<Rays::Color> (int argc, const Value*argv, bool convert)
|
349
349
|
{
|
350
350
|
if (argc == 1 && argv->is_array())
|
data/ext/rays/color_space.cpp
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
#include "defs.h"
|
6
6
|
|
7
7
|
|
8
|
-
RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(Rays::ColorSpace)
|
8
|
+
RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(RAYS_EXPORT, Rays::ColorSpace)
|
9
9
|
|
10
10
|
#define THIS to<Rays::ColorSpace*>(self)
|
11
11
|
|
@@ -219,7 +219,7 @@ namespace Rucy
|
|
219
219
|
{
|
220
220
|
|
221
221
|
|
222
|
-
template <> Rays::ColorSpace
|
222
|
+
template <> RAYS_EXPORT Rays::ColorSpace
|
223
223
|
value_to<Rays::ColorSpace> (int argc, const Value* argv, bool convert)
|
224
224
|
{
|
225
225
|
if (argc == 1 && argv->is_array())
|
@@ -247,7 +247,7 @@ namespace Rucy
|
|
247
247
|
}
|
248
248
|
|
249
249
|
|
250
|
-
template <> Rays::ColorSpaceType
|
250
|
+
template <> RAYS_EXPORT Rays::ColorSpaceType
|
251
251
|
value_to<Rays::ColorSpaceType> (Value value, bool convert)
|
252
252
|
{
|
253
253
|
if (convert)
|
data/ext/rays/defs.h
CHANGED
data/ext/rays/extconf.rb
CHANGED
@@ -12,9 +12,11 @@ require 'rays/extension'
|
|
12
12
|
Xot::ExtConf.new Xot, Rucy, Rays do
|
13
13
|
setup do
|
14
14
|
headers << 'ruby.h'
|
15
|
-
libs.unshift '
|
15
|
+
libs.unshift 'gdi32', 'opengl32', 'glew32' if win32?
|
16
16
|
frameworks << 'AppKit' << 'OpenGL' << 'AVFoundation' if osx?
|
17
|
-
$LDFLAGS << ' -Wl,--out-implib=native.dll.a'
|
17
|
+
$LDFLAGS << ' -Wl,--out-implib=native.dll.a' if mingw? || cygwin?
|
18
|
+
|
19
|
+
$CPPFLAGS << ' -DRAYS_32BIT_PIXELS_STRING' if RUBY_PLATFORM == 'x64-mingw-ucrt'
|
18
20
|
end
|
19
21
|
|
20
22
|
create_makefile 'rays/native'
|
data/ext/rays/font.cpp
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
#include "defs.h"
|
6
6
|
|
7
7
|
|
8
|
-
RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(Rays::Font)
|
8
|
+
RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(RAYS_EXPORT, Rays::Font)
|
9
9
|
|
10
10
|
#define THIS to<Rays::Font*>(self)
|
11
11
|
|
@@ -169,7 +169,7 @@ namespace Rucy
|
|
169
169
|
{
|
170
170
|
|
171
171
|
|
172
|
-
template <> Rays::Font
|
172
|
+
template <> RAYS_EXPORT Rays::Font
|
173
173
|
value_to<Rays::Font> (int argc, const Value* argv, bool convert)
|
174
174
|
{
|
175
175
|
if (argc == 1 && argv->is_array())
|
@@ -185,7 +185,8 @@ namespace Rucy
|
|
185
185
|
if (argc == 0)
|
186
186
|
return Rays::get_default_font();
|
187
187
|
|
188
|
-
coord size =
|
188
|
+
coord size =
|
189
|
+
argc >= 2 ? to<coord>(argv[1]) : (coord) Rays::Font::DEFAULT_SIZE;
|
189
190
|
if (argv->is_nil())
|
190
191
|
return Rays::Font(NULL, size);
|
191
192
|
else if (argv->is_s() || argv->is_sym())
|
data/ext/rays/image.cpp
CHANGED
data/ext/rays/matrix.cpp
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
#include "defs.h"
|
7
7
|
|
8
8
|
|
9
|
-
RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(Rays::Matrix)
|
9
|
+
RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(RAYS_EXPORT, Rays::Matrix)
|
10
10
|
|
11
11
|
#define THIS to<Rays::Matrix*>(self)
|
12
12
|
|
@@ -232,10 +232,10 @@ RUCY_DEFN(s_ortho)
|
|
232
232
|
RUCY_END
|
233
233
|
|
234
234
|
static
|
235
|
-
RUCY_DEF4(s_perspective, fov_y, aspect_ratio,
|
235
|
+
RUCY_DEF4(s_perspective, fov_y, aspect_ratio, near_, far_)
|
236
236
|
{
|
237
237
|
return value(Rays::perspective(
|
238
|
-
to<float>(fov_y), to<float>(aspect_ratio), to<coord>(
|
238
|
+
to<float>(fov_y), to<float>(aspect_ratio), to<coord>(near_), to<coord>(far_)));
|
239
239
|
}
|
240
240
|
RUCY_END
|
241
241
|
|
@@ -301,7 +301,7 @@ namespace Rucy
|
|
301
301
|
{
|
302
302
|
|
303
303
|
|
304
|
-
template <> Rays::Matrix
|
304
|
+
template <> RAYS_EXPORT Rays::Matrix
|
305
305
|
value_to<Rays::Matrix> (int argc, const Value* argv, bool convert)
|
306
306
|
{
|
307
307
|
if (argc == 1 && argv->is_array())
|
data/ext/rays/painter.cpp
CHANGED
data/ext/rays/point.cpp
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
#include "defs.h"
|
6
6
|
|
7
7
|
|
8
|
-
RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(Rays::Point)
|
8
|
+
RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(RAYS_EXPORT, Rays::Point)
|
9
9
|
|
10
10
|
#define THIS to<Rays::Point*>(self)
|
11
11
|
|
@@ -299,7 +299,7 @@ namespace Rucy
|
|
299
299
|
{
|
300
300
|
|
301
301
|
|
302
|
-
template <> Rays::Point
|
302
|
+
template <> RAYS_EXPORT Rays::Point
|
303
303
|
value_to<Rays::Point> (int argc, const Value* argv, bool convert)
|
304
304
|
{
|
305
305
|
if (argc == 1 && argv->is_array())
|
data/ext/rays/polygon.cpp
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
#include "defs.h"
|
9
9
|
|
10
10
|
|
11
|
-
RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(Rays::Polygon)
|
11
|
+
RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(RAYS_EXPORT, Rays::Polygon)
|
12
12
|
|
13
13
|
#define THIS to<Rays::Polygon*>(self)
|
14
14
|
|
@@ -48,7 +48,7 @@ RUCY_DEFN(expand)
|
|
48
48
|
coord width = to<coord> (argv[0]);
|
49
49
|
Rays::CapType cap = argc >= 2 ? to<Rays::CapType> (argv[1]) : Rays::CAP_DEFAULT;
|
50
50
|
Rays::JoinType join = argc >= 3 ? to<Rays::JoinType>(argv[2]) : Rays::JOIN_DEFAULT;
|
51
|
-
coord ml = argc >= 4 ? to<coord> (argv[3]) : Rays::JOIN_DEFAULT_MITER_LIMIT;
|
51
|
+
coord ml = argc >= 4 ? to<coord> (argv[3]) : (coord) Rays::JOIN_DEFAULT_MITER_LIMIT;
|
52
52
|
|
53
53
|
Rays::Polygon polygon;
|
54
54
|
THIS->expand(&polygon, width, cap, join, ml);
|
@@ -400,7 +400,7 @@ namespace Rucy
|
|
400
400
|
{
|
401
401
|
|
402
402
|
|
403
|
-
template <> Rays::Polygon
|
403
|
+
template <> RAYS_EXPORT Rays::Polygon
|
404
404
|
value_to<Rays::Polygon> (int argc, const Value* argv, bool convert)
|
405
405
|
{
|
406
406
|
if (convert)
|
data/ext/rays/polyline.cpp
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
#include "defs.h"
|
11
11
|
|
12
12
|
|
13
|
-
RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(Rays::Polyline)
|
13
|
+
RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(RAYS_EXPORT, Rays::Polyline)
|
14
14
|
|
15
15
|
#define THIS to<Rays::Polyline*>(self)
|
16
16
|
|
@@ -46,7 +46,7 @@ RUCY_DEFN(expand)
|
|
46
46
|
coord width = to<coord> (argv[0]);
|
47
47
|
Rays::CapType cap = argc >= 2 ? to<Rays::CapType> (argv[1]) : Rays::CAP_DEFAULT;
|
48
48
|
Rays::JoinType join = argc >= 3 ? to<Rays::JoinType>(argv[2]) : Rays::JOIN_DEFAULT;
|
49
|
-
coord ml = argc >= 4 ? to<coord> (argv[3]) : Rays::JOIN_DEFAULT_MITER_LIMIT;
|
49
|
+
coord ml = argc >= 4 ? to<coord> (argv[3]) : (coord) Rays::JOIN_DEFAULT_MITER_LIMIT;
|
50
50
|
|
51
51
|
Rays::Polygon polygon;
|
52
52
|
THIS->expand(&polygon, width, cap, join, ml);
|
@@ -222,7 +222,7 @@ namespace Rucy
|
|
222
222
|
{
|
223
223
|
|
224
224
|
|
225
|
-
template <> Rays::Polyline
|
225
|
+
template <> RAYS_EXPORT Rays::Polyline
|
226
226
|
value_to<Rays::Polyline> (int argc, const Value* argv, bool convert)
|
227
227
|
{
|
228
228
|
assert(argc == 0 || (argc > 0 && argv));
|
data/ext/rays/rays.cpp
CHANGED
@@ -6,11 +6,11 @@
|
|
6
6
|
#include "defs.h"
|
7
7
|
|
8
8
|
|
9
|
-
RUCY_DEFINE_CONVERT_TO(Rays::CapType)
|
10
|
-
RUCY_DEFINE_CONVERT_TO(Rays::JoinType)
|
11
|
-
RUCY_DEFINE_CONVERT_TO(Rays::BlendMode)
|
12
|
-
RUCY_DEFINE_CONVERT_TO(Rays::TexCoordMode)
|
13
|
-
RUCY_DEFINE_CONVERT_TO(Rays::TexCoordWrap)
|
9
|
+
RUCY_DEFINE_CONVERT_TO(RAYS_EXPORT, Rays::CapType)
|
10
|
+
RUCY_DEFINE_CONVERT_TO(RAYS_EXPORT, Rays::JoinType)
|
11
|
+
RUCY_DEFINE_CONVERT_TO(RAYS_EXPORT, Rays::BlendMode)
|
12
|
+
RUCY_DEFINE_CONVERT_TO(RAYS_EXPORT, Rays::TexCoordMode)
|
13
|
+
RUCY_DEFINE_CONVERT_TO(RAYS_EXPORT, Rays::TexCoordWrap)
|
14
14
|
|
15
15
|
|
16
16
|
template <typename T>
|
@@ -104,7 +104,7 @@ namespace Rucy
|
|
104
104
|
{
|
105
105
|
|
106
106
|
|
107
|
-
template <> Rays::CapType
|
107
|
+
template <> RAYS_EXPORT Rays::CapType
|
108
108
|
value_to<Rays::CapType> (int argc, const Value* argv, bool convert)
|
109
109
|
{
|
110
110
|
assert(argc > 0 && argv);
|
@@ -135,7 +135,7 @@ namespace Rucy
|
|
135
135
|
}
|
136
136
|
|
137
137
|
|
138
|
-
template <> Rays::JoinType
|
138
|
+
template <> RAYS_EXPORT Rays::JoinType
|
139
139
|
value_to<Rays::JoinType> (int argc, const Value* argv, bool convert)
|
140
140
|
{
|
141
141
|
assert(argc > 0 && argv);
|
@@ -166,7 +166,7 @@ namespace Rucy
|
|
166
166
|
}
|
167
167
|
|
168
168
|
|
169
|
-
template <> Rays::BlendMode
|
169
|
+
template <> RAYS_EXPORT Rays::BlendMode
|
170
170
|
value_to<Rays::BlendMode> (int argc, const Value* argv, bool convert)
|
171
171
|
{
|
172
172
|
assert(argc > 0 && argv);
|
@@ -197,7 +197,7 @@ namespace Rucy
|
|
197
197
|
}
|
198
198
|
|
199
199
|
|
200
|
-
template <> Rays::TexCoordMode
|
200
|
+
template <> RAYS_EXPORT Rays::TexCoordMode
|
201
201
|
value_to<Rays::TexCoordMode> (int argc, const Value* argv, bool convert)
|
202
202
|
{
|
203
203
|
assert(argc > 0 && argv);
|
@@ -228,7 +228,7 @@ namespace Rucy
|
|
228
228
|
}
|
229
229
|
|
230
230
|
|
231
|
-
template <> Rays::TexCoordWrap
|
231
|
+
template <> RAYS_EXPORT Rays::TexCoordWrap
|
232
232
|
value_to<Rays::TexCoordWrap> (int argc, const Value* argv, bool convert)
|
233
233
|
{
|
234
234
|
assert(argc > 0 && argv);
|
data/ext/rays/shader.cpp
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
#include "defs.h"
|
7
7
|
|
8
8
|
|
9
|
-
RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(Rays::Shader)
|
9
|
+
RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(RAYS_EXPORT, Rays::Shader)
|
10
10
|
|
11
11
|
#define THIS to<Rays::Shader*>(self)
|
12
12
|
|
@@ -194,7 +194,7 @@ namespace Rucy
|
|
194
194
|
{
|
195
195
|
|
196
196
|
|
197
|
-
template <> Rays::Shader
|
197
|
+
template <> RAYS_EXPORT Rays::Shader
|
198
198
|
value_to<Rays::Shader> (int argc, const Value* argv, bool convert)
|
199
199
|
{
|
200
200
|
if (argc == 1 && argv->is_array())
|
data/include/rays/defs.h
CHANGED
data/include/rays/ruby/bitmap.h
CHANGED
@@ -9,14 +9,14 @@
|
|
9
9
|
#include <rays/bitmap.h>
|
10
10
|
|
11
11
|
|
12
|
-
RUCY_DECLARE_VALUE_FROM_TO(Rays::Bitmap)
|
12
|
+
RUCY_DECLARE_VALUE_FROM_TO(RAYS_EXPORT, Rays::Bitmap)
|
13
13
|
|
14
14
|
|
15
15
|
namespace Rays
|
16
16
|
{
|
17
17
|
|
18
18
|
|
19
|
-
Rucy::Class bitmap_class ();
|
19
|
+
RAYS_EXPORT Rucy::Class bitmap_class ();
|
20
20
|
// class Rays::Bitmap
|
21
21
|
|
22
22
|
|
data/include/rays/ruby/bounds.h
CHANGED
@@ -10,14 +10,14 @@
|
|
10
10
|
#include <rays/ruby/point.h>
|
11
11
|
|
12
12
|
|
13
|
-
RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(Rays::Bounds)
|
13
|
+
RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(RAYS_EXPORT, Rays::Bounds)
|
14
14
|
|
15
15
|
|
16
16
|
namespace Rays
|
17
17
|
{
|
18
18
|
|
19
19
|
|
20
|
-
Rucy::Class bounds_class ();
|
20
|
+
RAYS_EXPORT Rucy::Class bounds_class ();
|
21
21
|
// class Rays::Bounds
|
22
22
|
|
23
23
|
|
data/include/rays/ruby/camera.h
CHANGED
@@ -9,14 +9,14 @@
|
|
9
9
|
#include <rays/camera.h>
|
10
10
|
|
11
11
|
|
12
|
-
RUCY_DECLARE_VALUE_FROM_TO(Rays::Camera)
|
12
|
+
RUCY_DECLARE_VALUE_FROM_TO(RAYS_EXPORT, Rays::Camera)
|
13
13
|
|
14
14
|
|
15
15
|
namespace Rays
|
16
16
|
{
|
17
17
|
|
18
18
|
|
19
|
-
Rucy::Class camera_class ();
|
19
|
+
RAYS_EXPORT Rucy::Class camera_class ();
|
20
20
|
// class Rays::Camera
|
21
21
|
|
22
22
|
|
data/include/rays/ruby/color.h
CHANGED
@@ -9,14 +9,14 @@
|
|
9
9
|
#include <rays/color.h>
|
10
10
|
|
11
11
|
|
12
|
-
RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(Rays::Color)
|
12
|
+
RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(RAYS_EXPORT, Rays::Color)
|
13
13
|
|
14
14
|
|
15
15
|
namespace Rays
|
16
16
|
{
|
17
17
|
|
18
18
|
|
19
|
-
Rucy::Class color_class ();
|
19
|
+
RAYS_EXPORT Rucy::Class color_class ();
|
20
20
|
// class Rays::Color
|
21
21
|
|
22
22
|
|
@@ -9,14 +9,14 @@
|
|
9
9
|
#include <rays/color_space.h>
|
10
10
|
|
11
11
|
|
12
|
-
RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(Rays::ColorSpace)
|
12
|
+
RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(RAYS_EXPORT, Rays::ColorSpace)
|
13
13
|
|
14
14
|
|
15
15
|
namespace Rays
|
16
16
|
{
|
17
17
|
|
18
18
|
|
19
|
-
Rucy::Class color_space_class ();
|
19
|
+
RAYS_EXPORT Rucy::Class color_space_class ();
|
20
20
|
// class Rays::ColorSpace
|
21
21
|
|
22
22
|
|
@@ -12,13 +12,13 @@ namespace Rays
|
|
12
12
|
{
|
13
13
|
|
14
14
|
|
15
|
-
Rucy::Class rays_error_class ();
|
15
|
+
RAYS_EXPORT Rucy::Class rays_error_class ();
|
16
16
|
// class Rays::RaysError
|
17
17
|
|
18
|
-
Rucy::Class opengl_error_class ();
|
18
|
+
RAYS_EXPORT Rucy::Class opengl_error_class ();
|
19
19
|
// class Rays::OpenGLError
|
20
20
|
|
21
|
-
Rucy::Class shader_error_class ();
|
21
|
+
RAYS_EXPORT Rucy::Class shader_error_class ();
|
22
22
|
// class Rays::ShaderError
|
23
23
|
|
24
24
|
|
data/include/rays/ruby/font.h
CHANGED
@@ -9,14 +9,14 @@
|
|
9
9
|
#include <rays/font.h>
|
10
10
|
|
11
11
|
|
12
|
-
RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(Rays::Font)
|
12
|
+
RUCY_DECLARE_VALUE_OR_ARRAY_FROM_TO(RAYS_EXPORT, Rays::Font)
|
13
13
|
|
14
14
|
|
15
15
|
namespace Rays
|
16
16
|
{
|
17
17
|
|
18
18
|
|
19
|
-
Rucy::Class font_class ();
|
19
|
+
RAYS_EXPORT Rucy::Class font_class ();
|
20
20
|
// class Rays::Font
|
21
21
|
|
22
22
|
|