]> git.saurik.com Git - wxWidgets.git/commitdiff
more files for wxDataObject change
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 21 Oct 1999 02:06:27 +0000 (02:06 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 21 Oct 1999 02:06:27 +0000 (02:06 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4091 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/msw/ole/dataform.h
include/wx/msw/ole/dataobj2.h [new file with mode: 0644]

index 020d4aec753c221000c597ca7c4a0f05a9c22185..f071c37461332af918be34621893140e424fb5fd 100644 (file)
@@ -19,8 +19,8 @@
 class WXDLLEXPORT wxDataFormat
 {
 public:
-    // the clipboard formats under Win32 are UINTs
-    typedef unsigned int NativeFormat;
+    // the clipboard formats under Win32 are WORDs
+    typedef unsigned short NativeFormat;
 
     wxDataFormat(NativeFormat format = wxDF_INVALID) { m_format = format; }
     wxDataFormat(const wxChar *format) { SetId(format); }
@@ -48,19 +48,19 @@ public:
     NativeFormat GetFormatId() const { return m_format; }
     operator NativeFormat() const { return m_format; }
 
-    // this only works with standard ids
-    void SetType(wxDataFormatId format) { m_format = format; }
-    wxDataFormatId GetType() const { return m_format; }
+    // this works with standard as well as custom ids
+    void SetType(NativeFormat format) { m_format = format; }
+    NativeFormat GetType() const { return m_format; }
 
     // string ids are used for custom types - this SetId() must be used for
     // application-specific formats
     wxString GetId() const;
     void SetId(const wxChar *format);
 
-private:
     // returns TRUE if the format is one of those defined in wxDataFormatId
     bool IsStandard() const { return m_format > 0 && m_format < wxDF_MAX; }
 
+private:
     NativeFormat m_format;
 };
 
diff --git a/include/wx/msw/ole/dataobj2.h b/include/wx/msw/ole/dataobj2.h
new file mode 100644 (file)
index 0000000..5bb231f
--- /dev/null
@@ -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