]> git.saurik.com Git - wxWidgets.git/blame - include/wx/os2/font.h
added template wxScopedArray<> too
[wxWidgets.git] / include / wx / os2 / font.h
CommitLineData
0e320a79 1/////////////////////////////////////////////////////////////////////////////
17b1d76b 2// Name: wx/os2/font.h
0e320a79 3// Purpose: wxFont class
21802234 4// Author: David Webster
0e320a79 5// Modified by:
21802234 6// Created: 10/06/99
0e320a79 7// RCS-ID: $Id$
21802234 8// Copyright: (c) David Webster
65571936 9// Licence: wxWindows licence
0e320a79
DW
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_FONT_H_
13#define _WX_FONT_H_
14
0e320a79 15#include "wx/gdiobj.h"
e99762c0 16#include "wx/os2/private.h"
0e320a79 17
53a2db12 18WXDLLIMPEXP_DATA_CORE(extern const wxChar*) wxEmptyString;
21802234
DW
19
20// ----------------------------------------------------------------------------
21// wxFont
22// ----------------------------------------------------------------------------
0e320a79 23
53a2db12 24class WXDLLIMPEXP_CORE wxFont : public wxFontBase
0e320a79 25{
0e320a79 26public:
21802234 27 // ctors and such
f8855e47 28 wxFont() { }
e99762c0 29
0c14b6c3
FM
30#if FUTURE_WXWIN_COMPATIBILITY_3_0
31 wxFont(int size,
32 int family,
33 int style,
34 int weight,
35 bool underlined = false,
36 const wxString& face = wxEmptyString,
37 wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
21802234 38 {
0c14b6c3
FM
39 (void)Create(size, (wxFontFamily)family, (wxFontStyle)style, (wxFontWeight)weight, underlined, face, encoding);
40 }
41#endif
42
43 wxFont(int size,
44 wxFontFamily family,
45 wxFontStyle style,
46 wxFontWeight weight,
47 bool underlined = false,
48 const wxString& face = wxEmptyString,
49 wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
50 {
51 Create(size, family, style, weight, underlined, face, encoding);
21802234
DW
52 }
53
0c14b6c3
FM
54 bool Create(int size,
55 wxFontFamily family,
56 wxFontStyle style,
57 wxFontWeight weight,
58 bool underlined = false,
59 const wxString& face = wxEmptyString,
60 wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
61
cc95f4f9
DW
62 wxFont( const wxNativeFontInfo& rInfo
63 ,WXHFONT hFont = 0
64 )
65
66 {
cc95f4f9
DW
67 (void)Create( rInfo
68 ,hFont
69 );
70 }
71
72 wxFont(const wxString& rsFontDesc);
377771d9 73
cc95f4f9
DW
74 bool Create( const wxNativeFontInfo& rInfo
75 ,WXHFONT hFont = 0
76 );
21802234
DW
77
78 virtual ~wxFont();
79
e99762c0
DW
80 //
81 // Implement base class pure virtuals
82 //
cc95f4f9 83 virtual int GetPointSize(void) const;
0c14b6c3
FM
84 virtual wxFontFamily GetFamily() const;
85 virtual wxFontStyle GetStyle() const;
86 virtual wxFontWeight GetWeight() const;
cc95f4f9
DW
87 virtual bool GetUnderlined(void) const;
88 virtual wxString GetFaceName(void) const;
89 virtual wxFontEncoding GetEncoding(void) const;
3bf5a59b 90 virtual const wxNativeFontInfo* GetNativeFontInfo() const;
e99762c0
DW
91
92 virtual void SetPointSize(int nPointSize);
0c14b6c3
FM
93 virtual void SetFamily(wxFontFamily family);
94 virtual void SetStyle(wxFontStyle style);
95 virtual void SetWeight(wxFontWeight weight);
85ab460e 96 virtual bool SetFaceName(const wxString& rsFaceName);
e99762c0
DW
97 virtual void SetUnderlined(bool bUnderlined);
98 virtual void SetEncoding(wxFontEncoding vEncoding);
e99762c0 99
0c14b6c3
FM
100 WXDECLARE_COMPAT_SETTERS
101
cc95f4f9
DW
102 //
103 // For internal use only!
104 //
511ac294 105 void SetPS(HPS hPS);
cc95f4f9
DW
106 void SetFM( PFONTMETRICS pFM
107 ,int nNumFonts
108 );
e99762c0
DW
109 //
110 // Implementation only from now on
21802234 111 // -------------------------------
e99762c0 112 //
e99762c0
DW
113 virtual bool IsFree(void) const;
114 virtual bool RealizeResource(void);
17b1d76b 115 virtual WXHANDLE GetResourceHandle(void) const;
dabbc6a5 116 virtual bool FreeResource(bool bForce = false);
0e320a79 117
08399e45 118 WXHFONT GetHFONT(void) const;
9045ad9d 119
21802234 120protected:
9045ad9d
VZ
121 virtual void DoSetNativeFontInfo(const wxNativeFontInfo& rInfo);
122
4b3f61d1
SN
123 // implement wxObject virtuals which are used by AllocExclusive()
124 virtual wxGDIRefData *CreateGDIRefData() const;
125 virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const;
0e320a79 126
21802234
DW
127private:
128 DECLARE_DYNAMIC_CLASS(wxFont)
e99762c0 129}; // end of wxFont
0e320a79 130
e99762c0 131#endif // _WX_FONT_H_