def initialize
super(Gtk::Window::TOPLEVEL)
self.signal_connect("delete_event") do
Gtk::main_quit()
end
sw = Gtk::ScrolledWindow.new
sw.set_size_request(600, 400)
self.add(sw)
sw.show
affine = Array.new(5)
text = Array.new(5)
affine[0] = Art::Affine.identity
text[0] = 'No Conversion'
affine[1] = Art::Affine.scale(1, 2)
text[1] = 'Scale(1,2)'
affine[2] = Art::Affine.rotate(45)
text[2] = 'Rotate(45)'
affine[3] = Art::Affine.shear(45)
text[3] = 'Shear(45)'
affine[4] = Art::Affine.translate(TRANSLATE_X, TRANSLATE_Y)
text[4] = "Translate(#{TRANSLATE_X}, #{TRANSLATE_Y})"
table = Gtk::Table.new(affine.size, affine.size, false)
sw.add_with_viewport(table)
table.show
0.upto(affine.size - 1) do |x|
0.upto(affine.size - 1) do |y|
if x == 0
label = text[y]
elsif y == 0
label = text[x]
else
label = text[x] + ' * ' + text[y]
end
setup_canvas_frame(table, x, y, label, affine[x] * affine[y])
end
end
self.show
end