X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8f884a0dccd6b642f35c441ac9bfc87a6d5b4d35..b2eabfe86603fe932b61c513577a8e1b7d0fb815:/include/wx/msw/gdiimage.h?ds=sidebyside diff --git a/include/wx/msw/gdiimage.h b/include/wx/msw/gdiimage.h index 2a085f319f..d39a52b79e 100644 --- a/include/wx/msw/gdiimage.h +++ b/include/wx/msw/gdiimage.h @@ -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() @@ -76,58 +76,13 @@ public: }; }; -// ---------------------------------------------------------------------------- -// wxGDIImageHandler: a class which knows how to load/save wxGDIImages. -// ---------------------------------------------------------------------------- - -class WXDLLEXPORT wxGDIImageHandler : public wxObject -{ -public: - // ctor - wxGDIImageHandler() { m_type = wxBITMAP_TYPE_INVALID; } - wxGDIImageHandler(const wxString& name, - const wxString& ext, - long type) - : m_name(name), m_extension(ext) - { - m_type = type; - } - - // accessors - void SetName(const wxString& name) { m_name = name; } - void SetExtension(const wxString& ext) { m_extension = ext; } - void SetType(long type) { m_type = type; } - - const wxString& GetName() const { return m_name; } - const wxString& GetExtension() const { return m_extension; } - long GetType() const { return m_type; } - - // real handler operations: to implement in derived classes - virtual bool Create(wxGDIImage *image, - const void* data, - long flags, - int width, int height, int depth = 1) = 0; - virtual bool Load(wxGDIImage *image, - const wxString& name, - long flags, - int desiredWidth, int desiredHeight) = 0; - virtual bool Save(wxGDIImage *image, - const wxString& name, - int type) = 0; - -protected: - wxString m_name; - wxString m_extension; - long m_type; -}; - // ---------------------------------------------------------------------------- // wxGDIImage: this class supports GDI image handlers which may be registered // dynamically and will be used for loading/saving the images in the specified // 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 @@ -158,6 +113,12 @@ public: 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) { AllocExclusive(); GetGDIImageData()->m_width = w; } void SetHeight(int h) { AllocExclusive(); GetGDIImageData()->m_height = h; } void SetDepth(int d) { AllocExclusive(); GetGDIImageData()->m_depth = d; } @@ -192,4 +153,46 @@ protected: static wxGDIImageHandlerList ms_handlers; }; +// ---------------------------------------------------------------------------- +// wxGDIImageHandler: a class which knows how to load/save wxGDIImages. +// ---------------------------------------------------------------------------- + +class WXDLLIMPEXP_CORE wxGDIImageHandler : public wxObject +{ +public: + // ctor + wxGDIImageHandler() { m_type = wxBITMAP_TYPE_INVALID; } + wxGDIImageHandler(const wxString& name, + const wxString& ext, + wxBitmapType type) + : m_name(name), m_extension(ext), m_type(type) { } + + // accessors + void SetName(const wxString& name) { m_name = name; } + void SetExtension(const wxString& ext) { m_extension = ext; } + void SetType(wxBitmapType type) { m_type = type; } + + const wxString& GetName() const { return m_name; } + const wxString& GetExtension() const { return m_extension; } + wxBitmapType GetType() const { return m_type; } + + // real handler operations: to implement in derived classes + virtual bool Create(wxGDIImage *image, + const void* data, + wxBitmapType flags, + int width, int height, int depth = 1) = 0; + virtual bool Load(wxGDIImage *image, + const wxString& name, + wxBitmapType flags, + int desiredWidth, int desiredHeight) = 0; + virtual bool Save(const wxGDIImage *image, + const wxString& name, + wxBitmapType type) const = 0; + +protected: + wxString m_name; + wxString m_extension; + wxBitmapType m_type; +}; + #endif // _WX_MSW_GDIIMAGE_H_