1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: wx/msw/ole/dataobj2.h
3 // Purpose: second part of platform specific wxDataObject header -
4 // declarations of predefined wxDataObjectSimple-derived classes
5 // Author: Vadim Zeitlin
9 // Copyright: (c) 1999 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
10 // Licence: wxWindows license
11 ///////////////////////////////////////////////////////////////////////////////
13 #ifndef _WX_MSW_OLE_DATAOBJ2_H
14 #define _WX_MSW_OLE_DATAOBJ2_H
16 // ----------------------------------------------------------------------------
17 // wxBitmapDataObject is a specialization of wxDataObject for bitmap data
19 // NB: in fact, under MSW we support CF_DIB (and not CF_BITMAP) clipboard
20 // format and we also provide wxBitmapDataObject2 for CF_BITMAP (which is
21 // rarely used). This is ugly, but I haven't found a solution for it yet.
22 // ----------------------------------------------------------------------------
24 class WXDLLEXPORT wxBitmapDataObject
: public wxBitmapDataObjectBase
28 wxBitmapDataObject(const wxBitmap
& bitmap
= wxNullBitmap
)
29 : wxBitmapDataObjectBase(bitmap
)
36 // implement base class pure virtuals
37 virtual size_t GetDataSize() const;
38 virtual bool GetDataHere(void *buf
) const;
39 virtual bool SetData(size_t len
, const void *buf
);
43 void /* BITMAPINFO */ *m_data
;
46 // ----------------------------------------------------------------------------
47 // wxBitmapDataObject2 - a data object for CF_BITMAP
49 // FIXME did I already mention it was ugly?
50 // ----------------------------------------------------------------------------
52 class WXDLLEXPORT wxBitmapDataObject2
: public wxBitmapDataObjectBase
56 wxBitmapDataObject2(const wxBitmap
& bitmap
= wxNullBitmap
)
57 : wxBitmapDataObjectBase(bitmap
)
61 // implement base class pure virtuals
62 virtual size_t GetDataSize() const;
63 virtual bool GetDataHere(void *buf
) const;
64 virtual bool SetData(size_t len
, const void *buf
);
67 // ----------------------------------------------------------------------------
68 // wxFileDataObject - data object for CF_HDROP
69 // ----------------------------------------------------------------------------
71 class WXDLLEXPORT wxFileDataObject
: public wxFileDataObjectBase
74 // implement base class pure virtuals
75 virtual bool SetData(size_t len
, const void *buf
);
76 virtual size_t GetDataSize() const;
77 virtual bool GetDataHere(void *pData
) const;
78 virtual void AddFile(const wxString
& file
);
81 // ----------------------------------------------------------------------------
82 // wxURLDataObject: data object for URLs
83 // ----------------------------------------------------------------------------
85 class WXDLLEXPORT wxURLDataObject
: public wxDataObjectComposite
90 // return the URL as string
91 wxString
GetURL() const;
93 // override to set m_textFormat
94 virtual bool SetData(const wxDataFormat
& format
,
99 // last data object we got data in
100 wxDataObjectSimple
*m_dataObjectLast
;
103 #endif // _WX_MSW_OLE_DATAOBJ2_H