X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/452418c4b0763eb611432e84f077c9766e282057..f1b63efe8993c6c0460354bc2da7331526d43efa:/include/wx/palmos/gdiimage.h diff --git a/include/wx/palmos/gdiimage.h b/include/wx/palmos/gdiimage.h index b954e2a331..db0d112c37 100644 --- a/include/wx/palmos/gdiimage.h +++ b/include/wx/palmos/gdiimage.h @@ -3,7 +3,7 @@ // Purpose: wxGDIImage class: base class for wxBitmap, wxIcon, wxCursor // under Palm OS // Author: William Osborne - minimal working wxPalmOS port -// Modified by: +// Modified by: Yunhui Fu // Created: 10/13/04 // RCS-ID: $Id$ // Copyright: (c) William Osborne @@ -20,9 +20,9 @@ #include "wx/gdicmn.h" // wxBITMAP_TYPE_INVALID #include "wx/list.h" -class WXDLLEXPORT wxGDIImageRefData; -class WXDLLEXPORT wxGDIImageHandler; -class WXDLLEXPORT wxGDIImage; +class WXDLLIMPEXP_FWD_CORE wxGDIImageRefData; +class WXDLLIMPEXP_FWD_CORE wxGDIImageHandler; +class WXDLLIMPEXP_FWD_CORE wxGDIImage; WX_DECLARE_EXPORTED_LIST(wxGDIImageHandler, wxGDIImageHandlerList); @@ -30,7 +30,7 @@ WX_DECLARE_EXPORTED_LIST(wxGDIImageHandler, wxGDIImageHandlerList); // wxGDIImageRefData: common data fields for all derived classes // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxGDIImageRefData : public wxGDIRefData +class WXDLLIMPEXP_CORE wxGDIImageRefData : public wxGDIRefData { public: wxGDIImageRefData() @@ -41,7 +41,7 @@ public: } // accessors - bool IsOk() const { return m_handle != 0; } + virtual bool IsOk() const { return m_handle != 0; } void SetSize(int w, int h) { m_width = w; m_height = h; } @@ -70,7 +70,7 @@ public: // wxGDIImageHandler: a class which knows how to load/save wxGDIImages. // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxGDIImageHandler : public wxObject +class WXDLLIMPEXP_CORE wxGDIImageHandler : public wxObject { public: // ctor @@ -117,7 +117,7 @@ protected: // format. It also falls back to wxImage if no appropriate image is found. // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxGDIImage : public wxGDIObject +class WXDLLIMPEXP_CORE wxGDIImage : public wxGDIObject { public: // handlers list interface @@ -147,12 +147,16 @@ public: void SetHandle(WXHANDLE handle) { EnsureHasData(); GetGDIImageData()->m_handle = handle; } - bool Ok() const { return GetHandle() != 0; } - int GetWidth() const { return IsNull() ? 0 : GetGDIImageData()->m_width; } int GetHeight() const { return IsNull() ? 0 : GetGDIImageData()->m_height; } int GetDepth() const { return IsNull() ? 0 : GetGDIImageData()->m_depth; } + wxSize GetSize() const + { + return IsNull() ? wxSize(0,0) : + wxSize(GetGDIImageData()->m_width, GetGDIImageData()->m_height); + } + void SetWidth(int w) { EnsureHasData(); GetGDIImageData()->m_width = w; } void SetHeight(int h) { EnsureHasData(); GetGDIImageData()->m_height = h; } void SetDepth(int d) { EnsureHasData(); GetGDIImageData()->m_depth = d; } @@ -171,6 +175,15 @@ public: protected: // create the data for the derived class here virtual wxGDIImageRefData *CreateData() const = 0; + virtual wxGDIRefData *CreateGDIRefData() const { return CreateData(); } + // we can't [efficiently] clone objects of this class + virtual wxGDIRefData * + CloneGDIRefData(const wxGDIRefData *WXUNUSED(data)) const + { + wxFAIL_MSG( _T("must be implemented if used") ); + + return NULL; + } static wxGDIImageHandlerList ms_handlers; };