+
+protected:
+ // Some ports need Init() and while we don't, provide a stub so that the
+ // ports which don't need it are not forced to define it
+ void Init() { }
+
+ virtual void
+ InitRGBA(ChannelType r, ChannelType g, ChannelType b, ChannelType a) = 0;
+
+ 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
+ virtual wxGDIRefData *CreateGDIRefData() const
+ {
+ wxFAIL_MSG( "must be overridden if used" );
+
+ return NULL;
+ }
+
+ virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *WXUNUSED(data)) const
+ {
+ wxFAIL_MSG( "must be overridden if used" );
+
+ return NULL;
+ }
+#endif