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/rbpangoscript.c
DELETED
@@ -1,84 +0,0 @@
|
|
1
|
-
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
-
/*
|
3
|
-
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
-
* Copyright (C) 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 cScript
|
25
|
-
#define _SELF(r) (RVAL2PANGOSCRIPT(r))
|
26
|
-
|
27
|
-
static VALUE
|
28
|
-
rg_s_for_unichar(G_GNUC_UNUSED VALUE self, VALUE ch)
|
29
|
-
{
|
30
|
-
return PANGOSCRIPT2RVAL(pango_script_for_unichar(NUM2UINT(ch)));
|
31
|
-
}
|
32
|
-
|
33
|
-
static VALUE
|
34
|
-
rg_sample_language(VALUE self)
|
35
|
-
{
|
36
|
-
PangoLanguage* lang = pango_script_get_sample_language(_SELF(self));
|
37
|
-
return PANGOLANGUAGE2RVAL(lang);
|
38
|
-
}
|
39
|
-
|
40
|
-
#if PANGO_VERSION_CHECK(1,16,0)
|
41
|
-
static VALUE
|
42
|
-
rg_get_gravity(int argc, VALUE *argv, VALUE self)
|
43
|
-
{
|
44
|
-
VALUE wide, gravity, gravity_hint;
|
45
|
-
int n;
|
46
|
-
PangoGravity g;
|
47
|
-
|
48
|
-
n = rb_scan_args(argc, argv, "21", &gravity, &gravity_hint, &wide);
|
49
|
-
|
50
|
-
if (n == 2) {
|
51
|
-
g = pango_gravity_get_for_script(_SELF(self),
|
52
|
-
RVAL2PANGOGRAVITY(gravity),
|
53
|
-
RVAL2PANGOGRAVITYHINT(gravity_hint));
|
54
|
-
} else {
|
55
|
-
# if PANGO_VERSION_CHECK(1,26,0)
|
56
|
-
g = pango_gravity_get_for_script_and_width(_SELF(self),
|
57
|
-
RVAL2CBOOL(wide),
|
58
|
-
RVAL2PANGOGRAVITY(gravity),
|
59
|
-
RVAL2PANGOGRAVITYHINT(gravity_hint));
|
60
|
-
# else
|
61
|
-
rb_raise(rb_eArgError,
|
62
|
-
"the 3rd 'wide' argument requires Pango >= 1.26");
|
63
|
-
# endif
|
64
|
-
}
|
65
|
-
return PANGOGRAVITY2RVAL(g);
|
66
|
-
}
|
67
|
-
#endif
|
68
|
-
|
69
|
-
/* Move to Pango::Language
|
70
|
-
gboolean pango_language_includes_script (PangoLanguage *language,
|
71
|
-
PangoScript script);
|
72
|
-
*/
|
73
|
-
|
74
|
-
void
|
75
|
-
Init_pango_script(VALUE mPango)
|
76
|
-
{
|
77
|
-
VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(PANGO_TYPE_SCRIPT, "Script", mPango);
|
78
|
-
|
79
|
-
RG_DEF_SMETHOD(for_unichar, 1);
|
80
|
-
RG_DEF_METHOD(sample_language, 0);
|
81
|
-
#if PANGO_VERSION_CHECK(1,16,0)
|
82
|
-
RG_DEF_METHOD(get_gravity, -1);
|
83
|
-
#endif
|
84
|
-
}
|
@@ -1,92 +0,0 @@
|
|
1
|
-
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
-
/*
|
3
|
-
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
4
|
-
* Copyright (C) 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
|
-
/**********************************/
|
25
|
-
static PangoScriptIter*
|
26
|
-
rbpango_script_iter_copy(PangoScriptIter *ref)
|
27
|
-
{
|
28
|
-
/*
|
29
|
-
PangoScriptIter* new_ref = pango_script_iter_new("", 0);
|
30
|
-
g_return_val_if_fail (ref != NULL, NULL);
|
31
|
-
new_ref = g_new(PangoScriptIter, 1);
|
32
|
-
*new_ref = *ref;
|
33
|
-
return new_ref;
|
34
|
-
*/
|
35
|
-
return ref;
|
36
|
-
}
|
37
|
-
|
38
|
-
GType
|
39
|
-
pango_script_iter_get_type(void)
|
40
|
-
{
|
41
|
-
static GType our_type = 0;
|
42
|
-
|
43
|
-
if (our_type == 0)
|
44
|
-
our_type = g_boxed_type_register_static ("PangoScriptIter",
|
45
|
-
(GBoxedCopyFunc)rbpango_script_iter_copy,
|
46
|
-
(GBoxedFreeFunc)pango_script_iter_free);
|
47
|
-
return our_type;
|
48
|
-
}
|
49
|
-
/**********************************/
|
50
|
-
|
51
|
-
#define RG_TARGET_NAMESPACE cScriptIter
|
52
|
-
#define _SELF(r) (RVAL2PANGOSCRIPTITER(r))
|
53
|
-
|
54
|
-
static VALUE
|
55
|
-
rg_initialize(VALUE self, VALUE text)
|
56
|
-
{
|
57
|
-
PangoScriptIter* iter;
|
58
|
-
|
59
|
-
StringValue(text);
|
60
|
-
iter = pango_script_iter_new(RSTRING_PTR(text), RSTRING_LEN(text));
|
61
|
-
G_INITIALIZE(self, iter);
|
62
|
-
return Qnil;
|
63
|
-
}
|
64
|
-
|
65
|
-
static VALUE
|
66
|
-
rg_range(VALUE self)
|
67
|
-
{
|
68
|
-
G_CONST_RETURN char* start;
|
69
|
-
G_CONST_RETURN char* end;
|
70
|
-
PangoScript script;
|
71
|
-
|
72
|
-
pango_script_iter_get_range(_SELF(self), &start, &end, &script);
|
73
|
-
|
74
|
-
return rb_ary_new3(3, CSTR2RVAL(start), CSTR2RVAL(end),
|
75
|
-
PANGOSCRIPT2RVAL(script));
|
76
|
-
}
|
77
|
-
|
78
|
-
static VALUE
|
79
|
-
rg_next_bang(VALUE self)
|
80
|
-
{
|
81
|
-
return CBOOL2RVAL(pango_script_iter_next(_SELF(self)));
|
82
|
-
}
|
83
|
-
|
84
|
-
void
|
85
|
-
Init_pango_script_iter(VALUE mPango)
|
86
|
-
{
|
87
|
-
VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(PANGO_TYPE_SCRIPT_ITER, "ScriptIter", mPango);
|
88
|
-
|
89
|
-
RG_DEF_METHOD(initialize, 1);
|
90
|
-
RG_DEF_METHOD(range, 0);
|
91
|
-
RG_DEF_METHOD_BANG(next, 0);
|
92
|
-
}
|
data/ext/pango/rbpangotabarray.c
DELETED
@@ -1,128 +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
|
-
#define RG_TARGET_NAMESPACE cTabArray
|
25
|
-
#define _SELF(self) (RVAL2PANGOTABARRAY(self))
|
26
|
-
|
27
|
-
static VALUE
|
28
|
-
rg_initialize(int argc, VALUE *argv, VALUE self)
|
29
|
-
{
|
30
|
-
VALUE size, positions_in_pixels, attr_ary;
|
31
|
-
PangoTabArray *array;
|
32
|
-
int i;
|
33
|
-
|
34
|
-
rb_scan_args(argc, argv, "2*", &size, &positions_in_pixels, &attr_ary);
|
35
|
-
|
36
|
-
array = pango_tab_array_new(NUM2INT(size),
|
37
|
-
RVAL2CBOOL(positions_in_pixels));
|
38
|
-
G_INITIALIZE(self, array);
|
39
|
-
|
40
|
-
if (! NIL_P(attr_ary)){
|
41
|
-
for (i = 0; i < RARRAY_LEN(attr_ary); i++) {
|
42
|
-
pango_tab_array_set_tab(array, i,
|
43
|
-
RVAL2PANGOTABALIGN(RARRAY_PTR(RARRAY_PTR(attr_ary)[i])[0]),
|
44
|
-
FIX2INT(RARRAY_PTR(RARRAY_PTR(attr_ary)[i])[1]));
|
45
|
-
}
|
46
|
-
}
|
47
|
-
|
48
|
-
return Qnil;
|
49
|
-
}
|
50
|
-
/* This is implemented in rtab_initialize.
|
51
|
-
PangoTabArray* pango_tab_array_new_with_positions
|
52
|
-
(gint size,
|
53
|
-
gboolean positions_in_pixels,
|
54
|
-
PangoTabAlign first_alignment,
|
55
|
-
gint first_position,
|
56
|
-
...);
|
57
|
-
*/
|
58
|
-
static VALUE
|
59
|
-
rg_size(VALUE self)
|
60
|
-
{
|
61
|
-
return INT2NUM(pango_tab_array_get_size(_SELF(self)));
|
62
|
-
}
|
63
|
-
|
64
|
-
static VALUE
|
65
|
-
rg_resize(VALUE self, VALUE size)
|
66
|
-
{
|
67
|
-
pango_tab_array_resize(_SELF(self), NUM2INT(size));
|
68
|
-
return self;
|
69
|
-
}
|
70
|
-
|
71
|
-
static VALUE
|
72
|
-
rg_set_tab(VALUE self, VALUE tab_index, VALUE align, VALUE location)
|
73
|
-
{
|
74
|
-
pango_tab_array_set_tab(_SELF(self), NUM2INT(tab_index), RVAL2PANGOTABALIGN(align),
|
75
|
-
NUM2INT(location));
|
76
|
-
return self;
|
77
|
-
}
|
78
|
-
|
79
|
-
static VALUE
|
80
|
-
rg_get_tab(VALUE self, VALUE tab_index)
|
81
|
-
{
|
82
|
-
PangoTabAlign align;
|
83
|
-
gint location;
|
84
|
-
pango_tab_array_get_tab(_SELF(self), NUM2INT(tab_index),
|
85
|
-
&align, &location);
|
86
|
-
return rb_ary_new3(2, PANGOTABALIGN2RVAL(align), INT2NUM(location));
|
87
|
-
}
|
88
|
-
|
89
|
-
static VALUE
|
90
|
-
rg_tabs(VALUE self)
|
91
|
-
{
|
92
|
-
PangoTabAlign* aligns;
|
93
|
-
gint* locations;
|
94
|
-
VALUE ary = rb_ary_new();
|
95
|
-
PangoTabArray* tab_array = _SELF(self);
|
96
|
-
gint i;
|
97
|
-
|
98
|
-
pango_tab_array_get_tabs(tab_array, &aligns, &locations);
|
99
|
-
|
100
|
-
for (i = 0; i < pango_tab_array_get_size(tab_array); i++){
|
101
|
-
rb_ary_push(ary, rb_ary_new3(2, PANGOTABALIGN2RVAL(aligns[i]),
|
102
|
-
INT2NUM(locations[i])));
|
103
|
-
}
|
104
|
-
return ary;
|
105
|
-
}
|
106
|
-
|
107
|
-
static VALUE
|
108
|
-
rg_positions_in_pixels_p(VALUE self)
|
109
|
-
{
|
110
|
-
return CBOOL2RVAL(pango_tab_array_get_positions_in_pixels(_SELF(self)));
|
111
|
-
}
|
112
|
-
|
113
|
-
void
|
114
|
-
Init_pango_array(VALUE mPango)
|
115
|
-
{
|
116
|
-
VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(PANGO_TYPE_TAB_ARRAY, "TabArray", mPango);
|
117
|
-
RG_DEF_METHOD(initialize, -1);
|
118
|
-
RG_DEF_METHOD(size, 0);
|
119
|
-
RG_DEF_METHOD(resize, 1);
|
120
|
-
RG_DEF_METHOD(set_tab, 3);
|
121
|
-
RG_DEF_METHOD(get_tab, 1);
|
122
|
-
RG_DEF_METHOD(tabs, 0);
|
123
|
-
RG_DEF_METHOD_P(positions_in_pixels, 0);
|
124
|
-
|
125
|
-
/* PangoTabAlign */
|
126
|
-
G_DEF_CLASS(PANGO_TYPE_TAB_ALIGN, "TabAlign", RG_TARGET_NAMESPACE);
|
127
|
-
G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, PANGO_TYPE_TAB_ALIGN, "PANGO_");
|
128
|
-
}
|
data/sample/attribute.rb
DELETED
@@ -1,82 +0,0 @@
|
|
1
|
-
=begin
|
2
|
-
attribute.rb - Ruby/Pango sample script.
|
3
|
-
|
4
|
-
Copyright (c) 2002,2003 Ruby-GNOME2 Project Team
|
5
|
-
This program is licenced under the same licence as Ruby-GNOME2.
|
6
|
-
|
7
|
-
$Id: attribute.rb,v 1.6 2006/06/17 13:37:01 mutoh Exp $
|
8
|
-
=end
|
9
|
-
|
10
|
-
require 'pango'
|
11
|
-
|
12
|
-
p a = Pango::AttrSize.new(1)
|
13
|
-
puts "value = #{a.value}"
|
14
|
-
puts "start_index = #{a.start_index}"
|
15
|
-
puts "end_index = #{a.end_index}"
|
16
|
-
|
17
|
-
p a = Pango::AttrStyle.new(Pango::FontDescription::STYLE_NORMAL)
|
18
|
-
puts "value = #{a.value}"
|
19
|
-
|
20
|
-
p a = Pango::AttrVariant.new(Pango::FontDescription::VARIANT_SMALL_CAPS)
|
21
|
-
puts "value = #{a.value}"
|
22
|
-
|
23
|
-
p a = Pango::AttrStretch.new(Pango::FontDescription::STRETCH_EXPANDED)
|
24
|
-
puts "value = #{a.value}"
|
25
|
-
|
26
|
-
p a = Pango::AttrWeight.new(Pango::FontDescription::WEIGHT_BOLD)
|
27
|
-
puts "value = #{a.value}"
|
28
|
-
|
29
|
-
p a = Pango::AttrRise.new(10)
|
30
|
-
puts "value = #{a.value}"
|
31
|
-
|
32
|
-
p a = Pango::AttrLanguage.new(Pango::Language.new("ja"))
|
33
|
-
p a.value
|
34
|
-
p a.value.to_str
|
35
|
-
|
36
|
-
p a = Pango::AttrFamily.new("family")
|
37
|
-
p a.value
|
38
|
-
|
39
|
-
p b = Pango::FontDescription.new
|
40
|
-
p b.to_str
|
41
|
-
p a = Pango::AttrFontDescription.new(b)
|
42
|
-
p a.value
|
43
|
-
p a.value.to_str
|
44
|
-
|
45
|
-
p a = Pango::AttrForeground.new(10, 20, 30)
|
46
|
-
p a.value
|
47
|
-
p a.value.to_a
|
48
|
-
|
49
|
-
p a = Pango::AttrBackground.new(20, 30, 40)
|
50
|
-
p a.value
|
51
|
-
p a.value.to_a
|
52
|
-
|
53
|
-
p a = Pango::AttrStrikethrough.new(true)
|
54
|
-
p a.value
|
55
|
-
|
56
|
-
p Pango::AttrUnderline::SINGLE
|
57
|
-
p a = Pango::AttrUnderline.new(Pango::AttrUnderline::SINGLE)
|
58
|
-
p a.value
|
59
|
-
|
60
|
-
p ink = Pango::Rectangle.new(1, 2, 3, 4)
|
61
|
-
p log = Pango::Rectangle.new(5, 6, 7, 8)
|
62
|
-
p a = Pango::AttrShape.new(ink, log)
|
63
|
-
p a.value[0].to_a
|
64
|
-
p a.value[1].to_a
|
65
|
-
|
66
|
-
p a = Pango::AttrScale.new(2.3)
|
67
|
-
p a.value
|
68
|
-
|
69
|
-
begin
|
70
|
-
require 'gtk2'
|
71
|
-
rescue
|
72
|
-
p "Ruby/GTK2 is not existed."
|
73
|
-
exit 0
|
74
|
-
end
|
75
|
-
p a = Gdk::PangoAttrEmbossed.new(true)
|
76
|
-
p a.value
|
77
|
-
|
78
|
-
mask = Gdk::Pixmap.new(Gtk::Window.new.realize.window, 100, 100, 1)
|
79
|
-
p a = Gdk::PangoAttrStipple.new(mask)
|
80
|
-
p a.value
|
81
|
-
|
82
|
-
|
data/sample/break.rb
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
|
3
|
-
=begin
|
4
|
-
break.rb - Ruby/Pango sample script.
|
5
|
-
|
6
|
-
Copyright (c) 2005 Ruby-GNOME2 Project
|
7
|
-
This program is licenced under the same licence as Ruby-GNOME2.
|
8
|
-
|
9
|
-
$Id: break.rb,v 1.1 2005/09/17 17:09:12 mutoh Exp $
|
10
|
-
=end
|
11
|
-
|
12
|
-
require 'pango'
|
13
|
-
|
14
|
-
attr = Pango.break("Hello Worldです\n2nd line", Pango::Analysis.new)
|
15
|
-
|
16
|
-
p attr.length
|
17
|
-
attr.each do |v|
|
18
|
-
print "line_break:#{v.line_break?}"
|
19
|
-
print ", mandatory_break:#{v.mandatory_break?}"
|
20
|
-
print ", char_break:#{v.char_break?}"
|
21
|
-
print ", white:#{v.white?}"
|
22
|
-
print ", cursor_position:#{v.cursor_position?}"
|
23
|
-
print ", word_start:#{v.word_start?}"
|
24
|
-
print ", word_end:#{v.word_end?}"
|
25
|
-
print ", sentence_boundary:#{v.sentence_boundary?}"
|
26
|
-
print ", sentence_start:#{v.sentence_start?}"
|
27
|
-
print ", sentence_end:#{v.sentence_end?}\n"
|
28
|
-
end
|
data/sample/gdk_layout.rb
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
=begin
|
2
|
-
gdk_layout.rb - Ruby/Pango sample script.
|
3
|
-
|
4
|
-
Copyright (c) 2003-2006 Ruby-GNOME2 Project
|
5
|
-
This program is licenced under the same licence as Ruby-GNOME2.
|
6
|
-
|
7
|
-
$Id: gdk_layout.rb,v 1.7 2006/06/17 13:36:11 mutoh Exp $
|
8
|
-
=end
|
9
|
-
|
10
|
-
require 'gtk2'
|
11
|
-
|
12
|
-
window = Gtk::Window.new("Ruby/Pango sample")
|
13
|
-
window.signal_connect("destroy"){Gtk.main_quit}
|
14
|
-
window.realize
|
15
|
-
|
16
|
-
gdkwin = window.window
|
17
|
-
gc = Gdk::GC.new(gdkwin)
|
18
|
-
|
19
|
-
layout = window.create_pango_layout
|
20
|
-
layout.set_markup(File.read("sample.txt"), "$")
|
21
|
-
window.signal_connect("expose_event") do
|
22
|
-
gdkwin.draw_layout(gc, 10, 10, layout)
|
23
|
-
end
|
24
|
-
|
25
|
-
window.set_default_size(500,400).show_all
|
26
|
-
|
27
|
-
Gtk.main
|