X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e1d63b79352db5290a9f86428d193bd6a08ef32f..64c70359a7ca399f47a07369f42818fc7949fac4:/include/wx/palmos/gdiimage.h diff --git a/include/wx/palmos/gdiimage.h b/include/wx/palmos/gdiimage.h index 367dde5126..43edb57a0c 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 @@ -16,17 +16,13 @@ #ifndef _WX_PALMOS_GDIIMAGE_H_ #define _WX_PALMOS_GDIIMAGE_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma interface "gdiimage.h" -#endif - #include "wx/gdiobj.h" // base class #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); @@ -34,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() @@ -45,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; } @@ -74,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 @@ -98,7 +94,7 @@ public: // real handler operations: to implement in derived classes virtual bool Create(wxGDIImage *image, - void *data, + const void* data, long flags, int width, int height, int depth = 1) = 0; virtual bool Load(wxGDIImage *image, @@ -121,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 @@ -151,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; } @@ -175,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( wxT("must be implemented if used") ); + + return NULL; + } static wxGDIImageHandlerList ms_handlers; };