From: Stefan Csomor Date: Tue, 2 Apr 2002 17:42:11 +0000 (+0000) Subject: adapted to new APIs for threads and floodfilling X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/71110b404c5cbef2175b2be645783e93d9a2b8c4 adapted to new APIs for threads and floodfilling git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14912 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/mac/carbon/dc.cpp b/src/mac/carbon/dc.cpp index 2828b715c6..4a044f2887 100644 --- a/src/mac/carbon/dc.cpp +++ b/src/mac/carbon/dc.cpp @@ -652,8 +652,6 @@ void wxDC::SetLogicalFunction( int function ) void wxDC::DoFloodFill( wxCoord x, wxCoord y, const wxColour& col, int style ) { -} - if (GetBrush().GetStyle() == wxTRANSPARENT) { wxLogDebug(wxT("In FloodFill, Current Brush is transparent, no filling done")); @@ -676,12 +674,15 @@ void wxDC::DoFloodFill( wxCoord x, wxCoord y, const wxColour& col, memdc.Blit(0, 0, width, height, (wxDC*) this, 0, 0); memdc.SelectObject(wxNullBitmap); - wxImage image(bitmap); + wxImage image = bitmap.ConvertToImage() ; image.DoFloodFill (x,y, GetBrush(), col, style, GetLogicalFunction()); bitmap = wxBitmap(image); memdc.SelectObject(bitmap); this->Blit(0, 0, width, height, &memdc, 0, 0); memdc.SelectObject(wxNullBitmap); +} + + bool wxDC::DoGetPixel( wxCoord x, wxCoord y, wxColour *col ) const { wxCHECK_MSG( Ok(), false, wxT("wxDC::DoGetPixel Invalid DC") ); diff --git a/src/mac/carbon/thread.cpp b/src/mac/carbon/thread.cpp index e59ca72ebe..88f837d669 100644 --- a/src/mac/carbon/thread.cpp +++ b/src/mac/carbon/thread.cpp @@ -205,7 +205,7 @@ wxMutexError wxMutex::Unlock() class wxConditionInternal { public: - wxConditionInternal() + wxConditionInternal(wxMutex& mutex) : m_mutex(mutex) { m_excessSignals = 0 ; } @@ -247,11 +247,12 @@ public: wxArrayLong m_waiters ; wxInt32 m_excessSignals ; + wxMutex& m_mutex; }; -wxCondition::wxCondition() +wxCondition::wxCondition(wxMutex& mutex) { - m_internal = new wxConditionInternal; + m_internal = new wxConditionInternal(mutex); } wxCondition::~wxCondition() @@ -264,10 +265,9 @@ void wxCondition::Wait() (void)m_internal->Wait(0xFFFFFFFFL); } -bool wxCondition::Wait(unsigned long sec, - unsigned long nsec) +bool wxCondition::Wait(unsigned long timeout_millis) { - return m_internal->Wait(sec*1000 + nsec/1000000); + return m_internal->Wait(timeout_millis); } void wxCondition::Signal() diff --git a/src/mac/dc.cpp b/src/mac/dc.cpp index 2828b715c6..4a044f2887 100644 --- a/src/mac/dc.cpp +++ b/src/mac/dc.cpp @@ -652,8 +652,6 @@ void wxDC::SetLogicalFunction( int function ) void wxDC::DoFloodFill( wxCoord x, wxCoord y, const wxColour& col, int style ) { -} - if (GetBrush().GetStyle() == wxTRANSPARENT) { wxLogDebug(wxT("In FloodFill, Current Brush is transparent, no filling done")); @@ -676,12 +674,15 @@ void wxDC::DoFloodFill( wxCoord x, wxCoord y, const wxColour& col, memdc.Blit(0, 0, width, height, (wxDC*) this, 0, 0); memdc.SelectObject(wxNullBitmap); - wxImage image(bitmap); + wxImage image = bitmap.ConvertToImage() ; image.DoFloodFill (x,y, GetBrush(), col, style, GetLogicalFunction()); bitmap = wxBitmap(image); memdc.SelectObject(bitmap); this->Blit(0, 0, width, height, &memdc, 0, 0); memdc.SelectObject(wxNullBitmap); +} + + bool wxDC::DoGetPixel( wxCoord x, wxCoord y, wxColour *col ) const { wxCHECK_MSG( Ok(), false, wxT("wxDC::DoGetPixel Invalid DC") ); diff --git a/src/mac/thread.cpp b/src/mac/thread.cpp index e59ca72ebe..88f837d669 100644 --- a/src/mac/thread.cpp +++ b/src/mac/thread.cpp @@ -205,7 +205,7 @@ wxMutexError wxMutex::Unlock() class wxConditionInternal { public: - wxConditionInternal() + wxConditionInternal(wxMutex& mutex) : m_mutex(mutex) { m_excessSignals = 0 ; } @@ -247,11 +247,12 @@ public: wxArrayLong m_waiters ; wxInt32 m_excessSignals ; + wxMutex& m_mutex; }; -wxCondition::wxCondition() +wxCondition::wxCondition(wxMutex& mutex) { - m_internal = new wxConditionInternal; + m_internal = new wxConditionInternal(mutex); } wxCondition::~wxCondition() @@ -264,10 +265,9 @@ void wxCondition::Wait() (void)m_internal->Wait(0xFFFFFFFFL); } -bool wxCondition::Wait(unsigned long sec, - unsigned long nsec) +bool wxCondition::Wait(unsigned long timeout_millis) { - return m_internal->Wait(sec*1000 + nsec/1000000); + return m_internal->Wait(timeout_millis); } void wxCondition::Signal()