]> git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/font.h
wxWindow::GetBestSize() added
[wxWidgets.git] / include / wx / msw / font.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: font.h
3 // Purpose: wxFont class
4 // Author: Julian Smart
5 // Modified by:
6 // Created: 01/02/97
7 // RCS-ID: $Id$
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_FONT_H_
13 #define _WX_FONT_H_
14
15 #ifdef __GNUG__
16 #pragma interface "font.h"
17 #endif
18
19 // ----------------------------------------------------------------------------
20 // wxFont
21 // ----------------------------------------------------------------------------
22
23 class WXDLLEXPORT wxFont : public wxFontBase
24 {
25 public:
26 // ctors and such
27 wxFont() { Init(); }
28 wxFont(const wxFont& font) { Init(); Ref(font); }
29
30 wxFont(int size,
31 int family,
32 int style,
33 int weight,
34 bool underlined = FALSE,
35 const wxString& face = wxEmptyString,
36 wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
37 {
38 Init();
39
40 (void)Create(size, family, style, weight, underlined, face, encoding);
41 }
42
43 bool Create(int size,
44 int family,
45 int style,
46 int weight,
47 bool underlined = FALSE,
48 const wxString& face = wxEmptyString,
49 wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
50
51 virtual ~wxFont();
52
53 // assignment
54 wxFont& operator=(const wxFont& font);
55
56 // implement base class pure virtuals
57 virtual int GetPointSize() const;
58 virtual int GetFamily() const;
59 virtual int GetStyle() const;
60 virtual int GetWeight() const;
61 virtual bool GetUnderlined() const;
62 virtual wxString GetFaceName() const;
63 virtual wxFontEncoding GetEncoding() const;
64
65 virtual void SetPointSize(int pointSize);
66 virtual void SetFamily(int family);
67 virtual void SetStyle(int style);
68 virtual void SetWeight(int weight);
69 virtual void SetFaceName(const wxString& faceName);
70 virtual void SetUnderlined(bool underlined);
71 virtual void SetEncoding(wxFontEncoding encoding);
72
73 // implementation only from now on
74 // -------------------------------
75
76 int GetFontId() const;
77 virtual bool IsFree() const;
78 virtual bool RealizeResource();
79 virtual WXHANDLE GetResourceHandle();
80 virtual bool FreeResource(bool force = FALSE);
81 /*
82 virtual bool UseResource();
83 virtual bool ReleaseResource();
84 */
85
86 protected:
87 // common part of all ctors
88 void Init();
89
90 void Unshare();
91
92 private:
93 DECLARE_DYNAMIC_CLASS(wxFont)
94 };
95
96 #endif
97 // _WX_FONT_H_