// code redundancy in all native wxColour implementations
//-----------------------------------------------------------------------------
-class WXDLLEXPORT wxColourBase : public wxGDIObject
+#ifdef __WXMAC__
+#define wxCOLOUR_IS_GDIOBJECT 0
+#else
+#define wxCOLOUR_IS_GDIOBJECT 1
+#endif
+
+class WXDLLEXPORT wxColourBase : public
+#if wxCOLOUR_IS_GDIOBJECT
+ wxGDIObject
+#else
+ wxObject
+#endif
{
public:
// type of a single colour component
// implemented in colourcmn.cpp
virtual wxString GetAsString(long flags = wxC2S_NAME | wxC2S_CSS_SYNTAX) const;
-
+#if !wxCOLOUR_IS_GDIOBJECT
+ virtual bool IsOk() const= 0;
+
+ // older version, for backwards compatibility only (but not deprecated
+ // because it's still widely used)
+ bool Ok() const { return IsOk(); }
+#endif
// old, deprecated
// ---------------
virtual bool FromString(const wxString& s);
+#if wxCOLOUR_IS_GDIOBJECT
// wxColour doesn't use reference counted data (at least not in all ports)
// so provide stubs for the functions which need to be defined if we do use
// them
return NULL;
}
+#endif
};