def initialize(speed=30)
super()
@speed = speed
self.title = 'Pong Demonstration'
signal_connect('destroy') { Gtk.main_quit }
signal_connect("key_press_event") do |widget, event|
if event.state.control_mask? and event.keyval == Gdk::Keyval::GDK_q
destroy
true
else
false
end
end
set_default_size(260, 200)
@field = Field.new
@drawing_area = Gtk::DrawingArea.new
set_expose_event
vb = Gtk::VBox.new(false, 5)
vb.border_width = 10
vb.pack_start(@drawing_area, true, true, 0)
vb.show_all
add(vb)
Gtk.timeout_add(@speed) do
@field.update
@drawing_area.queue_draw unless @drawing_area.destroyed?
end
end