diff options
author | Carl Hetherington <carl@carlh.net> | 2009-06-11 01:05:01 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2009-06-11 01:05:01 +0000 |
commit | c99ae648f05073f3b1d607cb15b826d2525a38a7 (patch) | |
tree | b9cfa8c2bbaefdd699897a4bc2886e1f25a842ed /gtk2_ardour/editor_summary.h | |
parent | 51ef4343827883e9721088f051981c9da2aa6acd (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.h | 41 |
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 |