use const arrays for wxDC array parameters, closes #10712
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73382 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -82,27 +82,23 @@ protected:
|
||||
wxCoord *GetX(wxCoord *x, wxCoord *y) const { return m_mirror ? y : x; }
|
||||
wxCoord *GetY(wxCoord *x, wxCoord *y) const { return m_mirror ? x : y; }
|
||||
|
||||
// exchange x and y unconditionally
|
||||
static void Swap(wxCoord& x, wxCoord& y)
|
||||
{
|
||||
wxCoord t = x;
|
||||
x = y;
|
||||
y = t;
|
||||
}
|
||||
|
||||
// exchange x and y components of all points in the array if necessary
|
||||
void Mirror(int n, wxPoint points[]) const
|
||||
wxPoint* Mirror(int n, const wxPoint*& points) const
|
||||
{
|
||||
wxPoint* points_alloc = NULL;
|
||||
if ( m_mirror )
|
||||
{
|
||||
points_alloc = new wxPoint[n];
|
||||
for ( int i = 0; i < n; i++ )
|
||||
{
|
||||
Swap(points[i].x, points[i].y);
|
||||
points_alloc[i].x = points[i].y;
|
||||
points_alloc[i].y = points[i].x;
|
||||
}
|
||||
points = points_alloc;
|
||||
}
|
||||
return points_alloc;
|
||||
}
|
||||
|
||||
|
||||
// wxDCBase functions
|
||||
virtual bool DoFloodFill(wxCoord x, wxCoord y, const wxColour& col,
|
||||
wxFloodFillStyle style = wxFLOOD_SURFACE)
|
||||
@@ -226,28 +222,28 @@ protected:
|
||||
m_dc.DoGetSizeMM(GetX(w, h), GetY(w, h));
|
||||
}
|
||||
|
||||
virtual void DoDrawLines(int n, wxPoint points[],
|
||||
virtual void DoDrawLines(int n, const wxPoint points[],
|
||||
wxCoord xoffset, wxCoord yoffset)
|
||||
{
|
||||
Mirror(n, points);
|
||||
wxPoint* points_alloc = Mirror(n, points);
|
||||
|
||||
m_dc.DoDrawLines(n, points,
|
||||
GetX(xoffset, yoffset), GetY(xoffset, yoffset));
|
||||
|
||||
Mirror(n, points);
|
||||
delete[] points_alloc;
|
||||
}
|
||||
|
||||
virtual void DoDrawPolygon(int n, wxPoint points[],
|
||||
virtual void DoDrawPolygon(int n, const wxPoint points[],
|
||||
wxCoord xoffset, wxCoord yoffset,
|
||||
wxPolygonFillMode fillStyle = wxODDEVEN_RULE)
|
||||
{
|
||||
Mirror(n, points);
|
||||
wxPoint* points_alloc = Mirror(n, points);
|
||||
|
||||
m_dc.DoDrawPolygon(n, points,
|
||||
GetX(xoffset, yoffset), GetY(xoffset, yoffset),
|
||||
fillStyle);
|
||||
|
||||
Mirror(n, points);
|
||||
delete[] points_alloc;
|
||||
}
|
||||
|
||||
virtual void DoSetDeviceClippingRegion(const wxRegion& WXUNUSED(region))
|
||||
|
Reference in New Issue
Block a user