]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/os2/font.h
moved MGL initialization to earlier stage (crashes otherwise...) and implemented...
[wxWidgets.git] / include / wx / os2 / font.h
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: font.h
3// Purpose: wxFont class
4// Author: David Webster
5// Modified by:
6// Created: 10/06/99
7// RCS-ID: $Id$
8// Copyright: (c) David Webster
9// Licence: wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_FONT_H_
13#define _WX_FONT_H_
14
15#include "wx/gdiobj.h"
16#include "wx/os2/private.h"
17#include "wx/fontutil.h"
18
19WXDLLEXPORT_DATA(extern const wxChar*) wxEmptyString;
20
21// ----------------------------------------------------------------------------
22// wxFont
23// ----------------------------------------------------------------------------
24
25class WXDLLEXPORT wxFont : public wxFontBase
26{
27public:
28 // ctors and such
29 wxFont() { Init(); }
30 wxFont(const wxFont& rFont) { Init(); Ref(rFont); }
31
32 wxFont( int nSize
33 ,int nFamily
34 ,int nStyle
35 ,int nWeight
36 ,bool bUnderlined = FALSE
37 ,const wxString& rsFace = wxEmptyString
38 ,wxFontEncoding vEncoding = wxFONTENCODING_DEFAULT
39 )
40 {
41 Init();
42
43 (void)Create(nSize, nFamily, nStyle, nWeight, bUnderlined, rsFace, vEncoding);
44 }
45
46 wxFont(const wxNativeFontInfo& rInfo)
47 {
48 Init();
49
50 (void)Create( rInfo.pointSize
51 ,rInfo.family
52 ,rInfo.style
53 ,rInfo.weight
54 ,rInfo.underlined
55 ,rInfo.faceName
56 ,rInfo.encoding
57 );
58 }
59
60 bool Create( int nSize
61 ,int nFamily
62 ,int nStyle
63 ,int nWeight
64 ,bool bUnderlined = FALSE
65 ,const wxString& rsFace = wxEmptyString
66 ,wxFontEncoding vEncoding = wxFONTENCODING_DEFAULT
67 );
68
69 virtual ~wxFont();
70
71 //
72 // Assignment
73 //
74 wxFont& operator=(const wxFont& rFont);
75
76 //
77 // Implement base class pure virtuals
78 //
79 virtual int GetPointSize(void) const;
80 virtual int GetFamily(void) const;
81 virtual int GetStyle(void) const;
82 virtual int GetWeight(void) const;
83 virtual bool GetUnderlined(void) const;
84 virtual wxString GetFaceName(void) const;
85 virtual wxFontEncoding GetEncoding(void) const;
86 virtual HPS GetPS(void) const;
87
88 virtual void SetPointSize(int nPointSize);
89 virtual void SetFamily(int nFamily);
90 virtual void SetStyle(int nStyle);
91 virtual void SetWeight(int nWeight);
92 virtual void SetFaceName(const wxString& rsFaceName);
93 virtual void SetUnderlined(bool bUnderlined);
94 virtual void SetEncoding(wxFontEncoding vEncoding);
95 virtual void SetPS(HPS hPS);
96 virtual void SetFM( PFONTMETRICS pFM
97 ,int nNumFonts
98 );
99
100 //
101 // Implementation only from now on
102 // -------------------------------
103 //
104 int GetFontId(void) const;
105 virtual bool IsFree(void) const;
106 virtual bool RealizeResource(void);
107 virtual WXHANDLE GetResourceHandle(void);
108 virtual bool FreeResource(bool bForce = FALSE);
109
110 WXHFONT GetHFONT(void) const;
111protected:
112 //
113 // Common part of all ctors
114 //
115 void Init(void);
116 void Unshare(void);
117
118private:
119 void OS2SelectMatchingFontByName(void);
120
121 DECLARE_DYNAMIC_CLASS(wxFont)
122}; // end of wxFont
123
124#endif // _WX_FONT_H_