diff options
Diffstat (limited to 'gtk2_ardour/panner2d.cc')
-rw-r--r-- | gtk2_ardour/panner2d.cc | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/gtk2_ardour/panner2d.cc b/gtk2_ardour/panner2d.cc index a93a4a3b24..e97fa74576 100644 --- a/gtk2_ardour/panner2d.cc +++ b/gtk2_ardour/panner2d.cc @@ -425,6 +425,11 @@ Panner2d::on_expose_event (GdkEventExpose *event) gint x, y; float fx, fy; + if (layout == 0) { + layout = create_pango_layout (""); + layout->set_font_description (get_style()->get_font()); + } + /* redraw the background */ get_window()->draw_rectangle (get_style()->get_bg_gc(get_state()), @@ -438,7 +443,6 @@ Panner2d::on_expose_event (GdkEventExpose *event) for (Targets::iterator i = pucks.begin(); i != pucks.end(); ++i) { Target* puck = i->second; - Pango::Layout layout = new Pango::Layout(get_window()->create_pango_layout()); if (puck->visible) { /* redraw puck */ @@ -456,13 +460,10 @@ Panner2d::on_expose_event (GdkEventExpose *event) x, y, 8, 8, 0, 360 * 64); - layout.set_text(puck->text); - //get_window()->draw_text (get_style()->get_font(), - // get_style()->get_fg_gc(Gtk::STATE_NORMAL), - // x + 6, y + 6, - // puck->text, - // puck->textlen); - // GTK2FIX : needs a pango layout + + layout->set_text (puck->text); + + get_window()->draw_layout (get_style()->get_fg_gc (STATE_NORMAL), x+6, y+6, layout); } } |