1999-10-20 22:06:27 -04:00
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: wx/msw/ole/dataobj2.h
|
|
|
|
// Purpose: second part of platform specific wxDataObject header -
|
|
|
|
// declarations of predefined wxDataObjectSimple-derived classes
|
|
|
|
// Author: Vadim Zeitlin
|
|
|
|
// Modified by:
|
|
|
|
// Created: 21.10.99
|
|
|
|
// RCS-ID: $Id$
|
|
|
|
// Copyright: (c) 1999 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
|
|
|
|
// Licence: wxWindows license
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
#ifndef _WX_MSW_OLE_DATAOBJ2_H
|
|
|
|
#define _WX_MSW_OLE_DATAOBJ2_H
|
|
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// wxBitmapDataObject is a specialization of wxDataObject for bitmap data
|
|
|
|
//
|
|
|
|
// NB: in fact, under MSW we support CF_DIB (and not CF_BITMAP) clipboard
|
|
|
|
// format and we also provide wxBitmapDataObject2 for CF_BITMAP (which is
|
|
|
|
// rarely used). This is ugly, but I haven't found a solution for it yet.
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
class WXDLLEXPORT wxBitmapDataObject : public wxBitmapDataObjectBase
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
// ctors
|
|
|
|
wxBitmapDataObject(const wxBitmap& bitmap = wxNullBitmap)
|
|
|
|
: wxBitmapDataObjectBase(bitmap)
|
|
|
|
{
|
|
|
|
SetFormat(wxDF_DIB);
|
|
|
|
|
|
|
|
m_data = NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
// implement base class pure virtuals
|
|
|
|
virtual size_t GetDataSize() const;
|
|
|
|
virtual bool GetDataHere(void *buf) const;
|
|
|
|
virtual bool SetData(size_t len, const void *buf);
|
|
|
|
|
|
|
|
private:
|
|
|
|
// the DIB data
|
|
|
|
void /* BITMAPINFO */ *m_data;
|
|
|
|
};
|
|
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// wxBitmapDataObject2 - a data object for CF_BITMAP
|
|
|
|
//
|
|
|
|
// FIXME did I already mention it was ugly?
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
class WXDLLEXPORT wxBitmapDataObject2 : public wxBitmapDataObjectBase
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
// ctors
|
|
|
|
wxBitmapDataObject2(const wxBitmap& bitmap = wxNullBitmap)
|
|
|
|
: wxBitmapDataObjectBase(bitmap)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
// implement base class pure virtuals
|
|
|
|
virtual size_t GetDataSize() const;
|
|
|
|
virtual bool GetDataHere(void *buf) const;
|
|
|
|
virtual bool SetData(size_t len, const void *buf);
|
|
|
|
};
|
|
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// wxFileDataObject - data object for CF_HDROP
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
class WXDLLEXPORT wxFileDataObject : public wxFileDataObjectBase
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
// implement base class pure virtuals
|
|
|
|
virtual bool SetData(size_t len, const void *buf);
|
1999-11-02 11:20:40 -05:00
|
|
|
virtual size_t GetDataSize() const;
|
|
|
|
virtual bool GetDataHere(void *pData) const;
|
|
|
|
virtual void AddFile(const wxString& file);
|
1999-10-20 22:06:27 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // _WX_MSW_OLE_DATAOBJ2_H
|