]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/classic/gdiobj.cpp
don't create non-existing groups in HasEntry()
[wxWidgets.git] / src / mac / classic / gdiobj.cpp
index 1f65f6f86b1849db469cbdd6a63bc8aab59f7499..5ba78d39346ba6c79e73ba677a5d9b7f2994a3b2 100644 (file)
@@ -1,16 +1,68 @@
 /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
-// Name:        gdiobj.cpp
+// Name:        src/mac/classic/gdiobj.cpp
 // Purpose:     wxGDIObject class
 // Author:      Stefan Csomor
 // Modified by:
 // Created:     1998-01-01
 // RCS-ID:      $Id$
 // Copyright:   (c) Stefan Csomor
 // Purpose:     wxGDIObject class
 // Author:      Stefan Csomor
 // Modified by:
 // Created:     1998-01-01
 // RCS-ID:      $Id$
 // Copyright:   (c) Stefan Csomor
-// Licence:       wxWindows licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /////////////////////////////////////////////////////////////////////////////
 
+#include "wx/wxprec.h"
+
 #include "wx/gdiobj.h"
 
 #include "wx/gdiobj.h"
 
+#ifndef WX_PRECOMP
+    #include "wx/gdicmn.h"
+#endif
+
+#include "wx/mac/private.h"
+
 IMPLEMENT_DYNAMIC_CLASS(wxGDIObject, wxObject)
 
 IMPLEMENT_DYNAMIC_CLASS(wxGDIObject, wxObject)
 
-// TODO: Nothing to do, unless you want to.
+class wxStockGDIMac: public wxStockGDI
+{
+public:
+    wxStockGDIMac();
+
+    virtual const wxFont* GetFont(Item item);
+
+private:
+    typedef wxStockGDI super;
+};
+
+static wxStockGDIMac gs_wxStockGDIMac_instance;
+
+wxStockGDIMac::wxStockGDIMac()
+{
+    // Override default instance
+    ms_instance = this;
+}
+
+const wxFont* wxStockGDIMac::GetFont(Item item)
+{
+    wxFont* font = wx_static_cast(wxFont*, ms_stockObject[item]);
+    if (font == NULL)
+    {
+        Str255 fontName;
+        SInt16 fontSize;
+        Style fontStyle;
+        switch (item)
+        {
+        case FONT_NORMAL:
+            GetThemeFont(kThemeSystemFont, GetApplicationScript(), fontName, &fontSize, &fontStyle);
+            font = new wxFont(fontSize, wxMODERN, wxNORMAL, wxNORMAL, false, wxMacMakeStringFromPascal(fontName));
+            break;
+        case FONT_SMALL:
+            GetThemeFont(kThemeSmallSystemFont, GetApplicationScript(), fontName, &fontSize, &fontStyle);
+            font = new wxFont(fontSize, wxSWISS, wxNORMAL, wxNORMAL, false, wxMacMakeStringFromPascal(fontName));
+            break;
+        default:
+            font = wx_const_cast(wxFont*, super::GetFont(item));
+            break;
+        }
+        ms_stockObject[item] = font;
+    }
+    return font;
+}