X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0a67a93b17c37c018f60e662645ee2a44ba4e58e..239c2e9674c8c6b9f0fd3d6fb94e2381691651b5:/src/mac/carbon/dcmemory.cpp?ds=sidebyside diff --git a/src/mac/carbon/dcmemory.cpp b/src/mac/carbon/dcmemory.cpp index fba8a5891e..9985a00b9e 100644 --- a/src/mac/carbon/dcmemory.cpp +++ b/src/mac/carbon/dcmemory.cpp @@ -14,6 +14,7 @@ #endif #include "wx/dcmemory.h" +#include "wx/mac/private.h" //----------------------------------------------------------------------------- // wxMemoryDC @@ -39,12 +40,11 @@ wxMemoryDC::wxMemoryDC( wxDC *WXUNUSED(dc) ) m_ok = FALSE; }; -wxMemoryDC::~wxMemoryDC(void) +wxMemoryDC::~wxMemoryDC() { if ( m_selected.Ok() ) { - wxBitmapRefData * bmap = (wxBitmapRefData*) (m_selected.GetRefData()) ; - UnlockPixels( GetGWorldPixMap( (CGrafPtr) bmap->m_hBitmap ) ) ; + UnlockPixels( GetGWorldPixMap(MAC_WXHBITMAP(m_selected.GetHBITMAP())) ); } }; @@ -52,36 +52,34 @@ void wxMemoryDC::SelectObject( const wxBitmap& bitmap ) { if ( m_selected.Ok() ) { - wxBitmapRefData * bmap = (wxBitmapRefData*) (m_selected.GetRefData()) ; - UnlockPixels( GetGWorldPixMap( (CGrafPtr) bmap->m_hBitmap ) ) ; + UnlockPixels( GetGWorldPixMap(MAC_WXHBITMAP(m_selected.GetHBITMAP())) ); } - m_selected = bitmap; - if (m_selected.Ok()) - { - wxBitmapRefData * bmap = (wxBitmapRefData*) (m_selected.GetRefData()) ; - if ( bmap->m_hBitmap ) + m_selected = bitmap; + if (m_selected.Ok()) + { + if ( m_selected.GetHBITMAP() ) { - m_macPort = (GrafPtr) bmap->m_hBitmap ; + m_macPort = (GrafPtr) m_selected.GetHBITMAP() ; LockPixels( GetGWorldPixMap( (CGrafPtr) m_macPort ) ) ; wxMask * mask = bitmap.GetMask() ; if ( mask ) { m_macMask = mask->GetMaskBitmap() ; } - MacSetupPort() ; + SetRectRgn( (RgnHandle) m_macBoundaryClipRgn , 0 , 0 , m_selected.GetWidth() , m_selected.GetHeight() ) ; + CopyRgn( (RgnHandle) m_macBoundaryClipRgn ,(RgnHandle) m_macCurrentClipRgn ) ; m_ok = TRUE ; - // SetBackground(wxBrush(*wxWHITE, wxSOLID)); } else { - m_ok = FALSE; + m_ok = FALSE; } } else { m_ok = FALSE; - }; -}; + } +} void wxMemoryDC::DoGetSize( int *width, int *height ) const { @@ -94,7 +92,7 @@ void wxMemoryDC::DoGetSize( int *width, int *height ) const { if (width) (*width) = 0; if (height) (*height) = 0; - }; -}; + } +}