diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-10-13 17:11:38 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-10-13 17:18:54 -0400 |
commit | 1552547f650a82487ac72615c8533fd25b4ffc39 (patch) | |
tree | 68a07a8a2ec756b4052a8a2f0215e95f4a808eb2 /libs/canvas | |
parent | 228556ab9c7356b868c33da47fcdc6362e4b5a93 (diff) |
stop using gkd_pango_context_get() in ArdourCanvas::Canvas and require concrete instances to supply a Pango::Context; do this for GtkCanvas and Push2Canvas
Diffstat (limited to 'libs/canvas')
-rw-r--r-- | libs/canvas/canvas.cc | 6 | ||||
-rw-r--r-- | libs/canvas/canvas/canvas.h | 12 | ||||
-rw-r--r-- | libs/canvas/text.cc | 3 |
3 files changed, 18 insertions, 3 deletions
diff --git a/libs/canvas/canvas.cc b/libs/canvas/canvas.cc index 22c586090e..92100c9ce1 100644 --- a/libs/canvas/canvas.cc +++ b/libs/canvas/canvas.cc @@ -1259,6 +1259,12 @@ GtkCanvas::hide_tooltip () } } +Glib::RefPtr<Pango::Context> +GtkCanvas::get_pango_context () +{ + return Glib::wrap (gdk_pango_context_get()); +} + /** Create a GtkCanvaSViewport. * @param hadj Adjustment to use for horizontal scrolling. * @param vadj Adjustment to use for vertica scrolling. diff --git a/libs/canvas/canvas/canvas.h b/libs/canvas/canvas/canvas.h index b818c7eb41..7731b8533b 100644 --- a/libs/canvas/canvas/canvas.h +++ b/libs/canvas/canvas/canvas.h @@ -43,6 +43,10 @@ namespace Gtk { class Label; } +namespace Pango { + class Context; +} + namespace ArdourCanvas { struct Rect; @@ -154,7 +158,9 @@ public: */ static void set_tooltip_timeout (uint32_t msecs); -protected: + virtual Glib::RefPtr<Pango::Context> get_pango_context() = 0; + + protected: Root _root; Color _bg_color; @@ -195,7 +201,9 @@ public: void start_tooltip_timeout (Item*); void stop_tooltip_timeout (); -protected: + Glib::RefPtr<Pango::Context> get_pango_context(); + + protected: void on_size_allocate (Gtk::Allocation&); bool on_scroll_event (GdkEventScroll *); bool on_expose_event (GdkEventExpose *); diff --git a/libs/canvas/text.cc b/libs/canvas/text.cc index fb38423dec..735b9b87f8 100644 --- a/libs/canvas/text.cc +++ b/libs/canvas/text.cc @@ -106,7 +106,8 @@ void Text::_redraw () const { assert (!_text.empty()); - Glib::RefPtr<Pango::Context> context = Glib::wrap (gdk_pango_context_get()); + assert (_canvas); + Glib::RefPtr<Pango::Context> context = _canvas->get_pango_context(); Glib::RefPtr<Pango::Layout> layout = Pango::Layout::create (context); #ifdef __APPLE__ |