rays 0.1.2 → 0.1.3

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.
data/ext/rays/image.cpp CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
 
4
4
  #include <rucy.h>
5
- #include "rays.h"
6
- #include "rays/ruby/bitmap.h"
7
- #include "rays/ruby/texture.h"
5
+ #include <rays/ruby/bitmap.h>
6
+ #include <rays/ruby/texture.h>
7
+ #include "defs.h"
8
8
 
9
9
 
10
10
  using namespace Rucy;
@@ -16,11 +16,12 @@ namespace Rays
16
16
  {
17
17
 
18
18
 
19
+ static Class cImage;
20
+
19
21
  Class
20
22
  image_class ()
21
23
  {
22
- static Class c = rays_module().define_class("Image");
23
- return c;
24
+ return cImage;
24
25
  }
25
26
 
26
27
 
@@ -154,13 +155,17 @@ RUBY_END
154
155
  void
155
156
  Init_image ()
156
157
  {
157
- Rays::image_class()
158
- .define_alloc_func(alloc)
159
- .define_method("initialize", initialize)
160
- .define_method("width", width)
161
- .define_method("height", height)
162
- .define_method("color_space", color_space)
163
- .define_method("bitmap", bitmap)
164
- .define_method("texture", texture)
165
- .define_function("load", load);
158
+ Module m = define_module("Rays");
159
+
160
+ Class c = m.define_class("Image");
161
+ Rays::cImage = c;
162
+
163
+ c.define_alloc_func(alloc);
164
+ c.define_method("initialize", initialize);
165
+ c.define_method("width", width);
166
+ c.define_method("height", height);
167
+ c.define_method("color_space", color_space);
168
+ c.define_method("bitmap", bitmap);
169
+ c.define_method("texture", texture);
170
+ c.define_function("load", load);
166
171
  }
data/ext/rays/native.cpp CHANGED
@@ -1,4 +1,8 @@
1
1
  #include <rucy.h>
2
+ #include "defs.h"
3
+
4
+
5
+ using namespace Rucy;
2
6
 
3
7
 
4
8
  void Init_rays ();
@@ -13,7 +17,7 @@ extern "C" void
13
17
  Init_native ()
14
18
  {
15
19
  if (!Rucy::init())
16
- Rucy::raise(rb_eLoadError, "Rucy::init() failed.");
20
+ raise(rb_eLoadError, "Rucy::init() failed.");
17
21
 
18
22
  Init_rays();
19
23
  Init_bitmap();
data/ext/rays/painter.cpp CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
 
4
4
  #include <rucy.h>
5
- #include "rays.h"
6
- #include "rays/ruby/image.h"
7
- #include "rays/ruby/font.h"
5
+ #include <rays/ruby/image.h>
6
+ #include <rays/ruby/font.h>
7
+ #include "defs.h"
8
8
 
9
9
 
10
10
  using namespace Rucy;
@@ -16,11 +16,12 @@ namespace Rays
16
16
  {
17
17
 
18
18
 
19
+ static Class cPainter;
20
+
19
21
  Class
20
22
  painter_class ()
21
23
  {
22
- static Class c = rays_module().define_class("Painter");
23
- return c;
24
+ return cPainter;
24
25
  }
25
26
 
26
27
 
@@ -95,24 +96,24 @@ RUBY_DEF0(end)
95
96
  RUBY_END
96
97
 
97
98
  static
98
- RUBY_DEF0(push)
99
+ RUBY_DEF0(push_matrix)
99
100
  {
100
101
  CHECK;
101
102
 
102
- if (!this->push())
103
- error("Painter#push() failed.");
103
+ if (!this->push_matrix())
104
+ error("Painter#push_matrix() failed.");
104
105
 
105
106
  return self;
106
107
  }
107
108
  RUBY_END
108
109
 
109
110
  static
110
- RUBY_DEF0(pop)
111
+ RUBY_DEF0(pop_matrix)
111
112
  {
112
113
  CHECK;
113
114
 
114
- if (!this->pop())
115
- error("Painter#pop() failed.");
115
+ if (!this->pop_matrix())
116
+ error("Painter#pop_matrix() failed.");
116
117
 
117
118
  return self;
118
119
  }
@@ -542,32 +543,36 @@ RUBY_END
542
543
  void
543
544
  Init_painter ()
544
545
  {
545
- Rays::painter_class()
546
- .define_alloc_func(alloc)
547
-
548
- .define_method("canvas", canvas)
549
- .define_method("begin", begin)
550
- .define_method("end", end)
551
- .define_method("push", push)
552
- .define_method("pop", pop)
553
-
554
- .define_private_method("draw_line", line)
555
- .define_private_method("draw_rect", rect)
556
- .define_private_method("draw_ellipse", ellipse)
557
- .define_private_method("draw_arc", arc)
558
- .define_private_method("draw_image", image)
559
- .define_private_method("draw_text", text)
560
-
561
- .define_method("get_fill", get_fill)
562
- .define_method("set_fill", set_fill)
563
- .define_method("no_fill", no_fill)
564
- .define_method("get_stroke", get_stroke)
565
- .define_method("set_stroke", set_stroke)
566
- .define_method("no_stroke", no_stroke)
567
- .define_method("get_clear", get_clear)
568
- .define_method("set_clear", set_clear)
569
- .define_method("no_clear", no_clear)
570
- .define_method("get_clip", get_clip)
571
- .define_method("set_clip", set_clip)
572
- .define_method("no_clip", no_clip);
546
+ Module m = define_module("Rays");
547
+
548
+ Class c = m.define_class("Painter");
549
+ Rays::cPainter = c;
550
+
551
+ c.define_alloc_func(alloc);
552
+
553
+ c.define_method("canvas", canvas);
554
+ c.define_method("begin", begin);
555
+ c.define_method("end", end);
556
+ c.define_method("push_matrix", push_matrix);
557
+ c.define_method("pop_matrix", pop_matrix);
558
+
559
+ c.define_private_method("draw_line", line);
560
+ c.define_private_method("draw_rect", rect);
561
+ c.define_private_method("draw_ellipse", ellipse);
562
+ c.define_private_method("draw_arc", arc);
563
+ c.define_private_method("draw_image", image);
564
+ c.define_private_method("draw_text", text);
565
+
566
+ c.define_method("get_fill", get_fill);
567
+ c.define_method("set_fill", set_fill);
568
+ c.define_method("no_fill", no_fill);
569
+ c.define_method("get_stroke", get_stroke);
570
+ c.define_method("set_stroke", set_stroke);
571
+ c.define_method("no_stroke", no_stroke);
572
+ c.define_method("get_clear", get_clear);
573
+ c.define_method("set_clear", set_clear);
574
+ c.define_method("no_clear", no_clear);
575
+ c.define_method("get_clip", get_clip);
576
+ c.define_method("set_clip", set_clip);
577
+ c.define_method("no_clip", no_clip);
573
578
  }
data/ext/rays/rays.cpp CHANGED
@@ -1,6 +1,6 @@
1
1
  #include <rucy.h>
2
2
  #include <rays/rays.h>
3
- #include "rays.h"
3
+ #include "defs.h"
4
4
 
5
5
 
6
6
  using namespace Rucy;
@@ -10,19 +10,12 @@ namespace Rays
10
10
  {
11
11
 
12
12
 
13
+ static Module mRays;
14
+
13
15
  Module
14
16
  rays_module ()
15
17
  {
16
- static Module m = define_module("Rays");
17
- return m;
18
- }
19
-
20
- Class
21
- rays_error_class ()
22
- {
23
- static Class c =
24
- rays_module().define_class("RaysError", native_error_class());
25
- return c;
18
+ return mRays;
26
19
  }
27
20
 
28
21
 
@@ -53,9 +46,9 @@ RUBY_END
53
46
  void
54
47
  Init_rays ()
55
48
  {
56
- Rays::rays_error_class();
49
+ Module m = define_module("Rays");
50
+ Rays::mRays = m;
57
51
 
58
- Rays::rays_module()
59
- .define_singleton_method("init!", init)
60
- .define_singleton_method("fin!", fin);
52
+ m.define_singleton_method("init!", init);
53
+ m.define_singleton_method("fin!", fin);
61
54
  }
data/ext/rays/texture.cpp CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
 
4
4
  #include <rucy.h>
5
- #include "rays.h"
6
- #include "rays/ruby/bitmap.h"
5
+ #include <rays/ruby/bitmap.h>
6
+ #include "defs.h"
7
7
 
8
8
 
9
9
  using namespace Rucy;
@@ -15,11 +15,12 @@ namespace Rays
15
15
  {
16
16
 
17
17
 
18
+ static Class cTexture;
19
+
18
20
  Class
19
21
  texture_class ()
20
22
  {
21
- static Class c = rays_module().define_class("Texture");
22
- return c;
23
+ return cTexture;
23
24
  }
24
25
 
25
26
 
@@ -119,12 +120,16 @@ RUBY_END
119
120
  void
120
121
  Init_texture ()
121
122
  {
122
- Rays::texture_class()
123
- .define_alloc_func(alloc)
124
- .define_method("initialize", initialize)
125
- .define_method("width", width)
126
- .define_method("height", height)
127
- .define_method("s_max", s_max)
128
- .define_method("t_max", t_max)
129
- .define_method("bitmap", bitmap);
123
+ Module m = define_module("Rays");
124
+
125
+ Class c = m.define_class("Texture");
126
+ Rays::cTexture = c;
127
+
128
+ c.define_alloc_func(alloc);
129
+ c.define_method("initialize", initialize);
130
+ c.define_method("width", width);
131
+ c.define_method("height", height);
132
+ c.define_method("s_max", s_max);
133
+ c.define_method("t_max", t_max);
134
+ c.define_method("bitmap", bitmap);
130
135
  }
data/include/rays.h CHANGED
@@ -6,6 +6,7 @@
6
6
 
7
7
  #include <rays/defs.h>
8
8
  #include <rays/rays.h>
9
+ #include <rays/exception.h>
9
10
  #include <rays/colorspace.h>
10
11
  #include <rays/bitmap.h>
11
12
  #include <rays/texture.h>
@@ -13,8 +14,8 @@
13
14
  #include <rays/font.h>
14
15
  #include <rays/transform.h>
15
16
  #include <rays/painter.h>
16
- #include <rays/helpers.h>
17
17
  #include <rays/opengl.h>
18
+ #include <rays/helpers.h>
18
19
 
19
20
 
20
21
  #endif//EOH
@@ -14,7 +14,7 @@ namespace Rays
14
14
  enum ColorSpaceType
15
15
  {
16
16
 
17
- COLORSPACE_UNKNOWN = UNKNOWN,
17
+ COLORSPACE_UNKNOWN = Xot::UNKNOWN,
18
18
 
19
19
  GRAY_8, GRAY_16, GRAY_24, GRAY_32, GRAY_float,
20
20
 
data/include/rays/defs.h CHANGED
@@ -4,28 +4,21 @@
4
4
  #define __RAYS_DEFS_H__
5
5
 
6
6
 
7
- #include <string>
7
+ #include <xot/defs.h>
8
+ #include <xot/string.h>
8
9
 
9
10
 
10
11
  namespace Rays
11
12
  {
12
13
 
13
14
 
14
- typedef unsigned char uchar;
15
+ using namespace Xot::Types;
15
16
 
16
- typedef unsigned short ushort;
17
+ using Xot::String;
17
18
 
18
- typedef unsigned int uint;
19
-
20
- typedef unsigned long ulong;
21
19
 
22
20
  typedef float coord;
23
21
 
24
- typedef std::string String;
25
-
26
-
27
- enum {UNKNOWN = 0};
28
-
29
22
 
30
23
  }// Rays
31
24
 
@@ -0,0 +1,41 @@
1
+ // -*- c++ -*-
2
+ #pragma once
3
+ #ifndef __RAYS_EXCEPTION_H__
4
+ #define __RAYS_EXCEPTION_H__
5
+
6
+
7
+ #include <stdexcept>
8
+ #include <rays/defs.h>
9
+
10
+
11
+ namespace Rays
12
+ {
13
+
14
+
15
+ class RaysException : public std::runtime_error
16
+ {
17
+
18
+ typedef std::runtime_error Super;
19
+
20
+ public:
21
+
22
+ RaysException (const char* format = NULL, ...);
23
+
24
+ ~RaysException () throw();
25
+
26
+ const char* what () const throw();
27
+
28
+ private:
29
+
30
+ String text;
31
+
32
+ };// RaysException
33
+
34
+
35
+ void error (const char* format = NULL, ...);
36
+
37
+
38
+ }// Rays
39
+
40
+
41
+ #endif//EOH
@@ -17,7 +17,7 @@ namespace Rays
17
17
  enum ShapeType
18
18
  {
19
19
 
20
- SHAPE_UNKNOWN = UNKNOWN,
20
+ SHAPE_UNKNOWN = Xot::UNKNOWN,
21
21
 
22
22
  POINTS = GL_POINTS,
23
23
 
@@ -62,9 +62,9 @@ namespace Rays
62
62
 
63
63
  bool end ();
64
64
 
65
- bool push ();
65
+ bool push_matrix ();
66
66
 
67
- bool pop ();
67
+ bool pop_matrix ();
68
68
 
69
69
  //
70
70
  // high level drawing methods
data/lib/rays/module.rb CHANGED
@@ -15,7 +15,15 @@ module Rays
15
15
  end
16
16
 
17
17
  def library_dirs ()
18
- [File.join(root_dir, 'lib')]
18
+ %w[lib ext].map {|dir| File.join root_dir, dir}
19
+ end
20
+
21
+ def task_dir ()
22
+ File.join root_dir, 'task'
23
+ end
24
+
25
+ def load_tasks ()
26
+ Dir["#{task_dir}/**/*.rake"].each {|path| load path}
19
27
  end
20
28
 
21
29
  def version ()
data/rays.gemspec CHANGED
@@ -7,12 +7,15 @@ require 'rake'
7
7
  require 'rays/module'
8
8
 
9
9
 
10
- FILES = FileList[*%w[
11
- ChangeLog
10
+ MODULE = Rays
11
+ NAME = MODULE.name.downcase
12
+
13
+
14
+ FILES = FileList[*%W[
12
15
  README
16
+ ChangeLog
13
17
  Rakefile
14
- support.rb
15
- rays.gemspec
18
+ #{NAME}.gemspec
16
19
  VERSION
17
20
  task/**/*.rake
18
21
  ext/**/*.rb
@@ -26,20 +29,27 @@ FILES = FileList[*%w[
26
29
  test/**/*.rb
27
30
  ]]
28
31
 
32
+ RDOCS = FileList[*%W[
33
+ README
34
+ .doc/ext/**/*.cpp
35
+ ]]
36
+
37
+
29
38
  Gem::Specification.new do |s|
30
- s.name = 'rays'
39
+ s.name = NAME
31
40
  s.summary = 'A Drawing Engine using OpenGL.'
32
41
  s.description = 'This library helps you to develop graphics application with OpenGL.'
33
- s.version = Rays.version
42
+ s.version = MODULE.version
34
43
 
35
44
  s.authors = %w[snori]
36
45
  s.email = 'snori@xord.org'
37
- s.homepage = 'http://github.com/xord/rays'
46
+ s.homepage = "http://github.com/xord/#{NAME}"
38
47
 
39
48
  s.platform = Gem::Platform::RUBY
40
49
  s.required_ruby_version = '>=1.9.0'
41
50
  s.require_paths << 'ext'
42
51
 
52
+ s.add_runtime_dependency 'xot'
43
53
  s.add_runtime_dependency 'rucy'
44
54
  s.add_development_dependency 'rake'
45
55
  s.add_development_dependency 'gemcutter'
@@ -48,7 +58,7 @@ Gem::Specification.new do |s|
48
58
  s.test_files = FileList['test/**/test_*.rb'].to_a
49
59
 
50
60
  s.has_rdoc = true
51
- s.extra_rdoc_files = ['README']
61
+ s.extra_rdoc_files = RDOCS.to_a
52
62
 
53
63
  s.extensions << 'Rakefile'
54
64
  end