1 /////////////////////////////////////////////////////////////////////////////// 
   2 // Name:        wx/gtk1/dataobj2.h 
   3 // Purpose:     declaration of standard wxDataObjectSimple-derived classes 
   4 // Author:      Robert Roebling 
   5 // Created:     19.10.99 (extracted from gtk/dataobj.h) 
   7 // Copyright:   (c) 1998, 1999 Vadim Zeitlin, Robert Roebling 
   8 // Licence:     wxWindows licence 
   9 /////////////////////////////////////////////////////////////////////////////// 
  11 #ifndef _WX_GTK_DATAOBJ2_H_ 
  12 #define _WX_GTK_DATAOBJ2_H_ 
  14 // ---------------------------------------------------------------------------- 
  15 // wxBitmapDataObject is a specialization of wxDataObject for bitmaps 
  16 // ---------------------------------------------------------------------------- 
  18 class WXDLLIMPEXP_CORE wxBitmapDataObject 
: public wxBitmapDataObjectBase
 
  23     wxBitmapDataObject(const wxBitmap
& bitmap
); 
  26     virtual ~wxBitmapDataObject(); 
  28     // override base class virtual to update PNG data too 
  29     virtual void SetBitmap(const wxBitmap
& bitmap
); 
  31     // implement base class pure virtuals 
  32     // ---------------------------------- 
  34     virtual size_t GetDataSize() const { return m_pngSize
; } 
  35     virtual bool GetDataHere(void *buf
) const; 
  36     virtual bool SetData(size_t len
, const void *buf
); 
  39     void Init() { m_pngData 
= (void *)NULL
; m_pngSize 
= 0; } 
  40     void Clear() { free(m_pngData
); } 
  41     void ClearAll() { Clear(); Init(); } 
  46     void DoConvertToPng(); 
  49     // virtual function hiding supression 
  50     size_t GetDataSize(const wxDataFormat
& format
) const 
  51         { return(wxDataObjectSimple::GetDataSize(format
)); } 
  52     bool GetDataHere(const wxDataFormat
& format
, void* pBuf
) const 
  53         { return(wxDataObjectSimple::GetDataHere(format
, pBuf
)); } 
  54     bool SetData(const wxDataFormat
& format
, size_t nLen
, const void* pBuf
) 
  55         { return(wxDataObjectSimple::SetData(format
, nLen
, pBuf
)); } 
  58 // ---------------------------------------------------------------------------- 
  59 // wxFileDataObject is a specialization of wxDataObject for file names 
  60 // ---------------------------------------------------------------------------- 
  62 class WXDLLIMPEXP_CORE wxFileDataObject 
: public wxFileDataObjectBase
 
  65     // implement base class pure virtuals 
  66     // ---------------------------------- 
  68     void AddFile( const wxString 
&filename 
); 
  70     virtual size_t GetDataSize() const; 
  71     virtual bool GetDataHere(void *buf
) const; 
  72     virtual bool SetData(size_t len
, const void *buf
); 
  75     // virtual function hiding supression 
  76     size_t GetDataSize(const wxDataFormat
& format
) const 
  77         { return(wxDataObjectSimple::GetDataSize(format
)); } 
  78     bool GetDataHere(const wxDataFormat
& format
, void* pBuf
) const 
  79         { return(wxDataObjectSimple::GetDataHere(format
, pBuf
)); } 
  80     bool SetData(const wxDataFormat
& format
, size_t nLen
, const void* pBuf
) 
  81         { return(wxDataObjectSimple::SetData(format
, nLen
, pBuf
)); } 
  84 #endif // _WX_GTK_DATAOBJ2_H_