]>
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-2002 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
, wxMGLFontFamily
*parentFamily
);
63 wxMGLFontInstance
*GetFontInstance(wxFont
*font
, float scale
, bool aa
);
64 wxMGLFontFamily
*GetFamily() const { return m_family
; }
69 struct font_lib_t
*GetMGLfont_lib_t() const { return m_fontLib
; }
72 font_lib_t
*m_fontLib
;
76 wxMGLFontInstanceList
*m_instances
;
77 wxMGLFontFamily
*m_family
;
80 // structure representing native MGL font family
81 class wxMGLFontFamily
: public wxObject
84 wxMGLFontFamily(const font_info_t
*info
);
85 virtual ~wxMGLFontFamily();
87 wxString
GetName() const { return m_name
; }
88 const font_info_t
*GetInfo() const { return m_fontInfo
; }
90 bool HasFace(int type
) const;
91 wxMGLFontLibrary
*GetLibrary(int type
) const
92 { return m_fontLibs
[type
]; }
96 const font_info_t
*m_fontInfo
;
97 wxMGLFontLibrary
*m_fontLibs
[wxFONTFACE_MAX
];
100 WX_DECLARE_LIST(wxMGLFontFamily
, wxMGLFontFamilyList
);
108 void AddFamily(const font_info_t
*info
);
110 // return info about font with given name:
111 wxMGLFontFamily
*GetFamily(const wxString
& name
) const;
112 // return list of all families
113 wxMGLFontFamilyList
*GetFamilyList() { return m_list
; }
115 wxMGLFontLibrary
*GetFontLibrary(wxFont
*font
);
119 wxMGLFontFamilyList
*m_list
;
122 extern wxFontsManager
*wxTheFontsManager
;
124 #endif // _WX_MGL_FONTUTIL_H_