summaryrefslogtreecommitdiff
path: root/libs/gtkmm2ext/utils.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2006-04-20 18:14:00 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2006-04-20 18:14:00 +0000
commit17b18acda3447214bd739107d9a46eecfaa6ef70 (patch)
tree695aa15c29117e101a0246ece8bbf25803b2cd67 /libs/gtkmm2ext/utils.cc
parentd7e728476a18bc024ae18705aa9d32ea21a1c4af (diff)
a) use ink extents in most places where we used to use logical extents
for text sizing b) add back scroll-wheel functionality to plugin parameter controls git-svn-id: svn://localhost/trunk/ardour2@460 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/gtkmm2ext/utils.cc')
-rw-r--r--libs/gtkmm2ext/utils.cc26
1 files changed, 16 insertions, 10 deletions
diff --git a/libs/gtkmm2ext/utils.cc b/libs/gtkmm2ext/utils.cc
index 0a0737becd..57661a05af 100644
--- a/libs/gtkmm2ext/utils.cc
+++ b/libs/gtkmm2ext/utils.cc
@@ -35,20 +35,26 @@
using namespace std;
void
+Gtkmm2ext::get_ink_pixel_size (Glib::RefPtr<Pango::Layout> layout,
+ int& width,
+ int& height)
+{
+ Pango::Rectangle ink_rect = layout->get_ink_extents ();
+
+ width = (ink_rect.get_width() + PANGO_SCALE / 2) / PANGO_SCALE;
+ height = (ink_rect.get_height() + PANGO_SCALE / 2) / PANGO_SCALE;
+}
+
+void
Gtkmm2ext::set_size_request_to_display_given_text (Gtk::Widget &w, const gchar *text,
gint hpadding, gint vpadding)
-
+
{
- int height = 0;
- int width = 0;
-
+ int width, height;
w.ensure_style ();
- w.create_pango_layout (text)->get_pixel_size (width, height);
-
- height += vpadding;
- width += hpadding;
-
- w.set_size_request(width, height);
+
+ get_ink_pixel_size (w.create_pango_layout (text), width, height);
+ w.set_size_request(width + hpadding, height + vpadding);
}
void