From ff9ddf510065305e13d169d35f9b4e6b88ce76d7 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 12 Nov 2009 20:39:53 +0000 Subject: tidy up (a bit) locations editing widget ; use pixbuf/string code from 2.0;remove edit point clock git-svn-id: svn://localhost/ardour2/branches/3.0@6074 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/marker.cc | 35 ++++------------------------------- 1 file changed, 4 insertions(+), 31 deletions(-) (limited to 'gtk2_ardour/marker.cc') diff --git a/gtk2_ardour/marker.cc b/gtk2_ardour/marker.cc index 9cf5969fd7..75a96ef5a4 100644 --- a/gtk2_ardour/marker.cc +++ b/gtk2_ardour/marker.cc @@ -356,40 +356,13 @@ Marker::the_item() const void Marker::set_name (const string& new_name) { - uint32_t pb_width; - double font_size; + int name_width = pixel_width (new_name, *name_font) + 2; - if (new_name.empty()) { - return; - } - - font_size = name_font->get_size() / Pango::SCALE; - pb_width = new_name.length() * font_size; - - Glib::RefPtr buf = Gdk::Pixbuf::create(Gdk::COLORSPACE_RGB, true, 8, pb_width, name_height); - - cairo_surface_t* surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, pb_width, name_height); - cairo_t *cr = cairo_create (surface); - cairo_text_extents_t te; - cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 1.0); - cairo_select_font_face (cr, name_font->get_family().c_str(), - CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL); - cairo_set_font_size (cr, font_size); - cairo_text_extents (cr, new_name.c_str(), &te); - - cairo_move_to (cr, 0.5, - 0.5 - te.height / 2 - te.y_bearing + name_height / 2); - cairo_show_text (cr, new_name.c_str()); - - unsigned char* src = cairo_image_surface_get_data (surface); - convert_bgra_to_rgba(src, buf->get_pixels(), pb_width, name_height); - - cairo_destroy(cr); - name_pixbuf->property_pixbuf() = buf; + name_pixbuf->property_pixbuf() = pixbuf_from_ustring(new_name, name_font, name_width, name_height); if (_type == End || _type == LoopEnd || _type == PunchOut) { - name_pixbuf->property_x() = -(te.width); - } + name_pixbuf->property_x() = - (name_width); + } } void -- cgit v1.2.3