pango 3.1.1 → 3.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +27 -5
- data/ext/pango/depend +2 -2
- data/ext/pango/extconf.rb +32 -28
- data/ext/pango/pango.def +0 -16
- data/ext/pango/rb-pango-attr-list.c +64 -0
- data/ext/pango/rb-pango-attribute.c +147 -0
- data/ext/pango/rb-pango-context.c +79 -0
- data/ext/pango/{rbpangoconversions.h → rb-pango-conversions.h} +4 -6
- data/ext/pango/rb-pango-private.h +27 -0
- data/ext/pango/rb-pango.c +32 -0
- data/ext/pango/rb-pango.h +29 -0
- data/extconf.rb +25 -9
- data/lib/pango.rb +24 -68
- data/lib/pango/cairo-loader.rb +63 -0
- data/lib/pango/color.rb +31 -0
- data/lib/pango/deprecated.rb +37 -0
- data/lib/pango/font-description.rb +29 -0
- data/lib/pango/language.rb +29 -0
- data/lib/pango/layout.rb +41 -0
- data/lib/pango/loader.rb +87 -0
- data/lib/pango/markup.rb +31 -0
- data/lib/pango/matrix.rb +64 -0
- data/lib/pango/rectangle.rb +28 -0
- data/lib/pango/version.rb +30 -0
- data/test/pango-test-utils.rb +7 -7
- data/test/run-test.rb +34 -8
- data/test/test-attr-list.rb +28 -0
- data/test/test-color.rb +1 -3
- data/test/test-context.rb +4 -4
- data/test/test-enum.rb +37 -0
- data/test/test-font-description.rb +31 -0
- data/test/test-language.rb +2 -1
- data/test/test-layout.rb +12 -0
- data/test/test-markup.rb +30 -0
- data/test/test-matrix.rb +131 -5
- data/test/test-rectangle.rb +16 -3
- metadata +42 -56
- data/README +0 -32
- data/ext/pango/rbpango.c +0 -356
- data/ext/pango/rbpango.h +0 -95
- data/ext/pango/rbpangoanalysis.c +0 -218
- data/ext/pango/rbpangoattribute.c +0 -506
- data/ext/pango/rbpangoattriterator.c +0 -141
- data/ext/pango/rbpangoattrlist.c +0 -101
- data/ext/pango/rbpangocairo.c +0 -122
- data/ext/pango/rbpangocairocontext.c +0 -131
- data/ext/pango/rbpangocolor.c +0 -120
- data/ext/pango/rbpangocontext.c +0 -344
- data/ext/pango/rbpangocoverage.c +0 -106
- data/ext/pango/rbpangoengine.c +0 -73
- data/ext/pango/rbpangofont.c +0 -110
- data/ext/pango/rbpangofontdescription.c +0 -282
- data/ext/pango/rbpangofontface.c +0 -73
- data/ext/pango/rbpangofontfamily.c +0 -79
- data/ext/pango/rbpangofontmap.c +0 -102
- data/ext/pango/rbpangofontmetrics.c +0 -85
- data/ext/pango/rbpangofontset.c +0 -69
- data/ext/pango/rbpangofontsetsimple.c +0 -60
- data/ext/pango/rbpangoglyphinfo.c +0 -123
- data/ext/pango/rbpangoglyphitem.c +0 -125
- data/ext/pango/rbpangoglyphstring.c +0 -151
- data/ext/pango/rbpangogravity.c +0 -54
- data/ext/pango/rbpangoitem.c +0 -95
- data/ext/pango/rbpangolanguage.c +0 -94
- data/ext/pango/rbpangolayout.c +0 -583
- data/ext/pango/rbpangolayoutiter.c +0 -189
- data/ext/pango/rbpangolayoutline.c +0 -243
- data/ext/pango/rbpangologattr.c +0 -109
- data/ext/pango/rbpangomatrix.c +0 -143
- data/ext/pango/rbpangoprivate.h +0 -49
- data/ext/pango/rbpangorectangle.c +0 -170
- data/ext/pango/rbpangorenderer.c +0 -193
- data/ext/pango/rbpangoscript.c +0 -84
- data/ext/pango/rbpangoscriptiter.c +0 -92
- data/ext/pango/rbpangotabarray.c +0 -128
- data/sample/attribute.rb +0 -82
- data/sample/break.rb +0 -28
- data/sample/gdk_layout.rb +0 -27
- data/sample/glyphstring.rb +0 -61
- data/sample/item.rb +0 -37
- data/sample/label.rb +0 -23
- data/sample/layout.rb +0 -102
- data/sample/pango_cairo.rb +0 -66
- data/sample/parse.rb +0 -33
- data/sample/sample.txt +0 -10
- data/sample/script.rb +0 -23
data/ext/pango/rbpangofontface.c
DELETED
@@ -1,73 +0,0 @@
|
|
1
|
-
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
-
/*
|
3
|
-
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
-
* Copyright (C) 2002,2003 Masao Mutoh <mutoh@highway.ne.jp>
|
5
|
-
*
|
6
|
-
* This library is free software; you can redistribute it and/or
|
7
|
-
* modify it under the terms of the GNU Lesser General Public
|
8
|
-
* License as published by the Free Software Foundation; either
|
9
|
-
* version 2.1 of the License, or (at your option) any later version.
|
10
|
-
*
|
11
|
-
* This library is distributed in the hope that it will be useful,
|
12
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
-
* Lesser General Public License for more details.
|
15
|
-
*
|
16
|
-
* You should have received a copy of the GNU Lesser General Public
|
17
|
-
* License along with this library; if not, write to the Free Software
|
18
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
19
|
-
* MA 02110-1301 USA
|
20
|
-
*/
|
21
|
-
|
22
|
-
#include "rbpangoprivate.h"
|
23
|
-
|
24
|
-
#define RG_TARGET_NAMESPACE cFontFace
|
25
|
-
#define _SELF(self) (RVAL2PANGOFONTFACE(self))
|
26
|
-
|
27
|
-
static VALUE
|
28
|
-
rg_name(VALUE self)
|
29
|
-
{
|
30
|
-
return CSTR2RVAL(pango_font_face_get_face_name(_SELF(self)));
|
31
|
-
}
|
32
|
-
|
33
|
-
static VALUE
|
34
|
-
rg_describe(VALUE self)
|
35
|
-
{
|
36
|
-
return PANGOFONTDESCRIPTION2RVAL(pango_font_face_describe(_SELF(self)));
|
37
|
-
}
|
38
|
-
|
39
|
-
static VALUE
|
40
|
-
rg_sizes(VALUE self)
|
41
|
-
{
|
42
|
-
int n_sizes;
|
43
|
-
int* sizes;
|
44
|
-
int i;
|
45
|
-
VALUE result;
|
46
|
-
|
47
|
-
pango_font_face_list_sizes(_SELF(self),
|
48
|
-
&sizes,
|
49
|
-
&n_sizes);
|
50
|
-
|
51
|
-
result = rb_ary_new();
|
52
|
-
for (i = 0; i < n_sizes; i++)
|
53
|
-
rb_ary_push(result, GOBJ2RVAL(&sizes[i]));
|
54
|
-
|
55
|
-
g_free(sizes);
|
56
|
-
return result;
|
57
|
-
}
|
58
|
-
|
59
|
-
void
|
60
|
-
Init_pango_font_face(VALUE mPango)
|
61
|
-
{
|
62
|
-
VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(PANGO_TYPE_FONT_FACE, "FontFace", mPango);
|
63
|
-
|
64
|
-
RG_DEF_METHOD(name, 0);
|
65
|
-
RG_DEF_METHOD(describe, 0);
|
66
|
-
RG_DEF_METHOD(sizes, 0);
|
67
|
-
G_DEF_CLASS3("PangoFcFace", "FcFace", mPango);
|
68
|
-
G_DEF_CLASS3("PangoFT2Face", "FT2Face", mPango);
|
69
|
-
G_DEF_CLASS3("PangoXftFace", "XftFace", mPango);
|
70
|
-
G_DEF_CLASS3("PangoXFace", "XFace", mPango);
|
71
|
-
G_DEF_CLASS3("PangoWin32Face", "Win32Face", mPango);
|
72
|
-
G_DEF_CLASS3("PangoATSUIFace", "ATSUIFace", mPango);
|
73
|
-
}
|
@@ -1,79 +0,0 @@
|
|
1
|
-
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
-
/*
|
3
|
-
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
-
* Copyright (C) 2002-2005 Masao Mutoh
|
5
|
-
*
|
6
|
-
* This library is free software; you can redistribute it and/or
|
7
|
-
* modify it under the terms of the GNU Lesser General Public
|
8
|
-
* License as published by the Free Software Foundation; either
|
9
|
-
* version 2.1 of the License, or (at your option) any later version.
|
10
|
-
*
|
11
|
-
* This library is distributed in the hope that it will be useful,
|
12
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
-
* Lesser General Public License for more details.
|
15
|
-
*
|
16
|
-
* You should have received a copy of the GNU Lesser General Public
|
17
|
-
* License along with this library; if not, write to the Free Software
|
18
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
19
|
-
* MA 02110-1301 USA
|
20
|
-
*/
|
21
|
-
|
22
|
-
#include "rbpangoprivate.h"
|
23
|
-
|
24
|
-
#define RG_TARGET_NAMESPACE cFontFamily
|
25
|
-
#define _SELF(self) (RVAL2PANGOFONTFAMILY(self))
|
26
|
-
|
27
|
-
static VALUE
|
28
|
-
rg_name(VALUE self)
|
29
|
-
{
|
30
|
-
return CSTR2RVAL(pango_font_family_get_name(_SELF(self)));
|
31
|
-
}
|
32
|
-
|
33
|
-
#ifdef HAVE_PANGO_FONT_FAMILY_IS_MONOSPACE
|
34
|
-
static VALUE
|
35
|
-
rg_monospace_p(VALUE self)
|
36
|
-
{
|
37
|
-
return CBOOL2RVAL(pango_font_family_is_monospace(_SELF(self)));
|
38
|
-
}
|
39
|
-
#endif
|
40
|
-
|
41
|
-
static VALUE
|
42
|
-
rg_faces(VALUE self)
|
43
|
-
{
|
44
|
-
int n_faces;
|
45
|
-
PangoFontFace** faces;
|
46
|
-
int i;
|
47
|
-
VALUE result;
|
48
|
-
|
49
|
-
pango_font_family_list_faces(_SELF(self),
|
50
|
-
&faces,
|
51
|
-
&n_faces);
|
52
|
-
|
53
|
-
result = rb_ary_new2(n_faces);
|
54
|
-
for (i = 0; i < n_faces; i++)
|
55
|
-
rb_ary_store(result, i, GOBJ2RVAL(faces[i]));
|
56
|
-
|
57
|
-
g_free(faces);
|
58
|
-
|
59
|
-
return result;
|
60
|
-
}
|
61
|
-
|
62
|
-
void
|
63
|
-
Init_pango_font_family(VALUE mPango)
|
64
|
-
{
|
65
|
-
VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(PANGO_TYPE_FONT_FAMILY, "FontFamily", mPango);
|
66
|
-
|
67
|
-
RG_DEF_METHOD(name, 0);
|
68
|
-
#ifdef HAVE_PANGO_FONT_FAMILY_IS_MONOSPACE
|
69
|
-
RG_DEF_METHOD_P(monospace, 0);
|
70
|
-
#endif
|
71
|
-
RG_DEF_METHOD(faces, 0);
|
72
|
-
|
73
|
-
G_DEF_CLASS3("PangoFcFamily", "FcFamily", mPango);
|
74
|
-
G_DEF_CLASS3("PangoFT2Family", "FT2Family", mPango);
|
75
|
-
G_DEF_CLASS3("PangoXftFamily", "XftFamily", mPango);
|
76
|
-
G_DEF_CLASS3("PangoXFamily", "XFamily", mPango);
|
77
|
-
G_DEF_CLASS3("PangoWin32Family", "Win32Family", mPango);
|
78
|
-
G_DEF_CLASS3("PangoATSUIFamily", "ATSUIFamily", mPango);
|
79
|
-
}
|
data/ext/pango/rbpangofontmap.c
DELETED
@@ -1,102 +0,0 @@
|
|
1
|
-
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
-
/*
|
3
|
-
* Copyright (C) 2011-2013 Ruby-GNOME2 Project Team
|
4
|
-
* Copyright (C) 2002-2005 Masao Mutoh
|
5
|
-
*
|
6
|
-
* This library is free software; you can redistribute it and/or
|
7
|
-
* modify it under the terms of the GNU Lesser General Public
|
8
|
-
* License as published by the Free Software Foundation; either
|
9
|
-
* version 2.1 of the License, or (at your option) any later version.
|
10
|
-
*
|
11
|
-
* This library is distributed in the hope that it will be useful,
|
12
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
-
* Lesser General Public License for more details.
|
15
|
-
*
|
16
|
-
* You should have received a copy of the GNU Lesser General Public
|
17
|
-
* License along with this library; if not, write to the Free Software
|
18
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
19
|
-
* MA 02110-1301 USA
|
20
|
-
*/
|
21
|
-
|
22
|
-
#include "rbpangoprivate.h"
|
23
|
-
|
24
|
-
#define RG_TARGET_NAMESPACE cFontMap
|
25
|
-
#define _SELF(self) (RVAL2PANGOFONTMAP(self))
|
26
|
-
|
27
|
-
/*
|
28
|
-
static VALUE
|
29
|
-
rg_initialize(VALUE self)
|
30
|
-
{
|
31
|
-
G_INITIALIZE(self, pango_ft2_font_map_new());
|
32
|
-
return Qnil;
|
33
|
-
}
|
34
|
-
*/
|
35
|
-
|
36
|
-
static VALUE
|
37
|
-
rg_load_font(VALUE self, VALUE context, VALUE desc)
|
38
|
-
{
|
39
|
-
return GOBJ2RVAL(pango_font_map_load_font(_SELF(self),
|
40
|
-
RVAL2PANGOCONTEXT(context),
|
41
|
-
RVAL2PANGOFONTDESCRIPTION(desc)));
|
42
|
-
}
|
43
|
-
|
44
|
-
static VALUE
|
45
|
-
rg_load_fontset(VALUE self, VALUE context, VALUE desc, VALUE lang)
|
46
|
-
{
|
47
|
-
return GOBJ2RVAL(pango_font_map_load_fontset(_SELF(self),
|
48
|
-
RVAL2PANGOCONTEXT(context),
|
49
|
-
RVAL2PANGOFONTDESCRIPTION(desc),
|
50
|
-
RVAL2PANGOLANGUAGE(lang)));
|
51
|
-
}
|
52
|
-
|
53
|
-
static VALUE
|
54
|
-
rg_families(VALUE self)
|
55
|
-
{
|
56
|
-
int n_families;
|
57
|
-
PangoFontFamily** families;
|
58
|
-
int i;
|
59
|
-
VALUE result;
|
60
|
-
|
61
|
-
pango_font_map_list_families(_SELF(self),
|
62
|
-
&families,
|
63
|
-
&n_families);
|
64
|
-
|
65
|
-
result = rb_ary_new2(n_families);
|
66
|
-
for (i = 0; i < n_families; i++)
|
67
|
-
rb_ary_store(result, i, GOBJ2RVAL(families[i]));
|
68
|
-
|
69
|
-
g_free(families);
|
70
|
-
|
71
|
-
return result;
|
72
|
-
}
|
73
|
-
|
74
|
-
static VALUE
|
75
|
-
rg_shape_engine_type(VALUE self)
|
76
|
-
{
|
77
|
-
return CSTR2RVAL(pango_font_map_get_shape_engine_type(_SELF(self)));
|
78
|
-
}
|
79
|
-
|
80
|
-
void
|
81
|
-
Init_pango_font_map(VALUE mPango)
|
82
|
-
{
|
83
|
-
VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(PANGO_TYPE_FONT_MAP, "FontMap", mPango);
|
84
|
-
|
85
|
-
/*
|
86
|
-
RG_DEF_METHOD(initialize, 0);
|
87
|
-
*/
|
88
|
-
RG_DEF_METHOD(load_font, 2);
|
89
|
-
RG_DEF_METHOD(load_fontset, 3);
|
90
|
-
RG_DEF_METHOD(families, 0);
|
91
|
-
RG_DEF_METHOD(shape_engine_type, 0);
|
92
|
-
|
93
|
-
G_DEF_CLASS3("PangoFcFontMap", "FcFontMap", mPango);
|
94
|
-
G_DEF_CLASS3("PangoXftFontMap", "XftFontMap", mPango);
|
95
|
-
G_DEF_CLASS3("PangoFT2FontMap", "FT2FontMap", mPango);
|
96
|
-
G_DEF_CLASS3("PangoXFontMap", "XFontMap", mPango);
|
97
|
-
G_DEF_CLASS3("PangoWin32FontMap", "Win32FontMap", mPango);
|
98
|
-
G_DEF_CLASS3("PangoCoreTextFontMap", "CoreTextFontMap", mPango);
|
99
|
-
G_DEF_CLASS3("PangoCairoFcFontMap", "CairoFcFontMap", mPango);
|
100
|
-
G_DEF_CLASS3("PangoCairoWin32FontMap", "CairoWin32FontMap", mPango);
|
101
|
-
G_DEF_CLASS3("PangoCairoCoreTextFontMap", "CairoCoreTextFontMap", mPango);
|
102
|
-
}
|
@@ -1,85 +0,0 @@
|
|
1
|
-
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
-
/*
|
3
|
-
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
-
* Copyright (C) 2002-2005 Masao Mutoh
|
5
|
-
*
|
6
|
-
* This library is free software; you can redistribute it and/or
|
7
|
-
* modify it under the terms of the GNU Lesser General Public
|
8
|
-
* License as published by the Free Software Foundation; either
|
9
|
-
* version 2.1 of the License, or (at your option) any later version.
|
10
|
-
*
|
11
|
-
* This library is distributed in the hope that it will be useful,
|
12
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
-
* Lesser General Public License for more details.
|
15
|
-
*
|
16
|
-
* You should have received a copy of the GNU Lesser General Public
|
17
|
-
* License along with this library; if not, write to the Free Software
|
18
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
19
|
-
* MA 02110-1301 USA
|
20
|
-
*/
|
21
|
-
|
22
|
-
#include "rbpangoprivate.h"
|
23
|
-
|
24
|
-
#define RG_TARGET_NAMESPACE cFontMetrics
|
25
|
-
#define _SELF(self) (RVAL2PANGOFONTMETRICS(self))
|
26
|
-
|
27
|
-
static VALUE
|
28
|
-
rg_ascent(VALUE self)
|
29
|
-
{
|
30
|
-
return INT2NUM(pango_font_metrics_get_ascent(_SELF(self)));
|
31
|
-
}
|
32
|
-
|
33
|
-
static VALUE
|
34
|
-
rg_descent(VALUE self)
|
35
|
-
{
|
36
|
-
return INT2NUM(pango_font_metrics_get_descent(_SELF(self)));
|
37
|
-
}
|
38
|
-
|
39
|
-
static VALUE
|
40
|
-
rg_approximate_char_width(VALUE self)
|
41
|
-
{
|
42
|
-
return INT2NUM(pango_font_metrics_get_approximate_char_width(_SELF(self)));
|
43
|
-
}
|
44
|
-
|
45
|
-
static VALUE
|
46
|
-
rg_approximate_digit_width(VALUE self)
|
47
|
-
{
|
48
|
-
return INT2NUM(pango_font_metrics_get_approximate_digit_width(_SELF(self)));
|
49
|
-
}
|
50
|
-
|
51
|
-
static VALUE
|
52
|
-
rg_underline_thickness(VALUE self)
|
53
|
-
{
|
54
|
-
return INT2NUM(pango_font_metrics_get_underline_thickness(_SELF(self)));
|
55
|
-
}
|
56
|
-
static VALUE
|
57
|
-
rg_underline_position(VALUE self)
|
58
|
-
{
|
59
|
-
return INT2NUM(pango_font_metrics_get_underline_position(_SELF(self)));
|
60
|
-
}
|
61
|
-
static VALUE
|
62
|
-
rg_strikethrough_thickness(VALUE self)
|
63
|
-
{
|
64
|
-
return INT2NUM(pango_font_metrics_get_strikethrough_thickness(_SELF(self)));
|
65
|
-
}
|
66
|
-
static VALUE
|
67
|
-
rg_strikethrough_position(VALUE self)
|
68
|
-
{
|
69
|
-
return INT2NUM(pango_font_metrics_get_strikethrough_position(_SELF(self)));
|
70
|
-
}
|
71
|
-
|
72
|
-
void
|
73
|
-
Init_pango_font_metrics(VALUE mPango)
|
74
|
-
{
|
75
|
-
VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(PANGO_TYPE_FONT_METRICS, "FontMetrics", mPango);
|
76
|
-
|
77
|
-
RG_DEF_METHOD(ascent, 0);
|
78
|
-
RG_DEF_METHOD(descent, 0);
|
79
|
-
RG_DEF_METHOD(approximate_char_width, 0);
|
80
|
-
RG_DEF_METHOD(approximate_digit_width, 0);
|
81
|
-
RG_DEF_METHOD(underline_thickness, 0);
|
82
|
-
RG_DEF_METHOD(underline_position, 0);
|
83
|
-
RG_DEF_METHOD(strikethrough_thickness, 0);
|
84
|
-
RG_DEF_METHOD(strikethrough_position, 0);
|
85
|
-
}
|
data/ext/pango/rbpangofontset.c
DELETED
@@ -1,69 +0,0 @@
|
|
1
|
-
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
-
/*
|
3
|
-
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
-
* Copyright (C) 2002-2005 Masao Mutoh
|
5
|
-
*
|
6
|
-
* This library is free software; you can redistribute it and/or
|
7
|
-
* modify it under the terms of the GNU Lesser General Public
|
8
|
-
* License as published by the Free Software Foundation; either
|
9
|
-
* version 2.1 of the License, or (at your option) any later version.
|
10
|
-
*
|
11
|
-
* This library is distributed in the hope that it will be useful,
|
12
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
-
* Lesser General Public License for more details.
|
15
|
-
*
|
16
|
-
* You should have received a copy of the GNU Lesser General Public
|
17
|
-
* License along with this library; if not, write to the Free Software
|
18
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
19
|
-
* MA 02110-1301 USA
|
20
|
-
*/
|
21
|
-
|
22
|
-
#include "rbpangoprivate.h"
|
23
|
-
|
24
|
-
#define RG_TARGET_NAMESPACE cFontset
|
25
|
-
#define _SELF(self) (RVAL2PANGOFONTSET(self))
|
26
|
-
|
27
|
-
static ID id_call;
|
28
|
-
|
29
|
-
static VALUE
|
30
|
-
rg_get_font(VALUE self, VALUE wc)
|
31
|
-
{
|
32
|
-
return GOBJ2RVAL(pango_fontset_get_font(_SELF(self), NUM2UINT(wc)));
|
33
|
-
}
|
34
|
-
|
35
|
-
static VALUE
|
36
|
-
rg_metrics(VALUE self)
|
37
|
-
{
|
38
|
-
return PANGOFONTMETRICS2RVAL(pango_fontset_get_metrics(_SELF(self)));
|
39
|
-
}
|
40
|
-
|
41
|
-
static gboolean
|
42
|
-
fontset_each(PangoFontset *fontset, PangoFont *font, gpointer func)
|
43
|
-
{
|
44
|
-
return RVAL2CBOOL(rb_funcall((VALUE)func, id_call,
|
45
|
-
2, GOBJ2RVAL(fontset), GOBJ2RVAL(font)));
|
46
|
-
}
|
47
|
-
|
48
|
-
static VALUE
|
49
|
-
rg_each(VALUE self)
|
50
|
-
{
|
51
|
-
VALUE func = rb_block_proc();
|
52
|
-
G_RELATIVE(self, func);
|
53
|
-
pango_fontset_foreach(_SELF(self),
|
54
|
-
(PangoFontsetForeachFunc)fontset_each,
|
55
|
-
(gpointer)func);
|
56
|
-
return self;
|
57
|
-
}
|
58
|
-
|
59
|
-
void
|
60
|
-
Init_pango_fontset(VALUE mPango)
|
61
|
-
{
|
62
|
-
VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(PANGO_TYPE_FONTSET, "Fontset", mPango);
|
63
|
-
|
64
|
-
id_call = rb_intern("call");
|
65
|
-
|
66
|
-
RG_DEF_METHOD(get_font, 1);
|
67
|
-
RG_DEF_METHOD(metrics, 0);
|
68
|
-
RG_DEF_METHOD(each, 0);
|
69
|
-
}
|
@@ -1,60 +0,0 @@
|
|
1
|
-
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
-
/*
|
3
|
-
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
-
* Copyright (C) 2002,2003 Masao Mutoh
|
5
|
-
*
|
6
|
-
* This library is free software; you can redistribute it and/or
|
7
|
-
* modify it under the terms of the GNU Lesser General Public
|
8
|
-
* License as published by the Free Software Foundation; either
|
9
|
-
* version 2.1 of the License, or (at your option) any later version.
|
10
|
-
*
|
11
|
-
* This library is distributed in the hope that it will be useful,
|
12
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
-
* Lesser General Public License for more details.
|
15
|
-
*
|
16
|
-
* You should have received a copy of the GNU Lesser General Public
|
17
|
-
* License along with this library; if not, write to the Free Software
|
18
|
-
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
19
|
-
* MA 02110-1301 USA
|
20
|
-
*/
|
21
|
-
|
22
|
-
#include "rbpangoprivate.h"
|
23
|
-
|
24
|
-
#ifdef PANGO_ENABLE_BACKEND
|
25
|
-
|
26
|
-
#define RG_TARGET_NAMESPACE cFontsetSimple
|
27
|
-
#define _SELF(self) (RVAL2PANGOFONTSETSIMPLE(self))
|
28
|
-
|
29
|
-
static VALUE
|
30
|
-
rg_initialize(VALUE self, VALUE lang)
|
31
|
-
{
|
32
|
-
G_INITIALIZE(self, pango_fontset_simple_new(RVAL2PANGOLANGUAGE(lang)));
|
33
|
-
return Qnil;
|
34
|
-
}
|
35
|
-
|
36
|
-
static VALUE
|
37
|
-
rg_append(VALUE self, VALUE font)
|
38
|
-
{
|
39
|
-
pango_fontset_simple_append(_SELF(self), RVAL2PANGOFONT(font));
|
40
|
-
return self;
|
41
|
-
}
|
42
|
-
|
43
|
-
static VALUE
|
44
|
-
rg_size(VALUE self)
|
45
|
-
{
|
46
|
-
return INT2NUM(pango_fontset_simple_size(_SELF(self)));
|
47
|
-
}
|
48
|
-
|
49
|
-
#endif
|
50
|
-
void
|
51
|
-
Init_pango_fontset_simple(VALUE mPango)
|
52
|
-
{
|
53
|
-
#ifdef PANGO_ENABLE_BACKEND
|
54
|
-
VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(PANGO_TYPE_FONTSET_SIMPLE, "FontsetSimple", mPango);
|
55
|
-
|
56
|
-
RG_DEF_METHOD(initialize, 1);
|
57
|
-
RG_DEF_METHOD(append, 1);
|
58
|
-
RG_DEF_METHOD(size, 0);
|
59
|
-
#endif
|
60
|
-
}
|