more files for wxDataObject change

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4091 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
1999-10-21 02:06:27 +00:00
parent 9e2896e5c8
commit 3922ecc98e
2 changed files with 84 additions and 6 deletions

View File

@@ -19,8 +19,8 @@
class WXDLLEXPORT wxDataFormat class WXDLLEXPORT wxDataFormat
{ {
public: public:
// the clipboard formats under Win32 are UINTs // the clipboard formats under Win32 are WORDs
typedef unsigned int NativeFormat; typedef unsigned short NativeFormat;
wxDataFormat(NativeFormat format = wxDF_INVALID) { m_format = format; } wxDataFormat(NativeFormat format = wxDF_INVALID) { m_format = format; }
wxDataFormat(const wxChar *format) { SetId(format); } wxDataFormat(const wxChar *format) { SetId(format); }
@@ -48,19 +48,19 @@ public:
NativeFormat GetFormatId() const { return m_format; } NativeFormat GetFormatId() const { return m_format; }
operator NativeFormat() const { return m_format; } operator NativeFormat() const { return m_format; }
// this only works with standard ids // this works with standard as well as custom ids
void SetType(wxDataFormatId format) { m_format = format; } void SetType(NativeFormat format) { m_format = format; }
wxDataFormatId GetType() const { return m_format; } NativeFormat GetType() const { return m_format; }
// string ids are used for custom types - this SetId() must be used for // string ids are used for custom types - this SetId() must be used for
// application-specific formats // application-specific formats
wxString GetId() const; wxString GetId() const;
void SetId(const wxChar *format); void SetId(const wxChar *format);
private:
// returns TRUE if the format is one of those defined in wxDataFormatId // returns TRUE if the format is one of those defined in wxDataFormatId
bool IsStandard() const { return m_format > 0 && m_format < wxDF_MAX; } bool IsStandard() const { return m_format > 0 && m_format < wxDF_MAX; }
private:
NativeFormat m_format; NativeFormat m_format;
}; };

View File

@@ -0,0 +1,78 @@
///////////////////////////////////////////////////////////////////////////////
// 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);
};
#endif // _WX_MSW_OLE_DATAOBJ2_H