summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_summary.h
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2009-06-11 01:05:01 +0000
committerCarl Hetherington <carl@carlh.net>2009-06-11 01:05:01 +0000
commitc99ae648f05073f3b1d607cb15b826d2525a38a7 (patch)
treeb9cfa8c2bbaefdd699897a4bc2886e1f25a842ed /gtk2_ardour/editor_summary.h
parent51ef4343827883e9721088f051981c9da2aa6acd (diff)
Add a widget giving an overview of the editor, as (what I think is being) suggested in #2714. Many caveats: most notably that it looks quite ugly and you can't (yet) turn it off.
git-svn-id: svn://localhost/ardour2/branches/3.0@5162 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_summary.h')
-rw-r--r--gtk2_ardour/editor_summary.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_summary.h b/gtk2_ardour/editor_summary.h
new file mode 100644
index 0000000000..b9632dc96f
--- /dev/null
+++ b/gtk2_ardour/editor_summary.h
@@ -0,0 +1,41 @@
+#ifndef __gtk_ardour_editor_summary_h__
+#define __gtk_ardour_editor_summary_h__
+
+#include <gtkmm/eventbox.h>
+
+namespace ARDOUR {
+ class Session;
+}
+
+class Editor;
+
+class EditorSummary : public Gtk::EventBox
+{
+public:
+ EditorSummary (Editor *);
+ ~EditorSummary ();
+
+ void set_session (ARDOUR::Session *);
+ void set_dirty ();
+ void set_bounds_dirty ();
+
+private:
+ bool on_expose_event (GdkEventExpose *);
+ void on_size_request (Gtk::Requisition *);
+ void on_size_allocate (Gtk::Allocation &);
+ bool on_button_press_event (GdkEventButton *);
+
+ void render (cairo_t *);
+ GdkPixmap* get_pixmap (GdkDrawable *);
+ void render_region (RegionView*, cairo_t*, nframes_t, double) const;
+
+ Editor* _editor;
+ ARDOUR::Session* _session;
+ GdkPixmap* _pixmap;
+ bool _regions_dirty;
+ int _width;
+ int _height;
+ double _pixels_per_frame;
+};
+
+#endif