]> git.saurik.com Git - wxWidgets.git/blob - src/mac/carbon/gdiobj.cpp
436c1b612dd67925899f968bc933595e0f541e55
[wxWidgets.git] / src / mac / carbon / gdiobj.cpp
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: src/mac/carbon/gdiobj.cpp
3 // Purpose: wxGDIObject class
4 // Author: Stefan Csomor
5 // Modified by:
6 // Created: 1998-01-01
7 // RCS-ID: $Id$
8 // Copyright: (c) Stefan Csomor
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #include "wx/wxprec.h"
13
14 #include "wx/gdiobj.h"
15
16 #ifndef WX_PRECOMP
17 #include "wx/gdicmn.h"
18 #endif
19
20 #include "wx/module.h"
21 #include "wx/mac/private.h"
22
23 class wxStockGDIMac: public wxStockGDI, public wxModule
24 {
25 public:
26 virtual const wxFont* GetFont(Item item);
27
28 virtual bool OnInit();
29 virtual void OnExit();
30
31 private:
32 typedef wxStockGDI super;
33 DECLARE_DYNAMIC_CLASS(wxStockGDIMac)
34 };
35
36 IMPLEMENT_DYNAMIC_CLASS(wxStockGDIMac, wxModule)
37
38 bool wxStockGDIMac::OnInit()
39 {
40 // Override default instance
41 ms_instance = this;
42 return true;
43 }
44
45 void wxStockGDIMac::OnExit()
46 {
47 }
48
49 const wxFont* wxStockGDIMac::GetFont(Item item)
50 {
51 wxFont* font = static_cast<wxFont*>(ms_stockObject[item]);
52 if (font == NULL)
53 {
54 switch (item)
55 {
56 case FONT_NORMAL:
57 font = new wxFont;
58 font->MacCreateThemeFont(kThemeSystemFont);
59 break;
60 case FONT_SMALL:
61 font = new wxFont;
62 font->MacCreateThemeFont(kThemeSmallSystemFont);
63 break;
64 default:
65 font = const_cast<wxFont*>(super::GetFont(item));
66 break;
67 }
68 ms_stockObject[item] = font;
69 }
70 return font;
71 }