2013-04-04 00:32:52 -04:00
|
|
|
#include <iostream>
|
|
|
|
#include <gtkmm.h>
|
|
|
|
#include "canvas/canvas.h"
|
|
|
|
#include "canvas/rectangle.h"
|
|
|
|
#include "canvas/line.h"
|
|
|
|
#include "canvas/pixbuf.h"
|
|
|
|
|
|
|
|
using namespace std;
|
|
|
|
using namespace ArdourCanvas;
|
|
|
|
|
|
|
|
bool
|
|
|
|
foo (GdkEvent* ev)
|
|
|
|
{
|
|
|
|
cout << "click.\n";
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
int main (int argc, char* argv[])
|
|
|
|
{
|
|
|
|
Gtk::Main kit (argc, argv);
|
|
|
|
|
|
|
|
Gtk::Window window;
|
|
|
|
window.set_title ("Hello world");
|
|
|
|
window.set_size_request (512, 512);
|
|
|
|
|
|
|
|
Gtk::VBox overall_vbox;
|
|
|
|
Gtk::HScrollbar h_scroll;
|
|
|
|
Gtk::VScrollbar v_scroll;
|
2015-10-05 10:17:49 -04:00
|
|
|
|
2013-04-04 00:32:52 -04:00
|
|
|
GtkCanvasViewport viewport (*h_scroll.get_adjustment(), *v_scroll.get_adjustment());
|
|
|
|
GtkCanvas* canvas = viewport.canvas ();
|
|
|
|
|
|
|
|
overall_vbox.pack_start (viewport, true, true);
|
|
|
|
overall_vbox.pack_start (h_scroll, false, false);
|
|
|
|
|
|
|
|
Rectangle a (canvas->root(), Rect (64, 64, 128, 128));
|
|
|
|
a.set_outline_color (0xff0000aa);
|
|
|
|
Rectangle b (canvas->root(), Rect (64, 64, 128, 128));
|
|
|
|
b.set_position (Duple (256, 256));
|
|
|
|
b.set_outline_width (4);
|
|
|
|
b.set_outline_what (0x2 | 0x8);
|
|
|
|
b.set_outline_color (0x0000ffff);
|
|
|
|
b.Event.connect (sigc::ptr_fun (foo));
|
|
|
|
|
|
|
|
Rectangle c (canvas->root(), Rect (2048, 2048, 2096, 2096));
|
|
|
|
|
|
|
|
Rectangle d (canvas->root(), Rect (0, 256, COORD_MAX, 284));
|
|
|
|
d.name = "d";
|
|
|
|
|
|
|
|
Line e (canvas->root());
|
|
|
|
e.set (Duple (256, 0), Duple (256, COORD_MAX));
|
|
|
|
e.name = "e";
|
|
|
|
e.set_outline_color (0xff0000ff);
|
|
|
|
|
|
|
|
Pixbuf pixbuf (canvas->root());
|
|
|
|
pixbuf.set_position (Duple (192, 192));
|
|
|
|
Glib::RefPtr<Gdk::Pixbuf> p = Gdk::Pixbuf::create_from_file ("../../libs/canvas/test/test.png");
|
|
|
|
pixbuf.set (p);
|
|
|
|
|
|
|
|
window.add (overall_vbox);
|
|
|
|
canvas->show ();
|
|
|
|
window.show_all ();
|
2015-10-05 10:17:49 -04:00
|
|
|
|
2013-04-04 00:32:52 -04:00
|
|
|
Gtk::Main::run (window);
|
|
|
|
return 0;
|
|
|
|
}
|