module Rabbit::Renderer::Display::DrawingAreaPrimitive
Attributes
Public Class Methods
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 33 def initialize(canvas) super @filename = nil clear_compiled_slides init_drawing_area end
Calls superclass method
Rabbit::Renderer::Display::Cursor::new
Public Instance Methods
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 44 def clear_slide super clear_compiled_slide redraw end
Calls superclass method
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 110 def display? true end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 106 def index_mode_off restore_cursor(:index) end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 101 def index_mode_on keep_cursor(:index) update_cursor(nil, true) end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 63 def post_apply_theme clear_compiled_slides queue_draw end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 50 def post_fullscreen update_cursor(:blank, true) clear_compiled_slides end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 60 def post_iconify end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 68 def post_move(old_index, index) queue_draw end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 72 def post_move_in_slide(old_index, index) queue_draw end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 79 def post_parse clear_compiled_slides update_cursor(:blank, true) end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 98 def post_to_pixbuf(canceled) end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 87 def post_toggle_index_mode queue_draw end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 55 def post_unfullscreen update_cursor(nil, true) update_menu end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 76 def pre_parse end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 91 def pre_to_pixbuf(n_slides) end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 84 def pre_toggle_index_mode end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 94 def to_pixbufing(i) true end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 40 def widget @area end
Private Instance Methods
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 182 def clear_compiled_slide(slide=nil) @compiled_slides.delete(slide || @canvas.current_slide) end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 186 def clear_compiled_slides @compiled_slides = {} end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 194 def compile_slide(slide) @compiled_slides[slide] = true slide.draw(@canvas, true) end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 190 def compiled_slide?(slide) @compiled_slides.has_key?(slide) end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 171 def configured(x, y, w, h) @real_width = @surface.width @real_height = @surface.height @size_dirty = true end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 122 def depth @area.window.depth end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 155 def draw(widget) draw_current_slide end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 159 def draw_current_slide slide = @canvas.current_slide if slide begin compile_slide(slide) unless compiled_slide?(slide) slide.draw(@canvas, false) rescue Rabbit.logger.warn($!) end end end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 199 def grab return unless @area.respond_to?(:grab_add) @area.grab_add Gdk.pointer_grab(@area.window, false, Gdk::EventMask::BUTTON_PRESS_MASK | Gdk::EventMask::BUTTON_RELEASE_MASK | Gdk::EventMask::SCROLL_MASK | Gdk::EventMask::POINTER_MOTION_MASK, nil, nil, Gdk::CURRENT_TIME) end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 115 def init_drawing_area @area = Gtk::DrawingArea.new @area.can_focus = true set_map set_draw end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 132 def mapped(widget) set_surface(widget.native.surface) end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 177 def reload_theme(&callback) callback ||= Utils.process_pending_events_proc @canvas.activate("ReloadTheme", &callback) end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 136 def set_draw if @area.respond_to?(:set_draw_func) @area.set_draw_func do |area, context| surface = area.native.surface update_size(surface.width, surface.height) init_context(context) draw(area) finish_renderer end else @area.signal_connect("draw") do |widget, context| init_context(context) draw(widget) finish_renderer Gdk::Event::PROPAGATE end end end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 126 def set_map @area.signal_connect_after("map") do |widget| mapped(widget) end end
Source
# File lib/rabbit/renderer/display/drawing-area-primitive.rb, line 211 def ungrab return unless @area.respond_to?(:grab_remove) @area.grab_remove Gdk.pointer_ungrab(Gdk::CURRENT_TIME) end