00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _FL_FONT_H_
00023 #define _FL_FONT_H_
00024
00029 #include "Fl_Export.h"
00030 #include "Fl_String_List.h"
00031 #include "Fl_Int_List.h"
00032
00033 class FL_API Fl_FontSize;
00034
00035 struct FL_API Fl_Font_;
00036 typedef const Fl_Font_* Fl_Font;
00037
00038
00039
00043 struct FL_API Fl_Font_ {
00044
00045 const char* name_;
00046 Fl_Font_* bold_;
00047 Fl_Font_* italic_;
00048
00049
00050 Fl_FontSize *first;
00051
00052 #ifdef _WIN32
00053
00054 Fl_CString_List *charsets_;
00055 Fl_Int_List *sizes_;
00056 #else
00057
00058 char **xlist_;
00059 int xlist_n_;
00060 uint cache_xlist();
00061 Fl_FontSize *load_font(float size);
00062 #endif
00063
00064
00069 const char *system_name() const { return name_; }
00070
00075 const char *name(int *attr = 0) const;
00076
00082 int sizes(int *&parray) const;
00083
00092 int encodings(const char **&parray) const;
00093
00098 Fl_Font bold() const { return bold_; }
00103 Fl_Font italic() const { return italic_; }
00104 };
00105
00109 enum {
00110 FL_BOLD = 1,
00111 FL_ITALIC = 2,
00112 FL_BOLD_ITALIC = 3
00113 };
00114
00115
00116 #define FL_HELVETICA (fl_fonts+0)
00117 #define FL_HELVETICA_BOLD (fl_fonts+1)
00118 #define FL_HELVETICA_ITALIC (fl_fonts+2)
00119 #define FL_HELVETICA_BOLD_ITALIC (fl_fonts+3)
00120 #define FL_COURIER (fl_fonts+4)
00121 #define FL_COURIER_BOLD (fl_fonts+5)
00122 #define FL_COURIER_ITALIC (fl_fonts+6)
00123 #define FL_COURIER_BOLD_ITALIC (fl_fonts+7)
00124 #define FL_TIMES (fl_fonts+8)
00125 #define FL_TIMES_BOLD (fl_fonts+9)
00126 #define FL_TIMES_ITALIC (fl_fonts+10)
00127 #define FL_TIMES_BOLD_ITALIC (fl_fonts+11)
00128 #define FL_SYMBOL (fl_fonts+12)
00129 #define FL_SCREEN (fl_fonts+13)
00130 #define FL_SCREEN_BOLD (fl_fonts+14)
00131 #define FL_ZAPF_DINGBATS (fl_fonts+15)
00132
00136 extern FL_API Fl_Font_ fl_fonts[16];
00137
00142 extern FL_API Fl_Font fl_create_font(const char *system_name);
00143
00147 extern FL_API Fl_Font fl_find_font(const char* name, int attrib = 0);
00148
00154 extern FL_API int fl_list_fonts(Fl_Font*& arrayp);
00155
00156 #endif