void wxMemoryDC::SelectObject(wxBitmap& bmp)
{
+ if ( bmp.IsSameAs(GetSelectedBitmap()) )
+ {
+ // Nothing to do, this bitmap is already selected.
+ return;
+ }
+
// make sure that the given wxBitmap is not sharing its data with other
// wxBitmap instances as its contents will be modified by any drawing
// operation done on this DC
int i, j, lastOfs;
wxPoint* pts;
- wxPen pen;
for (i = j = lastOfs = 0; i < n; i++)
{
pts[j++] = pts[lastOfs];
}
- pen = GetPen();
- SetPen(wxPen(*wxBLACK, 0, wxPENSTYLE_TRANSPARENT));
- DoDrawPolygon(j, pts, xoffset, yoffset, fillStyle);
- SetPen(pen);
+ {
+ wxDCPenChanger setTransp(*m_owner, *wxTRANSPARENT_PEN);
+ DoDrawPolygon(j, pts, xoffset, yoffset, fillStyle);
+ }
+
for (i = j = 0; i < n; i++)
{
DoDrawLines(count[i], pts+j, xoffset, yoffset);