]> git.saurik.com Git - wxWidgets.git/blame - src/mac/classic/gdiobj.cpp
Rich text lib separation.
[wxWidgets.git] / src / mac / classic / gdiobj.cpp
CommitLineData
2646f485 1/////////////////////////////////////////////////////////////////////////////
dd05139a 2// Name: src/mac/classic/gdiobj.cpp
2646f485
SC
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
dd05139a 9// Licence: wxWindows licence
2646f485
SC
10/////////////////////////////////////////////////////////////////////////////
11
dd05139a
WS
12#include "wx/wxprec.h"
13
2646f485 14#include "wx/gdiobj.h"
dd05139a
WS
15
16#ifndef WX_PRECOMP
17 #include "wx/gdicmn.h"
18#endif
19
f516d986 20#include "wx/mac/private.h"
2646f485 21
2646f485 22IMPLEMENT_DYNAMIC_CLASS(wxGDIObject, wxObject)
2646f485 23
f516d986
VZ
24class wxStockGDIMac: public wxStockGDI
25{
26public:
27 wxStockGDIMac();
28
29 virtual const wxFont* GetFont(Item item);
30
31private:
32 typedef wxStockGDI super;
33};
34
35static wxStockGDIMac gs_wxStockGDIMac_instance;
36
37wxStockGDIMac::wxStockGDIMac()
38{
39 // Override default instance
40 ms_instance = this;
41}
42
43const wxFont* wxStockGDIMac::GetFont(Item item)
44{
45 wxFont* font = wx_static_cast(wxFont*, ms_stockObject[item]);
46 if (font == NULL)
47 {
48 Str255 fontName;
49 SInt16 fontSize;
50 Style fontStyle;
51 switch (item)
52 {
53 case FONT_NORMAL:
54 GetThemeFont(kThemeSystemFont, GetApplicationScript(), fontName, &fontSize, &fontStyle);
55 font = new wxFont(fontSize, wxMODERN, wxNORMAL, wxNORMAL, false, wxMacMakeStringFromPascal(fontName));
56 break;
57 case FONT_SMALL:
58 GetThemeFont(kThemeSmallSystemFont, GetApplicationScript(), fontName, &fontSize, &fontStyle);
59 font = new wxFont(fontSize, wxSWISS, wxNORMAL, wxNORMAL, false, wxMacMakeStringFromPascal(fontName));
60 break;
61 default:
62 font = wx_const_cast(wxFont*, super::GetFont(item));
63 break;
64 }
65 ms_stockObject[item] = font;
66 }
67 return font;
68}