class Rabbit::Renderer::SceneBackgroundWidget
Public Class Methods
Source
# File lib/rabbit/renderer/scene-background-widget.rb, line 24 def initialize(canvas, renderer, size) super() @canvas = canvas @renderer = renderer @size = size end
Calls superclass method
Public Instance Methods
Source
# File lib/rabbit/renderer/scene-background-widget.rb, line 31 def virtual_do_measure(orientation, for_size) if orientation == Gtk::Orientation::HORIZONTAL width = @size.base_width [width, width, -1, -1] else height = @size.base_height [height, height, -1, -1] end end
Source
# File lib/rabbit/renderer/scene-background-widget.rb, line 41 def virtual_do_snapshot(snapshot) snapshot.save do snapshot.scale(*@size.logical_scale) background = @renderer.background.to_gdk_rgba snapshot.append_color(background, [ @size.logical_margin_left, @size.logical_margin_top, @size.logical_width, @size.logical_height, ]) return unless @size.have_logical_margin? margin_background = @renderer.make_color("black").to_gdk_rgba if @size.have_logical_margin_x? snapshot.append_color(margin_background, [ 0, 0, @size.logical_margin_left, @size.logical_height, ]) snapshot.append_color(margin_background, [ @size.logical_margin_right + @size.logical_width, 0, @size.logical_margin_left, @size.logical_height, ]) end if @size.have_logical_margin_y? snapshot.append_color(margin_background, [ 0, 0, @size.logical_width, @size.logical_margin_top, ]) snapshot.append_color(margin_background, [ 0, @size.logical_margin_top + @size.logical_height, @size.logical_width, @size.logical_margin_bottom, ]) end end end