From 232a5399d78b95df65dad1b455602d7fe75f36a3 Mon Sep 17 00:00:00 2001 From: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> Date: Thu, 13 Apr 2023 14:32:51 +0200 Subject: Lower Pango required version from 1.22 to 1.16 --- src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx | 14 +++++++++++++- src/drivers/PostScript/Fl_PostScript.cxx | 9 +++++++-- src/drivers/Wayland/Fl_Wayland_Graphics_Driver.cxx | 4 ---- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx index 6db069b35..d07baaf51 100644 --- a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx +++ b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx @@ -27,6 +27,9 @@ #include #include #include +#if ! PANGO_VERSION_CHECK(1,16,0) +# error "Requires Pango 1.16 or higher" +#endif #include #include // abs(int) #include // memcpy() @@ -1134,7 +1137,11 @@ Fl_Cairo_Font_Descriptor::Fl_Cairo_Font_Descriptor(const char* name, Fl_Fontsize delete[] string; width = NULL; //A PangoFontset represents a set of PangoFont to use when rendering text. - PangoFontset *fontset = pango_font_map_load_fontset(pango_cairo_font_map_get_default(), context, fontref, pango_language_get_default()); + PangoFontset *fontset = pango_font_map_load_fontset( + pango_cairo_font_map_get_default(), // 1.10 + context, fontref, + pango_language_get_default() // 1.16 + ); PangoFontMetrics *metrics = pango_fontset_get_metrics(fontset); ascent = pango_font_metrics_get_ascent(metrics); descent = pango_font_metrics_get_descent(metrics); @@ -1201,7 +1208,12 @@ void Fl_Cairo_Graphics_Driver::font(Fl_Font fnum, Fl_Fontsize s) { //A PangoFontMap represents the set of fonts available for a particular rendering system. PangoFontMap *def_font_map = pango_cairo_font_map_get_default(); // 1.10 //A PangoContext stores global information used to control the itemization process. +#if PANGO_VERSION_CHECK(1,22,0) pango_context_ = pango_font_map_create_context(def_font_map); // 1.22 +#else + pango_context_ = pango_context_new(); + pango_context_set_font_map(pango_context_, def_font_map); +#endif pango_layout_ = pango_layout_new(pango_context_); } font_descriptor( find(fnum, s, pango_context_) ); diff --git a/src/drivers/PostScript/Fl_PostScript.cxx b/src/drivers/PostScript/Fl_PostScript.cxx index df45eaf69..1db0cc68c 100644 --- a/src/drivers/PostScript/Fl_PostScript.cxx +++ b/src/drivers/PostScript/Fl_PostScript.cxx @@ -32,8 +32,8 @@ #include // for M_PI #include #include -# if ! PANGO_VERSION_CHECK(1,22,0) -# error "Requires Pango 1.22 or higher" +# if ! PANGO_VERSION_CHECK(1,10,0) +# error "Requires Pango 1.10 or higher" # endif #endif @@ -1527,7 +1527,12 @@ void Fl_PostScript_Graphics_Driver::transformed_draw(const char* str, int n, dou if (!n) return; if (!pango_context_) { PangoFontMap *def_font_map = pango_cairo_font_map_get_default(); // 1.10 +#if PANGO_VERSION_CHECK(1,22,0) pango_context_ = pango_font_map_create_context(def_font_map); // 1.22 +#else + pango_context_ = pango_context_new(); + pango_context_set_font_map(pango_context_, def_font_map); +#endif pango_layout_ = pango_layout_new(pango_context_); } PangoFontDescription *pfd = Fl_Graphics_Driver::default_driver().pango_font_description(); diff --git a/src/drivers/Wayland/Fl_Wayland_Graphics_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Graphics_Driver.cxx index 9b26f8439..71866843f 100644 --- a/src/drivers/Wayland/Fl_Wayland_Graphics_Driver.cxx +++ b/src/drivers/Wayland/Fl_Wayland_Graphics_Driver.cxx @@ -17,10 +17,6 @@ #include "Fl_Wayland_Graphics_Driver.H" #include "Fl_Wayland_Screen_Driver.H" #include "Fl_Wayland_Window_Driver.H" -#include -#if ! PANGO_VERSION_CHECK(1,22,0) -# error "Requires Pango 1.22 or higher" -#endif #include #include // for close() #include -- cgit v1.2.3