X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3dec57adfdb2469b7679930092f0bd9c8569d62c..33f39af3b0531870e1d9e74b8f1b972badf16f8b:/src/mac/carbon/dcmemory.cpp?ds=inline diff --git a/src/mac/carbon/dcmemory.cpp b/src/mac/carbon/dcmemory.cpp index 85f1af33c5..e850a59e4d 100644 --- a/src/mac/carbon/dcmemory.cpp +++ b/src/mac/carbon/dcmemory.cpp @@ -1,12 +1,12 @@ ///////////////////////////////////////////////////////////////////////////// // Name: dcmemory.cpp // Purpose: wxMemoryDC class -// Author: AUTHOR +// Author: Stefan Csomor // Modified by: // Created: 01/02/97 // RCS-ID: $Id$ -// Copyright: (c) AUTHOR -// Licence: wxWindows licence +// Copyright: (c) Stefan Csomor +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifdef __GNUG__ @@ -14,6 +14,7 @@ #endif #include "wx/dcmemory.h" +#include "wx/mac/private.h" //----------------------------------------------------------------------------- // wxMemoryDC @@ -22,74 +23,78 @@ IMPLEMENT_DYNAMIC_CLASS(wxMemoryDC,wxPaintDC) wxMemoryDC::wxMemoryDC(void) +: m_selected() { - m_ok = TRUE; + m_ok = TRUE; SetBackground(*wxWHITE_BRUSH); SetBrush(*wxWHITE_BRUSH); SetPen(*wxBLACK_PEN); - m_ok = FALSE; + m_ok = FALSE; }; wxMemoryDC::wxMemoryDC( wxDC *WXUNUSED(dc) ) +: m_selected() { - m_ok = TRUE; + m_ok = TRUE; SetBackground(*wxWHITE_BRUSH); SetBrush(*wxWHITE_BRUSH); SetPen(*wxBLACK_PEN); - m_ok = FALSE; + m_ok = FALSE; }; wxMemoryDC::~wxMemoryDC() { - if ( m_selected.Ok() ) - { - UnlockPixels( GetGWorldPixMap(m_selected.GetHBITMAP()) ); - } + if ( m_selected.Ok() ) + { + UnlockPixels( GetGWorldPixMap(MAC_WXHBITMAP(m_selected.GetHBITMAP())) ); + } }; void wxMemoryDC::SelectObject( const wxBitmap& bitmap ) { - if ( m_selected.Ok() ) - { - UnlockPixels( GetGWorldPixMap(m_selected.GetHBITMAP()) ); - } + if ( m_selected.Ok() ) + { + UnlockPixels( GetGWorldPixMap(MAC_WXHBITMAP(m_selected.GetHBITMAP())) ); + } m_selected = bitmap; if (m_selected.Ok()) { - if ( m_selected.GetHBITMAP() ) - { - m_macPort = (GrafPtr) m_selected.GetHBITMAP() ; - LockPixels( GetGWorldPixMap( (CGrafPtr) m_macPort ) ) ; - wxMask * mask = bitmap.GetMask() ; - if ( mask ) - { - m_macMask = mask->GetMaskBitmap() ; - } - m_ok = TRUE ; - } - else - { - m_ok = FALSE; - } - } - else - { - m_ok = FALSE; - } + if ( m_selected.GetHBITMAP() ) + { + m_macPort = (GrafPtr) m_selected.GetHBITMAP() ; + LockPixels( GetGWorldPixMap( (CGrafPtr) m_macPort ) ) ; + wxMask * mask = bitmap.GetMask() ; + if ( mask ) + { + m_macMask = mask->GetMaskBitmap() ; + } + SetRectRgn( (RgnHandle) m_macBoundaryClipRgn , 0 , 0 , m_selected.GetWidth() , m_selected.GetHeight() ) ; + CopyRgn( (RgnHandle) m_macBoundaryClipRgn ,(RgnHandle) m_macCurrentClipRgn ) ; + m_ok = TRUE ; + } + else + { + m_ok = FALSE; + } + } + else + { + m_ok = FALSE; + } } void wxMemoryDC::DoGetSize( int *width, int *height ) const { - if (m_selected.Ok()) - { - if (width) (*width) = m_selected.GetWidth(); - if (height) (*height) = m_selected.GetHeight(); - } - else - { - if (width) (*width) = 0; - if (height) (*height) = 0; - } + if (m_selected.Ok()) + { + if (width) (*width) = m_selected.GetWidth(); + if (height) (*height) = m_selected.GetHeight(); + } + else + { + if (width) (*width) = 0; + if (height) (*height) = 0; + } }