]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/mgl/fontutil.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/mgl/fontutil.h
3 // Purpose: font-related helper functions for MGL
4 // Author: Vaclav Slavik
7 // Copyright: (c) 2001 SciTech Software, Inc. (www.scitechsoft.com)
8 // Licence: wxWindows license
9 /////////////////////////////////////////////////////////////////////////////
11 #ifndef _WX_MGL_FONTUTIL_H_
12 #define _WX_MGL_FONTUTIL_H_
20 class wxMGLFontInstance
;
21 class wxMGLFontInstanceList
;
22 class wxMGLFontLibrary
;
23 class wxMGLFontFamily
;
27 wxFONTFACE_REGULAR
= 0,
28 wxFONTFACE_ITALIC
= 1,
29 wxFONTFACE_BOLD
= 2, // = (regular | bold)
30 wxFONTFACE_BOLD_ITALIC
= 3, // = (italic | bold)
35 // structure representing particular loaded font instance:
36 class wxMGLFontInstance
39 wxMGLFontInstance(wxMGLFontLibrary
*fontLib
, float pt
, bool slant
, bool aa
);
42 struct font_t
*GetMGLfont_t() const { return m_font
; }
44 float GetPt() const { return m_pt
; }
45 bool GetSlant() const { return m_slant
; }
46 bool GetAA() const { return m_aa
; }
49 wxMGLFontLibrary
*m_fontLib
;
56 // structure representing loaded font library:
57 class wxMGLFontLibrary
60 wxMGLFontLibrary(const wxString
& filename
, int type
);
63 wxMGLFontInstance
*GetFontInstance(wxFont
*font
, float scale
, bool aa
);
68 struct font_lib_t
*GetMGLfont_lib_t() const { return m_fontLib
; }
71 font_lib_t
*m_fontLib
;
75 wxMGLFontInstanceList
*m_instances
;
78 // structure representing native MGL font family
79 class wxMGLFontFamily
: public wxObject
82 wxMGLFontFamily(const font_info_t
*info
);
83 virtual ~wxMGLFontFamily();
85 wxString
GetName() const { return m_name
; }
86 const font_info_t
*GetInfo() const { return m_fontInfo
; }
88 bool HasFace(int type
) const;
89 wxMGLFontLibrary
*GetLibrary(int type
) const
90 { return m_fontLibs
[type
]; }
94 const font_info_t
*m_fontInfo
;
95 wxMGLFontLibrary
*m_fontLibs
[wxFONTFACE_MAX
];
98 WX_DECLARE_LIST(wxMGLFontFamily
, wxMGLFontFamilyList
);
106 void AddFamily(const font_info_t
*info
);
108 // return info about font with given name:
109 wxMGLFontFamily
*GetFamily(const wxString
& name
) const;
110 // return list of all families
111 wxMGLFontFamilyList
*GetFamilyList() { return m_list
; }
113 wxMGLFontLibrary
*GetFontLibrary(wxFont
*font
);
117 wxMGLFontFamilyList
*m_list
;
120 extern wxFontsManager
*wxTheFontsManager
;
122 #endif // _WX_MGL_FONTUTIL_H_