cairo 1.4.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of cairo might be problematic. Click here for more details.

@@ -0,0 +1,137 @@
1
+ /* -*- c-file-style: "gnu"; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Ruby Cairo Binding
4
+ *
5
+ * $Author: kou $
6
+ * $Date: 2007/03/06 12:17:34 $
7
+ *
8
+ * Copyright 2005 Øyvind Kolås <pippin@freedesktop.org>
9
+ * Copyright 2004-2005 MenTaLguY <mental@rydia.com>
10
+ *
11
+ * This file is made available under the same terms as Ruby
12
+ *
13
+ */
14
+
15
+ #include "rb_cairo.h"
16
+
17
+ VALUE rb_cCairo_TextExtents;
18
+
19
+ #define _SELF(self) (RVAL2CRTEXTEXTENTS(self))
20
+
21
+ cairo_text_extents_t *
22
+ rb_cairo_text_extents_from_ruby_object (VALUE obj)
23
+ {
24
+ cairo_text_extents_t *extents;
25
+ if (!RTEST (rb_obj_is_kind_of (obj, rb_cCairo_TextExtents)))
26
+ {
27
+ rb_raise (rb_eTypeError, "not a cairo text_extents");
28
+ }
29
+ Data_Get_Struct (obj, cairo_text_extents_t, extents);
30
+ return extents;
31
+ }
32
+
33
+ VALUE
34
+ rb_cairo_text_extents_to_ruby_object (cairo_text_extents_t *extents)
35
+ {
36
+ if (extents)
37
+ {
38
+ cairo_text_extents_t *new_extents = ALLOC (cairo_text_extents_t);
39
+ *new_extents = *extents;
40
+ return Data_Wrap_Struct (rb_cCairo_TextExtents, NULL, -1, new_extents);
41
+ }
42
+ else
43
+ {
44
+ return Qnil;
45
+ }
46
+ }
47
+
48
+
49
+ static VALUE
50
+ cr_text_extents_x_bearing (VALUE self)
51
+ {
52
+ return rb_float_new (_SELF(self)->x_bearing);
53
+ }
54
+
55
+ static VALUE
56
+ cr_text_extents_y_bearing (VALUE self)
57
+ {
58
+ return rb_float_new (_SELF(self)->y_bearing);
59
+ }
60
+
61
+ static VALUE
62
+ cr_text_extents_width (VALUE self)
63
+ {
64
+ return rb_float_new (_SELF(self)->width);
65
+ }
66
+
67
+ static VALUE
68
+ cr_text_extents_height (VALUE self)
69
+ {
70
+ return rb_float_new (_SELF(self)->height);
71
+ }
72
+
73
+ static VALUE
74
+ cr_text_extents_x_advance (VALUE self)
75
+ {
76
+ return rb_float_new (_SELF(self)->x_advance);
77
+ }
78
+
79
+ static VALUE
80
+ cr_text_extents_y_advance (VALUE self)
81
+ {
82
+ return rb_float_new (_SELF(self)->y_advance);
83
+ }
84
+
85
+ static VALUE
86
+ cr_text_extents_to_s (VALUE self)
87
+ {
88
+ VALUE ret;
89
+
90
+ ret = rb_str_new2 ("#<");
91
+ rb_str_cat2 (ret, rb_class2name (CLASS_OF (self)));
92
+ rb_str_cat2 (ret, ": ");
93
+ rb_str_cat2 (ret, "x_bearing=");
94
+ rb_str_concat (ret, rb_inspect (cr_text_extents_x_bearing (self)));
95
+ rb_str_cat2 (ret, ", ");
96
+ rb_str_cat2 (ret, "y_bearing=");
97
+ rb_str_concat (ret, rb_inspect (cr_text_extents_y_bearing (self)));
98
+ rb_str_cat2 (ret, ", ");
99
+ rb_str_cat2 (ret, "width=");
100
+ rb_str_concat (ret, rb_inspect (cr_text_extents_width (self)));
101
+ rb_str_cat2 (ret, ", ");
102
+ rb_str_cat2 (ret, "height=");
103
+ rb_str_concat (ret, rb_inspect (cr_text_extents_height (self)));
104
+ rb_str_cat2 (ret, ", ");
105
+ rb_str_cat2 (ret, "x_advance=");
106
+ rb_str_concat (ret, rb_inspect (cr_text_extents_x_advance (self)));
107
+ rb_str_cat2 (ret, ", ");
108
+ rb_str_cat2 (ret, "y_advance=");
109
+ rb_str_concat (ret, rb_inspect (cr_text_extents_y_advance (self)));
110
+ rb_str_cat2 (ret, ">");
111
+
112
+ return ret;
113
+ }
114
+
115
+
116
+ void
117
+ Init_cairo_text_extents (void)
118
+ {
119
+ rb_cCairo_TextExtents =
120
+ rb_define_class_under (rb_mCairo, "TextExtents", rb_cObject);
121
+
122
+ rb_define_method (rb_cCairo_TextExtents, "x_bearing",
123
+ cr_text_extents_x_bearing, 0);
124
+ rb_define_method (rb_cCairo_TextExtents, "y_bearing",
125
+ cr_text_extents_y_bearing, 0);
126
+ rb_define_method (rb_cCairo_TextExtents, "width",
127
+ cr_text_extents_width, 0);
128
+ rb_define_method (rb_cCairo_TextExtents, "height",
129
+ cr_text_extents_height, 0);
130
+ rb_define_method (rb_cCairo_TextExtents, "x_advance",
131
+ cr_text_extents_x_advance, 0);
132
+ rb_define_method (rb_cCairo_TextExtents, "y_advance",
133
+ cr_text_extents_y_advance, 0);
134
+
135
+ rb_define_method (rb_cCairo_TextExtents, "to_s",
136
+ cr_text_extents_to_s, 0);
137
+ }
metadata ADDED
@@ -0,0 +1,89 @@
1
+ --- !ruby/object:Gem::Specification
2
+ rubygems_version: 0.9.0
3
+ specification_version: 1
4
+ name: cairo
5
+ version: !ruby/object:Gem::Version
6
+ version: 1.4.1
7
+ date: 2007-04-13 00:00:00 +09:00
8
+ summary: Ruby bindings for cairo
9
+ require_paths:
10
+ - src/lib
11
+ - src
12
+ email:
13
+ - cairo@cairographics.org
14
+ homepage: http://cairographics.org/rcairo
15
+ rubyforge_project: cairo
16
+ description: Ruby bindings for cairo
17
+ autorequire:
18
+ default_executable:
19
+ bindir: bin
20
+ has_rdoc: false
21
+ required_ruby_version: !ruby/object:Gem::Version::Requirement
22
+ requirements:
23
+ - - ">"
24
+ - !ruby/object:Gem::Version
25
+ version: 0.0.0
26
+ version:
27
+ platform: ruby
28
+ signing_key:
29
+ cert_chain:
30
+ post_install_message:
31
+ authors:
32
+ - Evan Marin
33
+ - "\xC3\x98yvind Kol\xC3\xA5s"
34
+ - MenTaLguY
35
+ - Kouhei Sutou
36
+ files:
37
+ - AUTHORS
38
+ - COPYING
39
+ - ChangeLog
40
+ - GPL
41
+ - NEWS
42
+ - README
43
+ - Rakefile
44
+ - extconf.rb
45
+ - pkg-config.rb
46
+ - samples/pac.rb
47
+ - samples/pac2.rb
48
+ - samples/png.rb
49
+ - samples/scalable.rb
50
+ - samples/text-on-path.rb
51
+ - samples/text2.rb
52
+ - src/cairo.def
53
+ - src/lib/cairo.rb
54
+ - src/lib/cairo/context.rb
55
+ - src/lib/cairo/context/circle.rb
56
+ - src/lib/cairo/context/path.rb
57
+ - src/lib/cairo/context/quad.rb
58
+ - src/lib/cairo/context/rectangle.rb
59
+ - src/rb_cairo.c
60
+ - src/rb_cairo.h
61
+ - src/rb_cairo_constants.c
62
+ - src/rb_cairo_context.c
63
+ - src/rb_cairo_exception.c
64
+ - src/rb_cairo_font_extents.c
65
+ - src/rb_cairo_font_face.c
66
+ - src/rb_cairo_font_options.c
67
+ - src/rb_cairo_glyph.c
68
+ - src/rb_cairo_matrix.c
69
+ - src/rb_cairo_path.c
70
+ - src/rb_cairo_pattern.c
71
+ - src/rb_cairo_private.c
72
+ - src/rb_cairo_private.h
73
+ - src/rb_cairo_scaled_font.c
74
+ - src/rb_cairo_surface.c
75
+ - src/rb_cairo_text_extents.c
76
+ test_files: []
77
+
78
+ rdoc_options: []
79
+
80
+ extra_rdoc_files: []
81
+
82
+ executables: []
83
+
84
+ extensions:
85
+ - extconf.rb
86
+ requirements: []
87
+
88
+ dependencies: []
89
+