rabbit 2.2.1 → 3.0.0
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 +5 -5
- 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/en/news.rd +140 -0
- data/doc/en/sample/hiki/rabbit.hiki +2 -2
- data/doc/en/sample/markdown/rabbit.md +1 -1
- data/doc/en/sample/rd/rabbit.rd +1 -1
- data/doc/en/usage/rabbit-slide.rd +3 -3
- data/doc/images/screenshots/en/blue-circle-raw.png +0 -0
- data/doc/images/screenshots/en/blue-circle.png +0 -0
- data/doc/images/screenshots/en/clear-blue-raw.png +0 -0
- data/doc/images/screenshots/en/clear-blue.png +0 -0
- data/doc/images/screenshots/en/cozmixng-raw.png +0 -0
- data/doc/images/screenshots/en/cozmixng.png +0 -0
- data/doc/images/screenshots/en/dark-gradation-raw.png +0 -0
- data/doc/images/screenshots/en/dark-gradation.png +0 -0
- data/doc/images/screenshots/en/day-white-raw.png +0 -0
- data/doc/images/screenshots/en/day-white.png +0 -0
- data/doc/images/screenshots/en/debian-raw.png +0 -0
- data/doc/images/screenshots/en/debian.png +0 -0
- data/doc/images/screenshots/en/green-circle-raw.png +0 -0
- data/doc/images/screenshots/en/green-circle.png +0 -0
- data/doc/images/screenshots/en/night-black-raw.png +0 -0
- data/doc/images/screenshots/en/night-black.png +0 -0
- data/doc/images/screenshots/en/rabbit-raw.png +0 -0
- data/doc/images/screenshots/en/rabbit.png +0 -0
- data/doc/images/screenshots/en/ranguba-raw.png +0 -0
- data/doc/images/screenshots/en/ranguba.png +0 -0
- data/doc/images/screenshots/en/red-frame-raw.png +0 -0
- data/doc/images/screenshots/en/red-frame.png +0 -0
- data/doc/images/screenshots/en/ruby-gnome2-raw.png +0 -0
- data/doc/images/screenshots/en/ruby-gnome2.png +0 -0
- data/doc/images/screenshots/en/rubykaigi2011-raw.png +0 -0
- data/doc/images/screenshots/en/rubykaigi2011.png +0 -0
- data/doc/images/screenshots/ja/blue-circle-raw.png +0 -0
- data/doc/images/screenshots/ja/blue-circle.png +0 -0
- data/doc/images/screenshots/ja/clear-blue-raw.png +0 -0
- data/doc/images/screenshots/ja/clear-blue.png +0 -0
- data/doc/images/screenshots/ja/cozmixng-raw.png +0 -0
- data/doc/images/screenshots/ja/cozmixng.png +0 -0
- data/doc/images/screenshots/ja/dark-gradation-raw.png +0 -0
- data/doc/images/screenshots/ja/dark-gradation.png +0 -0
- data/doc/images/screenshots/ja/day-white-raw.png +0 -0
- data/doc/images/screenshots/ja/day-white.png +0 -0
- data/doc/images/screenshots/ja/debian-raw.png +0 -0
- data/doc/images/screenshots/ja/debian.png +0 -0
- data/doc/images/screenshots/ja/green-circle-raw.png +0 -0
- data/doc/images/screenshots/ja/green-circle.png +0 -0
- data/doc/images/screenshots/ja/night-black-raw.png +0 -0
- data/doc/images/screenshots/ja/night-black.png +0 -0
- data/doc/images/screenshots/ja/rabbit-raw.png +0 -0
- data/doc/images/screenshots/ja/rabbit.png +0 -0
- data/doc/images/screenshots/ja/ranguba-raw.png +0 -0
- data/doc/images/screenshots/ja/ranguba.png +0 -0
- data/doc/images/screenshots/ja/red-frame-raw.png +0 -0
- data/doc/images/screenshots/ja/red-frame.png +0 -0
- data/doc/images/screenshots/ja/ruby-gnome2-raw.png +0 -0
- data/doc/images/screenshots/ja/ruby-gnome2.png +0 -0
- data/doc/images/screenshots/ja/rubykaigi2011-raw.png +0 -0
- data/doc/images/screenshots/ja/rubykaigi2011.png +0 -0
- data/doc/ja/how-to-make/index.rd +1 -1
- data/doc/ja/news.rd +143 -0
- data/doc/ja/sample/hiki/rabbit.hiki +2 -2
- data/doc/ja/sample/markdown/rabbit.md +1 -1
- data/doc/ja/sample/rd/rabbit.rd +1 -1
- data/doc/ja/slides.rd +1 -1
- data/doc/ja/usage/rabbit-slide.rd +3 -3
- data/doc/ja/users.rd +1 -1
- data/lib/rabbit/action.rb +23 -4
- data/lib/rabbit/canvas.rb +70 -14
- data/lib/rabbit/command/rabbit-slide.rb +252 -67
- data/lib/rabbit/command/rabbit-slide.ui +180 -0
- data/lib/rabbit/command/rabbit.rb +14 -20
- data/lib/rabbit/console.rb +9 -3
- data/lib/rabbit/dependency-canvas.rb +19 -1
- data/lib/rabbit/element.rb +34 -7
- data/lib/rabbit/element/poppler-page.rb +1 -2
- data/lib/rabbit/element/text-container-element.rb +2 -2
- data/lib/rabbit/element/text-renderer.rb +5 -4
- data/lib/rabbit/element/title-slide.rb +8 -0
- data/lib/rabbit/element/video.rb +1 -2
- data/lib/rabbit/filename.rb +39 -0
- data/lib/rabbit/formatter.rb +61 -30
- data/lib/rabbit/frame.rb +1 -19
- data/lib/rabbit/front.rb +23 -2
- data/lib/rabbit/gesture/handler.rb +21 -2
- data/lib/rabbit/graffiti/config-dialog.rb +15 -18
- data/lib/rabbit/gtk.rb +2 -191
- data/lib/rabbit/html/generator.rb +38 -30
- data/lib/rabbit/image-data-loader.rb +6 -1
- data/lib/rabbit/image.rb +22 -4
- data/lib/rabbit/image/base.rb +34 -2
- data/lib/rabbit/image/default.rb +1 -1
- data/lib/rabbit/image/eps.rb +1 -1
- data/lib/rabbit/image/gimp.rb +1 -1
- data/lib/rabbit/info-window.rb +27 -15
- data/lib/rabbit/logger/gui.rb +21 -23
- data/lib/rabbit/logger/stderr.rb +1 -1
- data/lib/rabbit/pango-markup.rb +44 -0
- data/lib/rabbit/parser.rb +20 -3
- data/lib/rabbit/parser/ext/image.rb +25 -8
- data/lib/rabbit/parser/ext/video.rb +21 -2
- data/lib/rabbit/parser/markdown.rb +1 -2
- data/lib/rabbit/parser/pdf.rb +23 -7
- data/lib/rabbit/parser/rd/rd2rabbit-lib.rb +20 -0
- data/lib/rabbit/progress.rb +34 -23
- data/lib/rabbit/renderer.rb +17 -23
- data/lib/rabbit/renderer/base.rb +31 -57
- data/lib/rabbit/renderer/color.rb +46 -53
- data/lib/rabbit/renderer/display/base.rb +71 -62
- data/lib/rabbit/renderer/display/button-handler.rb +2 -1
- data/lib/rabbit/renderer/display/clutter-embed.rb +60 -26
- data/lib/rabbit/renderer/display/drawing-area-base.rb +1 -1
- data/lib/rabbit/renderer/display/drawing-area-primitive.rb +34 -21
- data/lib/rabbit/renderer/display/graffiti.rb +1 -3
- data/lib/rabbit/renderer/display/hook-handler.rb +8 -4
- data/lib/rabbit/renderer/display/key-handler.rb +7 -2
- data/lib/rabbit/renderer/display/magnifier.rb +2 -2
- data/lib/rabbit/renderer/display/progress.rb +10 -2
- data/lib/rabbit/renderer/display/spotlight.rb +2 -2
- data/lib/rabbit/renderer/engine/cairo.rb +0 -3
- data/lib/rabbit/renderer/kernel.rb +54 -0
- data/lib/rabbit/renderer/offscreen.rb +14 -6
- data/lib/rabbit/renderer/print-layout.rb +150 -0
- data/lib/rabbit/renderer/printer.rb +236 -0
- data/lib/rabbit/renderer/screen.rb +288 -0
- data/lib/rabbit/renderer/widget/drawing-area.rb +93 -0
- data/lib/rabbit/size.rb +52 -25
- data/lib/rabbit/slide-configuration.rb +56 -12
- data/lib/rabbit/source.rb +24 -8
- data/lib/rabbit/task/slide.rb +1 -1
- data/lib/rabbit/theme/applier.rb +26 -9
- data/lib/rabbit/theme/base/base.rb +7 -7
- data/lib/rabbit/theme/clear-blue/clear-blue.rb +1 -1
- data/lib/rabbit/theme/image-timer/image-timer.rb +3 -1
- data/lib/rabbit/theme/image-viewer/image-viewer.rb +13 -1
- data/lib/rabbit/theme/image/image.rb +4 -4
- data/lib/rabbit/theme/lightning-talk-toolkit/lightning-talk-toolkit.rb +3 -1
- data/lib/rabbit/theme/tag/tag.rb +12 -4
- data/lib/rabbit/version.rb +2 -2
- data/lib/rabbit/video-window.rb +75 -89
- data/misc/emacs/rabbit-mode.el +11 -7
- data/po/en/rabbit.edit.po +189 -185
- data/po/en/rabbit.po +15 -12
- data/po/fr/rabbit.edit.po +189 -185
- data/po/fr/rabbit.po +15 -12
- data/po/ja/rabbit.edit.po +190 -186
- data/po/ja/rabbit.po +16 -13
- data/rabbit.gemspec +34 -16
- data/test/command/test-rabbit.rb +100 -0
- data/test/{rabbit-test-utils.rb → helper.rb} +7 -4
- data/test/{rabbit-test-utils → helper}/fixture.rb +2 -2
- data/test/{rabbit-test-utils → helper}/parser.rb +2 -2
- data/test/image/test-dia.rb +2 -2
- data/test/image/test-eps.rb +2 -2
- data/test/parser/test-markdown.rb +3 -5
- data/test/parser/test-rd.rb +1 -3
- data/test/parser/test-wiki.rb +3 -5
- data/test/run-test.rb +3 -3
- data/test/test-applier.rb +60 -29
- data/test/test-canvas.rb +70 -0
- data/test/test-color.rb +18 -9
- data/test/test-element.rb +15 -3
- data/test/test-size.rb +25 -22
- data/test/test-slide-configuration.rb +16 -6
- data/test/test-source.rb +15 -5
- data/test/test-utils.rb +15 -1
- metadata +55 -84
- data/lib/rabbit/renderer/print.rb +0 -31
- data/lib/rabbit/renderer/print/base.rb +0 -78
- data/lib/rabbit/renderer/print/cairo.rb +0 -122
- data/lib/rabbit/renderer/print/layout.rb +0 -123
- data/lib/rabbit/renderer/print/multiple.rb +0 -202
- data/lib/rabbit/source/hiki.rb +0 -36
- data/lib/rabbit/source/slide-share.rb +0 -53
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!-- Generated with glade 3.22.1 -->
|
|
3
|
+
<interface>
|
|
4
|
+
<requires lib="gtk+" version="3.20"/>
|
|
5
|
+
<object class="GtkDialog" id="dialog">
|
|
6
|
+
<property name="can_focus">False</property>
|
|
7
|
+
<property name="type_hint">dialog</property>
|
|
8
|
+
<child>
|
|
9
|
+
<placeholder/>
|
|
10
|
+
</child>
|
|
11
|
+
<child internal-child="vbox">
|
|
12
|
+
<object class="GtkBox">
|
|
13
|
+
<property name="can_focus">False</property>
|
|
14
|
+
<property name="orientation">vertical</property>
|
|
15
|
+
<property name="spacing">2</property>
|
|
16
|
+
<child internal-child="action_area">
|
|
17
|
+
<object class="GtkButtonBox">
|
|
18
|
+
<property name="can_focus">False</property>
|
|
19
|
+
<property name="layout_style">end</property>
|
|
20
|
+
<child>
|
|
21
|
+
<object class="GtkButton" id="cancel-button">
|
|
22
|
+
<property name="label">gtk-cancel</property>
|
|
23
|
+
<property name="visible">True</property>
|
|
24
|
+
<property name="can_focus">True</property>
|
|
25
|
+
<property name="receives_default">True</property>
|
|
26
|
+
<property name="use_stock">True</property>
|
|
27
|
+
</object>
|
|
28
|
+
<packing>
|
|
29
|
+
<property name="expand">True</property>
|
|
30
|
+
<property name="fill">True</property>
|
|
31
|
+
<property name="position">0</property>
|
|
32
|
+
</packing>
|
|
33
|
+
</child>
|
|
34
|
+
<child>
|
|
35
|
+
<object class="GtkButton" id="apply-button">
|
|
36
|
+
<property name="label">gtk-apply</property>
|
|
37
|
+
<property name="visible">True</property>
|
|
38
|
+
<property name="can_focus">True</property>
|
|
39
|
+
<property name="receives_default">True</property>
|
|
40
|
+
<property name="use_stock">True</property>
|
|
41
|
+
</object>
|
|
42
|
+
<packing>
|
|
43
|
+
<property name="expand">True</property>
|
|
44
|
+
<property name="fill">True</property>
|
|
45
|
+
<property name="position">1</property>
|
|
46
|
+
</packing>
|
|
47
|
+
</child>
|
|
48
|
+
</object>
|
|
49
|
+
<packing>
|
|
50
|
+
<property name="expand">False</property>
|
|
51
|
+
<property name="fill">False</property>
|
|
52
|
+
<property name="position">0</property>
|
|
53
|
+
</packing>
|
|
54
|
+
</child>
|
|
55
|
+
<child>
|
|
56
|
+
<object class="GtkBox">
|
|
57
|
+
<property name="visible">True</property>
|
|
58
|
+
<property name="can_focus">False</property>
|
|
59
|
+
<property name="orientation">vertical</property>
|
|
60
|
+
<child>
|
|
61
|
+
<object class="GtkFrame">
|
|
62
|
+
<property name="visible">True</property>
|
|
63
|
+
<property name="can_focus">False</property>
|
|
64
|
+
<property name="label_xalign">0</property>
|
|
65
|
+
<property name="shadow_type">none</property>
|
|
66
|
+
<child>
|
|
67
|
+
<object class="GtkAlignment">
|
|
68
|
+
<property name="visible">True</property>
|
|
69
|
+
<property name="can_focus">False</property>
|
|
70
|
+
<property name="left_padding">12</property>
|
|
71
|
+
<child>
|
|
72
|
+
<object class="GtkGrid">
|
|
73
|
+
<property name="visible">True</property>
|
|
74
|
+
<property name="can_focus">False</property>
|
|
75
|
+
<child>
|
|
76
|
+
<object class="GtkLabel">
|
|
77
|
+
<property name="visible">True</property>
|
|
78
|
+
<property name="can_focus">False</property>
|
|
79
|
+
<property name="halign">end</property>
|
|
80
|
+
<property name="label" translatable="yes">ID:</property>
|
|
81
|
+
</object>
|
|
82
|
+
<packing>
|
|
83
|
+
<property name="left_attach">0</property>
|
|
84
|
+
<property name="top_attach">0</property>
|
|
85
|
+
</packing>
|
|
86
|
+
</child>
|
|
87
|
+
<child>
|
|
88
|
+
<object class="GtkEntry" id="slide-id">
|
|
89
|
+
<property name="visible">True</property>
|
|
90
|
+
<property name="can_focus">True</property>
|
|
91
|
+
<property name="placeholder_text" translatable="yes">rubykaigi2012</property>
|
|
92
|
+
</object>
|
|
93
|
+
<packing>
|
|
94
|
+
<property name="left_attach">1</property>
|
|
95
|
+
<property name="top_attach">0</property>
|
|
96
|
+
</packing>
|
|
97
|
+
</child>
|
|
98
|
+
<child>
|
|
99
|
+
<object class="GtkLabel">
|
|
100
|
+
<property name="visible">True</property>
|
|
101
|
+
<property name="can_focus">False</property>
|
|
102
|
+
<property name="halign">end</property>
|
|
103
|
+
<property name="label" translatable="yes">Base name:</property>
|
|
104
|
+
</object>
|
|
105
|
+
<packing>
|
|
106
|
+
<property name="left_attach">0</property>
|
|
107
|
+
<property name="top_attach">1</property>
|
|
108
|
+
</packing>
|
|
109
|
+
</child>
|
|
110
|
+
<child>
|
|
111
|
+
<object class="GtkEntry" id="slide-base-name">
|
|
112
|
+
<property name="visible">True</property>
|
|
113
|
+
<property name="can_focus">True</property>
|
|
114
|
+
<property name="placeholder_text" translatable="yes">rabbit-introduction</property>
|
|
115
|
+
</object>
|
|
116
|
+
<packing>
|
|
117
|
+
<property name="left_attach">1</property>
|
|
118
|
+
<property name="top_attach">1</property>
|
|
119
|
+
</packing>
|
|
120
|
+
</child>
|
|
121
|
+
<child>
|
|
122
|
+
<object class="GtkLabel">
|
|
123
|
+
<property name="visible">True</property>
|
|
124
|
+
<property name="can_focus">False</property>
|
|
125
|
+
<property name="label" translatable="yes">Markup language:</property>
|
|
126
|
+
</object>
|
|
127
|
+
<packing>
|
|
128
|
+
<property name="left_attach">0</property>
|
|
129
|
+
<property name="top_attach">2</property>
|
|
130
|
+
</packing>
|
|
131
|
+
</child>
|
|
132
|
+
<child>
|
|
133
|
+
<object class="GtkComboBoxText" id="slide-markup-language">
|
|
134
|
+
<property name="visible">True</property>
|
|
135
|
+
<property name="can_focus">False</property>
|
|
136
|
+
</object>
|
|
137
|
+
<packing>
|
|
138
|
+
<property name="left_attach">1</property>
|
|
139
|
+
<property name="top_attach">2</property>
|
|
140
|
+
</packing>
|
|
141
|
+
</child>
|
|
142
|
+
</object>
|
|
143
|
+
</child>
|
|
144
|
+
</object>
|
|
145
|
+
</child>
|
|
146
|
+
<child type="label">
|
|
147
|
+
<object class="GtkLabel">
|
|
148
|
+
<property name="visible">True</property>
|
|
149
|
+
<property name="can_focus">False</property>
|
|
150
|
+
<property name="label" translatable="yes">Slide information</property>
|
|
151
|
+
</object>
|
|
152
|
+
</child>
|
|
153
|
+
</object>
|
|
154
|
+
<packing>
|
|
155
|
+
<property name="expand">False</property>
|
|
156
|
+
<property name="fill">True</property>
|
|
157
|
+
<property name="position">0</property>
|
|
158
|
+
</packing>
|
|
159
|
+
</child>
|
|
160
|
+
<child>
|
|
161
|
+
<placeholder/>
|
|
162
|
+
</child>
|
|
163
|
+
<child>
|
|
164
|
+
<placeholder/>
|
|
165
|
+
</child>
|
|
166
|
+
</object>
|
|
167
|
+
<packing>
|
|
168
|
+
<property name="expand">False</property>
|
|
169
|
+
<property name="fill">True</property>
|
|
170
|
+
<property name="position">1</property>
|
|
171
|
+
</packing>
|
|
172
|
+
</child>
|
|
173
|
+
</object>
|
|
174
|
+
</child>
|
|
175
|
+
<action-widgets>
|
|
176
|
+
<action-widget response="-6">cancel-button</action-widget>
|
|
177
|
+
<action-widget response="-10">apply-button</action-widget>
|
|
178
|
+
</action-widgets>
|
|
179
|
+
</object>
|
|
180
|
+
</interface>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright (C) 2004-
|
|
1
|
+
# Copyright (C) 2004-2019 Sutou Kouhei <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
|
|
@@ -142,7 +142,6 @@ module Rabbit
|
|
|
142
142
|
options.migemo_dictionary_name = "migemo-dict"
|
|
143
143
|
options.use_gl = false
|
|
144
144
|
options.show_native_window_id = false
|
|
145
|
-
options.keep_above = false
|
|
146
145
|
options.source_filename = nil
|
|
147
146
|
|
|
148
147
|
|
|
@@ -587,14 +586,6 @@ module Rabbit
|
|
|
587
586
|
options.use_gl = bool
|
|
588
587
|
end
|
|
589
588
|
|
|
590
|
-
parser.category _("Display")
|
|
591
|
-
|
|
592
|
-
parser.on("--[no-]keep-above",
|
|
593
|
-
_("Specify whether to keep above window."),
|
|
594
|
-
"(#{options.keep_above})") do |bool|
|
|
595
|
-
options.keep_above = bool
|
|
596
|
-
end
|
|
597
|
-
|
|
598
589
|
parser.category _("Others")
|
|
599
590
|
|
|
600
591
|
parser.on("--check-syntax",
|
|
@@ -727,9 +718,9 @@ module Rabbit
|
|
|
727
718
|
target.draw_scaled_image = @options.draw_scaled_image
|
|
728
719
|
end
|
|
729
720
|
|
|
730
|
-
def
|
|
731
|
-
target.
|
|
732
|
-
target.
|
|
721
|
+
def setup_base_size(target)
|
|
722
|
+
target.base_width = @options.width
|
|
723
|
+
target.base_height = @options.height
|
|
733
724
|
end
|
|
734
725
|
|
|
735
726
|
def setup_paper_size(target)
|
|
@@ -811,8 +802,8 @@ module Rabbit
|
|
|
811
802
|
|
|
812
803
|
def do_print
|
|
813
804
|
source = make_source
|
|
814
|
-
|
|
815
|
-
canvas
|
|
805
|
+
canvas = make_canvas(Renderer::Printer)
|
|
806
|
+
setup_base_size(canvas)
|
|
816
807
|
setup_paper_size(canvas)
|
|
817
808
|
setup_print_info(canvas)
|
|
818
809
|
setup_3d_info(canvas)
|
|
@@ -829,7 +820,7 @@ module Rabbit
|
|
|
829
820
|
def do_save_as_image
|
|
830
821
|
source = make_source
|
|
831
822
|
canvas = make_canvas(Renderer::Offscreen)
|
|
832
|
-
|
|
823
|
+
setup_base_size(canvas)
|
|
833
824
|
setup_image_info(canvas)
|
|
834
825
|
setup_print_info(canvas)
|
|
835
826
|
setup_paper_size(canvas)
|
|
@@ -851,10 +842,14 @@ module Rabbit
|
|
|
851
842
|
Renderer::Display.init(display_init_options)
|
|
852
843
|
|
|
853
844
|
source = make_source
|
|
854
|
-
|
|
845
|
+
if ENV["RABBIT_RENDERER"] == "screen"
|
|
846
|
+
canvas = make_canvas(Renderer::Screen)
|
|
847
|
+
else
|
|
848
|
+
canvas = make_canvas(Renderer::Display)
|
|
849
|
+
end
|
|
855
850
|
frame = Frame.new(@logger, canvas)
|
|
856
851
|
frame.geometry = @options.geometry
|
|
857
|
-
|
|
852
|
+
setup_base_size(canvas)
|
|
858
853
|
setup_paper_size(canvas)
|
|
859
854
|
setup_image_info(canvas)
|
|
860
855
|
setup_print_info(canvas)
|
|
@@ -881,8 +876,7 @@ module Rabbit
|
|
|
881
876
|
|
|
882
877
|
def do_check_syntax
|
|
883
878
|
source = make_source
|
|
884
|
-
|
|
885
|
-
canvas = make_canvas(renderer)
|
|
879
|
+
canvas = make_canvas(Renderer::Printer)
|
|
886
880
|
exception = nil
|
|
887
881
|
begin
|
|
888
882
|
canvas.parse(source) do |_exception|
|
data/lib/rabbit/console.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright (C) 2005-
|
|
1
|
+
# Copyright (C) 2005-2017 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,6 +18,8 @@ require 'English'
|
|
|
18
18
|
|
|
19
19
|
require "shellwords"
|
|
20
20
|
require "optparse"
|
|
21
|
+
require "optparse/date"
|
|
22
|
+
require "optparse/time"
|
|
21
23
|
require "ostruct"
|
|
22
24
|
require "uri"
|
|
23
25
|
require "pathname"
|
|
@@ -79,8 +81,12 @@ module Rabbit
|
|
|
79
81
|
options.after_hooks.each do |hook|
|
|
80
82
|
hook.call(self, parser, options)
|
|
81
83
|
end
|
|
82
|
-
rescue
|
|
83
|
-
@logger.
|
|
84
|
+
rescue => error
|
|
85
|
+
@logger.error("#{error.class}: #{error.message}")
|
|
86
|
+
error.backtrace.each do |line|
|
|
87
|
+
@logger.error(line)
|
|
88
|
+
end
|
|
89
|
+
raise
|
|
84
90
|
end
|
|
85
91
|
|
|
86
92
|
[options, options.logger]
|
|
@@ -1,4 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
# Copyright (C) 2006-2019 Sutou Kouhei <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
|
+
require "rabbit/canvas"
|
|
2
18
|
|
|
3
19
|
module Rabbit
|
|
4
20
|
class DependencyCanvas < Canvas
|
|
@@ -10,6 +26,8 @@ module Rabbit
|
|
|
10
26
|
def initialize(parent, *rest, &block)
|
|
11
27
|
@parent = parent
|
|
12
28
|
super(*rest, &block)
|
|
29
|
+
self.base_width = @parent.base_width
|
|
30
|
+
self.base_height = @parent.base_height
|
|
13
31
|
end
|
|
14
32
|
end
|
|
15
33
|
end
|
data/lib/rabbit/element.rb
CHANGED
|
@@ -1,8 +1,35 @@
|
|
|
1
|
-
|
|
1
|
+
# Copyright (C) 2017 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.
|
|
2
16
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
17
|
+
require "rabbit/element/block"
|
|
18
|
+
require "rabbit/element/description-list"
|
|
19
|
+
require "rabbit/element/enum-list"
|
|
20
|
+
require "rabbit/element/footnote"
|
|
21
|
+
require "rabbit/element/image-title-slide"
|
|
22
|
+
require "rabbit/element/image"
|
|
23
|
+
require "rabbit/element/index-slide"
|
|
24
|
+
require "rabbit/element/item-list"
|
|
25
|
+
require "rabbit/element/method-list"
|
|
26
|
+
require "rabbit/element/poppler-slide"
|
|
27
|
+
require "rabbit/element/poppler-title-slide"
|
|
28
|
+
require "rabbit/element/preformatted"
|
|
29
|
+
require "rabbit/element/slide"
|
|
30
|
+
require "rabbit/element/syntax-highlighting"
|
|
31
|
+
require "rabbit/element/table"
|
|
32
|
+
require "rabbit/element/tag"
|
|
33
|
+
require "rabbit/element/text"
|
|
34
|
+
require "rabbit/element/title-slide"
|
|
35
|
+
require "rabbit/element/video"
|
|
@@ -107,7 +107,7 @@ module Rabbit
|
|
|
107
107
|
super(my_font_size)
|
|
108
108
|
end
|
|
109
109
|
|
|
110
|
-
|
|
110
|
+
protected
|
|
111
111
|
# TODO: This is too workaround. :<
|
|
112
112
|
def draw_sub_elements(canvas, x, y, w, h)
|
|
113
113
|
draw_sub_elements_recursive(canvas, x, y, w, h, 0) do
|
|
@@ -122,7 +122,7 @@ module Rabbit
|
|
|
122
122
|
else
|
|
123
123
|
draw_sub_elements_recursive(canvas, x, y, w, h, i + 1) do
|
|
124
124
|
element = @elements[i]
|
|
125
|
-
if element.
|
|
125
|
+
if element.is_a?(TextContainerElement)
|
|
126
126
|
element.draw_sub_elements(canvas, x, y, w, h) do
|
|
127
127
|
yield
|
|
128
128
|
end
|
|
@@ -206,13 +206,13 @@ module Rabbit
|
|
|
206
206
|
end
|
|
207
207
|
|
|
208
208
|
def setup_layout(layout, w)
|
|
209
|
-
if @wrap_mode
|
|
210
|
-
|
|
211
|
-
|
|
209
|
+
layout.set_wrap(@wrap_mode) if @wrap_mode
|
|
210
|
+
layout.set_alignment(@align)
|
|
211
|
+
if @wrap_mode or layout.alignment != Pango::Alignment::LEFT
|
|
212
|
+
layout.set_width((w * Pango::SCALE).ceil)
|
|
212
213
|
else
|
|
213
214
|
layout.set_width(-1)
|
|
214
215
|
end
|
|
215
|
-
layout.set_alignment(@align)
|
|
216
216
|
indent = @indent
|
|
217
217
|
indent = indent.value if indent.respond_to?(:value)
|
|
218
218
|
layout.set_indent(indent)
|
|
@@ -325,6 +325,7 @@ module Rabbit
|
|
|
325
325
|
break if new_size == size
|
|
326
326
|
set_computed_font_size(new_size)
|
|
327
327
|
compile(canvas, x, y, w, h)
|
|
328
|
+
break if !@wrap_mode and @layout.wrapped?
|
|
328
329
|
break if compare.call(*@layout.pixel_size)
|
|
329
330
|
size = new_size
|
|
330
331
|
end
|
data/lib/rabbit/element/video.rb
CHANGED