From d011d5b4f060166f87fc44594f7f31ddf6b652e9 Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Sat, 2 Apr 2016 13:22:48 +0000 Subject: Replace src/Fl_Font.H by one file for each platform. This file contained nearly only platform-specific code. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11507 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/drivers/Xlib/Fl_Font.H | 82 ++++++++++++++++++++++ .../Xlib/Fl_Xlib_Graphics_Driver_font_x.cxx | 2 +- .../Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx | 2 +- 3 files changed, 84 insertions(+), 2 deletions(-) create mode 100644 src/drivers/Xlib/Fl_Font.H (limited to 'src/drivers/Xlib') diff --git a/src/drivers/Xlib/Fl_Font.H b/src/drivers/Xlib/Fl_Font.H new file mode 100644 index 000000000..d04bc9e33 --- /dev/null +++ b/src/drivers/Xlib/Fl_Font.H @@ -0,0 +1,82 @@ +// +// "$Id: Fl_Font.H 11506 2016-04-02 11:58:13Z manolo $" +// +// Font definitions for the Fast Light Tool Kit (FLTK). +// +// Copyright 1998-2011 by Bill Spitzak and others. +// +// This library is free software. Distribution and use rights are outlined in +// the file "COPYING" which should have been included with this file. If this +// file is missing or damaged, see the license at: +// +// http://www.fltk.org/COPYING.php +// +// Please report all bugs and problems on the following page: +// +// http://www.fltk.org/str.php +// + +// Two internal fltk data structures: +// +// Fl_Fontdesc: an entry into the fl_font() table. There is one of these +// for each fltk font number. +// +#ifndef FL_FONT_ +#define FL_FONT_ + +#include + +#if USE_XFT +typedef struct _XftFont XftFont; +#else +# include "../../Xutf8.h" +#endif // USE_XFT + +/** + This a structure for an actual system font, with junk to + help choose it and info on character sizes. Each Fl_Fontdesc has a + linked list of these. These are created the first time each system + font/size combination is used. +*/ +class Fl_Font_Descriptor { +public: + /** linked list for this Fl_Fontdesc */ + Fl_Font_Descriptor *next; + Fl_Fontsize size; /**< font size */ +#ifndef FL_DOXYGEN // don't bother with platorm dependant details in the doc. +# if USE_XFT + XftFont* font; + //const char* encoding; + int angle; + FL_EXPORT Fl_Font_Descriptor(const char* xfontname, Fl_Fontsize size, int angle); +# else + XUtf8FontStruct* font; // X UTF-8 font information + FL_EXPORT Fl_Font_Descriptor(const char* xfontname); +# endif +# if HAVE_GL + unsigned int listbase;// base of display list, 0 = none + char glok[64]; +# endif // HAVE_GL + + FL_EXPORT ~Fl_Font_Descriptor(); + +#endif // FL_DOXYGEN +}; + +//extern FL_EXPORT Fl_Font_Descriptor *fl_fontsize; // the currently selected one + +struct Fl_Fontdesc { + const char *name; + char fontname[128]; // "Pretty" font name + Fl_Font_Descriptor *first; // linked list of sizes of this style + char **xlist; // matched X font names + int n; // size of xlist, negative = don't free xlist! +}; + +extern FL_EXPORT Fl_Fontdesc *fl_fonts; // the table + +#endif + +// +// End of "$Id: Fl_Font.H 11506 2016-04-02 11:58:13Z manolo $". +// 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 d364030e5..0d64ee09b 100644 --- a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_x.cxx +++ b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_x.cxx @@ -22,7 +22,7 @@ #include #include #include -#include "../../Fl_Font.H" +#include "Fl_Font.H" #include #include 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 582870e85..d6563eabe 100644 --- a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx +++ b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx @@ -22,7 +22,7 @@ #include #include #include -#include "../../Fl_Font.H" +#include "Fl_Font.H" #include #include -- cgit v1.2.3