]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/msw/font.h
fix for __HUGEFILES_SUPPORTED definition
[wxWidgets.git] / include / wx / msw / font.h
... / ...
CommitLineData
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#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
16 #pragma interface "font.h"
17#endif
18
19#include <wx/gdicmn.h>
20
21// ----------------------------------------------------------------------------
22// wxFont
23// ----------------------------------------------------------------------------
24
25class WXDLLEXPORT wxFont : public wxFontBase
26{
27public:
28 // ctors and such
29 wxFont() { Init(); }
30 wxFont(const wxFont& font) : wxFontBase(font) { Init(); Ref(font); }
31
32 wxFont(int size,
33 int family,
34 int style,
35 int weight,
36 bool underlined = false,
37 const wxString& face = wxEmptyString,
38 wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
39 {
40 Init();
41
42 (void)Create(size, wxSize(0, 0), FALSE, family, style, weight,
43 underlined, face, encoding);
44 }
45
46 wxFont(const wxSize& pixelSize,
47 int family,
48 int style,
49 int weight,
50 bool underlined = false,
51 const wxString& face = wxEmptyString,
52 wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
53 {
54 Init();
55
56 (void)Create(0, pixelSize, TRUE, family, style, weight, underlined,
57 face, encoding);
58 }
59
60 wxFont(const wxNativeFontInfo& info, WXHFONT hFont = 0)
61 {
62 Init();
63
64 Create(info, hFont);
65 }
66
67 wxFont(const wxString& fontDesc);
68
69 bool Create(int size,
70 const wxSize& pixelSize,
71 bool sizeUsingPixels,
72 int family,
73 int style,
74 int weight,
75 bool underlined = false,
76 const wxString& face = wxEmptyString,
77 wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
78
79 bool Create(const wxNativeFontInfo& info, WXHFONT hFont = 0);
80
81 virtual ~wxFont();
82
83 // assignment
84 wxFont& operator=(const wxFont& font);
85
86 // implement base class pure virtuals
87 virtual int GetPointSize() const;
88 virtual wxSize GetPixelSize() const;
89 virtual bool IsUsingSizeInPixels() const;
90 virtual int GetFamily() const;
91 virtual int GetStyle() const;
92 virtual int GetWeight() const;
93 virtual bool GetUnderlined() const;
94 virtual wxString GetFaceName() const;
95 virtual wxFontEncoding GetEncoding() const;
96 virtual const wxNativeFontInfo *GetNativeFontInfo() const;
97
98 virtual void SetPointSize(int pointSize);
99 virtual void SetPixelSize(const wxSize& pixelSize);
100 virtual void SetFamily(int family);
101 virtual void SetStyle(int style);
102 virtual void SetWeight(int weight);
103 virtual void SetFaceName(const wxString& faceName);
104 virtual void SetUnderlined(bool underlined);
105 virtual void SetEncoding(wxFontEncoding encoding);
106
107 virtual bool IsFixedWidth() const;
108
109 // implementation only from now on
110 // -------------------------------
111
112 virtual bool IsFree() const;
113 virtual bool RealizeResource();
114 virtual WXHANDLE GetResourceHandle() const;
115 virtual bool FreeResource(bool force = false);
116
117 // for consistency with other wxMSW classes
118 WXHFONT GetHFONT() const;
119
120 /*
121 virtual bool UseResource();
122 virtual bool ReleaseResource();
123 */
124
125protected:
126 virtual void DoSetNativeFontInfo(const wxNativeFontInfo& info);
127
128 // common part of all ctors
129 void Init();
130
131 void Unshare();
132
133private:
134 DECLARE_DYNAMIC_CLASS(wxFont)
135};
136
137#endif
138 // _WX_FONT_H_