summaryrefslogtreecommitdiff
path: root/libs/gtkmm2ext/gtkmm2ext
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-12-19 13:36:42 +0100
committerRobin Gareus <robin@gareus.org>2016-12-19 13:36:42 +0100
commit004431426dd3b868f8b6fda814e03b7d5da06680 (patch)
tree921fe5fb975a02f096bbb55421f9c947e5442ed9 /libs/gtkmm2ext/gtkmm2ext
parent218d3761544a84eb55e13de32ebc402ff66c7933 (diff)
Towards packing CairoWidgets on ArdourCanvas.
Diffstat (limited to 'libs/gtkmm2ext/gtkmm2ext')
-rw-r--r--libs/gtkmm2ext/gtkmm2ext/cairo_widget.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/libs/gtkmm2ext/gtkmm2ext/cairo_widget.h b/libs/gtkmm2ext/gtkmm2ext/cairo_widget.h
index 2588adcdcc..03afc48818 100644
--- a/libs/gtkmm2ext/gtkmm2ext/cairo_widget.h
+++ b/libs/gtkmm2ext/gtkmm2ext/cairo_widget.h
@@ -35,6 +35,15 @@ public:
CairoWidget ();
virtual ~CairoWidget ();
+ void set_canvas_widget ();
+
+ /* swizzle Gtk::Widget methods for Canvas::Widget */
+ void queue_draw ();
+ void queue_resize ();
+ int get_width () const;
+ int get_height () const;
+ void size_allocate (Gtk::Allocation&);
+
void set_dirty (cairo_rectangle_t *area = 0);
Gtkmm2ext::ActiveState active_state() const { return _active_state; }
@@ -65,6 +74,8 @@ public:
void set_draw_background (bool yn);
sigc::signal<void> StateChanged;
+ sigc::signal<bool> QueueDraw;
+ sigc::signal<bool> QueueResize;
static void provide_background_for_cairo_widget (Gtk::Widget& w, const Gdk::Color& bg);
@@ -125,6 +136,8 @@ protected:
Glib::SignalProxyProperty _name_proxy;
sigc::connection _parent_style_change;
Widget * _current_parent;
+ bool _canvas_widget;
+ Gdk::Rectangle _allocation;
};