X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/20b6985553b4e01e7960847e3211d940aeff8742..01526d4f6cd7dd242e561aa24066f8ca0290a9ac:/src/mac/carbon/dataobj.cpp diff --git a/src/mac/carbon/dataobj.cpp b/src/mac/carbon/dataobj.cpp index 234f49899a..33e738e0b9 100644 --- a/src/mac/carbon/dataobj.cpp +++ b/src/mac/carbon/dataobj.cpp @@ -30,8 +30,10 @@ #include "wx/log.h" #include "wx/dataobj.h" +#include "wx/dcmemory.h" #include "wx/mstream.h" #include "wx/image.h" +#include "wx/metafile.h" #include "wx/mac/private.h" #include @@ -250,9 +252,8 @@ wxBitmapDataObject::wxBitmapDataObject( Init(); if ( m_bitmap.Ok() ) { - /* - m_pictHandle = m_bitmap.GetBitmapData()->GetPict( &m_pictCreated ) ; - */ + m_pictHandle = wxMacCreatePicHandle( rBitmap ) ; + m_pictCreated = true ; } } @@ -269,9 +270,8 @@ void wxBitmapDataObject::SetBitmap( wxBitmapDataObjectBase::SetBitmap(rBitmap); if ( m_bitmap.Ok() ) { - /* - m_pictHandle = m_bitmap.GetBitmapData()->GetPict( &m_pictCreated ) ; - */ + m_pictHandle = wxMacCreatePicHandle( rBitmap ) ; + m_pictCreated = true ; } } @@ -320,10 +320,14 @@ bool wxBitmapDataObject::SetData( // ownership is transferred to the bitmap m_pictCreated = false ; Rect frame = (**picHandle).picFrame ; - /* - m_bitmap.GetBitmapData()->SetPict( (WXHMETAFILE) picHandle ) ; - m_bitmap.SetWidth( frame.right - frame.left ) ; - m_bitmap.SetHeight( frame.bottom - frame.top ) ; - */ + + wxMetafile mf ; + mf.SetHMETAFILE( (WXHMETAFILE) m_pictHandle ) ; + wxMemoryDC mdc ; + m_bitmap.Create( frame.right - frame.left ,frame.bottom - frame.top ) ; + mdc.SelectObject(m_bitmap ) ; + mf.Play( &mdc ) ; + mdc.SelectObject( wxNullBitmap ) ; + return m_bitmap.Ok(); }