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
This commit is contained in:
Stefan Csomor 2002-04-02 17:42:11 +00:00
parent 0c44c1c63f
commit 71110b404c
4 changed files with 20 additions and 18 deletions

View File

@ -652,8 +652,6 @@ void wxDC::SetLogicalFunction( int function )
void wxDC::DoFloodFill( wxCoord x, wxCoord y, const wxColour& col, void wxDC::DoFloodFill( wxCoord x, wxCoord y, const wxColour& col,
int style ) int style )
{ {
}
if (GetBrush().GetStyle() == wxTRANSPARENT) if (GetBrush().GetStyle() == wxTRANSPARENT)
{ {
wxLogDebug(wxT("In FloodFill, Current Brush is transparent, no filling done")); 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.Blit(0, 0, width, height, (wxDC*) this, 0, 0);
memdc.SelectObject(wxNullBitmap); memdc.SelectObject(wxNullBitmap);
wxImage image(bitmap); wxImage image = bitmap.ConvertToImage() ;
image.DoFloodFill (x,y, GetBrush(), col, style, GetLogicalFunction()); image.DoFloodFill (x,y, GetBrush(), col, style, GetLogicalFunction());
bitmap = wxBitmap(image); bitmap = wxBitmap(image);
memdc.SelectObject(bitmap); memdc.SelectObject(bitmap);
this->Blit(0, 0, width, height, &memdc, 0, 0); this->Blit(0, 0, width, height, &memdc, 0, 0);
memdc.SelectObject(wxNullBitmap); memdc.SelectObject(wxNullBitmap);
}
bool wxDC::DoGetPixel( wxCoord x, wxCoord y, wxColour *col ) const bool wxDC::DoGetPixel( wxCoord x, wxCoord y, wxColour *col ) const
{ {
wxCHECK_MSG( Ok(), false, wxT("wxDC::DoGetPixel Invalid DC") ); wxCHECK_MSG( Ok(), false, wxT("wxDC::DoGetPixel Invalid DC") );

View File

@ -205,7 +205,7 @@ wxMutexError wxMutex::Unlock()
class wxConditionInternal class wxConditionInternal
{ {
public: public:
wxConditionInternal() wxConditionInternal(wxMutex& mutex) : m_mutex(mutex)
{ {
m_excessSignals = 0 ; m_excessSignals = 0 ;
} }
@ -247,11 +247,12 @@ public:
wxArrayLong m_waiters ; wxArrayLong m_waiters ;
wxInt32 m_excessSignals ; wxInt32 m_excessSignals ;
wxMutex& m_mutex;
}; };
wxCondition::wxCondition() wxCondition::wxCondition(wxMutex& mutex)
{ {
m_internal = new wxConditionInternal; m_internal = new wxConditionInternal(mutex);
} }
wxCondition::~wxCondition() wxCondition::~wxCondition()
@ -264,10 +265,9 @@ void wxCondition::Wait()
(void)m_internal->Wait(0xFFFFFFFFL); (void)m_internal->Wait(0xFFFFFFFFL);
} }
bool wxCondition::Wait(unsigned long sec, bool wxCondition::Wait(unsigned long timeout_millis)
unsigned long nsec)
{ {
return m_internal->Wait(sec*1000 + nsec/1000000); return m_internal->Wait(timeout_millis);
} }
void wxCondition::Signal() void wxCondition::Signal()

View File

@ -652,8 +652,6 @@ void wxDC::SetLogicalFunction( int function )
void wxDC::DoFloodFill( wxCoord x, wxCoord y, const wxColour& col, void wxDC::DoFloodFill( wxCoord x, wxCoord y, const wxColour& col,
int style ) int style )
{ {
}
if (GetBrush().GetStyle() == wxTRANSPARENT) if (GetBrush().GetStyle() == wxTRANSPARENT)
{ {
wxLogDebug(wxT("In FloodFill, Current Brush is transparent, no filling done")); 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.Blit(0, 0, width, height, (wxDC*) this, 0, 0);
memdc.SelectObject(wxNullBitmap); memdc.SelectObject(wxNullBitmap);
wxImage image(bitmap); wxImage image = bitmap.ConvertToImage() ;
image.DoFloodFill (x,y, GetBrush(), col, style, GetLogicalFunction()); image.DoFloodFill (x,y, GetBrush(), col, style, GetLogicalFunction());
bitmap = wxBitmap(image); bitmap = wxBitmap(image);
memdc.SelectObject(bitmap); memdc.SelectObject(bitmap);
this->Blit(0, 0, width, height, &memdc, 0, 0); this->Blit(0, 0, width, height, &memdc, 0, 0);
memdc.SelectObject(wxNullBitmap); memdc.SelectObject(wxNullBitmap);
}
bool wxDC::DoGetPixel( wxCoord x, wxCoord y, wxColour *col ) const bool wxDC::DoGetPixel( wxCoord x, wxCoord y, wxColour *col ) const
{ {
wxCHECK_MSG( Ok(), false, wxT("wxDC::DoGetPixel Invalid DC") ); wxCHECK_MSG( Ok(), false, wxT("wxDC::DoGetPixel Invalid DC") );

View File

@ -205,7 +205,7 @@ wxMutexError wxMutex::Unlock()
class wxConditionInternal class wxConditionInternal
{ {
public: public:
wxConditionInternal() wxConditionInternal(wxMutex& mutex) : m_mutex(mutex)
{ {
m_excessSignals = 0 ; m_excessSignals = 0 ;
} }
@ -247,11 +247,12 @@ public:
wxArrayLong m_waiters ; wxArrayLong m_waiters ;
wxInt32 m_excessSignals ; wxInt32 m_excessSignals ;
wxMutex& m_mutex;
}; };
wxCondition::wxCondition() wxCondition::wxCondition(wxMutex& mutex)
{ {
m_internal = new wxConditionInternal; m_internal = new wxConditionInternal(mutex);
} }
wxCondition::~wxCondition() wxCondition::~wxCondition()
@ -264,10 +265,9 @@ void wxCondition::Wait()
(void)m_internal->Wait(0xFFFFFFFFL); (void)m_internal->Wait(0xFFFFFFFFL);
} }
bool wxCondition::Wait(unsigned long sec, bool wxCondition::Wait(unsigned long timeout_millis)
unsigned long nsec)
{ {
return m_internal->Wait(sec*1000 + nsec/1000000); return m_internal->Wait(timeout_millis);
} }
void wxCondition::Signal() void wxCondition::Signal()