]> git.saurik.com Git - wxWidgets.git/commitdiff
adapted to new APIs for threads and floodfilling
authorStefan Csomor <csomor@advancedconcepts.ch>
Tue, 2 Apr 2002 17:42:11 +0000 (17:42 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Tue, 2 Apr 2002 17:42:11 +0000 (17:42 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14912 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/mac/carbon/dc.cpp
src/mac/carbon/thread.cpp
src/mac/dc.cpp
src/mac/thread.cpp

index 2828b715c6f727d6f61d49424785862c2e5a9d60..4a044f288767aa003ab74be04885dff6cf38fb2c 100644 (file)
@@ -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") );
index e59ca72ebeafcb49ebad5653f7408851acbf8c91..88f837d669ea70fc2a57655955941fac9e6b2095 100644 (file)
@@ -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()
index 2828b715c6f727d6f61d49424785862c2e5a9d60..4a044f288767aa003ab74be04885dff6cf38fb2c 100644 (file)
@@ -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") );
index e59ca72ebeafcb49ebad5653f7408851acbf8c91..88f837d669ea70fc2a57655955941fac9e6b2095 100644 (file)
@@ -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()