pango 1.0.3-x86-mingw32 → 1.1.0-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ext/pango/extconf.rb +3 -0
- data/ext/pango/rbpango.c +312 -12
- data/ext/pango/rbpango.h +33 -22
- data/ext/pango/rbpangoanalysis.c +98 -58
- data/ext/pango/rbpangoattribute.c +94 -85
- data/ext/pango/rbpangoattriterator.c +39 -28
- data/ext/pango/rbpangoattrlist.c +42 -32
- data/ext/pango/rbpangocairo.c +38 -172
- data/ext/pango/rbpangocairocontext.c +151 -0
- data/ext/pango/rbpangocolor.c +49 -38
- data/ext/pango/rbpangocontext.c +109 -102
- data/ext/pango/rbpangoconversions.h +111 -0
- data/ext/pango/rbpangocoverage.c +45 -37
- data/ext/pango/rbpangoengine.c +22 -12
- data/ext/pango/rbpangofont.c +52 -43
- data/ext/pango/rbpangofontdescription.c +102 -91
- data/ext/pango/rbpangofontface.c +32 -21
- data/ext/pango/rbpangofontfamily.c +31 -20
- data/ext/pango/rbpangofontmap.c +44 -36
- data/ext/pango/rbpangofontmetrics.c +41 -30
- data/ext/pango/rbpangofontset.c +32 -21
- data/ext/pango/rbpangofontsetsimple.c +34 -24
- data/ext/pango/rbpangoglyphinfo.c +48 -35
- data/ext/pango/rbpangoglyphitem.c +43 -33
- data/ext/pango/rbpangoglyphstring.c +59 -59
- data/ext/pango/rbpangogravity.c +34 -23
- data/ext/pango/rbpangoitem.c +43 -34
- data/ext/pango/rbpangolanguage.c +44 -34
- data/ext/pango/rbpangolayout.c +167 -160
- data/ext/pango/rbpangolayoutiter.c +70 -59
- data/ext/pango/rbpangolayoutline.c +106 -71
- data/ext/pango/rbpangologattr.c +42 -31
- data/ext/pango/rbpangomatrix.c +47 -35
- data/ext/pango/rbpangoprivate.h +53 -0
- data/ext/pango/rbpangorectangle.c +58 -49
- data/ext/pango/rbpangorenderer.c +81 -70
- data/ext/pango/rbpangoscript.c +37 -27
- data/ext/pango/rbpangoscriptiter.c +32 -22
- data/ext/pango/rbpangotabarray.c +48 -37
- data/lib/1.8/pango.so +0 -0
- data/lib/1.9/pango.so +0 -0
- data/vendor/local/bin/libpango-1.0-0.dll +0 -0
- data/vendor/local/bin/libpangocairo-1.0-0.dll +0 -0
- data/vendor/local/bin/libpangoft2-1.0-0.dll +0 -0
- data/vendor/local/bin/libpangowin32-1.0-0.dll +0 -0
- data/vendor/local/bin/pango-querymodules.exe +0 -0
- data/vendor/local/bin/pango-view.exe +0 -0
- data/vendor/local/etc/pango/pango.modules +1 -1
- data/vendor/local/include/pango-1.0/pango/pango-attributes.h +1 -1
- data/vendor/local/include/pango-1.0/pango/pango-context.h +3 -3
- data/vendor/local/include/pango-1.0/pango/pango-features.h +3 -3
- data/vendor/local/include/pango-1.0/pango/pango-font.h +3 -3
- data/vendor/local/include/pango-1.0/pango/pango-language.h +3 -3
- data/vendor/local/include/pango-1.0/pango/pango-layout.h +6 -1
- data/vendor/local/include/pango-1.0/pango/pango-renderer.h +1 -1
- data/vendor/local/include/pango-1.0/pango/pango-script.h +6 -6
- data/vendor/local/include/pango-1.0/pango/pango-utils.h +6 -6
- data/vendor/local/lib/libpango-1.0.dll.a +0 -0
- data/vendor/local/lib/libpangocairo-1.0.dll.a +0 -0
- data/vendor/local/lib/libpangoft2-1.0.dll.a +0 -0
- data/vendor/local/lib/libpangowin32-1.0.dll.a +0 -0
- data/vendor/local/lib/pango-1.0.def +2 -0
- data/vendor/local/lib/pango-1.0.lib +0 -0
- data/vendor/local/lib/pangocairo-1.0.lib +0 -0
- data/vendor/local/lib/pangoft2-1.0.lib +0 -0
- data/vendor/local/lib/pangowin32-1.0.def +1 -1
- data/vendor/local/lib/pangowin32-1.0.lib +0 -0
- data/vendor/local/lib/pkgconfig/pango.pc +1 -1
- data/vendor/local/lib/pkgconfig/pangocairo.pc +1 -1
- data/vendor/local/lib/pkgconfig/pangoft2.pc +1 -1
- data/vendor/local/lib/pkgconfig/pangowin32.pc +1 -1
- data/vendor/local/manifest/{pango-dev_1.28.3-1_win32.mft → pango-dev_1.29.4-1_win32.mft} +5 -5
- data/vendor/local/manifest/{pango_1.28.3-1_win32.mft → pango_1.29.4-1_win32.mft} +2 -2
- data/vendor/local/share/doc/{pango-1.28.3 → pango-1.29.4}/COPYING +0 -0
- data/vendor/local/share/doc/{pango-dev-1.28.3 → pango-dev-1.29.4}/COPYING +0 -0
- data/vendor/local/share/gtk-doc/html/pango/PangoEngineLang.html +9 -10
- data/vendor/local/share/gtk-doc/html/pango/PangoEngineShape.html +25 -27
- data/vendor/local/share/gtk-doc/html/pango/PangoFcDecoder.html +19 -28
- data/vendor/local/share/gtk-doc/html/pango/PangoFcFont.html +42 -60
- data/vendor/local/share/gtk-doc/html/pango/PangoFcFontMap.html +97 -147
- data/vendor/local/share/gtk-doc/html/pango/PangoMarkupFormat.html +6 -6
- data/vendor/local/share/gtk-doc/html/pango/index-1.10.html +3 -3
- data/vendor/local/share/gtk-doc/html/pango/index-1.12.html +3 -3
- data/vendor/local/share/gtk-doc/html/pango/index-1.14.html +3 -3
- data/vendor/local/share/gtk-doc/html/pango/index-1.16.html +5 -5
- data/vendor/local/share/gtk-doc/html/pango/index-1.18.html +3 -5
- data/vendor/local/share/gtk-doc/html/pango/index-1.2.html +3 -3
- data/vendor/local/share/gtk-doc/html/pango/index-1.20.html +3 -3
- data/vendor/local/share/gtk-doc/html/pango/index-1.22.html +5 -5
- data/vendor/local/share/gtk-doc/html/pango/index-1.24.html +3 -3
- data/vendor/local/share/gtk-doc/html/pango/index-1.26.html +4 -4
- data/vendor/local/share/gtk-doc/html/pango/index-1.28.html +8 -11
- data/vendor/local/share/gtk-doc/html/pango/index-1.30.html +38 -0
- data/vendor/local/share/gtk-doc/html/pango/index-1.4.html +3 -3
- data/vendor/local/share/gtk-doc/html/pango/index-1.6.html +4 -4
- data/vendor/local/share/gtk-doc/html/pango/index-1.8.html +4 -4
- data/vendor/local/share/gtk-doc/html/pango/index-all.html +38 -40
- data/vendor/local/share/gtk-doc/html/pango/index-deprecated.html +3 -3
- data/vendor/local/share/gtk-doc/html/pango/index.html +6 -5
- data/vendor/local/share/gtk-doc/html/pango/index.sgml +71 -34
- data/vendor/local/share/gtk-doc/html/pango/lowlevel.html +3 -3
- data/vendor/local/share/gtk-doc/html/pango/pango-ATSUI-Fonts.html +4 -66
- data/vendor/local/share/gtk-doc/html/pango/pango-Bidirectional-Text.html +52 -50
- data/vendor/local/share/gtk-doc/html/pango/pango-Cairo-Rendering.html +217 -278
- data/vendor/local/share/gtk-doc/html/pango/pango-Coverage-Maps.html +40 -41
- data/vendor/local/share/gtk-doc/html/pango/pango-Engines.html +37 -49
- data/vendor/local/share/gtk-doc/html/pango/pango-Fonts.html +481 -628
- data/vendor/local/share/gtk-doc/html/pango/pango-FreeType-Fonts-and-Rendering.html +76 -118
- data/vendor/local/share/gtk-doc/html/pango/pango-Glyph-Storage.html +302 -452
- data/vendor/local/share/gtk-doc/html/pango/pango-Layout-Objects.html +492 -517
- data/vendor/local/share/gtk-doc/html/pango/pango-Miscellaneous-Utilities.html +134 -164
- data/vendor/local/share/gtk-doc/html/pango/pango-Modules.html +34 -45
- data/vendor/local/share/gtk-doc/html/pango/pango-OpenType-Font-Handling.html +244 -359
- data/vendor/local/share/gtk-doc/html/pango/pango-Scripts-and-Languages.html +117 -122
- data/vendor/local/share/gtk-doc/html/pango/pango-Tab-Stops.html +112 -120
- data/vendor/local/share/gtk-doc/html/pango/pango-Text-Attributes.html +394 -523
- data/vendor/local/share/gtk-doc/html/pango/pango-Text-Processing.html +269 -364
- data/vendor/local/share/gtk-doc/html/pango/pango-Version-Checking.html +26 -40
- data/vendor/local/share/gtk-doc/html/pango/pango-Vertical-Text.html +72 -75
- data/vendor/local/share/gtk-doc/html/pango/pango-Win32-Fonts-and-Rendering.html +97 -145
- data/vendor/local/share/gtk-doc/html/pango/pango-X-Fonts-and-Rendering.html +114 -188
- data/vendor/local/share/gtk-doc/html/pango/pango-Xft-Fonts-and-Rendering.html +114 -176
- data/vendor/local/share/gtk-doc/html/pango/pango-hierarchy.html +42 -8
- data/vendor/local/share/gtk-doc/html/pango/pango-pango-renderer.html +106 -150
- data/vendor/local/share/gtk-doc/html/pango/pango-querymodules.html +3 -3
- data/vendor/local/share/gtk-doc/html/pango/pango.devhelp2 +35 -35
- data/vendor/local/share/gtk-doc/html/pango/pango.html +3 -3
- data/vendor/local/share/gtk-doc/html/pango/rendering.html +3 -3
- data/vendor/local/share/gtk-doc/html/pango/style.css +2 -1
- data/vendor/local/share/gtk-doc/html/pango/tools.html +3 -3
- data/vendor/local/share/man/man1/pango-querymodules.1 +12 -3
- data/vendor/local/share/man/man1/pango-view.1 +2 -2
- data/vendor/local/src/dieterv/packaging/pango_1.29.4-1_win32.log +806 -0
- data/vendor/local/src/{tml/packaging/pango_1.28.3-1_win32.sh → dieterv/packaging/pango_1.29.4-1_win32.sh} +7 -7
- metadata +19 -19
- data/ChangeLog +0 -721
- data/ext/pango/rbpangoinits.c +0 -72
- data/ext/pango/rbpangomain.c +0 -202
- data/vendor/local/share/gtk-doc/html/pango/pango.devhelp +0 -799
- data/vendor/local/src/tml/packaging/pango_1.28.3-1_win32.log +0 -950
@@ -1,17 +1,28 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
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 cLayoutIter
|
25
|
+
#define _SELF(r) (RVAL2PANGOLAYOUTITER(r))
|
15
26
|
|
16
27
|
/**********************************/
|
17
28
|
#ifndef HAVE_PANGO_LAYOUT_ITER_GET_TYPE
|
@@ -36,93 +47,93 @@ pango_layout_iter_get_type(void)
|
|
36
47
|
/**********************************/
|
37
48
|
|
38
49
|
static VALUE
|
39
|
-
|
50
|
+
rg_next_run_bang(VALUE self)
|
40
51
|
{
|
41
52
|
return CBOOL2RVAL(pango_layout_iter_next_run(_SELF(self)));
|
42
53
|
}
|
43
54
|
|
44
55
|
static VALUE
|
45
|
-
|
56
|
+
rg_next_char_bang(VALUE self)
|
46
57
|
{
|
47
58
|
return CBOOL2RVAL(pango_layout_iter_next_char(_SELF(self)));
|
48
59
|
}
|
49
60
|
|
50
61
|
static VALUE
|
51
|
-
|
62
|
+
rg_next_cluster_bang(VALUE self)
|
52
63
|
{
|
53
64
|
return CBOOL2RVAL(pango_layout_iter_next_cluster(_SELF(self)));
|
54
65
|
}
|
55
66
|
|
56
67
|
static VALUE
|
57
|
-
|
68
|
+
rg_next_line_bang(VALUE self)
|
58
69
|
{
|
59
70
|
return CBOOL2RVAL(pango_layout_iter_next_line(_SELF(self)));
|
60
71
|
}
|
61
72
|
|
62
73
|
static VALUE
|
63
|
-
|
74
|
+
rg_at_last_line_p(VALUE self)
|
64
75
|
{
|
65
76
|
return CBOOL2RVAL(pango_layout_iter_at_last_line(_SELF(self)));
|
66
77
|
}
|
67
78
|
|
68
79
|
static VALUE
|
69
|
-
|
80
|
+
rg_index(VALUE self)
|
70
81
|
{
|
71
82
|
return INT2NUM(pango_layout_iter_get_index(_SELF(self)));
|
72
83
|
}
|
73
84
|
|
74
85
|
static VALUE
|
75
|
-
|
86
|
+
rg_baseline(VALUE self)
|
76
87
|
{
|
77
88
|
return INT2NUM(pango_layout_iter_get_baseline(_SELF(self)));
|
78
89
|
}
|
79
90
|
|
80
91
|
static VALUE
|
81
|
-
|
92
|
+
rg_run(VALUE self)
|
82
93
|
{
|
83
94
|
PangoLayoutRun* run = pango_layout_iter_get_run(_SELF(self));
|
84
|
-
return
|
95
|
+
return PANGOGLYPHITEM2RVAL(run);
|
85
96
|
}
|
86
97
|
|
87
98
|
static VALUE
|
88
|
-
|
99
|
+
rg_line(VALUE self)
|
89
100
|
{
|
90
|
-
return
|
101
|
+
return PANGOLAYOUTLINE2RVAL(pango_layout_iter_get_line(_SELF(self)));
|
91
102
|
}
|
92
103
|
|
93
104
|
static VALUE
|
94
|
-
|
105
|
+
rg_char_extents(VALUE self)
|
95
106
|
{
|
96
107
|
PangoRectangle logical_rect;
|
97
|
-
|
108
|
+
|
98
109
|
pango_layout_iter_get_char_extents(_SELF(self), &logical_rect);
|
99
|
-
return
|
110
|
+
return PANGORECTANGLE2RVAL(&logical_rect);
|
100
111
|
}
|
101
112
|
|
102
113
|
static VALUE
|
103
|
-
|
114
|
+
rg_cluster_extents(VALUE self)
|
104
115
|
{
|
105
116
|
PangoRectangle ink_rect, logical_rect;
|
106
117
|
|
107
118
|
pango_layout_iter_get_cluster_extents(_SELF(self), &ink_rect, &logical_rect);
|
108
119
|
|
109
|
-
return rb_assoc_new(
|
110
|
-
|
120
|
+
return rb_assoc_new(PANGORECTANGLE2RVAL(&ink_rect),
|
121
|
+
PANGORECTANGLE2RVAL(&logical_rect));
|
111
122
|
}
|
112
123
|
|
113
124
|
static VALUE
|
114
|
-
|
125
|
+
rg_run_extents(VALUE self)
|
115
126
|
{
|
116
127
|
PangoRectangle ink_rect, logical_rect;
|
117
128
|
|
118
129
|
pango_layout_iter_get_run_extents(_SELF(self), &ink_rect, &logical_rect);
|
119
130
|
|
120
|
-
return rb_assoc_new(
|
121
|
-
|
131
|
+
return rb_assoc_new(PANGORECTANGLE2RVAL(&ink_rect),
|
132
|
+
PANGORECTANGLE2RVAL(&logical_rect));
|
122
133
|
}
|
123
134
|
|
124
135
|
static VALUE
|
125
|
-
|
136
|
+
rg_line_yrange(VALUE self)
|
126
137
|
{
|
127
138
|
int y0, y1;
|
128
139
|
pango_layout_iter_get_line_yrange(_SELF(self), &y0, &y1);
|
@@ -130,49 +141,49 @@ layout_iter_get_line_yrange(VALUE self)
|
|
130
141
|
}
|
131
142
|
|
132
143
|
static VALUE
|
133
|
-
|
144
|
+
rg_line_extents(VALUE self)
|
134
145
|
{
|
135
146
|
PangoRectangle ink_rect, logical_rect;
|
136
147
|
|
137
148
|
pango_layout_iter_get_line_extents(_SELF(self), &ink_rect, &logical_rect);
|
138
149
|
|
139
|
-
return rb_assoc_new(
|
140
|
-
|
150
|
+
return rb_assoc_new(PANGORECTANGLE2RVAL(&ink_rect),
|
151
|
+
PANGORECTANGLE2RVAL(&logical_rect));
|
141
152
|
}
|
142
153
|
static VALUE
|
143
|
-
|
154
|
+
rg_layout_extents(VALUE self)
|
144
155
|
{
|
145
156
|
PangoRectangle ink_rect, logical_rect;
|
146
157
|
|
147
158
|
pango_layout_iter_get_layout_extents(_SELF(self), &ink_rect, &logical_rect);
|
148
159
|
|
149
|
-
return rb_assoc_new(
|
150
|
-
|
160
|
+
return rb_assoc_new(PANGORECTANGLE2RVAL(&ink_rect),
|
161
|
+
PANGORECTANGLE2RVAL(&logical_rect));
|
151
162
|
}
|
152
163
|
|
153
164
|
void
|
154
|
-
Init_pango_layout_iter()
|
165
|
+
Init_pango_layout_iter(VALUE mPango)
|
155
166
|
{
|
156
|
-
VALUE
|
167
|
+
VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(PANGO_TYPE_LAYOUT_ITER, "LayoutIter", mPango);
|
157
168
|
|
158
169
|
rbgobj_boxed_not_copy_obj(PANGO_TYPE_LAYOUT_ITER);
|
159
170
|
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
171
|
+
RG_DEF_METHOD_BANG(next_run, 0);
|
172
|
+
RG_DEF_METHOD_BANG(next_char, 0);
|
173
|
+
RG_DEF_METHOD_BANG(next_cluster, 0);
|
174
|
+
RG_DEF_METHOD_BANG(next_line, 0);
|
175
|
+
RG_DEF_METHOD_P(at_last_line, 0);
|
165
176
|
/* for backword compatibility. :< */
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
177
|
+
RG_DEF_ALIAS("at_last_line!", "at_last_line?");
|
178
|
+
RG_DEF_METHOD(index, 0);
|
179
|
+
RG_DEF_METHOD(baseline, 0);
|
180
|
+
RG_DEF_METHOD(run, 0);
|
181
|
+
RG_DEF_METHOD(line, 0);
|
182
|
+
RG_DEF_METHOD(char_extents, 0);
|
183
|
+
RG_DEF_METHOD(cluster_extents, 0);
|
184
|
+
RG_DEF_METHOD(run_extents, 0);
|
185
|
+
RG_DEF_METHOD(line_yrange, 0);
|
186
|
+
RG_DEF_METHOD(line_extents, 0);
|
187
|
+
RG_DEF_METHOD(layout_extents, 0);
|
188
|
+
|
178
189
|
}
|
@@ -1,18 +1,28 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
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 cLayoutLine
|
25
|
+
#define _SELF(r) (RVAL2PANGOLAYOUTLINE(r))
|
16
26
|
|
17
27
|
/**********************************/
|
18
28
|
#if !PANGO_CHECK_VERSION(1,9,0)
|
@@ -39,29 +49,29 @@ pango_layout_line_get_type(void)
|
|
39
49
|
/**********************************/
|
40
50
|
|
41
51
|
static VALUE
|
42
|
-
|
52
|
+
rg_extents(VALUE self)
|
43
53
|
{
|
44
54
|
PangoRectangle ink_rect, logical_rect;
|
45
55
|
|
46
56
|
pango_layout_line_get_extents(_SELF(self), &ink_rect, &logical_rect);
|
47
57
|
|
48
|
-
return rb_assoc_new(
|
49
|
-
|
58
|
+
return rb_assoc_new(PANGORECTANGLE2RVAL(&ink_rect),
|
59
|
+
PANGORECTANGLE2RVAL(&logical_rect));
|
50
60
|
}
|
51
61
|
|
52
62
|
static VALUE
|
53
|
-
|
63
|
+
rg_pixel_extents(VALUE self)
|
54
64
|
{
|
55
65
|
PangoRectangle ink_rect, logical_rect;
|
56
66
|
|
57
67
|
pango_layout_line_get_pixel_extents(_SELF(self), &ink_rect, &logical_rect);
|
58
68
|
|
59
|
-
return rb_assoc_new(
|
60
|
-
|
69
|
+
return rb_assoc_new(PANGORECTANGLE2RVAL(&ink_rect),
|
70
|
+
PANGORECTANGLE2RVAL(&logical_rect));
|
61
71
|
}
|
62
72
|
|
63
73
|
static VALUE
|
64
|
-
|
74
|
+
rg_index_to_x(VALUE self, VALUE index, VALUE trailing)
|
65
75
|
{
|
66
76
|
int x_pos;
|
67
77
|
pango_layout_line_index_to_x(_SELF(self), NUM2INT(index),
|
@@ -70,17 +80,17 @@ layout_line_index_to_x(VALUE self, VALUE index, VALUE trailing)
|
|
70
80
|
}
|
71
81
|
|
72
82
|
static VALUE
|
73
|
-
|
83
|
+
rg_x_to_index(VALUE self, VALUE x_pos)
|
74
84
|
{
|
75
85
|
int index, trailing;
|
76
|
-
|
86
|
+
|
77
87
|
gboolean ret = pango_layout_line_x_to_index(_SELF(self), NUM2INT(x_pos),
|
78
88
|
&index, &trailing);
|
79
89
|
return rb_ary_new3(CBOOL2RVAL(ret), INT2NUM(index), INT2NUM(trailing));
|
80
90
|
}
|
81
91
|
|
82
92
|
static VALUE
|
83
|
-
|
93
|
+
rg_get_x_ranges(VALUE self, VALUE start_index, VALUE end_index)
|
84
94
|
{
|
85
95
|
int* ranges;
|
86
96
|
int i, n_ranges;
|
@@ -100,39 +110,39 @@ layout_line_get_x_ranges(VALUE self, VALUE start_index, VALUE end_index)
|
|
100
110
|
|
101
111
|
/* Structure members */
|
102
112
|
static VALUE
|
103
|
-
|
113
|
+
rg_layout(VALUE self)
|
104
114
|
{
|
105
115
|
return GOBJ2RVAL(_SELF(self)->layout);
|
106
116
|
}
|
107
117
|
|
108
118
|
static VALUE
|
109
|
-
|
119
|
+
rg_set_layout(VALUE self, VALUE val)
|
110
120
|
{
|
111
|
-
_SELF(self)->layout =
|
121
|
+
_SELF(self)->layout = RVAL2PANGOLAYOUT(val);
|
112
122
|
return self;
|
113
123
|
}
|
114
124
|
|
115
125
|
static VALUE
|
116
|
-
|
126
|
+
rg_start_index(VALUE self)
|
117
127
|
{
|
118
128
|
return INT2NUM(_SELF(self)->start_index);
|
119
129
|
}
|
120
130
|
|
121
131
|
static VALUE
|
122
|
-
|
132
|
+
rg_set_start_index(VALUE self, VALUE val)
|
123
133
|
{
|
124
134
|
_SELF(self)->start_index = NUM2INT(val);
|
125
135
|
return self;
|
126
136
|
}
|
127
137
|
|
128
138
|
static VALUE
|
129
|
-
|
139
|
+
rg_length(VALUE self)
|
130
140
|
{
|
131
141
|
return INT2NUM(_SELF(self)->length);
|
132
142
|
}
|
133
143
|
|
134
144
|
static VALUE
|
135
|
-
|
145
|
+
rg_set_length(VALUE self, VALUE val)
|
136
146
|
{
|
137
147
|
_SELF(self)->length = NUM2INT(val);
|
138
148
|
return self;
|
@@ -140,7 +150,7 @@ layout_line_set_length(VALUE self, VALUE val)
|
|
140
150
|
|
141
151
|
#if PANGO_CHECK_VERSION(1,2,0)
|
142
152
|
static VALUE
|
143
|
-
|
153
|
+
rg_runs(VALUE self)
|
144
154
|
{
|
145
155
|
GSList* list = _SELF(self)->runs;
|
146
156
|
VALUE ary = rb_ary_new();
|
@@ -151,56 +161,81 @@ layout_line_get_runs(VALUE self)
|
|
151
161
|
new_item.item = pango_item_copy(old_item->item);
|
152
162
|
new_item.glyphs = pango_glyph_string_copy(old_item->glyphs);
|
153
163
|
|
154
|
-
rb_ary_push(ary,
|
164
|
+
rb_ary_push(ary, PANGOGLYPHITEM2RVAL(&new_item));
|
155
165
|
list = list->next;
|
156
166
|
}
|
157
167
|
return ary;
|
158
168
|
}
|
159
169
|
#endif
|
160
170
|
|
171
|
+
struct layout_line_set_runs_args {
|
172
|
+
PangoLayoutLine *line;
|
173
|
+
VALUE ary;
|
174
|
+
long n;
|
175
|
+
GSList *result;
|
176
|
+
};
|
177
|
+
|
161
178
|
static VALUE
|
162
|
-
|
179
|
+
layout_line_set_runs_body(VALUE value)
|
163
180
|
{
|
164
|
-
|
165
|
-
|
181
|
+
struct layout_line_set_runs_args *args = (struct layout_line_set_runs_args *)value;
|
182
|
+
long i;
|
166
183
|
|
167
|
-
|
184
|
+
for (i = 0; i < args->n; i++)
|
185
|
+
args->result = g_slist_append(args->result,
|
186
|
+
RVAL2PANGOGLYPHITEM(RARRAY_PTR(args->ary)[i]));
|
168
187
|
|
169
|
-
|
170
|
-
|
171
|
-
PANGO_TYPE_GLYPH_ITEM));
|
172
|
-
}
|
188
|
+
g_slist_free(args->line->runs);
|
189
|
+
args->line->runs = args->result;
|
173
190
|
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
191
|
+
return Qnil;
|
192
|
+
}
|
193
|
+
|
194
|
+
static G_GNUC_NORETURN VALUE
|
195
|
+
layout_line_set_runs_rescue(VALUE value)
|
196
|
+
{
|
197
|
+
g_slist_free(((struct layout_line_set_runs_args *)value)->result);
|
198
|
+
|
199
|
+
rb_exc_raise(rb_errinfo());
|
200
|
+
}
|
201
|
+
|
202
|
+
static VALUE
|
203
|
+
rg_set_runs(VALUE self, VALUE attrs)
|
204
|
+
{
|
205
|
+
struct layout_line_set_runs_args args;
|
206
|
+
args.line = _SELF(self);
|
207
|
+
args.ary = rb_ary_to_ary(attrs);
|
208
|
+
args.n = RARRAY_LEN(args.ary);
|
209
|
+
args.result = NULL;
|
210
|
+
|
211
|
+
rb_rescue(layout_line_set_runs_body, (VALUE)&args,
|
212
|
+
layout_line_set_runs_rescue, (VALUE)&args);
|
178
213
|
|
179
214
|
return self;
|
180
215
|
}
|
181
216
|
|
182
217
|
#if PANGO_CHECK_VERSION(1,4,0)
|
183
218
|
static VALUE
|
184
|
-
|
219
|
+
rg_paragraph_start_p(VALUE self)
|
185
220
|
{
|
186
221
|
return CBOOL2RVAL(_SELF(self)->is_paragraph_start);
|
187
222
|
}
|
188
223
|
|
189
224
|
static VALUE
|
190
|
-
|
225
|
+
rg_set_paragraph_start(VALUE self, VALUE val)
|
191
226
|
{
|
192
227
|
_SELF(self)->is_paragraph_start = RVAL2CBOOL(val);
|
193
228
|
return self;
|
194
229
|
}
|
195
230
|
|
196
231
|
static VALUE
|
197
|
-
|
232
|
+
rg_resolved_dir(VALUE self)
|
198
233
|
{
|
199
234
|
return UINT2NUM(_SELF(self)->resolved_dir);
|
200
235
|
}
|
201
236
|
|
202
237
|
static VALUE
|
203
|
-
|
238
|
+
rg_set_resolved_dir(VALUE self, VALUE val)
|
204
239
|
{
|
205
240
|
_SELF(self)->resolved_dir = NUM2UINT(val);
|
206
241
|
return self;
|
@@ -208,31 +243,31 @@ layout_line_set_resolved_dir(VALUE self, VALUE val)
|
|
208
243
|
#endif
|
209
244
|
|
210
245
|
void
|
211
|
-
Init_pango_layout_line()
|
212
|
-
{
|
213
|
-
VALUE
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
246
|
+
Init_pango_layout_line(VALUE mPango)
|
247
|
+
{
|
248
|
+
VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(PANGO_TYPE_LAYOUT_LINE, "LayoutLine", mPango);
|
249
|
+
|
250
|
+
RG_DEF_METHOD(extents, 0);
|
251
|
+
RG_DEF_METHOD(pixel_extents, 0);
|
252
|
+
RG_DEF_METHOD(index_to_x, 2);
|
253
|
+
RG_DEF_METHOD(x_to_index, 1);
|
254
|
+
RG_DEF_METHOD(get_x_ranges, 2);
|
255
|
+
RG_DEF_METHOD(layout, 0);
|
256
|
+
RG_DEF_METHOD(set_layout, 1);
|
257
|
+
RG_DEF_METHOD(start_index, 0);
|
258
|
+
RG_DEF_METHOD(set_start_index, 1);
|
259
|
+
RG_DEF_METHOD(length, 0);
|
260
|
+
RG_DEF_METHOD(set_length, 1);
|
226
261
|
#if PANGO_CHECK_VERSION(1,2,0)
|
227
|
-
|
262
|
+
RG_DEF_METHOD(runs, 0);
|
228
263
|
#endif
|
229
|
-
|
264
|
+
RG_DEF_METHOD(set_runs, 1);
|
230
265
|
|
231
266
|
#if PANGO_CHECK_VERSION(1,4,0)
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
267
|
+
RG_DEF_METHOD_P(paragraph_start, 0);
|
268
|
+
RG_DEF_METHOD(set_paragraph_start, 1);
|
269
|
+
RG_DEF_METHOD(resolved_dir, 0);
|
270
|
+
RG_DEF_METHOD(set_resolved_dir, 1);
|
236
271
|
#endif
|
237
|
-
G_DEF_SETTERS(
|
272
|
+
G_DEF_SETTERS(RG_TARGET_NAMESPACE);
|
238
273
|
}
|