class Glimmer::Gtk::WidgetProxy::DrawingAreaProxy
Proxy for Gtk
drawing area objects
Follows the Proxy Design Pattern
Attributes
shapes[R]
Public Class Methods
new(keyword, parent, args, &block)
click to toggle source
Calls superclass method
Glimmer::Gtk::WidgetProxy::new
# File lib/glimmer/gtk/widget_proxy/drawing_area_proxy.rb, line 73 def initialize(keyword, parent, args, &block) @shapes = [] super end
Public Instance Methods
paint(*args)
click to toggle source
# File lib/glimmer/gtk/widget_proxy/drawing_area_proxy.rb, line 103 def paint(*args) @paint = args end
post_add_content()
click to toggle source
Calls superclass method
Glimmer::Gtk::WidgetProxy#post_add_content
# File lib/glimmer/gtk/widget_proxy/drawing_area_proxy.rb, line 78 def post_add_content super @gtk.signal_connect(:draw) do |drawing_area_widget, cairo_context| if @paint previous_matrix = cairo_context.matrix apply_transforms(cairo_context, target: :drawing_area) Shape.set_source_dynamically(cairo_context, @paint) cairo_context.paint cairo_context.set_matrix(previous_matrix) end shapes.each do |shape| shape.draw(drawing_area_widget, cairo_context) end end end
post_initialize_child(child)
click to toggle source
Calls superclass method
Glimmer::Gtk::WidgetProxy#post_initialize_child
# File lib/glimmer/gtk/widget_proxy/drawing_area_proxy.rb, line 95 def post_initialize_child(child) if child.is_a?(Glimmer::Gtk::Shape) shapes << child else super end end