class Canvas
Public Class Methods
new()
click to toggle source
Calls superclass method
# File gtk2/sample/misc/drawing.rb, line 13 def initialize super signal_connect("expose_event") { |w,e| expose_event(w,e) } signal_connect("configure_event") { |w, e| configure_event(w,e) } @buffer = nil @bgc = nil end
Public Instance Methods
clear(b = @buffer)
click to toggle source
# File gtk2/sample/misc/drawing.rb, line 30 def clear(b = @buffer) return if b.nil? g = b.size @bgc = self.style.bg_gc(self.state) if @bgc.nil? if (g[0] > 0 && g[1] > 0) b.draw_rectangle(@bgc, true, 0,0, g[0], g[1]) end end
configure_event(w,e)
click to toggle source
# File gtk2/sample/misc/drawing.rb, line 40 def configure_event(w,e) g = w.window.geometry if (g[2] > 0 && g[3] > 0) b = Gdk::Pixmap::new(w.window, g[2], g[3], -1) clear(b) if not @buffer.nil? g = @buffer.size b.draw_drawable(@bgc, @buffer, 0, 0, 0, 0, g[0], g[1]) end @buffer = b end true end
expose_event(w,e)
click to toggle source
# File gtk2/sample/misc/drawing.rb, line 21 def expose_event(w,e) unless @buffer.nil? rec = e.area w.window.draw_drawable(@bgc, @buffer, rec.x, rec.y, rec.x, rec.y, rec.width, rec.height) end false end