diff options
| author | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2022-03-14 15:28:38 +0100 |
|---|---|---|
| committer | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2022-03-14 15:28:38 +0100 |
| commit | 2d833a54fd1147b0d5942c2798940038b7536a9a (patch) | |
| tree | 4a864bbe7c7f82a78897c29beab3b49278de0aa1 /src | |
| parent | 496610723882602053cfb6912bca0b0dbfced84f (diff) | |
Move initialisation of X11 and Wayland built-in font names to fl_???_platform_init.cxx
Diffstat (limited to 'src')
| -rw-r--r-- | src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx | 26 | ||||
| -rw-r--r-- | src/drivers/Wayland/fl_wayland_platform_init.cxx | 23 | ||||
| -rw-r--r-- | src/drivers/X11/fl_X11_platform_init.cxx | 98 | ||||
| -rw-r--r-- | src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_x.cxx | 23 | ||||
| -rw-r--r-- | src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx | 70 |
5 files changed, 125 insertions, 115 deletions
diff --git a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx index 12e7e2311..6c306e111 100644 --- a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx +++ b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx @@ -911,37 +911,15 @@ int Fl_Cairo_Graphics_Driver::descent() { } -static Fl_Fontdesc built_in_table[] = { // Pango font names - {"Sans"}, - {"Sans Bold"}, - {"Sans Italic"}, - {"Sans Bold Italic"}, - {"Monospace"}, - {"Monospace Bold"}, - {"Monospace Italic"}, - {"Monospace Bold Italic"}, - {"Serif"}, - {"Serif Bold"}, - {"Serif Italic"}, - {"Serif Bold Italic"}, - {"Standard Symbols PS"}, // FL_SYMBOL - {"Monospace"}, // FL_SCREEN - {"Monospace Bold"}, // FL_SCREEN_BOLD - {"D050000L"}, // FL_ZAPF_DINGBATS -}; +extern Fl_Fontdesc *fl_fonts; -#if FLTK_USE_WAYLAND - FL_EXPORT Fl_Fontdesc *fl_fonts = built_in_table; -#else - extern Fl_Fontdesc *fl_fonts; -#endif void Fl_Cairo_Graphics_Driver::init_built_in_fonts() { static int i = 0; if (!i) { while (i < FL_FREE_FONT) { i++; - Fl::set_font((Fl_Font)i-1, built_in_table[i-1].name); + Fl::set_font((Fl_Font)i-1, fl_fonts[i-1].name); } } } diff --git a/src/drivers/Wayland/fl_wayland_platform_init.cxx b/src/drivers/Wayland/fl_wayland_platform_init.cxx index e6aebd174..4500a0f45 100644 --- a/src/drivers/Wayland/fl_wayland_platform_init.cxx +++ b/src/drivers/Wayland/fl_wayland_platform_init.cxx @@ -29,6 +29,29 @@ Fl_Copy_Surface_Driver *Fl_Copy_Surface_Driver::newCopySurfaceDriver(int w, int } +static Fl_Fontdesc built_in_table[] = { // Pango font names + {"Sans"}, + {"Sans Bold"}, + {"Sans Italic"}, + {"Sans Bold Italic"}, + {"Monospace"}, + {"Monospace Bold"}, + {"Monospace Italic"}, + {"Monospace Bold Italic"}, + {"Serif"}, + {"Serif Bold"}, + {"Serif Italic"}, + {"Serif Bold Italic"}, + {"Standard Symbols PS"}, // FL_SYMBOL + {"Monospace"}, // FL_SCREEN + {"Monospace Bold"}, // FL_SCREEN_BOLD + {"D050000L"}, // FL_ZAPF_DINGBATS +}; + + +FL_EXPORT Fl_Fontdesc *fl_fonts = built_in_table; + + Fl_Graphics_Driver *Fl_Graphics_Driver::newMainGraphicsDriver() { fl_graphics_driver = new Fl_Wayland_Graphics_Driver(); diff --git a/src/drivers/X11/fl_X11_platform_init.cxx b/src/drivers/X11/fl_X11_platform_init.cxx index 6c528a7cb..3bcf21370 100644 --- a/src/drivers/X11/fl_X11_platform_init.cxx +++ b/src/drivers/X11/fl_X11_platform_init.cxx @@ -14,13 +14,14 @@ // https://www.fltk.org/bugs.php // - +#include <FL/platform.H> #include "../Xlib/Fl_Xlib_Copy_Surface_Driver.H" #include "../Xlib/Fl_Xlib_Graphics_Driver.H" #include "Fl_X11_Screen_Driver.H" #include "Fl_X11_System_Driver.H" #include "Fl_X11_Window_Driver.H" #include "../Xlib/Fl_Xlib_Image_Surface_Driver.H" +#include "../Xlib/Fl_Font.H" Fl_Copy_Surface_Driver *Fl_Copy_Surface_Driver::newCopySurfaceDriver(int w, int h) @@ -29,6 +30,101 @@ Fl_Copy_Surface_Driver *Fl_Copy_Surface_Driver::newCopySurfaceDriver(int w, int } +#if !USE_XFT + +// WARNING: if you add to this table, you must redefine FL_FREE_FONT +// in Enumerations.H & recompile!! +static Fl_Xlib_Fontdesc built_in_table[] = { +{"-*-helvetica-medium-r-normal--*"}, +{"-*-helvetica-bold-r-normal--*"}, +{"-*-helvetica-medium-o-normal--*"}, +{"-*-helvetica-bold-o-normal--*"}, +{"-*-courier-medium-r-normal--*"}, +{"-*-courier-bold-r-normal--*"}, +{"-*-courier-medium-o-normal--*"}, +{"-*-courier-bold-o-normal--*"}, +{"-*-times-medium-r-normal--*"}, +{"-*-times-bold-r-normal--*"}, +{"-*-times-medium-i-normal--*"}, +{"-*-times-bold-i-normal--*"}, +{"-*-symbol-*"}, +{"-*-lucidatypewriter-medium-r-normal-sans-*"}, +{"-*-lucidatypewriter-bold-r-normal-sans-*"}, +{"-*-*zapf dingbats-*"} +}; + +#else // USE_XFT + +#if ! USE_PANGO + +// The predefined fonts that FLTK has: +static Fl_Fontdesc built_in_table[] = { +#if 1 + {" sans"}, + {"Bsans"}, + {"Isans"}, + {"Psans"}, + {" mono"}, + {"Bmono"}, + {"Imono"}, + {"Pmono"}, + {" serif"}, + {"Bserif"}, + {"Iserif"}, + {"Pserif"}, + {" symbol"}, + {" screen"}, + {"Bscreen"}, + {" zapf dingbats"}, +#else + {" helvetica"}, + {"Bhelvetica"}, + {"Ihelvetica"}, + {"Phelvetica"}, + {" courier"}, + {"Bcourier"}, + {"Icourier"}, + {"Pcourier"}, + {" times"}, + {"Btimes"}, + {"Itimes"}, + {"Ptimes"}, + {" symbol"}, + {" lucidatypewriter"}, + {"Blucidatypewriter"}, + {" zapf dingbats"}, +#endif +}; + +#else + +// The predefined fonts that FLTK has with Pango: +static Fl_Fontdesc built_in_table[] = { + {"Sans"}, + {"Sans Bold"}, + {"Sans Italic"}, + {"Sans Bold Italic"}, + {"Monospace"}, + {"Monospace Bold"}, + {"Monospace Italic"}, + {"Monospace Bold Italic"}, + {"Serif"}, + {"Serif Bold"}, + {"Serif Italic"}, + {"Serif Bold Italic"}, + {"Sans"}, + {"Monospace"}, + {"Monospace Bold"}, + {"Sans"}, +}; + +#endif // USE_PANGO + +#endif // USE_XFT + +FL_EXPORT Fl_Fontdesc* fl_fonts = (Fl_Fontdesc*)built_in_table; + + Fl_Graphics_Driver *Fl_Graphics_Driver::newMainGraphicsDriver() { return new Fl_Xlib_Graphics_Driver(); diff --git a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_x.cxx b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_x.cxx index 30e31b2b1..da2d2b303 100644 --- a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_x.cxx +++ b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_x.cxx @@ -387,28 +387,7 @@ Fl_Xlib_Font_Descriptor::~Fl_Xlib_Font_Descriptor() { //////////////////////////////////////////////////////////////// -// WARNING: if you add to this table, you must redefine FL_FREE_FONT -// in Enumerations.H & recompile!! -static Fl_Xlib_Fontdesc built_in_table[] = { -{"-*-helvetica-medium-r-normal--*"}, -{"-*-helvetica-bold-r-normal--*"}, -{"-*-helvetica-medium-o-normal--*"}, -{"-*-helvetica-bold-o-normal--*"}, -{"-*-courier-medium-r-normal--*"}, -{"-*-courier-bold-r-normal--*"}, -{"-*-courier-medium-o-normal--*"}, -{"-*-courier-bold-o-normal--*"}, -{"-*-times-medium-r-normal--*"}, -{"-*-times-bold-r-normal--*"}, -{"-*-times-medium-i-normal--*"}, -{"-*-times-bold-i-normal--*"}, -{"-*-symbol-*"}, -{"-*-lucidatypewriter-medium-r-normal-sans-*"}, -{"-*-lucidatypewriter-bold-r-normal-sans-*"}, -{"-*-*zapf dingbats-*"} -}; - -Fl_Fontdesc* fl_fonts = (Fl_Fontdesc*)built_in_table; +extern Fl_Fontdesc* fl_fonts; #define MAXSIZE 32767 diff --git a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx index 5e27c71bc..c438dd5d5 100644 --- a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx +++ b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx @@ -43,73 +43,7 @@ static void fl_xft_font(Fl_Xlib_Graphics_Driver *driver, Fl_Font fnum, Fl_Fontsi XftDraw* Fl_Xlib_Graphics_Driver::draw_ = 0; Window Fl_Xlib_Graphics_Driver::draw_window = (Window)0; - -#if ! USE_PANGO - -// The predefined fonts that FLTK has: -static Fl_Fontdesc built_in_table[] = { -#if 1 - {" sans"}, - {"Bsans"}, - {"Isans"}, - {"Psans"}, - {" mono"}, - {"Bmono"}, - {"Imono"}, - {"Pmono"}, - {" serif"}, - {"Bserif"}, - {"Iserif"}, - {"Pserif"}, - {" symbol"}, - {" screen"}, - {"Bscreen"}, - {" zapf dingbats"}, -#else - {" helvetica"}, - {"Bhelvetica"}, - {"Ihelvetica"}, - {"Phelvetica"}, - {" courier"}, - {"Bcourier"}, - {"Icourier"}, - {"Pcourier"}, - {" times"}, - {"Btimes"}, - {"Itimes"}, - {"Ptimes"}, - {" symbol"}, - {" lucidatypewriter"}, - {"Blucidatypewriter"}, - {" zapf dingbats"}, -#endif -}; - -#else - -// The predefined fonts that FLTK has with Pango: -static Fl_Fontdesc built_in_table[] = { - {"Sans"}, - {"Sans Bold"}, - {"Sans Italic"}, - {"Sans Bold Italic"}, - {"Monospace"}, - {"Monospace Bold"}, - {"Monospace Italic"}, - {"Monospace Bold Italic"}, - {"Serif"}, - {"Serif Bold"}, - {"Serif Italic"}, - {"Serif Bold Italic"}, - {"Sans"}, - {"Monospace"}, - {"Monospace Bold"}, - {"Sans"}, -}; - -#endif // USE_PANGO - -Fl_Fontdesc* fl_fonts = built_in_table; +extern Fl_Fontdesc* fl_fonts; Fl_Fontsize Fl_Xlib_Graphics_Driver::size_unscaled() { return (Fl_Fontsize)(size_); @@ -1441,7 +1375,7 @@ void Fl_Xlib_Graphics_Driver::init_built_in_fonts() { if (!i) { while (i < FL_FREE_FONT) { i++; - Fl::set_font((Fl_Font)i-1, built_in_table[i-1].name); + Fl::set_font((Fl_Font)i-1, fl_fonts[i-1].name); } } } |
