def initialize
@pixmap = nil
super('Drawing Area')
self.border_width = 8
vbox = Gtk::VBox.new(false, 8)
vbox.border_width = 8
add(vbox)
label = Gtk::Label.new
label.set_markup('<u>Checkerboard pattern</u>')
vbox.pack_start(label, false, false, 0)
frame = Gtk::Frame.new
frame.shadow_type = Gtk::SHADOW_IN
vbox.pack_start(frame, true, true, 0)
da = Gtk::DrawingArea.new
da.set_size_request(100, 100)
frame.add(da)
da.signal_connect('expose_event') do |widget, event|
checkerboard_expose(widget)
end
label = Gtk::Label.new
label.set_markup('<u>Scribble area</u>')
vbox.pack_start(label, false, false, 0)
frame = Gtk::Frame.new
frame.shadow_type = Gtk::SHADOW_IN
vbox.pack_start(frame, true, true, 0)
da = Gtk::DrawingArea.new
da.set_size_request(100, 100)
frame.add(da)
da.signal_connect('expose_event') do |*args|
scribble_expose_event(*args)
end
da.signal_connect('configure_event') do |widget, event|
scribble_configure_event(widget)
end
da.signal_connect('motion_notify_event') do |*args|
scribble_motion_notify_event(*args)
end
da.signal_connect('button_press_event') do |*args|
scribble_button_press_event(*args)
end
da.events |= (Gdk::Event::LEAVE_NOTIFY_MASK |
Gdk::Event::BUTTON_PRESS_MASK |
Gdk::Event::POINTER_MOTION_MASK |
Gdk::Event::POINTER_MOTION_HINT_MASK)
end