Class: Ray::Font
Class Method Summary
collapse
Instance Method Summary
collapse
[], add_set, clear, missing_pattern, reject!, select!, set_hash
Methods included from TextHelper
#convert, #internal_string
Constructor Details
#initialize(filename) ⇒ Object
#initialize(io) ⇒ Object
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
# File 'ext/font.c', line 36
static
VALUE ray_font_init(VALUE self, VALUE arg) {
say_font *font = ray_rb2font(self);
if (rb_respond_to(arg, RAY_METH("read"))) {
arg = rb_funcall(arg, RAY_METH("read"), 0);
if (!say_font_load_from_memory(font, StringValuePtr(arg),
RSTRING_LEN(arg))) {
rb_raise(rb_eRuntimeError, "%s", say_error_get_last());
}
}
else if (rb_respond_to(arg, RAY_METH("to_str"))) {
if (!say_font_load_from_file(font, StringValuePtr(arg))) {
rb_raise(rb_eRuntimeError, "%s", say_error_get_last());
}
}
else {
rb_raise(rb_eTypeError, "Can't convert %s into String",
RAY_OBJ_CLASSNAME(arg));
}
return self;
}
|
Class Method Details
24
25
26
27
28
|
# File 'ext/font.c', line 24
static
VALUE ray_font_default(VALUE self) {
say_font *font = say_font_default();
return Data_Wrap_Struct(self, NULL, NULL, font);
}
|
Instance Method Details
#kerning(size, a, b) ⇒ Integer
69
70
71
72
73
74
75
76
|
# File 'ext/font.c', line 69
static
VALUE ray_font_kerning(VALUE self, VALUE size, VALUE a, VALUE b) {
say_font *font = ray_rb2font(self);
size_t kern = say_font_get_kerning(font, NUM2ULONG(a), NUM2ULONG(b),
NUM2ULONG(size));
return INT2FIX(kern);
}
|
#line_height(size) ⇒ Integer
83
84
85
86
|
# File 'ext/font.c', line 83
static
VALUE ray_font_line_height(VALUE self, VALUE size) {
return INT2FIX(say_font_get_line_height(ray_rb2font(self), NUM2ULONG(size)));
}
|