class Rabbit::Renderer::SceneWidget
This is not a real widget. This is just a wrapper to enforce our conventions:
* We need to use real x,y not logical x,y for widget location * We need to adjust margin of rendering area (not element's margin) for GTK widget * We need to use real w,h not logical w,h for GTK widget size
Public Class Methods
Source
# File lib/rabbit/renderer/scene.rb, line 47 def initialize(fixed, size) @fixed = fixed @size = size end
Public Instance Methods
Source
# File lib/rabbit/renderer/scene.rb, line 52 def put(widget, x, y, w, h) case widget when SceneNodeWidget, SceneBackgroundWidget # Our widgets process size by themselves else x += @size.logical_margin_left y += @size.logical_margin_top widget.set_size_request(@size.resolve_logical_x(w), @size.resolve_logical_y(h)) end real_x = @size.resolve_logical_x(x) real_y = @size.resolve_logical_y(y) @fixed.put(widget, real_x, real_y) end