summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2022-05-02 12:41:20 +0200
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2022-05-02 12:41:20 +0200
commit049cef17f75f20af74bc81c33010da34196e4199 (patch)
tree3a0803433d274465d37b6a970d2dbee435dd88b7 /src/drivers
parent85cf5977657ea892027b4c8e36f310b935f51908 (diff)
Set line height as computed by Pango.
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H1
-rw-r--r--src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx3
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);