pango 2.0.2 → 2.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README +2 -2
- data/Rakefile +7 -5
- data/ext/pango/extconf.rb +4 -4
- data/ext/pango/rbpango.c +0 -9
- data/ext/pango/rbpango.h +2 -10
- data/ext/pango/rbpangoanalysis.c +0 -4
- data/ext/pango/rbpangoattribute.c +1 -26
- data/ext/pango/rbpangoattrlist.c +0 -4
- data/ext/pango/rbpangocairo.c +13 -12
- data/ext/pango/rbpangocairocontext.c +6 -26
- data/ext/pango/rbpangocontext.c +2 -14
- data/ext/pango/rbpangofont.c +0 -12
- data/ext/pango/rbpangofontdescription.c +0 -5
- data/ext/pango/rbpangofontface.c +0 -6
- data/ext/pango/rbpangofontfamily.c +0 -3
- data/ext/pango/rbpangofontmap.c +0 -4
- data/ext/pango/rbpangofontmetrics.c +1 -4
- data/ext/pango/rbpangofontset.c +0 -4
- data/ext/pango/rbpangoglyphitem.c +0 -8
- data/ext/pango/rbpangoglyphstring.c +0 -4
- data/ext/pango/rbpangoitem.c +0 -16
- data/ext/pango/rbpangolanguage.c +0 -5
- data/ext/pango/rbpangolayout.c +36 -19
- data/ext/pango/rbpangolayoutline.c +0 -33
- data/ext/pango/rbpangologattr.c +0 -5
- data/ext/pango/rbpangomatrix.c +0 -10
- data/ext/pango/rbpangoprivate.h +0 -4
- data/ext/pango/rbpangorenderer.c +0 -6
- data/ext/pango/rbpangoscript.c +0 -4
- data/ext/pango/rbpangoscriptiter.c +0 -5
- data/test/{test_layout.rb → test-layout.rb} +14 -0
- metadata +13 -19
data/ext/pango/rbpangocontext.c
CHANGED
@@ -80,13 +80,11 @@ rg_set_font_map(VALUE self, VALUE font_map)
|
|
80
80
|
return self;
|
81
81
|
}
|
82
82
|
|
83
|
-
#if PANGO_CHECK_VERSION(1,6,0)
|
84
83
|
static VALUE
|
85
84
|
rg_font_map(VALUE self)
|
86
85
|
{
|
87
86
|
return GOBJ2RVAL(pango_context_get_font_map(_SELF(self)));
|
88
87
|
}
|
89
|
-
#endif
|
90
88
|
#endif /* PANGO_ENABLE_BACKEND */
|
91
89
|
|
92
90
|
static VALUE
|
@@ -159,7 +157,6 @@ rg_set_gravity_hint(VALUE self, VALUE gravity_hint)
|
|
159
157
|
}
|
160
158
|
#endif
|
161
159
|
|
162
|
-
#if PANGO_CHECK_VERSION(1,6,0)
|
163
160
|
static VALUE
|
164
161
|
rg_matrix(VALUE self)
|
165
162
|
{
|
@@ -174,7 +171,6 @@ rg_set_matrix(VALUE self, VALUE matrix)
|
|
174
171
|
RVAL2PANGOMATRIX(matrix));
|
175
172
|
return self;
|
176
173
|
}
|
177
|
-
#endif
|
178
174
|
|
179
175
|
static VALUE
|
180
176
|
rg_load_font(VALUE self, VALUE desc)
|
@@ -222,8 +218,7 @@ rg_families(VALUE self)
|
|
222
218
|
return result;
|
223
219
|
}
|
224
220
|
|
225
|
-
#
|
226
|
-
# ifdef HAVE_RB_CAIRO_H
|
221
|
+
#ifdef HAVE_RB_CAIRO_H
|
227
222
|
static VALUE
|
228
223
|
rg_set_font_options(VALUE self, VALUE options)
|
229
224
|
{
|
@@ -258,7 +253,6 @@ rg_resolution(VALUE self)
|
|
258
253
|
{
|
259
254
|
return rb_float_new(pango_cairo_context_get_resolution(_SELF(self)));
|
260
255
|
}
|
261
|
-
# endif
|
262
256
|
#endif
|
263
257
|
|
264
258
|
static VALUE
|
@@ -278,9 +272,7 @@ Init_pango_context(VALUE mPango)
|
|
278
272
|
#ifdef PANGO_ENABLE_BACKEND
|
279
273
|
RG_DEF_METHOD(initialize, 0);
|
280
274
|
RG_DEF_METHOD(set_font_map, 1);
|
281
|
-
#if PANGO_CHECK_VERSION(1,6,0)
|
282
275
|
RG_DEF_METHOD(font_map, 0);
|
283
|
-
#endif
|
284
276
|
#endif /* PANGO_ENABLE_BACKEND */
|
285
277
|
RG_DEF_METHOD(font_description, 0);
|
286
278
|
RG_DEF_METHOD(set_font_description, 1);
|
@@ -294,22 +286,18 @@ Init_pango_context(VALUE mPango)
|
|
294
286
|
RG_DEF_METHOD(gravity_hint, 0);
|
295
287
|
RG_DEF_METHOD(set_gravity_hint, 1);
|
296
288
|
#endif
|
297
|
-
#if PANGO_CHECK_VERSION(1,6,0)
|
298
289
|
RG_DEF_METHOD(matrix, 0);
|
299
290
|
RG_DEF_METHOD(set_matrix, 1);
|
300
|
-
#endif
|
301
291
|
RG_DEF_METHOD(load_font, 1);
|
302
292
|
RG_DEF_METHOD(load_fontset, 2);
|
303
293
|
RG_DEF_METHOD(get_metrics, -1);
|
304
294
|
RG_DEF_METHOD(families, 0);
|
305
295
|
|
306
|
-
#
|
307
|
-
# ifdef HAVE_RB_CAIRO_H
|
296
|
+
#ifdef HAVE_RB_CAIRO_H
|
308
297
|
RG_DEF_METHOD(set_font_options, 1);
|
309
298
|
RG_DEF_METHOD(font_options, 0);
|
310
299
|
RG_DEF_METHOD(set_resolution, 1);
|
311
300
|
RG_DEF_METHOD(resolution, 0);
|
312
|
-
# endif
|
313
301
|
#endif
|
314
302
|
|
315
303
|
/* This will remove 2 or 3 releases later since 0.14.0. */
|
data/ext/pango/rbpangofont.c
CHANGED
@@ -41,12 +41,7 @@ rg_describe(int argc, VALUE *argv, VALUE self)
|
|
41
41
|
if (NIL_P(absolute_size) || ! RVAL2CBOOL(absolute_size)){
|
42
42
|
desc = PANGOFONTDESCRIPTION2RVAL(pango_font_describe(_SELF(self)));
|
43
43
|
} else {
|
44
|
-
#if PANGO_CHECK_VERSION(1,14,0)
|
45
44
|
desc = PANGOFONTDESCRIPTION2RVAL(pango_font_describe_with_absolute_size(_SELF(self)));
|
46
|
-
#else
|
47
|
-
rb_warning("Pango::Font#describe(absolute) has been supported since GTK+-2.10.x. Use Pango::Font#describe() instead.");
|
48
|
-
desc = PANGOFONTDESCRIPTION2RVAL(pango_font_describe(_SELF(self)));
|
49
|
-
#endif
|
50
45
|
}
|
51
46
|
return desc;
|
52
47
|
}
|
@@ -86,13 +81,11 @@ rg_metrics(int argc, VALUE *argv, VALUE self)
|
|
86
81
|
return PANGOFONTMETRICS2RVAL(pango_font_get_metrics(_SELF(self), lang));
|
87
82
|
}
|
88
83
|
|
89
|
-
#if PANGO_CHECK_VERSION(1,9,0)
|
90
84
|
static VALUE
|
91
85
|
rg_font_map(VALUE self)
|
92
86
|
{
|
93
87
|
return GOBJ2RVAL(pango_font_get_font_map(_SELF(self)));
|
94
88
|
}
|
95
|
-
#endif
|
96
89
|
|
97
90
|
void
|
98
91
|
Init_pango_font(VALUE mPango)
|
@@ -104,10 +97,7 @@ Init_pango_font(VALUE mPango)
|
|
104
97
|
RG_DEF_METHOD(get_coverage, 1);
|
105
98
|
RG_DEF_METHOD(get_glyph_extents, 1);
|
106
99
|
RG_DEF_METHOD(metrics, -1);
|
107
|
-
|
108
|
-
#if PANGO_CHECK_VERSION(1,9,0)
|
109
100
|
RG_DEF_METHOD(font_map, 0);
|
110
|
-
#endif
|
111
101
|
|
112
102
|
G_DEF_CLASS3("PangoXFont", "XFont", mPango);
|
113
103
|
G_DEF_CLASS3("PangoFT2Font", "FT2Font", mPango);
|
@@ -116,7 +106,5 @@ Init_pango_font(VALUE mPango)
|
|
116
106
|
G_DEF_CLASS3("PangoCairoFcFont", "CairoFcFont", mPango);
|
117
107
|
G_DEF_CLASS3("PangoCairoFont", "CairoFont", mPango);
|
118
108
|
G_DEF_CLASS3("PangoCairoWin32Font", "CairoWin32Font", mPango);
|
119
|
-
#if PANGO_CHECK_VERSION(1,12,0)
|
120
109
|
G_DEF_CLASS3("PangoATSUIFont", "ATSUIFont", mPango);
|
121
|
-
#endif
|
122
110
|
}
|
@@ -150,7 +150,6 @@ rg_size(VALUE self)
|
|
150
150
|
return INT2NUM(pango_font_description_get_size(_SELF(self)));
|
151
151
|
}
|
152
152
|
|
153
|
-
#if PANGO_CHECK_VERSION(1,8,0)
|
154
153
|
static VALUE
|
155
154
|
rg_set_absolute_size(VALUE self, VALUE size)
|
156
155
|
{
|
@@ -163,7 +162,6 @@ rg_size_is_absolute_p(VALUE self)
|
|
163
162
|
{
|
164
163
|
return CBOOL2RVAL(pango_font_description_get_size_is_absolute(_SELF(self)));
|
165
164
|
}
|
166
|
-
#endif
|
167
165
|
|
168
166
|
#if PANGO_CHECK_VERSION(1,16,0)
|
169
167
|
static VALUE
|
@@ -248,11 +246,8 @@ Init_pango_font_description(VALUE mPango)
|
|
248
246
|
RG_DEF_METHOD(stretch, 0);
|
249
247
|
RG_DEF_METHOD(set_size, 1);
|
250
248
|
RG_DEF_METHOD(size, 0);
|
251
|
-
|
252
|
-
#if PANGO_CHECK_VERSION(1,8,0)
|
253
249
|
RG_DEF_METHOD(set_absolute_size, 1);
|
254
250
|
RG_DEF_METHOD_P(size_is_absolute, 0);
|
255
|
-
#endif
|
256
251
|
#if PANGO_CHECK_VERSION(1,16,0)
|
257
252
|
RG_DEF_METHOD(set_gravity, 1);
|
258
253
|
RG_DEF_METHOD(gravity, 0);
|
data/ext/pango/rbpangofontface.c
CHANGED
@@ -36,7 +36,6 @@ rg_describe(VALUE self)
|
|
36
36
|
return PANGOFONTDESCRIPTION2RVAL(pango_font_face_describe(_SELF(self)));
|
37
37
|
}
|
38
38
|
|
39
|
-
#if PANGO_CHECK_VERSION(1,4,0)
|
40
39
|
static VALUE
|
41
40
|
rg_sizes(VALUE self)
|
42
41
|
{
|
@@ -56,7 +55,6 @@ rg_sizes(VALUE self)
|
|
56
55
|
g_free(sizes);
|
57
56
|
return result;
|
58
57
|
}
|
59
|
-
#endif
|
60
58
|
|
61
59
|
void
|
62
60
|
Init_pango_font_face(VALUE mPango)
|
@@ -65,15 +63,11 @@ Init_pango_font_face(VALUE mPango)
|
|
65
63
|
|
66
64
|
RG_DEF_METHOD(name, 0);
|
67
65
|
RG_DEF_METHOD(describe, 0);
|
68
|
-
#if PANGO_CHECK_VERSION(1,4,0)
|
69
66
|
RG_DEF_METHOD(sizes, 0);
|
70
|
-
#endif
|
71
67
|
G_DEF_CLASS3("PangoFcFace", "FcFace", mPango);
|
72
68
|
G_DEF_CLASS3("PangoFT2Face", "FT2Face", mPango);
|
73
69
|
G_DEF_CLASS3("PangoXftFace", "XftFace", mPango);
|
74
70
|
G_DEF_CLASS3("PangoXFace", "XFace", mPango);
|
75
71
|
G_DEF_CLASS3("PangoWin32Face", "Win32Face", mPango);
|
76
|
-
#if PANGO_CHECK_VERSION(1,12,0)
|
77
72
|
G_DEF_CLASS3("PangoATSUIFace", "ATSUIFace", mPango);
|
78
|
-
#endif
|
79
73
|
}
|
@@ -75,8 +75,5 @@ Init_pango_font_family(VALUE mPango)
|
|
75
75
|
G_DEF_CLASS3("PangoXftFamily", "XftFamily", mPango);
|
76
76
|
G_DEF_CLASS3("PangoXFamily", "XFamily", mPango);
|
77
77
|
G_DEF_CLASS3("PangoWin32Family", "Win32Family", mPango);
|
78
|
-
#if PANGO_CHECK_VERSION(1,12,0)
|
79
78
|
G_DEF_CLASS3("PangoATSUIFamily", "ATSUIFamily", mPango);
|
80
|
-
#endif
|
81
|
-
|
82
79
|
}
|
data/ext/pango/rbpangofontmap.c
CHANGED
@@ -71,13 +71,11 @@ rg_families(VALUE self)
|
|
71
71
|
return result;
|
72
72
|
}
|
73
73
|
|
74
|
-
#if PANGO_CHECK_VERSION(1,4,0)
|
75
74
|
static VALUE
|
76
75
|
rg_shape_engine_type(VALUE self)
|
77
76
|
{
|
78
77
|
return CSTR2RVAL(pango_font_map_get_shape_engine_type(_SELF(self)));
|
79
78
|
}
|
80
|
-
#endif
|
81
79
|
|
82
80
|
void
|
83
81
|
Init_pango_font_map(VALUE mPango)
|
@@ -90,9 +88,7 @@ Init_pango_font_map(VALUE mPango)
|
|
90
88
|
RG_DEF_METHOD(load_font, 2);
|
91
89
|
RG_DEF_METHOD(load_fontset, 3);
|
92
90
|
RG_DEF_METHOD(families, 0);
|
93
|
-
#if PANGO_CHECK_VERSION(1,4,0)
|
94
91
|
RG_DEF_METHOD(shape_engine_type, 0);
|
95
|
-
#endif
|
96
92
|
|
97
93
|
G_DEF_CLASS3("PangoFcFontMap", "FcFontMap", mPango);
|
98
94
|
G_DEF_CLASS3("PangoXftFontMap", "XftFontMap", mPango);
|
@@ -48,7 +48,6 @@ rg_approximate_digit_width(VALUE self)
|
|
48
48
|
return INT2NUM(pango_font_metrics_get_approximate_digit_width(_SELF(self)));
|
49
49
|
}
|
50
50
|
|
51
|
-
#if PANGO_CHECK_VERSION(1,6,0)
|
52
51
|
static VALUE
|
53
52
|
rg_underline_thickness(VALUE self)
|
54
53
|
{
|
@@ -69,7 +68,7 @@ rg_strikethrough_position(VALUE self)
|
|
69
68
|
{
|
70
69
|
return INT2NUM(pango_font_metrics_get_strikethrough_position(_SELF(self)));
|
71
70
|
}
|
72
|
-
|
71
|
+
|
73
72
|
void
|
74
73
|
Init_pango_font_metrics(VALUE mPango)
|
75
74
|
{
|
@@ -79,10 +78,8 @@ Init_pango_font_metrics(VALUE mPango)
|
|
79
78
|
RG_DEF_METHOD(descent, 0);
|
80
79
|
RG_DEF_METHOD(approximate_char_width, 0);
|
81
80
|
RG_DEF_METHOD(approximate_digit_width, 0);
|
82
|
-
#if PANGO_CHECK_VERSION(1,6,0)
|
83
81
|
RG_DEF_METHOD(underline_thickness, 0);
|
84
82
|
RG_DEF_METHOD(underline_position, 0);
|
85
83
|
RG_DEF_METHOD(strikethrough_thickness, 0);
|
86
84
|
RG_DEF_METHOD(strikethrough_position, 0);
|
87
|
-
#endif
|
88
85
|
}
|
data/ext/pango/rbpangofontset.c
CHANGED
@@ -38,7 +38,6 @@ rg_metrics(VALUE self)
|
|
38
38
|
return PANGOFONTMETRICS2RVAL(pango_fontset_get_metrics(_SELF(self)));
|
39
39
|
}
|
40
40
|
|
41
|
-
#if PANGO_CHECK_VERSION(1,4,0)
|
42
41
|
static gboolean
|
43
42
|
fontset_each(PangoFontset *fontset, PangoFont *font, gpointer func)
|
44
43
|
{
|
@@ -56,7 +55,6 @@ rg_each(VALUE self)
|
|
56
55
|
(gpointer)func);
|
57
56
|
return self;
|
58
57
|
}
|
59
|
-
#endif
|
60
58
|
|
61
59
|
void
|
62
60
|
Init_pango_fontset(VALUE mPango)
|
@@ -67,7 +65,5 @@ Init_pango_fontset(VALUE mPango)
|
|
67
65
|
|
68
66
|
RG_DEF_METHOD(get_font, 1);
|
69
67
|
RG_DEF_METHOD(metrics, 0);
|
70
|
-
#if PANGO_CHECK_VERSION(1,4,0)
|
71
68
|
RG_DEF_METHOD(each, 0);
|
72
|
-
#endif
|
73
69
|
}
|
@@ -21,7 +21,6 @@
|
|
21
21
|
|
22
22
|
#include "rbpangoprivate.h"
|
23
23
|
|
24
|
-
#if PANGO_CHECK_VERSION(1,2,0)
|
25
24
|
#define RG_TARGET_NAMESPACE cGlyphItem
|
26
25
|
#define _SELF(r) (RVAL2PANGOGLYPHITEM(r))
|
27
26
|
|
@@ -102,7 +101,6 @@ rg_appy_attrs(VALUE self, VALUE text, VALUE attrs)
|
|
102
101
|
return ret;
|
103
102
|
}
|
104
103
|
|
105
|
-
#if PANGO_CHECK_VERSION(1,6,0)
|
106
104
|
static VALUE
|
107
105
|
rg_letter_space(VALUE self, VALUE text, VALUE log_attrs, VALUE letter_spacing)
|
108
106
|
{
|
@@ -111,13 +109,10 @@ rg_letter_space(VALUE self, VALUE text, VALUE log_attrs, VALUE letter_spacing)
|
|
111
109
|
NUM2INT(letter_spacing));
|
112
110
|
return self;
|
113
111
|
}
|
114
|
-
#endif
|
115
|
-
#endif
|
116
112
|
|
117
113
|
void
|
118
114
|
Init_pango_glyph_item(VALUE mPango)
|
119
115
|
{
|
120
|
-
#if PANGO_CHECK_VERSION(1,2,0)
|
121
116
|
VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(PANGO_TYPE_GLYPH_ITEM, "GlyphItem", mPango);
|
122
117
|
|
123
118
|
RG_DEF_METHOD(item, 0);
|
@@ -126,8 +121,5 @@ Init_pango_glyph_item(VALUE mPango)
|
|
126
121
|
RG_DEF_METHOD(split, 2);
|
127
122
|
RG_DEF_METHOD(appy_attrs, 2);
|
128
123
|
|
129
|
-
#if PANGO_CHECK_VERSION(1,6,0)
|
130
124
|
RG_DEF_METHOD(letter_space, 3);
|
131
|
-
#endif
|
132
|
-
#endif
|
133
125
|
}
|
@@ -62,13 +62,11 @@ rg_extents(int argc, VALUE *argv, VALUE self)
|
|
62
62
|
PANGORECTANGLE2RVAL(&logical_rect));
|
63
63
|
}
|
64
64
|
|
65
|
-
#if PANGO_CHECK_VERSION(1,14,0)
|
66
65
|
static VALUE
|
67
66
|
rg_width(VALUE self)
|
68
67
|
{
|
69
68
|
return INT2NUM(pango_glyph_string_get_width(_SELF(self)));
|
70
69
|
}
|
71
|
-
#endif
|
72
70
|
|
73
71
|
static VALUE
|
74
72
|
rg_index_to_x(VALUE self, VALUE text, VALUE analysis, VALUE index, VALUE trailing)
|
@@ -145,9 +143,7 @@ Init_pango_glyph_string(VALUE mPango)
|
|
145
143
|
RG_DEF_METHOD(initialize, 0);
|
146
144
|
RG_DEF_METHOD(set_size, 1);
|
147
145
|
RG_DEF_METHOD(extents, -1);
|
148
|
-
#if PANGO_CHECK_VERSION(1,14,0)
|
149
146
|
RG_DEF_METHOD(width, 0);
|
150
|
-
#endif
|
151
147
|
RG_DEF_METHOD(index_to_x, 4);
|
152
148
|
RG_DEF_METHOD(x_to_index, 3);
|
153
149
|
RG_DEF_METHOD(get_logical_widths, 2);
|
data/ext/pango/rbpangoitem.c
CHANGED
@@ -41,22 +41,6 @@ item_int_set_ ## name (VALUE self, VALUE val)\
|
|
41
41
|
rbg_define_method(RG_TARGET_NAMESPACE, G_STRINGIFY(name), item_int_ ## name, 0);\
|
42
42
|
rbg_define_method(RG_TARGET_NAMESPACE, G_STRINGIFY(set_ ## name), item_int_set_ ## name, 1);
|
43
43
|
|
44
|
-
/**********************************/
|
45
|
-
#if ! PANGO_CHECK_VERSION(1,9,0)
|
46
|
-
GType
|
47
|
-
pango_item_get_type(void)
|
48
|
-
{
|
49
|
-
static GType our_type = 0;
|
50
|
-
|
51
|
-
if (our_type == 0)
|
52
|
-
our_type = g_boxed_type_register_static ("PangoItem",
|
53
|
-
(GBoxedCopyFunc)pango_item_copy,
|
54
|
-
(GBoxedFreeFunc)pango_item_free);
|
55
|
-
return our_type;
|
56
|
-
}
|
57
|
-
#endif
|
58
|
-
/**********************************/
|
59
|
-
|
60
44
|
static VALUE
|
61
45
|
rg_initialize(VALUE self)
|
62
46
|
{
|
data/ext/pango/rbpangolanguage.c
CHANGED
@@ -61,7 +61,6 @@ rg_to_str(VALUE self)
|
|
61
61
|
return CSTR2RVAL(pango_language_to_string(_SELF(self)));
|
62
62
|
}
|
63
63
|
|
64
|
-
#if PANGO_CHECK_VERSION(1,4,0)
|
65
64
|
/* Moved from Pango::Script */
|
66
65
|
static VALUE
|
67
66
|
rg_includes_script(VALUE self, VALUE script)
|
@@ -69,7 +68,6 @@ rg_includes_script(VALUE self, VALUE script)
|
|
69
68
|
return CBOOL2RVAL(pango_language_includes_script(_SELF(self),
|
70
69
|
RVAL2PANGOSCRIPT(script)));
|
71
70
|
}
|
72
|
-
#endif
|
73
71
|
|
74
72
|
void
|
75
73
|
Init_pango_language(VALUE mPango)
|
@@ -84,8 +82,5 @@ Init_pango_language(VALUE mPango)
|
|
84
82
|
RG_DEF_METHOD(to_str, 0);
|
85
83
|
RG_DEF_ALIAS("to_s", "to_str");
|
86
84
|
|
87
|
-
#if PANGO_CHECK_VERSION(1,4,0)
|
88
85
|
RG_DEF_METHOD(includes_script, 1);
|
89
|
-
#endif
|
90
|
-
|
91
86
|
}
|
data/ext/pango/rbpangolayout.c
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
3
|
+
* Copyright (C) 2011-2013 Ruby-GNOME2 Project Team
|
4
4
|
* Copyright (C) 2002-2005 Masao Mutoh
|
5
5
|
*
|
6
6
|
* This library is free software; you can redistribute it and/or
|
@@ -102,7 +102,7 @@ rg_operator_layout_set_markup_eq(VALUE self, VALUE markup)
|
|
102
102
|
static VALUE
|
103
103
|
rg_set_attributes(VALUE self, VALUE attrs)
|
104
104
|
{
|
105
|
-
pango_layout_set_attributes(_SELF(self),
|
105
|
+
pango_layout_set_attributes(_SELF(self),
|
106
106
|
RVAL2PANGOATTRLIST(attrs));
|
107
107
|
return self;
|
108
108
|
}
|
@@ -134,14 +134,12 @@ rg_set_font_description(VALUE self, VALUE rb_desc)
|
|
134
134
|
return self;
|
135
135
|
}
|
136
136
|
|
137
|
-
#ifdef HAVE_PANGO_LAYOUT_GET_FONT_DESCRIPTION
|
138
137
|
static VALUE
|
139
138
|
rg_font_description(VALUE self)
|
140
139
|
{
|
141
140
|
const PangoFontDescription* desc = pango_layout_get_font_description(_SELF(self));
|
142
141
|
return PANGOFONTDESCRIPTION2RVAL((gpointer)desc);
|
143
142
|
}
|
144
|
-
#endif
|
145
143
|
|
146
144
|
static VALUE
|
147
145
|
rg_set_width(VALUE self, VALUE width)
|
@@ -156,6 +154,21 @@ rg_width(VALUE self)
|
|
156
154
|
return INT2NUM(pango_layout_get_width(_SELF(self)));
|
157
155
|
}
|
158
156
|
|
157
|
+
#if PANGO_CHECK_VERSION(1, 20, 0)
|
158
|
+
static VALUE
|
159
|
+
rg_set_height(VALUE self, VALUE width)
|
160
|
+
{
|
161
|
+
pango_layout_set_height(_SELF(self), NUM2INT(width));
|
162
|
+
return self;
|
163
|
+
}
|
164
|
+
|
165
|
+
static VALUE
|
166
|
+
rg_height(VALUE self)
|
167
|
+
{
|
168
|
+
return INT2NUM(pango_layout_get_height(_SELF(self)));
|
169
|
+
}
|
170
|
+
#endif
|
171
|
+
|
159
172
|
static VALUE
|
160
173
|
rg_set_wrap(VALUE self, VALUE wrap)
|
161
174
|
{
|
@@ -169,18 +182,25 @@ rg_wrap(VALUE self)
|
|
169
182
|
return PANGOWRAPMODE2RVAL(pango_layout_get_wrap(_SELF(self)));
|
170
183
|
}
|
171
184
|
|
172
|
-
#ifdef HAVE_PANGO_LAYOUT_SET_ELLIPSIZE
|
173
185
|
static VALUE
|
174
186
|
rg_set_ellipsize(VALUE self, VALUE ellipsize)
|
175
187
|
{
|
176
188
|
pango_layout_set_ellipsize(_SELF(self), RVAL2PANGOELLIPSIZEMODE(ellipsize));
|
177
189
|
return self;
|
178
190
|
}
|
191
|
+
|
179
192
|
static VALUE
|
180
193
|
rg_ellipsize(VALUE self)
|
181
194
|
{
|
182
195
|
return PANGOELLIPSIZEMODE2RVAL(pango_layout_get_ellipsize(_SELF(self)));
|
183
196
|
}
|
197
|
+
|
198
|
+
#if PANGO_CHECK_VERSION(1, 16, 0)
|
199
|
+
static VALUE
|
200
|
+
rg_ellipsized_p(VALUE self)
|
201
|
+
{
|
202
|
+
return CBOOL2RVAL(pango_layout_is_ellipsized(_SELF(self)));
|
203
|
+
}
|
184
204
|
#endif
|
185
205
|
|
186
206
|
static VALUE
|
@@ -221,7 +241,6 @@ rg_justify_p(VALUE self)
|
|
221
241
|
return CBOOL2RVAL(pango_layout_get_justify(_SELF(self)));
|
222
242
|
}
|
223
243
|
|
224
|
-
#if PANGO_CHECK_VERSION(1,4,0)
|
225
244
|
static VALUE
|
226
245
|
rg_set_auto_dir(VALUE self, VALUE auto_dir)
|
227
246
|
{
|
@@ -233,7 +252,6 @@ rg_auto_dir_p(VALUE self)
|
|
233
252
|
{
|
234
253
|
return CBOOL2RVAL(pango_layout_get_auto_dir(_SELF(self)));
|
235
254
|
}
|
236
|
-
#endif
|
237
255
|
|
238
256
|
static VALUE
|
239
257
|
rg_set_alignment(VALUE self, VALUE align)
|
@@ -251,7 +269,7 @@ rg_alignment(VALUE self)
|
|
251
269
|
static VALUE
|
252
270
|
rg_set_tabs(VALUE self, VALUE tabs)
|
253
271
|
{
|
254
|
-
pango_layout_set_tabs(_SELF(self),
|
272
|
+
pango_layout_set_tabs(_SELF(self),
|
255
273
|
RVAL2PANGOTABARRAY(tabs));
|
256
274
|
return self;
|
257
275
|
}
|
@@ -305,8 +323,8 @@ static VALUE
|
|
305
323
|
rg_xy_to_index(VALUE self, VALUE x, VALUE y)
|
306
324
|
{
|
307
325
|
int index, trailing;
|
308
|
-
gboolean ret = pango_layout_xy_to_index(_SELF(self),
|
309
|
-
NUM2INT(x), NUM2INT(y),
|
326
|
+
gboolean ret = pango_layout_xy_to_index(_SELF(self),
|
327
|
+
NUM2INT(x), NUM2INT(y),
|
310
328
|
&index, &trailing);
|
311
329
|
|
312
330
|
return rb_ary_new3(3, CBOOL2RVAL(ret), INT2NUM(index), INT2NUM(trailing));
|
@@ -371,7 +389,7 @@ rg_get_extents(int argc, VALUE *argv, VALUE self)
|
|
371
389
|
rlog.y = rect->y;
|
372
390
|
rlog.width = rect->width;
|
373
391
|
rlog.height = rect->height;
|
374
|
-
}
|
392
|
+
}
|
375
393
|
|
376
394
|
pango_layout_get_extents(_SELF(self), &rink, &rlog);
|
377
395
|
|
@@ -421,7 +439,7 @@ rg_get_pixel_extents(int argc, VALUE *argv, VALUE self)
|
|
421
439
|
rlog.y = rect->y;
|
422
440
|
rlog.width = rect->width;
|
423
441
|
rlog.height = rect->height;
|
424
|
-
}
|
442
|
+
}
|
425
443
|
|
426
444
|
pango_layout_get_pixel_extents(_SELF(self), &rink, &rlog);
|
427
445
|
|
@@ -496,16 +514,19 @@ Init_pango_layout(VALUE mPango)
|
|
496
514
|
RG_DEF_METHOD(set_attributes, 1);
|
497
515
|
RG_DEF_METHOD(attributes, 0);
|
498
516
|
RG_DEF_METHOD(set_font_description, 1);
|
499
|
-
#ifdef HAVE_PANGO_LAYOUT_GET_FONT_DESCRIPTION
|
500
517
|
RG_DEF_METHOD(font_description, 0);
|
501
|
-
#endif
|
502
518
|
RG_DEF_METHOD(set_width, 1);
|
503
519
|
RG_DEF_METHOD(width, 0);
|
520
|
+
#if PANGO_CHECK_VERSION(1, 20, 0)
|
521
|
+
RG_DEF_METHOD(set_height, 1);
|
522
|
+
RG_DEF_METHOD(height, 0);
|
523
|
+
#endif
|
504
524
|
RG_DEF_METHOD(set_wrap, 1);
|
505
525
|
RG_DEF_METHOD(wrap, 0);
|
506
|
-
#ifdef HAVE_PANGO_LAYOUT_SET_ELLIPSIZE
|
507
526
|
RG_DEF_METHOD(set_ellipsize, 1);
|
508
527
|
RG_DEF_METHOD(ellipsize, 0);
|
528
|
+
#if PANGO_CHECK_VERSION(1, 16, 0)
|
529
|
+
RG_DEF_METHOD_P(ellipsized, 0);
|
509
530
|
#endif
|
510
531
|
RG_DEF_METHOD(set_indent, 1);
|
511
532
|
RG_DEF_METHOD(indent, 0);
|
@@ -513,10 +534,8 @@ Init_pango_layout(VALUE mPango)
|
|
513
534
|
RG_DEF_METHOD(set_spacing, 1);
|
514
535
|
RG_DEF_METHOD(set_justify, 1);
|
515
536
|
RG_DEF_METHOD_P(justify, 0);
|
516
|
-
#if PANGO_CHECK_VERSION(1,4,0)
|
517
537
|
RG_DEF_METHOD(set_auto_dir, 1);
|
518
538
|
RG_DEF_METHOD_P(auto_dir, 0);
|
519
|
-
#endif
|
520
539
|
RG_DEF_METHOD(set_alignment, 1);
|
521
540
|
RG_DEF_METHOD(alignment, 0);
|
522
541
|
RG_DEF_METHOD(set_tabs, 1);
|
@@ -547,9 +566,7 @@ Init_pango_layout(VALUE mPango)
|
|
547
566
|
G_DEF_CLASS(PANGO_TYPE_ALIGNMENT, "Alignment", RG_TARGET_NAMESPACE);
|
548
567
|
G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, PANGO_TYPE_ALIGNMENT, "PANGO_");
|
549
568
|
|
550
|
-
#ifdef HAVE_PANGO_LAYOUT_SET_ELLIPSIZE
|
551
569
|
/* PangoEllipsizeMode */
|
552
570
|
G_DEF_CLASS(PANGO_TYPE_ELLIPSIZE_MODE, "EllipsizeMode", RG_TARGET_NAMESPACE);
|
553
571
|
G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, PANGO_TYPE_ELLIPSIZE_MODE, "PANGO_");
|
554
|
-
#endif
|
555
572
|
}
|