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