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.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/data/locale/ja/LC_MESSAGES/rabbit.mo +0 -0
  3. data/doc/_config.yml +2 -2
  4. data/doc/_layouts/en.html +1 -1
  5. data/doc/_layouts/ja.html +1 -1
  6. data/doc/_layouts/skeleton.html +22 -17
  7. data/doc/css/rabbit.css +62 -4
  8. data/doc/en/development.rd +2 -2
  9. data/doc/en/news.rd +65 -2
  10. data/doc/index.html.en +15 -15
  11. data/doc/index.html.ja +20 -20
  12. data/doc/ja/development.rd +2 -2
  13. data/doc/ja/index.rd +4 -4
  14. data/doc/ja/news.rd +61 -2
  15. data/lib/rabbit/command/rabbit.rb +7 -62
  16. data/lib/rabbit/cursor-manager.rb +29 -22
  17. data/lib/rabbit/element/index-slide.rb +1 -1
  18. data/lib/rabbit/error.rb +224 -0
  19. data/lib/rabbit/frame.rb +6 -10
  20. data/lib/rabbit/graffiti/config-dialog.rb +4 -4
  21. data/lib/rabbit/gtk.rb +173 -3
  22. data/lib/rabbit/image/pdf.rb +1 -3
  23. data/lib/rabbit/image/svg.rb +1 -3
  24. data/lib/rabbit/info-window.rb +37 -30
  25. data/lib/rabbit/keys.rb +70 -70
  26. data/lib/rabbit/logger/gui.rb +3 -10
  27. data/lib/rabbit/menu.rb +22 -8
  28. data/lib/rabbit/parser.rb +4 -2
  29. data/lib/rabbit/parser/base.rb +0 -6
  30. data/lib/rabbit/parser/image.rb +4 -0
  31. data/lib/rabbit/parser/markdown.rb +33 -7
  32. data/lib/rabbit/parser/markdown/converter.rb +15 -4
  33. data/lib/rabbit/parser/pdf.rb +4 -0
  34. data/lib/rabbit/parser/rd.rb +4 -0
  35. data/lib/rabbit/parser/rd/ext/block-verbatim.rb +47 -34
  36. data/lib/rabbit/parser/wiki.rb +4 -0
  37. data/lib/rabbit/parser/wiki/output.rb +42 -15
  38. data/lib/rabbit/progress.rb +1 -1
  39. data/lib/rabbit/rabbit.rb +8 -225
  40. data/lib/rabbit/renderer/base.rb +1 -1
  41. data/lib/rabbit/renderer/display/base.rb +10 -3
  42. data/lib/rabbit/renderer/display/button-handler.rb +3 -3
  43. data/lib/rabbit/renderer/display/clutter-embed.rb +9 -9
  44. data/lib/rabbit/renderer/display/drawing-area-base.rb +19 -24
  45. data/lib/rabbit/renderer/display/drawing-area-primitive.rb +22 -13
  46. data/lib/rabbit/renderer/display/drawing-area-view-only.rb +1 -1
  47. data/lib/rabbit/renderer/display/drawing-area.rb +1 -1
  48. data/lib/rabbit/renderer/display/gesture.rb +1 -1
  49. data/lib/rabbit/renderer/display/key-handler.rb +19 -19
  50. data/lib/rabbit/renderer/display/magnifier.rb +1 -1
  51. data/lib/rabbit/renderer/display/mask.rb +16 -21
  52. data/lib/rabbit/renderer/display/search.rb +1 -1
  53. data/lib/rabbit/renderer/display/spotlight.rb +1 -1
  54. data/lib/rabbit/renderer/engine.rb +1 -18
  55. data/lib/rabbit/renderer/engine/cairo.rb +0 -6
  56. data/lib/rabbit/renderer/pixmap.rb +1 -25
  57. data/lib/rabbit/renderer/pixmap/cairo.rb +1 -9
  58. data/lib/rabbit/renderer/print/cairo.rb +1 -10
  59. data/lib/rabbit/search-window.rb +2 -2
  60. data/lib/rabbit/source-generator/markdown.rb +1 -1
  61. data/lib/rabbit/stock.rb +3 -3
  62. data/lib/rabbit/task/slide.rb +1 -1
  63. data/lib/rabbit/theme/applier.rb +1 -1
  64. data/lib/rabbit/theme/clear-blue/clear-blue.rb +0 -8
  65. data/lib/rabbit/theme/image-slide-number/image-slide-number.rb +7 -5
  66. data/lib/rabbit/theme/image-timer/image-timer.rb +4 -1
  67. data/lib/rabbit/utils.rb +20 -3
  68. data/lib/rabbit/version.rb +1 -1
  69. data/lib/rabbit/video-window.rb +3 -3
  70. data/po/en/rabbit.edit.po +187 -199
  71. data/po/en/rabbit.po +58 -67
  72. data/po/fr/rabbit.edit.po +187 -199
  73. data/po/fr/rabbit.po +58 -67
  74. data/po/ja/rabbit.edit.po +204 -205
  75. data/po/ja/rabbit.po +64 -73
  76. data/rabbit.gemspec +2 -0
  77. data/sample/rabbit-en.md +2 -2
  78. data/sample/rabbit.md +2 -2
  79. data/test/image/test-dia.rb +2 -2
  80. data/test/image/test-eps.rb +2 -2
  81. data/test/parser/test-markdown.rb +71 -25
  82. data/test/parser/test-wiki.rb +73 -0
  83. data/test/rabbit-test-utils.rb +3 -7
  84. data/test/rabbit-test-utils/fixture.rb +24 -0
  85. data/test/rabbit-test-utils/parser.rb +48 -0
  86. data/test/source-generator/test-markdown.rb +1 -1
  87. metadata +37 -7
  88. data/README +0 -1
  89. data/doc/images/jp.png +0 -0
  90. data/doc/images/us.png +0 -0
  91. data/lib/rabbit/renderer/engine/gdk.rb +0 -230
  92. data/lib/rabbit/renderer/pixmap/gdk.rb +0 -29
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2004-2012 Kouhei Sutou <kou@cozmixng.org>
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
- module RabbitTestUtils
22
- private
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
@@ -41,7 +41,7 @@ class TestSourceGeneratorMarkdown < Test::Unit::TestCase
41
41
  "The presentation tool for Rubyist")
42
42
  assert_equal(<<-EOM.rstrip, item)
43
43
  Rabbit
44
- The presentation tool for Rubyist
44
+ : The presentation tool for Rubyist
45
45
  EOM
46
46
  end
47
47
 
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.6
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-02-26 00:00:00.000000000 Z
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/.
Binary file
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