X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7ba4fbebbc40bdf9c140f4c9ba9977fbf810527d..f196316400fd247a760b2ef77d5064b4e10e5471:/include/wx/msw/enhmeta.h?ds=sidebyside diff --git a/include/wx/msw/enhmeta.h b/include/wx/msw/enhmeta.h index bf2574b935..fa5389b1d0 100644 --- a/include/wx/msw/enhmeta.h +++ b/include/wx/msw/enhmeta.h @@ -6,16 +6,12 @@ // Created: 13.01.00 // RCS-ID: $Id$ // Copyright: (c) 2000 Vadim Zeitlin -// Licence: wxWindows license +// Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// #ifndef _WX_MSW_ENHMETA_H_ #define _WX_MSW_ENHMETA_H_ -#ifdef __GNUG__ - #pragma interface "enhmeta.h" -#endif - #include "wx/dc.h" #if wxUSE_DRAG_AND_DROP @@ -31,7 +27,7 @@ class WXDLLEXPORT wxEnhMetaFile : public wxObject public: wxEnhMetaFile(const wxString& file = wxEmptyString) : m_filename(file) { Init(); } - wxEnhMetaFile(const wxEnhMetaFile& metafile) + wxEnhMetaFile(const wxEnhMetaFile& metafile) : wxObject() { Init(); Assign(metafile); } wxEnhMetaFile& operator=(const wxEnhMetaFile& metafile) { Free(); Assign(metafile); return *this; } @@ -43,7 +39,8 @@ public: bool Play(wxDC *dc, wxRect *rectBound = (wxRect *)NULL); // accessors - bool Ok() const { return m_hMF != 0; } + bool Ok() const { return IsOk(); } + bool IsOk() const { return m_hMF != 0; } wxSize GetSize() const; int GetWidth() const { return GetSize().x; } @@ -61,7 +58,7 @@ public: void SetHENHMETAFILE(WXHANDLE hMF) { Free(); m_hMF = hMF; } protected: - void Init() { m_hMF = 0; } + void Init(); void Free(); void Assign(const wxEnhMetaFile& mf); @@ -90,8 +87,15 @@ public: // obtain a pointer to the new metafile (caller should delete it) wxEnhMetaFile *Close(); +protected: + virtual void DoGetSize(int *width, int *height) const; + private: - DECLARE_DYNAMIC_CLASS(wxEnhMetaFileDC) + // size passed to ctor and returned by DoGetSize() + int m_width, + m_height; + + DECLARE_DYNAMIC_CLASS_NO_COPY(wxEnhMetaFileDC) }; #if wxUSE_DRAG_AND_DROP @@ -128,6 +132,8 @@ public: protected: wxEnhMetaFile m_metafile; + + DECLARE_NO_COPY_CLASS(wxEnhMetaFileDataObject) }; @@ -158,8 +164,19 @@ public: virtual bool GetDataHere(void *buf) const; virtual bool SetData(size_t len, const void *buf); + virtual size_t GetDataSize(const wxDataFormat& WXUNUSED(format)) const + { return GetDataSize(); } + virtual bool GetDataHere(const wxDataFormat& WXUNUSED(format), + void *buf) const + { return GetDataHere(buf); } + virtual bool SetData(const wxDataFormat& WXUNUSED(format), + size_t len, const void *buf) + { return SetData(len, buf); } + protected: wxEnhMetaFile m_metafile; + + DECLARE_NO_COPY_CLASS(wxEnhMetaFileSimpleDataObject) }; #endif // wxUSE_DRAG_AND_DROP