]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/gdiobj.cpp
don't return items which are not visible from DoHitTest() (patch 1448508)
[wxWidgets.git] / src / os2 / gdiobj.cpp
index 4790c5d21854dc5e2e03982ba08f2b7f63d7c927..5adc704f5e21ade94142c48cd9c2a5aec57c0c52 100644 (file)
@@ -9,13 +9,51 @@
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-// For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 #include "wx/gdiobj.h"
+#include "wx/gdicmn.h"
 
-#if !USE_SHARED_LIBRARIES
 IMPLEMENT_DYNAMIC_CLASS(wxGDIObject, wxObject)
-#endif
 
-// TODO: Nothing to do, unless you want to.
+class wxStockGDIPM: public wxStockGDI
+{
+public:
+    wxStockGDIPM();
+
+    virtual const wxFont* GetFont(Item item);
+
+private:
+    typedef wxStockGDI super;
+};
+
+static wxStockGDIPM gs_wxStockGDIPM_instance;
+
+wxStockGDIPM::wxStockGDIPM()
+{
+    // Override default instance
+    ms_instance = this;
+}
+
+const wxFont* wxStockGDIPM::GetFont(Item item)
+{
+    wxFont* font = wx_static_cast(wxFont*, ms_stockObject[item]);
+    if (font == NULL)
+    {
+        const int fontSize = 12;
+        switch (item)
+        {
+        case FONT_NORMAL:
+            font = new wxFont(fontSize, wxMODERN, wxNORMAL, wxBOLD);
+            break;
+        case FONT_SMALL:
+            font = new wxFont(fontSize - 4, wxSWISS, wxNORMAL, wxNORMAL);
+            break;
+        default:
+            font = wx_const_cast(wxFont*, super::GetFont(item));
+            break;
+        }
+        ms_stockObject[item] = font;
+    }
+    return font;
+}