class Demo::CairoWindow

Public Class Methods

new(title=nil) click to toggle source
Calls superclass method Demo::BasicWindow.new
# File gtk2/sample/gtk-demo/common.rb, line 58
def initialize(title=nil)
  super
  
  unless Gdk.cairo_available?
    add_cairo_require_label
    return
  end

  drawing_area = Gtk::DrawingArea.new
  add(drawing_area)

  drawing_area.signal_connect("expose_event") do |widget, event|
    cr = widget.window.create_cairo_context
    cr.scale(*widget.window.size)
    cr.set_line_width(0.04)

    cr.save do
      cr.set_source_color(Gdk::Color.new(65535, 65535, 65535))
      cr.gdk_rectangle(Gdk::Rectangle.new(0, 0, 1, 1))
      cr.fill
    end
    
    draw(cr)
  end
end

Public Instance Methods

add_cairo_require_label() click to toggle source
# File gtk2/sample/gtk-demo/common.rb, line 84
def add_cairo_require_label
  message = "This sample requires GTK+ 2.8.0 or later and cairo support"
  add(Gtk::Label.new(message))
end
draw(cr) click to toggle source
# File gtk2/sample/gtk-demo/common.rb, line 89
def draw(cr)
  raise "not implemented"
end