diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H | 1 | ||||
| -rw-r--r-- | src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H index c38283d95..d5f7f560d 100644 --- a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H +++ b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H @@ -34,6 +34,7 @@ public: FL_EXPORT ~Fl_Cairo_Font_Descriptor(); PangoFontDescription *fontref; int **width; // array of arrays of character widths + int line_height; }; diff --git a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx index d020b9a8f..06abacccb 100644 --- a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx +++ b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx @@ -917,7 +917,7 @@ void Fl_Cairo_Graphics_Driver::delete_bitmask(fl_uintptr_t bm) { int Fl_Cairo_Graphics_Driver::height() { if (!font_descriptor()) font(0, 12); - return (font_descriptor()->ascent + font_descriptor()->descent) * 1.25; + return ((Fl_Cairo_Font_Descriptor*)font_descriptor())->line_height; } @@ -1063,6 +1063,7 @@ Fl_Cairo_Font_Descriptor::Fl_Cairo_Font_Descriptor(const char* name, Fl_Fontsize PangoFontMetrics *metrics = pango_fontset_get_metrics(fontset); ascent = pango_font_metrics_get_ascent(metrics)/PANGO_SCALE; descent = pango_font_metrics_get_descent(metrics)/PANGO_SCALE; + line_height = ceil(pango_font_metrics_get_height(metrics)/double(PANGO_SCALE)); q_width = pango_font_metrics_get_approximate_char_width(metrics)/PANGO_SCALE; pango_font_metrics_unref(metrics); g_object_unref(fontset); |
