rabbit 2.1.6 → 2.1.7

Sign up to get free protection for your applications and to get access to all the features.
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