50
cr_font_extents_allocate (VALUE klass)
52
return Data_Wrap_Struct (klass, NULL, -1, NULL);
56
cr_font_extents_initialize (VALUE self)
58
cairo_font_extents_t *extents;
60
extents = ALLOC (cairo_font_extents_t);
61
extents->ascent = 1.0;
62
extents->descent = 0.0;
63
extents->height = 1.0;
64
extents->max_x_advance = 1.0;
65
extents->max_y_advance = 0.0;
67
DATA_PTR (self) = extents;
50
73
cr_font_extents_ascent (VALUE self)
52
75
return rb_float_new (_SELF(self)->ascent);
79
cr_font_extents_set_ascent (VALUE self, VALUE ascent)
81
_SELF(self)->ascent = NUM2DBL (ascent);
56
86
cr_font_extents_descent (VALUE self)
58
88
return rb_float_new (_SELF(self)->descent);
92
cr_font_extents_set_descent (VALUE self, VALUE descent)
94
_SELF(self)->descent = NUM2DBL (descent);
62
99
cr_font_extents_height (VALUE self)
64
101
return rb_float_new (_SELF(self)->height);
105
cr_font_extents_set_height (VALUE self, VALUE height)
107
_SELF(self)->height = NUM2DBL (height);
68
112
cr_font_extents_max_x_advance (VALUE self)
70
114
return rb_float_new (_SELF(self)->max_x_advance);
118
cr_font_extents_set_max_x_advance (VALUE self, VALUE max_x_advance)
120
_SELF(self)->max_x_advance = NUM2DBL (max_x_advance);
74
125
cr_font_extents_max_y_advance (VALUE self)
76
127
return rb_float_new (_SELF(self)->max_y_advance);
131
cr_font_extents_set_max_y_advance (VALUE self, VALUE max_y_advance)
133
_SELF(self)->max_y_advance = NUM2DBL (max_y_advance);
80
138
cr_font_extents_to_s (VALUE self)
110
168
rb_cCairo_FontExtents =
111
169
rb_define_class_under (rb_mCairo, "FontExtents", rb_cObject);
171
rb_define_alloc_func (rb_cCairo_FontExtents, cr_font_extents_allocate);
173
rb_define_method (rb_cCairo_FontExtents, "initialize",
174
cr_font_extents_initialize, 0);
113
176
rb_define_method (rb_cCairo_FontExtents, "ascent",
114
177
cr_font_extents_ascent, 0);
178
rb_define_method (rb_cCairo_FontExtents, "set_ascent",
179
cr_font_extents_set_ascent, 1);
115
180
rb_define_method (rb_cCairo_FontExtents, "descent",
116
181
cr_font_extents_descent, 0);
182
rb_define_method (rb_cCairo_FontExtents, "set_descent",
183
cr_font_extents_set_descent, 1);
117
184
rb_define_method (rb_cCairo_FontExtents, "height",
118
185
cr_font_extents_height, 0);
186
rb_define_method (rb_cCairo_FontExtents, "set_height",
187
cr_font_extents_set_height, 1);
119
188
rb_define_method (rb_cCairo_FontExtents, "max_x_advance",
120
189
cr_font_extents_max_x_advance, 0);
190
rb_define_method (rb_cCairo_FontExtents, "set_max_x_advance",
191
cr_font_extents_set_max_x_advance, 1);
121
192
rb_define_method (rb_cCairo_FontExtents, "max_y_advance",
122
193
cr_font_extents_max_y_advance, 0);
194
rb_define_method (rb_cCairo_FontExtents, "set_max_y_advance",
195
cr_font_extents_set_max_y_advance, 1);
124
197
rb_define_method (rb_cCairo_FontExtents, "to_s", cr_font_extents_to_s, 0);
199
RB_CAIRO_DEF_SETTERS (rb_cCairo_FontExtents);