]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/os2/font.h
Send EVT_DATAVIEW_ITEM_CONTEXT_MENU events even when not clicking on an item.
[wxWidgets.git] / include / wx / os2 / font.h
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: wx/os2/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
18WXDLLIMPEXP_DATA_CORE(extern const wxChar*) wxEmptyString;
19
20// ----------------------------------------------------------------------------
21// wxFont
22// ----------------------------------------------------------------------------
23
24class WXDLLIMPEXP_CORE wxFont : public wxFontBase
25{
26public:
27 // ctors and such
28 wxFont() { }
29
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)
38 {
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);
52 }
53
54 wxFont(const wxSize& pixelSize,
55 wxFontFamily family,
56 wxFontStyle style,
57 wxFontWeight weight,
58 bool underlined = false,
59 const wxString& face = wxEmptyString,
60 wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
61 {
62 Create(10, family, style, weight, underlined, face, encoding);
63 SetPixelSize(pixelSize);
64 }
65
66 bool Create(int size,
67 wxFontFamily family,
68 wxFontStyle style,
69 wxFontWeight weight,
70 bool underlined = false,
71 const wxString& face = wxEmptyString,
72 wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
73
74 wxFont( const wxNativeFontInfo& rInfo
75 ,WXHFONT hFont = 0
76 )
77
78 {
79 (void)Create( rInfo
80 ,hFont
81 );
82 }
83
84 wxFont(const wxString& rsFontDesc);
85
86 bool Create( const wxNativeFontInfo& rInfo
87 ,WXHFONT hFont = 0
88 );
89
90 virtual ~wxFont();
91
92 //
93 // Implement base class pure virtuals
94 //
95 virtual int GetPointSize(void) const;
96 virtual wxFontStyle GetStyle() const;
97 virtual wxFontWeight GetWeight() const;
98 virtual bool GetUnderlined(void) const;
99 virtual wxString GetFaceName(void) const;
100 virtual wxFontEncoding GetEncoding(void) const;
101 virtual const wxNativeFontInfo* GetNativeFontInfo() const;
102
103 virtual void SetPointSize(int nPointSize);
104 virtual void SetFamily(wxFontFamily family);
105 virtual void SetStyle(wxFontStyle style);
106 virtual void SetWeight(wxFontWeight weight);
107 virtual bool SetFaceName(const wxString& rsFaceName);
108 virtual void SetUnderlined(bool bUnderlined);
109 virtual void SetEncoding(wxFontEncoding vEncoding);
110
111 wxDECLARE_COMMON_FONT_METHODS();
112
113 //
114 // For internal use only!
115 //
116 void SetPS(HPS hPS);
117 void SetFM( PFONTMETRICS pFM
118 ,int nNumFonts
119 );
120 //
121 // Implementation only from now on
122 // -------------------------------
123 //
124 virtual bool IsFree(void) const;
125 virtual bool RealizeResource(void);
126 virtual WXHANDLE GetResourceHandle(void) const;
127 virtual bool FreeResource(bool bForce = false);
128
129 WXHFONT GetHFONT(void) const;
130
131protected:
132 virtual void DoSetNativeFontInfo(const wxNativeFontInfo& rInfo);
133 virtual wxFontFamily DoGetFamily() const;
134
135 // implement wxObject virtuals which are used by AllocExclusive()
136 virtual wxGDIRefData *CreateGDIRefData() const;
137 virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const;
138
139private:
140 DECLARE_DYNAMIC_CLASS(wxFont)
141}; // end of wxFont
142
143#endif // _WX_FONT_H_