rabbit 2.1.6 → 2.1.7
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.
- checksums.yaml +4 -4
- data/data/locale/ja/LC_MESSAGES/rabbit.mo +0 -0
- data/doc/_config.yml +2 -2
- data/doc/_layouts/en.html +1 -1
- data/doc/_layouts/ja.html +1 -1
- data/doc/_layouts/skeleton.html +22 -17
- data/doc/css/rabbit.css +62 -4
- data/doc/en/development.rd +2 -2
- data/doc/en/news.rd +65 -2
- data/doc/index.html.en +15 -15
- data/doc/index.html.ja +20 -20
- data/doc/ja/development.rd +2 -2
- data/doc/ja/index.rd +4 -4
- data/doc/ja/news.rd +61 -2
- data/lib/rabbit/command/rabbit.rb +7 -62
- data/lib/rabbit/cursor-manager.rb +29 -22
- data/lib/rabbit/element/index-slide.rb +1 -1
- data/lib/rabbit/error.rb +224 -0
- data/lib/rabbit/frame.rb +6 -10
- data/lib/rabbit/graffiti/config-dialog.rb +4 -4
- data/lib/rabbit/gtk.rb +173 -3
- data/lib/rabbit/image/pdf.rb +1 -3
- data/lib/rabbit/image/svg.rb +1 -3
- data/lib/rabbit/info-window.rb +37 -30
- data/lib/rabbit/keys.rb +70 -70
- data/lib/rabbit/logger/gui.rb +3 -10
- data/lib/rabbit/menu.rb +22 -8
- data/lib/rabbit/parser.rb +4 -2
- data/lib/rabbit/parser/base.rb +0 -6
- data/lib/rabbit/parser/image.rb +4 -0
- data/lib/rabbit/parser/markdown.rb +33 -7
- data/lib/rabbit/parser/markdown/converter.rb +15 -4
- data/lib/rabbit/parser/pdf.rb +4 -0
- data/lib/rabbit/parser/rd.rb +4 -0
- data/lib/rabbit/parser/rd/ext/block-verbatim.rb +47 -34
- data/lib/rabbit/parser/wiki.rb +4 -0
- data/lib/rabbit/parser/wiki/output.rb +42 -15
- data/lib/rabbit/progress.rb +1 -1
- data/lib/rabbit/rabbit.rb +8 -225
- data/lib/rabbit/renderer/base.rb +1 -1
- data/lib/rabbit/renderer/display/base.rb +10 -3
- data/lib/rabbit/renderer/display/button-handler.rb +3 -3
- data/lib/rabbit/renderer/display/clutter-embed.rb +9 -9
- data/lib/rabbit/renderer/display/drawing-area-base.rb +19 -24
- data/lib/rabbit/renderer/display/drawing-area-primitive.rb +22 -13
- data/lib/rabbit/renderer/display/drawing-area-view-only.rb +1 -1
- data/lib/rabbit/renderer/display/drawing-area.rb +1 -1
- data/lib/rabbit/renderer/display/gesture.rb +1 -1
- data/lib/rabbit/renderer/display/key-handler.rb +19 -19
- data/lib/rabbit/renderer/display/magnifier.rb +1 -1
- data/lib/rabbit/renderer/display/mask.rb +16 -21
- data/lib/rabbit/renderer/display/search.rb +1 -1
- data/lib/rabbit/renderer/display/spotlight.rb +1 -1
- data/lib/rabbit/renderer/engine.rb +1 -18
- data/lib/rabbit/renderer/engine/cairo.rb +0 -6
- data/lib/rabbit/renderer/pixmap.rb +1 -25
- data/lib/rabbit/renderer/pixmap/cairo.rb +1 -9
- data/lib/rabbit/renderer/print/cairo.rb +1 -10
- data/lib/rabbit/search-window.rb +2 -2
- data/lib/rabbit/source-generator/markdown.rb +1 -1
- data/lib/rabbit/stock.rb +3 -3
- data/lib/rabbit/task/slide.rb +1 -1
- data/lib/rabbit/theme/applier.rb +1 -1
- data/lib/rabbit/theme/clear-blue/clear-blue.rb +0 -8
- data/lib/rabbit/theme/image-slide-number/image-slide-number.rb +7 -5
- data/lib/rabbit/theme/image-timer/image-timer.rb +4 -1
- data/lib/rabbit/utils.rb +20 -3
- data/lib/rabbit/version.rb +1 -1
- data/lib/rabbit/video-window.rb +3 -3
- data/po/en/rabbit.edit.po +187 -199
- data/po/en/rabbit.po +58 -67
- data/po/fr/rabbit.edit.po +187 -199
- data/po/fr/rabbit.po +58 -67
- data/po/ja/rabbit.edit.po +204 -205
- data/po/ja/rabbit.po +64 -73
- data/rabbit.gemspec +2 -0
- data/sample/rabbit-en.md +2 -2
- data/sample/rabbit.md +2 -2
- data/test/image/test-dia.rb +2 -2
- data/test/image/test-eps.rb +2 -2
- data/test/parser/test-markdown.rb +71 -25
- data/test/parser/test-wiki.rb +73 -0
- data/test/rabbit-test-utils.rb +3 -7
- data/test/rabbit-test-utils/fixture.rb +24 -0
- data/test/rabbit-test-utils/parser.rb +48 -0
- data/test/source-generator/test-markdown.rb +1 -1
- metadata +37 -7
- data/README +0 -1
- data/doc/images/jp.png +0 -0
- data/doc/images/us.png +0 -0
- data/lib/rabbit/renderer/engine/gdk.rb +0 -230
- data/lib/rabbit/renderer/pixmap/gdk.rb +0 -29
data/test/rabbit-test-utils.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2004-
|
1
|
+
# Copyright (C) 2004-2015 Kouhei Sutou <kou@cozmixng.org>
|
2
2
|
#
|
3
3
|
# This program is free software; you can redistribute it and/or modify
|
4
4
|
# it under the terms of the GNU General Public License as published by
|
@@ -18,9 +18,5 @@ require "test-unit"
|
|
18
18
|
require "test/unit/notify"
|
19
19
|
require "test/unit/rr"
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
def fixture_path(*components)
|
24
|
-
File.join(File.dirname(__FILE__), "fixtures", *components)
|
25
|
-
end
|
26
|
-
end
|
21
|
+
require "rabbit-test-utils/fixture"
|
22
|
+
require "rabbit-test-utils/parser"
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# Copyright (C) 2012-2015 Kouhei Sutou <kou@cozmixng.org>
|
2
|
+
#
|
3
|
+
# This program is free software; you can redistribute it and/or modify
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
5
|
+
# the Free Software Foundation; either version 2 of the License, or
|
6
|
+
# (at your option) any later version.
|
7
|
+
#
|
8
|
+
# This program is distributed in the hope that it will be useful,
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
11
|
+
# GNU General Public License for more details.
|
12
|
+
#
|
13
|
+
# You should have received a copy of the GNU General Public License along
|
14
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
15
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
16
|
+
|
17
|
+
module RabbitTestUtils
|
18
|
+
module Fixture
|
19
|
+
private
|
20
|
+
def fixture_path(*components)
|
21
|
+
File.join(File.dirname(__FILE__), "..", "fixtures", *components)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# Copyright (C) 2014-2015 Kouhei Sutou <kou@cozmixng.org>
|
2
|
+
#
|
3
|
+
# This program is free software; you can redistribute it and/or modify
|
4
|
+
# it under the terms of the GNU General Public License as published by
|
5
|
+
# the Free Software Foundation; either version 2 of the License, or
|
6
|
+
# (at your option) any later version.
|
7
|
+
#
|
8
|
+
# This program is distributed in the hope that it will be useful,
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
11
|
+
# GNU General Public License for more details.
|
12
|
+
#
|
13
|
+
# You should have received a copy of the GNU General Public License along
|
14
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
15
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
16
|
+
|
17
|
+
module RabbitTestUtils
|
18
|
+
module Parser
|
19
|
+
private
|
20
|
+
def parse(parser_class, text)
|
21
|
+
canvas = []
|
22
|
+
def canvas.logger
|
23
|
+
Rabbit::Logger.default
|
24
|
+
end
|
25
|
+
source = Rabbit::Source::Memory.new("UTF-8", nil)
|
26
|
+
source.source = text
|
27
|
+
parser = parser_class.new(canvas, source)
|
28
|
+
parser.parse
|
29
|
+
canvas
|
30
|
+
end
|
31
|
+
|
32
|
+
def inspect_canvas(canvas)
|
33
|
+
canvas.collect do |page|
|
34
|
+
inspect_element(page)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def inspect_element(element)
|
39
|
+
name = element.class.name.split(/::/).last
|
40
|
+
if element.respond_to?(:elements)
|
41
|
+
children = element.elements.collect {|child| inspect_element(child)}
|
42
|
+
else
|
43
|
+
children = [element.text]
|
44
|
+
end
|
45
|
+
[name, *children]
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rabbit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kouhei Sutou
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-09-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: gio2
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: gtk2
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -164,6 +178,20 @@ dependencies:
|
|
164
178
|
- - ">="
|
165
179
|
- !ruby/object:Gem::Version
|
166
180
|
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: gtk3
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
167
195
|
- !ruby/object:Gem::Dependency
|
168
196
|
name: test-unit
|
169
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -263,7 +291,6 @@ files:
|
|
263
291
|
- COPYING
|
264
292
|
- GPL
|
265
293
|
- Gemfile
|
266
|
-
- README
|
267
294
|
- Rakefile
|
268
295
|
- bin/rabbirc
|
269
296
|
- bin/rabbit
|
@@ -406,7 +433,6 @@ files:
|
|
406
433
|
- doc/images/background.svg
|
407
434
|
- doc/images/hare-and-tortoise.png
|
408
435
|
- doc/images/hare-and-tortoise.svg
|
409
|
-
- doc/images/jp.png
|
410
436
|
- doc/images/lavie-icon.png
|
411
437
|
- doc/images/lavie.png
|
412
438
|
- doc/images/rabbit-slide-show-logo.png
|
@@ -463,7 +489,6 @@ files:
|
|
463
489
|
- doc/images/screenshots/ja/ruby-gnome2.png
|
464
490
|
- doc/images/screenshots/ja/rubykaigi2011-raw.png
|
465
491
|
- doc/images/screenshots/ja/rubykaigi2011.png
|
466
|
-
- doc/images/us.png
|
467
492
|
- doc/index.html.en
|
468
493
|
- doc/index.html.ja
|
469
494
|
- doc/ja/about.rd
|
@@ -564,6 +589,7 @@ files:
|
|
564
589
|
- lib/rabbit/element/text.rb
|
565
590
|
- lib/rabbit/element/title-slide.rb
|
566
591
|
- lib/rabbit/element/video.rb
|
592
|
+
- lib/rabbit/error.rb
|
567
593
|
- lib/rabbit/formatter.rb
|
568
594
|
- lib/rabbit/frame.rb
|
569
595
|
- lib/rabbit/front.rb
|
@@ -655,13 +681,11 @@ files:
|
|
655
681
|
- lib/rabbit/renderer/display/spotlight.rb
|
656
682
|
- lib/rabbit/renderer/engine.rb
|
657
683
|
- lib/rabbit/renderer/engine/cairo.rb
|
658
|
-
- lib/rabbit/renderer/engine/gdk.rb
|
659
684
|
- lib/rabbit/renderer/gl.rb
|
660
685
|
- lib/rabbit/renderer/kernel.rb
|
661
686
|
- lib/rabbit/renderer/pixmap.rb
|
662
687
|
- lib/rabbit/renderer/pixmap/base.rb
|
663
688
|
- lib/rabbit/renderer/pixmap/cairo.rb
|
664
|
-
- lib/rabbit/renderer/pixmap/gdk.rb
|
665
689
|
- lib/rabbit/renderer/pixmap/gl.rb
|
666
690
|
- lib/rabbit/renderer/print.rb
|
667
691
|
- lib/rabbit/renderer/print/base.rb
|
@@ -1027,7 +1051,10 @@ files:
|
|
1027
1051
|
- test/image/test-eps.rb
|
1028
1052
|
- test/parser/test-markdown.rb
|
1029
1053
|
- test/parser/test-rd.rb
|
1054
|
+
- test/parser/test-wiki.rb
|
1030
1055
|
- test/rabbit-test-utils.rb
|
1056
|
+
- test/rabbit-test-utils/fixture.rb
|
1057
|
+
- test/rabbit-test-utils/parser.rb
|
1031
1058
|
- test/run-test.rb
|
1032
1059
|
- test/source-generator/test-hiki.rb
|
1033
1060
|
- test/source-generator/test-markdown.rb
|
@@ -1076,6 +1103,8 @@ test_files:
|
|
1076
1103
|
- test/rabbit-test-utils.rb
|
1077
1104
|
- test/test-readme-parser.rb
|
1078
1105
|
- test/test-author-configuration.rb
|
1106
|
+
- test/rabbit-test-utils/parser.rb
|
1107
|
+
- test/rabbit-test-utils/fixture.rb
|
1079
1108
|
- test/source-generator/test-rd.rb
|
1080
1109
|
- test/source-generator/test-markdown.rb
|
1081
1110
|
- test/source-generator/test-hiki.rb
|
@@ -1084,6 +1113,7 @@ test_files:
|
|
1084
1113
|
- test/test-size.rb
|
1085
1114
|
- test/test-element.rb
|
1086
1115
|
- test/test-applier.rb
|
1116
|
+
- test/parser/test-wiki.rb
|
1087
1117
|
- test/parser/test-rd.rb
|
1088
1118
|
- test/parser/test-markdown.rb
|
1089
1119
|
- test/test-source.rb
|
data/README
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
See doc/ or http://rabbit-shocker.org/.
|
data/doc/images/jp.png
DELETED
Binary file
|
data/doc/images/us.png
DELETED
Binary file
|
@@ -1,230 +0,0 @@
|
|
1
|
-
require 'rabbit/gtk'
|
2
|
-
|
3
|
-
require 'rabbit/renderer/kernel'
|
4
|
-
|
5
|
-
module Rabbit
|
6
|
-
module Renderer
|
7
|
-
module Engine
|
8
|
-
module GDK
|
9
|
-
include Kernel
|
10
|
-
|
11
|
-
class << self
|
12
|
-
def priority
|
13
|
-
0
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
def prepare_renderer(drawable)
|
18
|
-
@gdk_drawables ||= []
|
19
|
-
@gdk_drawable = drawable
|
20
|
-
@gdk_drawables.push(@gdk_drawable)
|
21
|
-
end
|
22
|
-
|
23
|
-
def init_renderer(drawable)
|
24
|
-
prepare_renderer(drawable)
|
25
|
-
end
|
26
|
-
|
27
|
-
def finish_renderer
|
28
|
-
@gdk_drawables.pop
|
29
|
-
@gdk_drawable = @gdk_drawables.pop
|
30
|
-
end
|
31
|
-
|
32
|
-
def alpha_available?
|
33
|
-
false
|
34
|
-
end
|
35
|
-
|
36
|
-
def foreground=(color)
|
37
|
-
@foreground.set_rgb_fg_color(color.to_gdk_color)
|
38
|
-
end
|
39
|
-
|
40
|
-
def background=(color)
|
41
|
-
@background.set_rgb_fg_color(color.to_gdk_color)
|
42
|
-
end
|
43
|
-
|
44
|
-
def background_image=(pixbuf)
|
45
|
-
w, h = pixbuf.width, pixbuf.height
|
46
|
-
pixmap = Gdk::Pixmap.new(nil, w, h, depth)
|
47
|
-
pixmap.draw_rectangle(@background, true, 0, 0, w, h)
|
48
|
-
args = [
|
49
|
-
@foreground, pixbuf,
|
50
|
-
0, 0, 0, 0, w, h,
|
51
|
-
Gdk::RGB::DITHER_NORMAL, 0, 0,
|
52
|
-
]
|
53
|
-
pixmap.draw_pixbuf(*args)
|
54
|
-
@background.set_tile(pixmap)
|
55
|
-
@background.fill = Gdk::GC::Fill::TILED
|
56
|
-
end
|
57
|
-
|
58
|
-
def draw_line(x1, y1, x2, y2, color=nil, params={})
|
59
|
-
gc = make_gc(color, params)
|
60
|
-
return if gc.nil?
|
61
|
-
@gdk_drawable.draw_line(gc, x1, y1, x2, y2)
|
62
|
-
end
|
63
|
-
|
64
|
-
def draw_lines(points, color=nil, params={})
|
65
|
-
gc = make_gc(color, params)
|
66
|
-
return if gc.nil?
|
67
|
-
@gdk_drawable.draw_lines(gc, points)
|
68
|
-
end
|
69
|
-
|
70
|
-
def draw_rectangle(filled, x, y, w, h, color=nil, params={})
|
71
|
-
gc = make_gc(color, params)
|
72
|
-
return if gc.nil?
|
73
|
-
@gdk_drawable.draw_rectangle(gc, filled, x, y, w, h)
|
74
|
-
end
|
75
|
-
|
76
|
-
def draw_rounded_rectangle(filled, x, y, w, h, radius, color=nil, params={})
|
77
|
-
x_radius = params[:x_radius] || radius
|
78
|
-
y_radius = params[:y_radius] || radius
|
79
|
-
x_diameter = x_radius * 2
|
80
|
-
y_diameter = y_radius * 2
|
81
|
-
|
82
|
-
line_width = params[:line_width]
|
83
|
-
|
84
|
-
inner_x = x + x_radius
|
85
|
-
inner_y = y + y_radius
|
86
|
-
inner_w = w - x_diameter
|
87
|
-
inner_h = h - y_diameter
|
88
|
-
|
89
|
-
if filled
|
90
|
-
draw_rectangle(true, inner_x, inner_y, inner_w, inner_h, color)
|
91
|
-
end
|
92
|
-
|
93
|
-
if filled
|
94
|
-
top = [inner_x, y, inner_w, y_radius]
|
95
|
-
left = [x, inner_y, x_radius, inner_h]
|
96
|
-
bottom = [inner_x, inner_y + inner_h, inner_w, y_radius]
|
97
|
-
right = [inner_x + inner_w, inner_y, x_radius, inner_h]
|
98
|
-
|
99
|
-
[top, left, bottom, right].each do |rx, ry, rw, rh|
|
100
|
-
draw_rectangle(true, rx, ry, rw, rh, color)
|
101
|
-
end
|
102
|
-
else
|
103
|
-
top = [inner_x, y, inner_x + inner_w, y]
|
104
|
-
left = [x, inner_y, x, inner_y + inner_h]
|
105
|
-
bottom = [inner_x, y + h, inner_x + inner_w, y + h]
|
106
|
-
right = [x + w, inner_y, x + w, inner_y + inner_h]
|
107
|
-
[top, left, bottom, right].each do |start_x, start_y, end_x, end_y|
|
108
|
-
draw_line(start_x, start_y, end_x, end_y, color,
|
109
|
-
{:line_width => line_width})
|
110
|
-
end
|
111
|
-
end
|
112
|
-
|
113
|
-
upper_left = [x, y, 90]
|
114
|
-
lower_left = [x, y + inner_h, 180]
|
115
|
-
lower_right = [x + inner_w, y + inner_h, 270]
|
116
|
-
upper_right = [x + inner_w, y, 0]
|
117
|
-
[
|
118
|
-
upper_left, lower_left,
|
119
|
-
lower_right, upper_right
|
120
|
-
].each do |ax, ay, start_angle|
|
121
|
-
draw_arc(filled, ax, ay, x_diameter, y_diameter,
|
122
|
-
start_angle, 90, color, {:line_width => line_width})
|
123
|
-
end
|
124
|
-
end
|
125
|
-
|
126
|
-
def draw_arc(filled, x, y, w, h, a1, a2, color=nil, params={})
|
127
|
-
gc = make_gc(color, params)
|
128
|
-
return if gc.nil?
|
129
|
-
a1 *= 64
|
130
|
-
a2 *= 64
|
131
|
-
@gdk_drawable.draw_arc(gc, filled, x, y, w, h, a1, a2)
|
132
|
-
end
|
133
|
-
|
134
|
-
def draw_arc_by_radius(filled, x, y, r, a1, a2, color=nil, params={})
|
135
|
-
sx = x - r
|
136
|
-
sy = y - r
|
137
|
-
w = r * 2
|
138
|
-
h = r * 2
|
139
|
-
draw_arc(filled, sx, sy, w, h, a1, a2, color, params)
|
140
|
-
end
|
141
|
-
|
142
|
-
def draw_polygon(filled, points, color=nil, params={})
|
143
|
-
gc = make_gc(color, params)
|
144
|
-
return if gc.nil?
|
145
|
-
@gdk_drawable.draw_polygon(gc, filled, points)
|
146
|
-
end
|
147
|
-
|
148
|
-
def draw_layout(layout, x, y, color=nil, params={})
|
149
|
-
gc = make_gc(color, params)
|
150
|
-
return if gc.nil?
|
151
|
-
@gdk_drawable.draw_layout(gc, x, y, layout)
|
152
|
-
end
|
153
|
-
|
154
|
-
def draw_pixbuf(pixbuf, x, y, params={})
|
155
|
-
gc = make_gc(params[:color], params)
|
156
|
-
return if gc.nil?
|
157
|
-
|
158
|
-
draw_scaled_pixbuf = params[:draw_scaled_pixbuf]
|
159
|
-
draw_scaled_pixbuf = @draw_scaled_image if draw_scaled_pixbuf.nil?
|
160
|
-
width = params[:width] || pixbuf.width
|
161
|
-
height = params[:height] || pixbuf.height
|
162
|
-
if draw_scaled_pixbuf and
|
163
|
-
[width, height] != [pixbuf.width, pixbuf.height]
|
164
|
-
pixbuf = pixbuf.scale(width, height)
|
165
|
-
end
|
166
|
-
args = [0, 0, x, y,
|
167
|
-
width, height,
|
168
|
-
params[:dither_mode] || Gdk::RGB::DITHER_NORMAL,
|
169
|
-
params[:x_dither] || 0,
|
170
|
-
params[:y_dither] || 0]
|
171
|
-
@gdk_drawable.draw_pixbuf(gc, pixbuf, *args)
|
172
|
-
end
|
173
|
-
|
174
|
-
private
|
175
|
-
def init_engine_color
|
176
|
-
@foreground = Gdk::GC.new(@gdk_drawable)
|
177
|
-
@background = make_gc_from_string(@background_color)
|
178
|
-
end
|
179
|
-
|
180
|
-
# this method is no longer need. the reason that
|
181
|
-
# this isn't removed is only for my memo.
|
182
|
-
def set_mask(gc, x, y, mask)
|
183
|
-
clip_mask = gc.clip_mask
|
184
|
-
clip_origin = gc.clip_origin
|
185
|
-
gc.clip_mask = mask
|
186
|
-
gc.set_clip_origin(x, y)
|
187
|
-
result = yield(gc)
|
188
|
-
gc.clip_mask = clip_mask
|
189
|
-
gc.set_clip_origin(*clip_origin)
|
190
|
-
result
|
191
|
-
end
|
192
|
-
|
193
|
-
def internal_make_gc(color)
|
194
|
-
if color.nil?
|
195
|
-
Gdk::GC.new(@gdk_drawable)
|
196
|
-
elsif color.is_a?(String)
|
197
|
-
make_gc_from_string(color)
|
198
|
-
elsif color.is_a?(Gdk::Color)
|
199
|
-
make_gc_from_gdk_color(color)
|
200
|
-
elsif color.is_a?(Renderer::Color)
|
201
|
-
make_gc_from_gdk_color(color.to_gdk_color)
|
202
|
-
else
|
203
|
-
color
|
204
|
-
end
|
205
|
-
end
|
206
|
-
|
207
|
-
def make_gc_from_gdk_color(color)
|
208
|
-
gc = Gdk::GC.new(@gdk_drawable)
|
209
|
-
gc.set_rgb_fg_color(color)
|
210
|
-
gc
|
211
|
-
end
|
212
|
-
|
213
|
-
def make_gc_from_string(str)
|
214
|
-
color = Color.parse(str).to_gdk_color
|
215
|
-
make_gc_from_gdk_color(color)
|
216
|
-
end
|
217
|
-
|
218
|
-
def make_gc(color, params={})
|
219
|
-
return nil if params[:pattern] and color.nil?
|
220
|
-
gc = internal_make_gc(color)
|
221
|
-
gc.set_line_attributes(get_line_width(params, 1),
|
222
|
-
Gdk::GC::LINE_SOLID,
|
223
|
-
Gdk::GC::CAP_ROUND,
|
224
|
-
Gdk::GC::JOIN_ROUND)
|
225
|
-
gc
|
226
|
-
end
|
227
|
-
end
|
228
|
-
end
|
229
|
-
end
|
230
|
-
end
|