def setup_canvas_frame(table, x, y, title, affine)
frame = Gtk::Frame.new(title)
frame.set_shadow_type(Gtk::SHADOW_IN)
table.attach(frame,
x, x + 1,
y, y + 1,
Gtk::EXPAND | Gtk::FILL | Gtk::SHRINK,
Gtk::EXPAND | Gtk::FILL | Gtk::SHRINK,
0, 0)
frame.show
canvas = Gnome::Canvas.new()
canvas.set_size_request(CANVAS_SIZE_X, CANVAS_SIZE_Y)
canvas.set_scroll_region(0, 0, CANVAS_SIZE_X, CANVAS_SIZE_Y)
frame.add(canvas)
canvas.show()
points = [[CANVAS_SIZE_X / 2, 0], [CANVAS_SIZE_X / 2, CANVAS_SIZE_Y]]
Gnome::CanvasLine.new(canvas.root,
{:points => points,
:fill_color => "gray",
:width_pixels => 1})
points = [[0, CANVAS_SIZE_Y / 2], [CANVAS_SIZE_X, CANVAS_SIZE_Y / 2]]
Gnome::CanvasLine.new(canvas.root,
{:points => points,
:fill_color => "gray",
:width_pixels => 1})
group = Gnome::CanvasGroup.new(canvas.root, {})
Gnome::CanvasRect.new(group,
{:x1 => 0, :y1 => 0,
:x2 => - ITEM_SIZE_X / 2, :y2 => - ITEM_SIZE_Y / 2,
:fill_color => "blue"})
Gnome::CanvasRect.new(group,
{:x1 => 0, :y1 => 0,
:x2 => ITEM_SIZE_X / 2, :y2 => - ITEM_SIZE_Y / 2,
:fill_color => "red"})
Gnome::CanvasRect.new(group,
{:x1 => 0, :y1 => 0,
:x2 => - ITEM_SIZE_X / 2, :y2 => ITEM_SIZE_Y / 2,
:fill_color => "green"})
Gnome::CanvasRect.new(group,
{:x1 => 0, :y1 => 0,
:x2 => ITEM_SIZE_X / 2, :y2 => ITEM_SIZE_Y / 2,
:fill_color => "yellow"})
group.affine_relative(TRANS * affine)
end