Added FloodFill patch for samples

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14895 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart 2002-04-01 21:47:02 +00:00
parent b1699cd397
commit f88c1a172e
2 changed files with 13 additions and 12 deletions

View File

@ -332,9 +332,10 @@ public:
}
protected:
//get a point 1 up and 1 left, otherwise the mid-point of a triangle is on the line
wxPoint GetCentre() const
{ return wxPoint(m_pos.x + m_size.x / 2, m_pos.y + m_size.y / 2); }
{ return wxPoint(m_pos.x + m_size.x / 2 - 1, m_pos.y + m_size.y / 2 - 1); }
struct ShapeDump
{
int x, y, // position
@ -379,9 +380,9 @@ public:
dc.DrawLine(p2, p3);
dc.DrawLine(p3, p1);
#ifdef __WXMSW__
//works in multicolor modes; on GTK (at least) will fail in 16-bit color
dc.SetBrush(wxBrush(m_col, wxSOLID));
dc.FloodFill(GetCentre(), m_col, wxFLOOD_BORDER);
#endif
}
};
@ -416,9 +417,8 @@ public:
dc.DrawLine(p3, p4);
dc.DrawLine(p4, p1);
#ifdef __WXMSW__
dc.SetBrush(wxBrush(m_col, wxSOLID));
dc.FloodFill(GetCentre(), m_col, wxFLOOD_BORDER);
#endif
}
};
@ -445,9 +445,8 @@ public:
dc.DrawEllipse(m_pos, m_size);
#ifdef __WXMSW__
dc.SetBrush(wxBrush(m_col, wxSOLID));
dc.FloodFill(GetCentre(), m_col, wxFLOOD_BORDER);
#endif
}
};

View File

@ -475,10 +475,12 @@ void MyCanvas::DrawDefault(wxDC& dc)
{
// mark the origin
dc.DrawCircle(0, 0, 10);
#if !(defined __WXGTK__) && !(defined __WXX11__) && !(defined __WXMOTIF__) && !(defined __WXMGL__)
// not implemented in wxGTK or wxMOTIF or wxX11 :-(
dc.FloodFill(0, 0, wxColour(255, 0, 0));
#endif //
//flood fill using brush, starting at 1,1 and replacing whatever colour we find there
dc.SetBrush(wxBrush(wxColour(128,128,0), wxSOLID));
wxColour tmpColour ;
dc.GetPixel(1,1, &tmpColour);
dc.FloodFill(1,1, tmpColour, wxFLOOD_SURFACE);
dc.DrawCheckMark(5, 80, 15, 15);
dc.DrawCheckMark(25, 80, 30, 30);