add new Gtkmm2ext::pixel_size() to conveniently get width&height for a given font + string

This commit is contained in:
Paul Davis 2014-09-11 16:56:49 -04:00
parent dbe0d5a649
commit c66ea2c170
2 changed files with 13 additions and 0 deletions

View File

@ -54,6 +54,7 @@ namespace Gtkmm2ext {
LIBGTKMM2EXT_API std::string fit_to_pixels (const std::string&, int pixel_width, Pango::FontDescription& font, int& actual_width, bool with_ellipses = false);
LIBGTKMM2EXT_API std::pair<std::string, double> fit_to_pixels (cairo_t *, std::string, double);
LIBGTKMM2EXT_API int pixel_width (const std::string& str, Pango::FontDescription& font);
LIBGTKMM2EXT_API void pixel_size (const std::string& str, Pango::FontDescription& font, int& width, int& height);
LIBGTKMM2EXT_API void get_ink_pixel_size (Glib::RefPtr<Pango::Layout>,
int& width, int& height);

View File

@ -705,6 +705,18 @@ Gtkmm2ext::pixel_width (const string& str, Pango::FontDescription& font)
return width;
}
void
Gtkmm2ext::pixel_size (const string& str, Pango::FontDescription& font, int& width, int& height)
{
Gtk::Label foo;
Glib::RefPtr<Pango::Layout> layout = foo.create_pango_layout ("");
layout->set_font_description (font);
layout->set_text (str);
Gtkmm2ext::get_ink_pixel_size (layout, width, height);
}
#if 0
string
Gtkmm2ext::fit_to_pixels (const string& str, int pixel_width, Pango::FontDescription& font, int& actual_width, bool with_ellipses)