summaryrefslogtreecommitdiff
path: root/libs/gtkmm2ext
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-03-20 17:11:56 +0100
committerRobin Gareus <robin@gareus.org>2017-03-20 17:12:08 +0100
commitd06de26a4fd828b6a0a9da8718e3b0c829a4d162 (patch)
tree4dedb0ad6a118e0d60aeee611652bb1180d14a8c /libs/gtkmm2ext
parent3294b82e259085997f6e2f0d361cbb3ef4763545 (diff)
Towards a consistent render() API.
This fixes an -Woverloaded-virtual ambiguity introduced in b5e613d45 void render (cairo_t*, cairo_rectagle*) void render (Cairo::RefPtr<Cairo::Context> const&, cairo_rectangle_t*) ArdourCanvas prefers cairomm and CairoWidget itself uses Cairo::Context, this improves overall API consistency.
Diffstat (limited to 'libs/gtkmm2ext')
-rw-r--r--libs/gtkmm2ext/cairo_widget.cc4
-rw-r--r--libs/gtkmm2ext/fader.cc3
-rw-r--r--libs/gtkmm2ext/fastmeter.cc6
-rw-r--r--libs/gtkmm2ext/gtkmm2ext/cairo_widget.h7
-rw-r--r--libs/gtkmm2ext/gtkmm2ext/fader.h2
-rw-r--r--libs/gtkmm2ext/gtkmm2ext/fastmeter.h2
-rw-r--r--libs/gtkmm2ext/gtkmm2ext/pixfader.h2
-rw-r--r--libs/gtkmm2ext/pixfader.cc4
-rw-r--r--libs/gtkmm2ext/waves_fastmeter.cc6
9 files changed, 17 insertions, 19 deletions
diff --git a/libs/gtkmm2ext/cairo_widget.cc b/libs/gtkmm2ext/cairo_widget.cc
index 088e21b6a8..d06f07ced2 100644
--- a/libs/gtkmm2ext/cairo_widget.cc
+++ b/libs/gtkmm2ext/cairo_widget.cc
@@ -195,7 +195,7 @@ CairoWidget::on_expose_event (GdkEventExpose *ev)
cr->fill ();
}
- render (cr->cobj(), &expose_area);
+ render (cr, &expose_area);
#ifdef USE_CAIRO_IMAGE_SURFACE_FOR_CAIRO_WIDGET
if(get_visible_window ()) {
@@ -283,7 +283,7 @@ CairoWidget::on_expose_event (GdkEventExpose *ev)
expose_area.width = ev->area.width;
expose_area.height = ev->area.height;
- render (cr->cobj(), &expose_area);
+ render (cr, &expose_area);
#ifdef OPTIONAL_CAIRO_IMAGE_SURFACE
if (getenv("ARDOUR_IMAGE_SURFACE")) {
diff --git a/libs/gtkmm2ext/fader.cc b/libs/gtkmm2ext/fader.cc
index f6fe487ed1..899e0a886f 100644
--- a/libs/gtkmm2ext/fader.cc
+++ b/libs/gtkmm2ext/fader.cc
@@ -184,8 +184,9 @@ Fader::set_touch_cursor (const Glib::RefPtr<Gdk::Pixbuf>& touch_cursor)
}
void
-Fader::render (cairo_t* cr, cairo_rectangle_t*)
+Fader::render (Cairo::RefPtr<Cairo::Context> const& ctx, cairo_rectangle_t*)
{
+ cairo_t* cr = ctx->cobj();
double xscale = 1.0;
double yscale = 1.0;
diff --git a/libs/gtkmm2ext/fastmeter.cc b/libs/gtkmm2ext/fastmeter.cc
index f3928910bc..c2275eab9f 100644
--- a/libs/gtkmm2ext/fastmeter.cc
+++ b/libs/gtkmm2ext/fastmeter.cc
@@ -544,12 +544,12 @@ FastMeter::horizontal_size_allocate (Gtk::Allocation &alloc)
}
void
-FastMeter::render (cairo_t* cr, cairo_rectangle_t* area)
+FastMeter::render (Cairo::RefPtr<Cairo::Context> const& ctx, cairo_rectangle_t* area)
{
if (orientation == Vertical) {
- return vertical_expose (cr, area);
+ return vertical_expose (ctx->cobj(), area);
} else {
- return horizontal_expose (cr, area);
+ return horizontal_expose (ctx->cobj(), area);
}
}
diff --git a/libs/gtkmm2ext/gtkmm2ext/cairo_widget.h b/libs/gtkmm2ext/gtkmm2ext/cairo_widget.h
index 3b8fc545a9..6d8c1f5d55 100644
--- a/libs/gtkmm2ext/gtkmm2ext/cairo_widget.h
+++ b/libs/gtkmm2ext/gtkmm2ext/cairo_widget.h
@@ -20,6 +20,7 @@
#ifndef __gtk2_ardour_cairo_widget_h__
#define __gtk2_ardour_cairo_widget_h__
+#include <cairomm/context.h>
#include <cairomm/surface.h>
#include <gtkmm/eventbox.h>
@@ -81,12 +82,6 @@ public:
static void provide_background_for_cairo_widget (Gtk::Widget& w, const Gdk::Color& bg);
- virtual void render (cairo_t *, cairo_rectangle_t*) = 0;
-
- virtual void render (Cairo::RefPtr<Cairo::Context> const & ctx, cairo_rectangle_t* r) {
- render (ctx->cobj(), r);
- }
-
uint32_t background_color ();
static void set_flat_buttons (bool yn);
diff --git a/libs/gtkmm2ext/gtkmm2ext/fader.h b/libs/gtkmm2ext/gtkmm2ext/fader.h
index e82771901c..ec6df5384b 100644
--- a/libs/gtkmm2ext/gtkmm2ext/fader.h
+++ b/libs/gtkmm2ext/gtkmm2ext/fader.h
@@ -62,7 +62,7 @@ class LIBGTKMM2EXT_API Fader : public CairoWidget
void on_size_request (GtkRequisition*);
void on_size_allocate (Gtk::Allocation& alloc);
- void render (cairo_t* cr, cairo_rectangle_t*);
+ void render (Cairo::RefPtr<Cairo::Context> const&, cairo_rectangle_t*);
bool on_button_press_event (GdkEventButton*);
bool on_button_release_event (GdkEventButton*);
bool on_motion_notify_event (GdkEventMotion*);
diff --git a/libs/gtkmm2ext/gtkmm2ext/fastmeter.h b/libs/gtkmm2ext/gtkmm2ext/fastmeter.h
index dbb3296c46..7b71289d3e 100644
--- a/libs/gtkmm2ext/gtkmm2ext/fastmeter.h
+++ b/libs/gtkmm2ext/gtkmm2ext/fastmeter.h
@@ -65,9 +65,9 @@ class LIBGTKMM2EXT_API FastMeter : public CairoWidget {
void set_hold_count (long);
void set_highlight (bool);
bool get_highlight () { return highlight; }
+ void render (Cairo::RefPtr<Cairo::Context> const&, cairo_rectangle_t*);
protected:
- void render (cairo_t *, cairo_rectangle_t*);
void on_size_request (GtkRequisition*);
void on_size_allocate (Gtk::Allocation&);
private:
diff --git a/libs/gtkmm2ext/gtkmm2ext/pixfader.h b/libs/gtkmm2ext/gtkmm2ext/pixfader.h
index c5ed9c585c..5454ac53be 100644
--- a/libs/gtkmm2ext/gtkmm2ext/pixfader.h
+++ b/libs/gtkmm2ext/gtkmm2ext/pixfader.h
@@ -58,7 +58,7 @@ class LIBGTKMM2EXT_API PixFader : public CairoWidget
void on_size_request (GtkRequisition*);
void on_size_allocate (Gtk::Allocation& alloc);
- void render (cairo_t *, cairo_rectangle_t*);
+ void render (Cairo::RefPtr<Cairo::Context> const&, cairo_rectangle_t*);
bool on_grab_broken_event (GdkEventGrabBroken*);
bool on_button_press_event (GdkEventButton*);
bool on_button_release_event (GdkEventButton*);
diff --git a/libs/gtkmm2ext/pixfader.cc b/libs/gtkmm2ext/pixfader.cc
index 64ee449646..23510e824e 100644
--- a/libs/gtkmm2ext/pixfader.cc
+++ b/libs/gtkmm2ext/pixfader.cc
@@ -205,8 +205,10 @@ PixFader::create_patterns ()
}
void
-PixFader::render (cairo_t *cr, cairo_rectangle_t* area)
+PixFader::render (Cairo::RefPtr<Cairo::Context> const& ctx, cairo_rectangle_t* area)
{
+ cairo_t* cr = ctx->cobj();
+
if (!_pattern) {
create_patterns();
}
diff --git a/libs/gtkmm2ext/waves_fastmeter.cc b/libs/gtkmm2ext/waves_fastmeter.cc
index e6b973b130..f290e6ce64 100644
--- a/libs/gtkmm2ext/waves_fastmeter.cc
+++ b/libs/gtkmm2ext/waves_fastmeter.cc
@@ -542,12 +542,12 @@ FastMeter::horizontal_size_allocate (Gtk::Allocation &alloc)
}
void
-FastMeter::render (cairo_t* cr, cairo_rectangle_t* area)
+FastMeter::render (Cairo::RefPtr<Cairo::Context> const& ctx, cairo_rectangle_t* area)
{
if (orientation == Vertical) {
- return vertical_expose (cr, area);
+ return vertical_expose (cr->cobj(), area);
} else {
- return horizontal_expose (cr, area);
+ return horizontal_expose (cr->cobj(), area);
}
}