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
@@ -1,5 +1,5 @@
|
|
1
1
|
require "rabbit/renderer/display/drawing-area-primitive"
|
2
|
-
require
|
2
|
+
require "rabbit/renderer/display/menu"
|
3
3
|
require "rabbit/renderer/display/progress"
|
4
4
|
require "rabbit/renderer/display/mask"
|
5
5
|
require "rabbit/renderer/display/search"
|
@@ -239,10 +239,10 @@ module Rabbit
|
|
239
239
|
|
240
240
|
private
|
241
241
|
def add_widgets_to_container(container)
|
242
|
-
@hbox = Gtk::
|
243
|
-
@vbox = Gtk::
|
244
|
-
@vbox.pack_start(@area, true, true, 0)
|
245
|
-
@hbox.pack_end(@vbox, true, true, 0)
|
242
|
+
@hbox = Gtk::Box.new(:horizontal)
|
243
|
+
@vbox = Gtk::Box.new(:vertical)
|
244
|
+
@vbox.pack_start(@area, :expand => true, :fill => true, :padding => 0)
|
245
|
+
@hbox.pack_end(@vbox, :expand => true, :fill => true, :padding => 0)
|
246
246
|
if block_given?
|
247
247
|
yield(container, @hbox)
|
248
248
|
else
|
@@ -259,11 +259,11 @@ module Rabbit
|
|
259
259
|
|
260
260
|
def init_drawing_area
|
261
261
|
super
|
262
|
-
event_mask = Gdk::
|
263
|
-
event_mask |= Gdk::
|
264
|
-
event_mask |= Gdk::
|
265
|
-
event_mask |= Gdk::
|
266
|
-
event_mask |= Gdk::
|
262
|
+
event_mask = Gdk::EventMask::BUTTON_PRESS_MASK
|
263
|
+
event_mask |= Gdk::EventMask::BUTTON_RELEASE_MASK
|
264
|
+
event_mask |= Gdk::EventMask::BUTTON1_MOTION_MASK
|
265
|
+
event_mask |= Gdk::EventMask::BUTTON2_MOTION_MASK
|
266
|
+
event_mask |= Gdk::EventMask::BUTTON3_MOTION_MASK
|
267
267
|
@area.add_events(event_mask)
|
268
268
|
set_key_press_event(@area)
|
269
269
|
set_button_event(@area)
|
@@ -271,36 +271,31 @@ module Rabbit
|
|
271
271
|
set_scroll_event(@area)
|
272
272
|
end
|
273
273
|
|
274
|
-
def mapped(widget)
|
275
|
-
super
|
276
|
-
@white = Gdk::GC.new(@drawable)
|
277
|
-
@white.set_rgb_fg_color(Color.parse("white").to_gdk_color)
|
278
|
-
@black = Gdk::GC.new(@drawable)
|
279
|
-
@black.set_rgb_fg_color(Color.parse("black").to_gdk_color)
|
280
|
-
end
|
281
|
-
|
282
274
|
def set_motion_notify_event
|
283
275
|
@area.signal_connect("motion_notify_event") do |widget, event|
|
284
276
|
call_hook_procs(@motion_notify_hook_procs, event)
|
285
277
|
end
|
286
278
|
end
|
287
279
|
|
288
|
-
def
|
280
|
+
def paint(color_name)
|
281
|
+
context = @drawable.create_cairo_context
|
282
|
+
context.set_source_rgb(*Color.parse(color_name).to_gdk_rgb)
|
283
|
+
context.paint
|
284
|
+
end
|
285
|
+
|
286
|
+
def draw(widget, context)
|
289
287
|
reload_source unless @caching
|
290
288
|
|
291
289
|
if whiteouting?
|
292
|
-
|
293
|
-
@size.real_width, @size.real_height)
|
290
|
+
paint("white")
|
294
291
|
elsif blackouting?
|
295
|
-
|
296
|
-
@size.real_width, @size.real_height)
|
292
|
+
paint("black")
|
297
293
|
else
|
298
294
|
super
|
299
295
|
draw_graffiti
|
300
296
|
draw_gesture
|
301
297
|
draw_spotlight
|
302
298
|
end
|
303
|
-
true
|
304
299
|
end
|
305
300
|
|
306
301
|
def draw_slide(slide, simulation, &block)
|
@@ -116,7 +116,7 @@ module Rabbit
|
|
116
116
|
@area = Gtk::DrawingArea.new
|
117
117
|
@area.can_focus = true
|
118
118
|
set_map
|
119
|
-
|
119
|
+
set_draw
|
120
120
|
set_configure_event_after
|
121
121
|
end
|
122
122
|
|
@@ -135,18 +135,27 @@ module Rabbit
|
|
135
135
|
prepare_renderer(@drawable)
|
136
136
|
end
|
137
137
|
|
138
|
-
def
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
138
|
+
def set_draw
|
139
|
+
stop_events = false
|
140
|
+
if @area.class.signals.include?("draw")
|
141
|
+
@area.signal_connect("draw") do |widget, context|
|
142
|
+
init_context(context)
|
143
|
+
draw(widget, context)
|
144
|
+
finish_renderer
|
145
|
+
stop_events
|
146
|
+
end
|
147
|
+
else
|
148
|
+
@area.signal_connect("expose_event") do |widget, event|
|
149
|
+
init_renderer(@drawable)
|
150
|
+
draw(widget, @drawable.create_cairo_context)
|
151
|
+
finish_renderer
|
152
|
+
stop_events
|
153
|
+
end
|
144
154
|
end
|
145
155
|
end
|
146
156
|
|
147
|
-
def
|
157
|
+
def draw(widget, context)
|
148
158
|
draw_current_slide
|
149
|
-
true
|
150
159
|
end
|
151
160
|
|
152
161
|
def draw_current_slide
|
@@ -197,10 +206,10 @@ module Rabbit
|
|
197
206
|
def grab
|
198
207
|
Gtk.grab_add(@area)
|
199
208
|
Gdk.pointer_grab(@area.window, false,
|
200
|
-
Gdk::
|
201
|
-
Gdk::
|
202
|
-
Gdk::
|
203
|
-
Gdk::
|
209
|
+
Gdk::EventMask::BUTTON_PRESS_MASK |
|
210
|
+
Gdk::EventMask::BUTTON_RELEASE_MASK |
|
211
|
+
Gdk::EventMask::SCROLL_MASK |
|
212
|
+
Gdk::EventMask::POINTER_MOTION_MASK,
|
204
213
|
nil, nil,
|
205
214
|
Gdk::Event::CURRENT_TIME)
|
206
215
|
end
|
@@ -67,30 +67,30 @@ module Rabbit
|
|
67
67
|
end
|
68
68
|
|
69
69
|
def init_number_keys
|
70
|
-
no_mod = Gdk::
|
70
|
+
no_mod = Gdk::ModifierType.new
|
71
71
|
mods = Utils.combination([
|
72
|
-
Gdk::
|
73
|
-
Gdk::
|
72
|
+
Gdk::ModifierType::CONTROL_MASK,
|
73
|
+
Gdk::ModifierType::MOD1_MASK,
|
74
74
|
])
|
75
75
|
mods.each do |mod|
|
76
76
|
mod = mod.inject(no_mod) do |result, item|
|
77
77
|
result | item
|
78
78
|
end
|
79
|
-
keys = (0..9).collect{|i| Gdk::Keyval.const_get("
|
79
|
+
keys = (0..9).collect{|i| Gdk::Keyval.const_get("KEY_#{i}")}
|
80
80
|
set_keys(keys, mod) do |group, obj, val, modifier|
|
81
|
-
index = calc_slide_number(val - Gdk::Keyval::
|
81
|
+
index = calc_slide_number(val - Gdk::Keyval::KEY_0, modifier)
|
82
82
|
@canvas.activate("JumpTo") {index}
|
83
83
|
end
|
84
|
-
keys = (0..9).collect{|i| Gdk::Keyval.const_get("
|
84
|
+
keys = (0..9).collect{|i| Gdk::Keyval.const_get("KEY_KP_#{i}")}
|
85
85
|
set_keys(keys, mod) do |group, obj, val, modifier|
|
86
|
-
index = calc_slide_number(val - Gdk::Keyval::
|
86
|
+
index = calc_slide_number(val - Gdk::Keyval::KEY_KP_0, modifier)
|
87
87
|
@canvas.activate("JumpTo") {index}
|
88
88
|
end
|
89
89
|
end
|
90
90
|
end
|
91
91
|
|
92
92
|
def init_no_prefix_keys
|
93
|
-
mod = Gdk::
|
93
|
+
mod = Gdk::ModifierType.new
|
94
94
|
|
95
95
|
keys = Keys::QUIT_KEYS
|
96
96
|
set_keys(keys, mod) do |group, obj, val, modifier|
|
@@ -155,7 +155,7 @@ module Rabbit
|
|
155
155
|
end
|
156
156
|
|
157
157
|
def init_shift_keys
|
158
|
-
mod = Gdk::
|
158
|
+
mod = Gdk::ModifierType::SHIFT_MASK
|
159
159
|
|
160
160
|
keys = Keys::Shift::WHITE_OUT_KEYS
|
161
161
|
set_keys(keys, mod) do |group, obj, val, modifier|
|
@@ -188,7 +188,7 @@ module Rabbit
|
|
188
188
|
end
|
189
189
|
|
190
190
|
def init_control_keys
|
191
|
-
mod = Gdk::
|
191
|
+
mod = Gdk::ModifierType::CONTROL_MASK
|
192
192
|
|
193
193
|
keys = Keys::Control::CLEAR_GRAFFITI_KEYS
|
194
194
|
set_keys(keys, mod) do |group, obj, val, modifier|
|
@@ -239,7 +239,7 @@ module Rabbit
|
|
239
239
|
end
|
240
240
|
|
241
241
|
def init_alt_keys
|
242
|
-
mod = Gdk::
|
242
|
+
mod = Gdk::ModifierType::MOD1_MASK
|
243
243
|
|
244
244
|
keys = Keys::Alt::RESET_ADJUSTMENT_KEYS
|
245
245
|
set_keys(keys, mod) do |group, obj, val, modifier|
|
@@ -254,16 +254,16 @@ module Rabbit
|
|
254
254
|
|
255
255
|
def set_key_press_event(widget)
|
256
256
|
prev_keys = [
|
257
|
-
Gdk::Keyval::
|
258
|
-
Gdk::Keyval::
|
259
|
-
Gdk::Keyval::
|
260
|
-
Gdk::Keyval::
|
257
|
+
Gdk::Keyval::KEY_Up,
|
258
|
+
Gdk::Keyval::KEY_Left,
|
259
|
+
Gdk::Keyval::KEY_KP_Up,
|
260
|
+
Gdk::Keyval::KEY_KP_Left,
|
261
261
|
]
|
262
262
|
next_keys = [
|
263
|
-
Gdk::Keyval::
|
264
|
-
Gdk::Keyval::
|
265
|
-
Gdk::Keyval::
|
266
|
-
Gdk::Keyval::
|
263
|
+
Gdk::Keyval::KEY_Right,
|
264
|
+
Gdk::Keyval::KEY_Down,
|
265
|
+
Gdk::Keyval::KEY_KP_Right,
|
266
|
+
Gdk::Keyval::KEY_KP_Down,
|
267
267
|
]
|
268
268
|
widget.signal_connect("key_press_event") do |_widget, event|
|
269
269
|
handled = true
|
@@ -31,36 +31,31 @@ module Rabbit
|
|
31
31
|
|
32
32
|
def set_hole
|
33
33
|
if @mask_size <= 0
|
34
|
-
@window.
|
34
|
+
@window.shape_combine_region(nil)
|
35
35
|
else
|
36
|
-
|
37
|
-
w, h =
|
38
|
-
@mask
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
36
|
+
_size = size
|
37
|
+
w, h = _size.real_width, _size.real_height
|
38
|
+
@mask = Cairo::Region.new
|
39
|
+
@mask.union!(0, 0, w, h)
|
40
|
+
if @mask_size < 1.0
|
41
|
+
mw = w * @mask_size
|
42
|
+
mh = h * @mask_size
|
43
|
+
mx = (w - mw) / 2
|
44
|
+
my = (h - mh) / 2
|
45
|
+
@mask.subtract!(mx, my, mw, mh)
|
46
|
+
else
|
47
|
+
@mask.subtract!(0, 0, w - 1, h)
|
48
|
+
end
|
49
|
+
@window.shape_combine_region(@mask)
|
45
50
|
end
|
51
|
+
redraw
|
46
52
|
update_title # for xfwm
|
47
53
|
end
|
48
54
|
|
49
55
|
private
|
50
56
|
def init_mask
|
51
|
-
@mask = nil
|
52
57
|
@mask_size = 0
|
53
58
|
end
|
54
|
-
|
55
|
-
def setup_mask
|
56
|
-
@mask = Gdk::Pixmap.new(nil, width, height, 1)
|
57
|
-
@xor_gc = Gdk::GC.new(@mask)
|
58
|
-
@xor_gc.set_function(Gdk::GC::INVERT)
|
59
|
-
@set_gc = Gdk::GC.new(@mask)
|
60
|
-
@set_gc.set_function(Gdk::GC::SET)
|
61
|
-
@clear_gc = Gdk::GC.new(@mask)
|
62
|
-
@clear_gc.set_function(Gdk::GC::CLEAR)
|
63
|
-
end
|
64
59
|
end
|
65
60
|
end
|
66
61
|
end
|
@@ -55,7 +55,7 @@ module Rabbit
|
|
55
55
|
entry = @search_window.entry
|
56
56
|
direction = @search_window.direction
|
57
57
|
entry.signal_connect("key_press_event") do |widget, key|
|
58
|
-
if key.state == Gdk::
|
58
|
+
if key.state == Gdk::ModifierType.new
|
59
59
|
false
|
60
60
|
else
|
61
61
|
Gtk::AccelGroup.activate(@window, key.keyval, key.state)
|
@@ -1,18 +1 @@
|
|
1
|
-
require
|
2
|
-
|
3
|
-
module Rabbit
|
4
|
-
module Renderer
|
5
|
-
module Engine
|
6
|
-
extend Utils
|
7
|
-
|
8
|
-
dir = ::File.join("rabbit", "renderer", "engine")
|
9
|
-
require_files_under_directory_in_load_path(dir)
|
10
|
-
|
11
|
-
class << self
|
12
|
-
def renderer_module
|
13
|
-
corresponding_module_under_module(self)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
1
|
+
require "rabbit/renderer/engine/cairo"
|
@@ -1,25 +1 @@
|
|
1
|
-
require "rabbit/
|
2
|
-
|
3
|
-
module Rabbit
|
4
|
-
module Renderer
|
5
|
-
module Pixmap
|
6
|
-
extend Utils
|
7
|
-
|
8
|
-
class << self
|
9
|
-
@initialized = false
|
10
|
-
def init
|
11
|
-
unless @initialized
|
12
|
-
@initialized = true
|
13
|
-
dir = ::File.join("rabbit", "renderer", "pixmap")
|
14
|
-
require_files_under_directory_in_load_path(dir)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
def new(*args, &block)
|
19
|
-
init
|
20
|
-
corresponding_class_under_module(self).new(*args, &block)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
1
|
+
require "rabbit/renderer/pixmap/cairo"
|
@@ -1,6 +1,4 @@
|
|
1
|
-
require "rabbit/
|
2
|
-
|
3
|
-
Rabbit::Utils.require_safe "rabbit/renderer/engine/cairo"
|
1
|
+
require "rabbit/renderer/engine/cairo"
|
4
2
|
require "rabbit/renderer/pixmap/base"
|
5
3
|
require "rabbit/renderer/pixmap/gl"
|
6
4
|
|
@@ -11,12 +9,6 @@ module Rabbit
|
|
11
9
|
include Engine::Cairo
|
12
10
|
include GL
|
13
11
|
include Base
|
14
|
-
|
15
|
-
class << self
|
16
|
-
def priority
|
17
|
-
Engine::Cairo.priority
|
18
|
-
end
|
19
|
-
end
|
20
12
|
end
|
21
13
|
end
|
22
14
|
end
|
@@ -1,13 +1,4 @@
|
|
1
|
-
require "rabbit/
|
2
|
-
|
3
|
-
Rabbit::Utils.require_safe "rabbit/renderer/engine/cairo"
|
4
|
-
|
5
|
-
if !(Cairo.const_defined?(:PSSurface) or
|
6
|
-
Cairo.const_defined?(:PDFSurface) or
|
7
|
-
Cairo.const_defined?(:SVGSurface))
|
8
|
-
raise LoadError
|
9
|
-
end
|
10
|
-
|
1
|
+
require "rabbit/renderer/engine/cairo"
|
11
2
|
require "rabbit/renderer/print/base"
|
12
3
|
|
13
4
|
module Rabbit
|
data/lib/rabbit/search-window.rb
CHANGED
@@ -40,7 +40,7 @@ module Rabbit
|
|
40
40
|
|
41
41
|
private
|
42
42
|
def init_window
|
43
|
-
@window = Gtk::Window.new(
|
43
|
+
@window = Gtk::Window.new(:popup)
|
44
44
|
@window.modal = true
|
45
45
|
init_frame
|
46
46
|
init_box
|
@@ -56,7 +56,7 @@ module Rabbit
|
|
56
56
|
end
|
57
57
|
|
58
58
|
def init_box
|
59
|
-
@box = Gtk::
|
59
|
+
@box = Gtk::Box.new(:horizontal)
|
60
60
|
@box.border_width = 3
|
61
61
|
@box.show
|
62
62
|
@frame.add(@box)
|