# File libart/sample/gnome-canvas.rb, line 26
  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