]> git.saurik.com Git - wxWidgets.git/commitdiff
use const arrays for wxDC array parameters, closes #10712
authorPaul Cornett <paulcor@bullseye.com>
Fri, 18 Jan 2013 17:27:51 +0000 (17:27 +0000)
committerPaul Cornett <paulcor@bullseye.com>
Fri, 18 Jan 2013 17:27:51 +0000 (17:27 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73382 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

30 files changed:
include/wx/cocoa/dc.h
include/wx/dc.h
include/wx/dcgraph.h
include/wx/dcmirror.h
include/wx/dcsvg.h
include/wx/dfb/dc.h
include/wx/generic/dcpsg.h
include/wx/gtk/dcclient.h
include/wx/gtk/gnome/gprint.h
include/wx/gtk/print.h
include/wx/gtk1/dcclient.h
include/wx/motif/dcclient.h
include/wx/msw/dc.h
include/wx/os2/dc.h
include/wx/x11/dcclient.h
interface/wx/dc.h
src/cocoa/dc.mm
src/common/dcbase.cpp
src/common/dcgraph.cpp
src/common/dcsvg.cpp
src/dfb/dc.cpp
src/generic/dcpsg.cpp
src/gtk/dcclient.cpp
src/gtk/gnome/gprint.cpp
src/gtk/print.cpp
src/gtk1/dcclient.cpp
src/motif/dcclient.cpp
src/msw/dc.cpp
src/os2/dc.cpp
src/x11/dcclient.cpp

index 65af01c0b2638de7c4e87d3d12f3180cd45d131d..66b1478abf6d4b81c521ada41a30dd498368db57 100644 (file)
@@ -165,9 +165,9 @@ protected:
     virtual void DoGetSize(int *width, int *height) const;
     virtual void DoGetSizeMM(int* width, int* height) const;
 
-    virtual void DoDrawLines(int n, wxPoint points[],
+    virtual void DoDrawLines(int n, const wxPoint points[],
                              wxCoord xoffset, wxCoord yoffset);
-    virtual void DoDrawPolygon(int n, wxPoint points[],
+    virtual void DoDrawPolygon(int n, const wxPoint points[],
                                wxCoord xoffset, wxCoord yoffset,
                                wxPolygonFillMode fillStyle = wxODDEVEN_RULE);
 };
index 34f58e266258b14b9217967f81c14a118c62e9d3..a957b28e780f556957126f9b08e1fafcb8c8aa4e 100644 (file)
@@ -604,15 +604,15 @@ public:
         { return wxNullBitmap; }
 
 
-    virtual void DoDrawLines(int n, wxPoint points[],
+    virtual void DoDrawLines(int n, const wxPoint points[],
                              wxCoord xoffset, wxCoord yoffset ) = 0;
     virtual void DrawLines(const wxPointList *list,
                            wxCoord xoffset, wxCoord yoffset );
 
-    virtual void DoDrawPolygon(int n, wxPoint points[],
+    virtual void DoDrawPolygon(int n, const wxPoint points[],
                            wxCoord xoffset, wxCoord yoffset,
                            wxPolygonFillMode fillStyle = wxODDEVEN_RULE) = 0;
-    virtual void DoDrawPolyPolygon(int n, int count[], wxPoint points[],
+    virtual void DoDrawPolyPolygon(int n, const int count[], const wxPoint points[],
                                wxCoord xoffset, wxCoord yoffset,
                                wxPolygonFillMode fillStyle);
     void DrawPolygon(const wxPointList *list,
@@ -624,7 +624,7 @@ public:
     void DrawSpline(wxCoord x1, wxCoord y1,
                             wxCoord x2, wxCoord y2,
                             wxCoord x3, wxCoord y3);
-    void DrawSpline(int n, wxPoint points[]);
+    void DrawSpline(int n, const wxPoint points[]);
     void DrawSpline(const wxPointList *points) { DoDrawSpline(points); }
 
     virtual void DoDrawSpline(const wxPointList *points);
@@ -1139,7 +1139,7 @@ public:
     void DrawPoint(const wxPoint& pt)
         { m_pimpl->DoDrawPoint(pt.x, pt.y); }
 
-    void DrawLines(int n, wxPoint points[],
+    void DrawLines(int n, const wxPoint points[],
                    wxCoord xoffset = 0, wxCoord yoffset = 0)
         { m_pimpl->DoDrawLines(n, points, xoffset, yoffset); }
     void DrawLines(const wxPointList *list,
@@ -1150,7 +1150,7 @@ public:
                                  wxCoord xoffset = 0, wxCoord yoffset = 0) );
 #endif  // WXWIN_COMPATIBILITY_2_8
 
-    void DrawPolygon(int n, wxPoint points[],
+    void DrawPolygon(int n, const wxPoint points[],
                      wxCoord xoffset = 0, wxCoord yoffset = 0,
                      wxPolygonFillMode fillStyle = wxODDEVEN_RULE)
         { m_pimpl->DoDrawPolygon(n, points, xoffset, yoffset, fillStyle); }
@@ -1158,7 +1158,7 @@ public:
                      wxCoord xoffset = 0, wxCoord yoffset = 0,
                      wxPolygonFillMode fillStyle = wxODDEVEN_RULE)
         { m_pimpl->DrawPolygon( list, xoffset, yoffset, fillStyle ); }
-    void DrawPolyPolygon(int n, int count[], wxPoint points[],
+    void DrawPolyPolygon(int n, const int count[], const wxPoint points[],
                          wxCoord xoffset = 0, wxCoord yoffset = 0,
                          wxPolygonFillMode fillStyle = wxODDEVEN_RULE)
         { m_pimpl->DoDrawPolyPolygon(n, count, points, xoffset, yoffset, fillStyle); }
@@ -1281,7 +1281,7 @@ public:
                     wxCoord x2, wxCoord y2,
                     wxCoord x3, wxCoord y3)
         { m_pimpl->DrawSpline(x1,y1,x2,y2,x3,y3); }
-    void DrawSpline(int n, wxPoint points[])
+    void DrawSpline(int n, const wxPoint points[])
         { m_pimpl->DrawSpline(n,points); }
     void DrawSpline(const wxPointList *points)
         { m_pimpl->DrawSpline(points); }
index d010b63ae405804ebf4c11102a3f0aa1ada049cf..95f0732d0695d3d0e205400c01885dae32d11b36 100644 (file)
@@ -177,12 +177,12 @@ public:
     virtual void DoGetSize(int *,int *) const;
     virtual void DoGetSizeMM(int* width, int* height) const;
 
-    virtual void DoDrawLines(int n, wxPoint points[],
+    virtual void DoDrawLines(int n, const wxPoint points[],
         wxCoord xoffset, wxCoord yoffset);
-    virtual void DoDrawPolygon(int n, wxPoint points[],
+    virtual void DoDrawPolygon(int n, const wxPoint points[],
                                wxCoord xoffset, wxCoord yoffset,
                                wxPolygonFillMode fillStyle = wxODDEVEN_RULE);
-    virtual void DoDrawPolyPolygon(int n, int count[], wxPoint points[],
+    virtual void DoDrawPolyPolygon(int n, const int count[], const wxPoint points[],
                                    wxCoord xoffset, wxCoord yoffset,
                                    wxPolygonFillMode fillStyle);
 
index ee6d5c1b8a11eba7d529d2f0f7510f72114b6774..890667cc882d916fea13e13e5cade105d972d729 100644 (file)
@@ -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))
index d1b26c1e202e594c57f665824cb1688c6021e1b2..ee99a8e703cd4140b367142805b20a693241597b 100644 (file)
@@ -126,12 +126,12 @@ private:
 
    virtual void DoDrawLine (wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2);
 
-   virtual void DoDrawLines(int n, wxPoint points[],
+   virtual void DoDrawLines(int n, const wxPoint points[],
                             wxCoord xoffset = 0, wxCoord yoffset = 0);
 
    virtual void DoDrawPoint(wxCoord, wxCoord);
 
-   virtual void DoDrawPolygon(int n, wxPoint points[],
+   virtual void DoDrawPolygon(int n, const wxPoint points[],
                               wxCoord xoffset, wxCoord yoffset,
                               wxPolygonFillMode fillStyle);
 
index d5acf69401b629cddcee0cd9c1763dbcb0ac9c92..2d64cdb9661d7c0502276de9017aba98593d5fc9 100644 (file)
@@ -132,9 +132,9 @@ protected:
     virtual void DoGetSize(int *width, int *height) const;
     virtual void DoGetSizeMM(int* width, int* height) const;
 
-    virtual void DoDrawLines(int n, wxPoint points[],
+    virtual void DoDrawLines(int n, const wxPoint points[],
                              wxCoord xoffset, wxCoord yoffset);
-    virtual void DoDrawPolygon(int n, wxPoint points[],
+    virtual void DoDrawPolygon(int n, const wxPoint points[],
                                wxCoord xoffset, wxCoord yoffset,
                                wxPolygonFillMode fillStyle = wxODDEVEN_RULE);
 
index 65e36cbce87bfe0dc28555e1892372d3b17dc4fd..57b850068934e1079a4229ba91f77f15395c1035 100644 (file)
@@ -105,11 +105,11 @@ protected:
     void DoDrawArc(wxCoord x1,wxCoord y1,wxCoord x2,wxCoord y2,wxCoord xc,wxCoord yc);
     void DoDrawEllipticArc(wxCoord x,wxCoord y,wxCoord w,wxCoord h,double sa,double ea);
     void DoDrawPoint(wxCoord x, wxCoord y);
-    void DoDrawLines(int n, wxPoint points[], wxCoord xoffset = 0, wxCoord yoffset = 0);
-    void DoDrawPolygon(int n, wxPoint points[],
+    void DoDrawLines(int n, const wxPoint points[], wxCoord xoffset = 0, wxCoord yoffset = 0);
+    void DoDrawPolygon(int n, const wxPoint points[],
                        wxCoord xoffset = 0, wxCoord yoffset = 0,
                        wxPolygonFillMode fillStyle = wxODDEVEN_RULE);
-    void DoDrawPolyPolygon(int n, int count[], wxPoint points[],
+    void DoDrawPolyPolygon(int n, const int count[], const wxPoint points[],
                            wxCoord xoffset = 0, wxCoord yoffset = 0,
                            wxPolygonFillMode fillStyle = wxODDEVEN_RULE);
     void DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
index b64f995348c1528566f6c230a687a4f1ed05383f..4c96d69fc05c93c4ea7d3881adc8f414b679db5b 100644 (file)
@@ -40,9 +40,9 @@ public:
                                     double sa, double ea );
     virtual void DoDrawPoint( wxCoord x, wxCoord y );
 
-    virtual void DoDrawLines(int n, wxPoint points[],
+    virtual void DoDrawLines(int n, const wxPoint points[],
                              wxCoord xoffset, wxCoord yoffset);
-    virtual void DoDrawPolygon(int n, wxPoint points[],
+    virtual void DoDrawPolygon(int n, const wxPoint points[],
                                wxCoord xoffset, wxCoord yoffset,
                                wxPolygonFillMode fillStyle = wxODDEVEN_RULE);
 
index 880a528d60a91621f8fe44a2ec057d2521c1c4cf..67d4f415c05b3bfc4bfb5f277bbf9517d43ac722 100644 (file)
@@ -258,9 +258,9 @@ protected:
     void DoDrawArc(wxCoord x1,wxCoord y1,wxCoord x2,wxCoord y2,wxCoord xc,wxCoord yc);
     void DoDrawEllipticArc(wxCoord x,wxCoord y,wxCoord w,wxCoord h,double sa,double ea);
     void DoDrawPoint(wxCoord x, wxCoord y);
-    void DoDrawLines(int n, wxPoint points[], wxCoord xoffset = 0, wxCoord yoffset = 0);
-    void DoDrawPolygon(int n, wxPoint points[], wxCoord xoffset = 0, wxCoord yoffset = 0, wxPolygonFillMode fillStyle=wxODDEVEN_RULE);
-    void DoDrawPolyPolygon(int n, int count[], wxPoint points[], wxCoord xoffset = 0, wxCoord yoffset = 0, wxPolygonFillMode fillStyle=wxODDEVEN_RULE);
+    void DoDrawLines(int n, const wxPoint points[], wxCoord xoffset = 0, wxCoord yoffset = 0);
+    void DoDrawPolygon(int n, const wxPoint points[], wxCoord xoffset = 0, wxCoord yoffset = 0, wxPolygonFillMode fillStyle=wxODDEVEN_RULE);
+    void DoDrawPolyPolygon(int n, const int count[], const wxPoint points[], wxCoord xoffset = 0, wxCoord yoffset = 0, wxPolygonFillMode fillStyle=wxODDEVEN_RULE);
     void DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
     void DoDrawRoundedRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height, double radius = 20.0);
     void DoDrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
index 16a90f8cb26a9deac53f207d92c9ca585643cd62..180d0c6e88f9dccfe70cf1ca65b77682cb1786c0 100644 (file)
@@ -266,9 +266,9 @@ protected:
     void DoDrawArc(wxCoord x1,wxCoord y1,wxCoord x2,wxCoord y2,wxCoord xc,wxCoord yc);
     void DoDrawEllipticArc(wxCoord x,wxCoord y,wxCoord w,wxCoord h,double sa,double ea);
     void DoDrawPoint(wxCoord x, wxCoord y);
-    void DoDrawLines(int n, wxPoint points[], wxCoord xoffset = 0, wxCoord yoffset = 0);
-    void DoDrawPolygon(int n, wxPoint points[], wxCoord xoffset = 0, wxCoord yoffset = 0, wxPolygonFillMode fillStyle=wxODDEVEN_RULE);
-    void DoDrawPolyPolygon(int n, int count[], wxPoint points[], wxCoord xoffset = 0, wxCoord yoffset = 0, wxPolygonFillMode fillStyle=wxODDEVEN_RULE);
+    void DoDrawLines(int n, const wxPoint points[], wxCoord xoffset = 0, wxCoord yoffset = 0);
+    void DoDrawPolygon(int n, const wxPoint points[], wxCoord xoffset = 0, wxCoord yoffset = 0, wxPolygonFillMode fillStyle=wxODDEVEN_RULE);
+    void DoDrawPolyPolygon(int n, const int count[], const wxPoint points[], wxCoord xoffset = 0, wxCoord yoffset = 0, wxPolygonFillMode fillStyle=wxODDEVEN_RULE);
     void DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
     void DoDrawRoundedRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height, double radius = 20.0);
     void DoDrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
index bc6ade190132b7d390fe658134bd31113e91c4fb..14290f90855939a2d209f5e6a9e6a5b5ae73cb85 100644 (file)
@@ -49,9 +49,9 @@ protected:
                                     double sa, double ea );
     virtual void DoDrawPoint( wxCoord x, wxCoord y );
 
-    virtual void DoDrawLines(int n, wxPoint points[],
+    virtual void DoDrawLines(int n, const wxPoint points[],
                              wxCoord xoffset, wxCoord yoffset);
-    virtual void DoDrawPolygon(int n, wxPoint points[],
+    virtual void DoDrawPolygon(int n, const wxPoint points[],
                                wxCoord xoffset, wxCoord yoffset,
                                wxPolygonFillMode fillStyle = wxODDEVEN_RULE);
 
index b13f196eb4e7a3fbb65e8ec5b3619b994934564d..1d46c9195163026cedd9854aca2435bfc2d15364 100644 (file)
@@ -121,9 +121,9 @@ protected:
         wxCoord width, wxCoord height);
     virtual void DoSetDeviceClippingRegion(const wxRegion& region);
 
-    virtual void DoDrawLines(int n, wxPoint points[],
+    virtual void DoDrawLines(int n, const wxPoint points[],
         wxCoord xoffset, wxCoord yoffset);
-    virtual void DoDrawPolygon(int n, wxPoint points[],
+    virtual void DoDrawPolygon(int n, const wxPoint points[],
         wxCoord xoffset, wxCoord yoffset,
         wxPolygonFillMode fillStyle = wxODDEVEN_RULE);
 
index ddb8797d00dd72311862906000b788578ea998dd..cd0895021068e5a3422b9738bf917f6f2da3947a 100644 (file)
@@ -249,12 +249,12 @@ public:
 
     virtual void DoGetSizeMM(int* width, int* height) const;
 
-    virtual void DoDrawLines(int n, wxPoint points[],
+    virtual void DoDrawLines(int n, const wxPoint points[],
                              wxCoord xoffset, wxCoord yoffset);
-    virtual void DoDrawPolygon(int n, wxPoint points[],
+    virtual void DoDrawPolygon(int n, const wxPoint points[],
                                wxCoord xoffset, wxCoord yoffset,
                                wxPolygonFillMode fillStyle = wxODDEVEN_RULE);
-    virtual void DoDrawPolyPolygon(int n, int count[], wxPoint points[],
+    virtual void DoDrawPolyPolygon(int n, const int count[], const wxPoint points[],
                                    wxCoord xoffset, wxCoord yoffset,
                                    wxPolygonFillMode fillStyle = wxODDEVEN_RULE);
     virtual wxBitmap DoGetAsBitmap(const wxRect *subrect) const
index dfe7c050a5c4aba0c31e21e58f449ef116345fd4..98af5094571bdeac67c898d17d67d6e922f672ca 100644 (file)
@@ -336,12 +336,12 @@ public:
                             ) const;
 
     virtual void DoDrawLines( int     n
-                             ,wxPoint vaPoints[]
+                             ,const wxPoint vaPoints[]
                              ,wxCoord vXoffset
                              ,wxCoord yYoffset
                             );
     virtual void DoDrawPolygon( int     n
-                               ,wxPoint vaPoints[]
+                               ,const wxPoint vaPoints[]
                                ,wxCoord vXoffset
                                ,wxCoord vYoffset
                                ,wxPolygonFillMode     nFillStyle = wxODDEVEN_RULE
index 9850e700caef67a4850d3793812b029db99b4924..11100461971cef6b5f15dfb6c1a9a16e0a12b8d1 100644 (file)
@@ -77,9 +77,9 @@ protected:
         wxCoord width, wxCoord height);
     virtual void DoSetDeviceClippingRegion(const wxRegion& region);
 
-    virtual void DoDrawLines(int n, wxPoint points[],
+    virtual void DoDrawLines(int n, const wxPoint points[],
         wxCoord xoffset, wxCoord yoffset);
-    virtual void DoDrawPolygon(int n, wxPoint points[],
+    virtual void DoDrawPolygon(int n, const wxPoint points[],
         wxCoord xoffset, wxCoord yoffset,
         wxPolygonFillMode fillStyle = wxODDEVEN_RULE);
 
index 0d7e5ab5e6cefd093696a296a409f49fc0b360e1..c723f19e6eeb71ad7dfc0c355c902f5612015b81 100644 (file)
@@ -413,7 +413,7 @@ public:
         Not supported by wxPerl.
         @endWxPerlOnly
     */
-    void DrawLines(int n, wxPoint points[], wxCoord xoffset = 0,
+    void DrawLines(int n, const wxPoint points[], wxCoord xoffset = 0,
                    wxCoord yoffset = 0);
     /**
         This method uses a list of wxPoints, adding the optional offset
@@ -455,7 +455,7 @@ public:
         Not supported by wxPerl.
         @endWxPerlOnly
     */
-    void DrawPolygon(int n, wxPoint points[], wxCoord xoffset = 0,
+    void DrawPolygon(int n, const wxPoint points[], wxCoord xoffset = 0,
                      wxCoord yoffset = 0,
                      wxPolygonFillMode fill_style = wxODDEVEN_RULE);
     /**
@@ -504,7 +504,7 @@ public:
         the DrawPolygon() member function, the polygons created by this
         method are not closed automatically.
     */
-    void DrawPolyPolygon(int n, int count[], wxPoint points[],
+    void DrawPolyPolygon(int n, const int count[], const wxPoint points[],
                          wxCoord xoffset = 0, wxCoord yoffset = 0,
                          wxPolygonFillMode fill_style = wxODDEVEN_RULE);
 
@@ -579,7 +579,7 @@ public:
         Not supported by wxPerl.
         @endWxPerlOnly
     */
-    void DrawSpline(int n, wxPoint points[]);
+    void DrawSpline(int n, const wxPoint points[]);
 
     /**
         @overload
index 0f24ba758f937511d08a42eab2c696363fdc50cd..dee72588505e38a5b4570c211ddc7701392604a8 100644 (file)
@@ -362,11 +362,11 @@ void wxCocoaDCImpl::DoDrawPoint( int x, int y )
 {
 };
 
-void wxCocoaDCImpl::DoDrawPolygon( int, wxPoint *, int, int, wxPolygonFillMode)
+void wxCocoaDCImpl::DoDrawPolygon( int, const wxPoint *, int, int, wxPolygonFillMode)
 {
 };
 
-void wxCocoaDCImpl::DoDrawLines( int, wxPoint *, int, int )
+void wxCocoaDCImpl::DoDrawLines( int, const wxPoint *, int, int )
 {
 }
 
index 46a163129c954a791742e0b8c405cc057be9e196..6f4d456002a0732e733fb4476006397efba7d61a 100644 (file)
@@ -622,8 +622,8 @@ void wxDCImpl::DrawPolygon(const wxPointList *list,
 
 void
 wxDCImpl::DoDrawPolyPolygon(int n,
-                            int count[],
-                            wxPoint points[],
+                            const int count[],
+                            const wxPoint points[],
                             wxCoord xoffset, wxCoord yoffset,
                             wxPolygonFillMode fillStyle)
 {
@@ -673,11 +673,11 @@ void wxDCImpl::DrawSpline(wxCoord x1, wxCoord y1,
     DrawSpline(WXSIZEOF(points), points);
 }
 
-void wxDCImpl::DrawSpline(int n, wxPoint points[])
+void wxDCImpl::DrawSpline(int n, const wxPoint points[])
 {
     wxPointList list;
     for ( int i = 0; i < n; i++ )
-        list.Append(&points[i]);
+        list.Append(const_cast<wxPoint*>(&points[i]));
 
     DrawSpline(&list);
 }
@@ -799,7 +799,7 @@ void wxDCImpl::DoDrawSpline( const wxPointList *points )
 {
     wxCHECK_RET( IsOk(), wxT("invalid window dc") );
 
-    wxPoint *p;
+    const wxPoint *p;
     double           cx1, cy1, cx2, cy2, cx3, cy3, cx4, cy4;
     double           x1, y1, x2, y2;
 
@@ -808,7 +808,7 @@ void wxDCImpl::DoDrawSpline( const wxPointList *points )
         // empty list
         return;
 
-    p = (wxPoint *)node->GetData();
+    p = node->GetData();
 
     x1 = p->x;
     y1 = p->y;
index 2b9b2913a51c6694ad3af41cd9aba1049bda92b8..e80d2375b3a479d6532183a52f10709cc0f22b84 100644 (file)
@@ -608,7 +608,7 @@ void wxGCDCImpl::DoDrawPoint( wxCoord x, wxCoord y )
     DoDrawLine( x , y , x + 1 , y + 1 );
 }
 
-void wxGCDCImpl::DoDrawLines(int n, wxPoint points[],
+void wxGCDCImpl::DoDrawLines(int n, const wxPoint points[],
                          wxCoord xoffset, wxCoord yoffset)
 {
     wxCHECK_RET( IsOk(), wxT("wxGCDC(cg)::DoDrawLines - invalid DC") );
@@ -642,7 +642,7 @@ void wxGCDCImpl::DoDrawSpline(const wxPointList *points)
         // empty list
         return;
 
-    wxPoint *p = node->GetData();
+    const wxPoint *p = node->GetData();
 
     wxCoord x1 = p->x;
     wxCoord y1 = p->y;
@@ -686,7 +686,7 @@ void wxGCDCImpl::DoDrawSpline(const wxPointList *points)
 }
 #endif // wxUSE_SPLINES
 
-void wxGCDCImpl::DoDrawPolygon( int n, wxPoint points[],
+void wxGCDCImpl::DoDrawPolygon( int n, const wxPoint points[],
                                 wxCoord xoffset, wxCoord yoffset,
                                 wxPolygonFillMode fillStyle )
 {
@@ -715,8 +715,8 @@ void wxGCDCImpl::DoDrawPolygon( int n, wxPoint points[],
 }
 
 void wxGCDCImpl::DoDrawPolyPolygon(int n,
-                               int count[],
-                               wxPoint points[],
+                               const int count[],
+                               const wxPoint points[],
                                wxCoord xoffset,
                                wxCoord yoffset,
                                wxPolygonFillMode fillStyle)
index 85105f91f292f4bbb56c8e596073368228b5970a..1be3feb2e7af25a7f7f83599a0b9957232141aa9 100644 (file)
@@ -209,7 +209,7 @@ void wxSVGFileDCImpl::DoDrawLine (wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2
     CalcBoundingBox(x2, y2);
 }
 
-void wxSVGFileDCImpl::DoDrawLines(int n, wxPoint points[], wxCoord xoffset , wxCoord yoffset )
+void wxSVGFileDCImpl::DoDrawLines(int n, const wxPoint points[], wxCoord xoffset , wxCoord yoffset )
 {
     for ( int i = 1; i < n; i++ )
     {
@@ -322,7 +322,7 @@ void wxSVGFileDCImpl::DoDrawRoundedRectangle(wxCoord x, wxCoord y, wxCoord width
     CalcBoundingBox(x + width, y + height);
 }
 
-void wxSVGFileDCImpl::DoDrawPolygon(int n, wxPoint points[],
+void wxSVGFileDCImpl::DoDrawPolygon(int n, const wxPoint points[],
                                     wxCoord xoffset, wxCoord yoffset,
                                     wxPolygonFillMode fillStyle)
 {
index c4006994df354eed19fe667c6e02161e60760193..90191f469214d38c9af74d7a9fb6b709af8fa262 100644 (file)
@@ -239,7 +239,7 @@ void wxDFBDCImpl::DoDrawPoint(wxCoord x, wxCoord y)
     // FIXME_DFB: implement special cases for common formats (RGB24,RGBA/RGB32)
 }
 
-void wxDFBDCImpl::DoDrawPolygon(int WXUNUSED(n), wxPoint WXUNUSED(points)[],
+void wxDFBDCImpl::DoDrawPolygon(int WXUNUSED(n), const wxPoint WXUNUSED(points)[],
                                 wxCoord WXUNUSED(xoffset), wxCoord WXUNUSED(yoffset),
                                 wxPolygonFillMode WXUNUSED(fillStyle))
 {
@@ -248,7 +248,7 @@ void wxDFBDCImpl::DoDrawPolygon(int WXUNUSED(n), wxPoint WXUNUSED(points)[],
     wxFAIL_MSG( "DrawPolygon not implemented" );
 }
 
-void wxDFBDCImpl::DoDrawLines(int WXUNUSED(n), wxPoint WXUNUSED(points)[],
+void wxDFBDCImpl::DoDrawLines(int WXUNUSED(n), const wxPoint WXUNUSED(points)[],
                               wxCoord WXUNUSED(xoffset), wxCoord WXUNUSED(yoffset))
 {
     wxCHECK_RET( IsOk(), wxT("invalid dc") );
index a490757cb05f6601211c314843ff72b60992868c..61946d51743fd29d3aab2054a68ae66ebd87ac5c 100644 (file)
@@ -597,7 +597,7 @@ void wxPostScriptDCImpl::DoDrawPoint (wxCoord x, wxCoord y)
     CalcBoundingBox( x, y );
 }
 
-void wxPostScriptDCImpl::DoDrawPolygon (int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset, wxPolygonFillMode fillStyle)
+void wxPostScriptDCImpl::DoDrawPolygon (int n, const wxPoint points[], wxCoord xoffset, wxCoord yoffset, wxPolygonFillMode fillStyle)
 {
     wxCHECK_RET( m_ok, wxT("invalid postscript dc") );
 
@@ -667,7 +667,7 @@ void wxPostScriptDCImpl::DoDrawPolygon (int n, wxPoint points[], wxCoord xoffset
     }
 }
 
-void wxPostScriptDCImpl::DoDrawPolyPolygon (int n, int count[], wxPoint points[], wxCoord xoffset, wxCoord yoffset, wxPolygonFillMode fillStyle)
+void wxPostScriptDCImpl::DoDrawPolyPolygon (int n, const int count[], const wxPoint points[], wxCoord xoffset, wxCoord yoffset, wxPolygonFillMode fillStyle)
 {
     wxCHECK_RET( m_ok, wxT("invalid postscript dc") );
 
@@ -743,7 +743,7 @@ void wxPostScriptDCImpl::DoDrawPolyPolygon (int n, int count[], wxPoint points[]
     }
 }
 
-void wxPostScriptDCImpl::DoDrawLines (int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset)
+void wxPostScriptDCImpl::DoDrawLines (int n, const wxPoint points[], wxCoord xoffset, wxCoord yoffset)
 {
     wxCHECK_RET( m_ok, wxT("invalid postscript dc") );
 
index 9f5aedbe53956288375eb34cbc7d91e314f259c2..b20b5d71cfecfbbad83d4196e4ef0ff933301b10 100644 (file)
@@ -697,7 +697,7 @@ void wxWindowDCImpl::DoDrawPoint( wxCoord x, wxCoord y )
     CalcBoundingBox (x, y);
 }
 
-void wxWindowDCImpl::DoDrawLines( int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset )
+void wxWindowDCImpl::DoDrawLines( int n, const wxPoint points[], wxCoord xoffset, wxCoord yoffset )
 {
     wxCHECK_RET( IsOk(), wxT("invalid window dc") );
 
@@ -711,17 +711,21 @@ void wxWindowDCImpl::DoDrawLines( int n, wxPoint points[], wxCoord xoffset, wxCo
         xoffset != 0 || yoffset != 0 || XLOG2DEV(10) != 10 || YLOG2DEV(10) != 10;
 
     // GdkPoint and wxPoint have the same memory layout, so we can cast one to the other
-    GdkPoint* gpts = reinterpret_cast<GdkPoint*>(points);
+    const GdkPoint* gpts = reinterpret_cast<const GdkPoint*>(points);
+    GdkPoint* gpts_alloc = NULL;
 
     if (doScale)
-        gpts = new GdkPoint[n];
+    {
+        gpts_alloc = new GdkPoint[n];
+        gpts = gpts_alloc;
+    }
 
     for (int i = 0; i < n; i++)
     {
         if (doScale)
         {
-            gpts[i].x = XLOG2DEV(points[i].x + xoffset);
-            gpts[i].y = YLOG2DEV(points[i].y + yoffset);
+            gpts_alloc[i].x = XLOG2DEV(points[i].x + xoffset);
+            gpts_alloc[i].y = YLOG2DEV(points[i].y + yoffset);
         }
         CalcBoundingBox(points[i].x + xoffset, points[i].y + yoffset);
     }
@@ -729,11 +733,10 @@ void wxWindowDCImpl::DoDrawLines( int n, wxPoint points[], wxCoord xoffset, wxCo
     if (m_gdkwindow)
         gdk_draw_lines( m_gdkwindow, m_penGC, gpts, n);
 
-    if (doScale)
-        delete[] gpts;
+    delete[] gpts_alloc;
 }
 
-void wxWindowDCImpl::DoDrawPolygon( int n, wxPoint points[],
+void wxWindowDCImpl::DoDrawPolygon( int n, const wxPoint points[],
                                     wxCoord xoffset, wxCoord yoffset,
                                     wxPolygonFillMode WXUNUSED(fillStyle) )
 {
@@ -746,18 +749,22 @@ void wxWindowDCImpl::DoDrawPolygon( int n, wxPoint points[],
         xoffset != 0 || yoffset != 0 || XLOG2DEV(10) != 10 || YLOG2DEV(10) != 10;
 
     // GdkPoint and wxPoint have the same memory layout, so we can cast one to the other
-    GdkPoint* gdkpoints = reinterpret_cast<GdkPoint*>(points);
+    const GdkPoint* gdkpoints = reinterpret_cast<const GdkPoint*>(points);
+    GdkPoint* gdkpoints_alloc = NULL;
 
     if (doScale)
-        gdkpoints = new GdkPoint[n];
+    {
+        gdkpoints_alloc = new GdkPoint[n];
+        gdkpoints = gdkpoints_alloc;
+    }
 
     int i;
     for (i = 0 ; i < n ; i++)
     {
         if (doScale)
         {
-            gdkpoints[i].x = XLOG2DEV(points[i].x + xoffset);
-            gdkpoints[i].y = YLOG2DEV(points[i].y + yoffset);
+            gdkpoints_alloc[i].x = XLOG2DEV(points[i].x + xoffset);
+            gdkpoints_alloc[i].y = YLOG2DEV(points[i].y + yoffset);
         }
         CalcBoundingBox(points[i].x + xoffset, points[i].y + yoffset);
     }
@@ -793,8 +800,7 @@ void wxWindowDCImpl::DoDrawPolygon( int n, wxPoint points[],
         }
     }
 
-    if (doScale)
-        delete[] gdkpoints;
+    delete[] gdkpoints_alloc;
 }
 
 void wxWindowDCImpl::DoDrawRectangle( wxCoord x, wxCoord y, wxCoord width, wxCoord height )
index 17888b8a6ddb98737335f7c49cc4aa29d59be457..767c3c2f48a098a5986c3658e4db3de3523a1fd8 100644 (file)
@@ -1189,7 +1189,7 @@ void wxGnomePrinterDCImpl::DoDrawPoint(wxCoord WXUNUSED(x), wxCoord WXUNUSED(y))
 {
 }
 
-void wxGnomePrinterDCImpl::DoDrawLines(int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset)
+void wxGnomePrinterDCImpl::DoDrawLines(int n, const wxPoint points[], wxCoord xoffset, wxCoord yoffset)
 {
     if (n <= 0) return;
 
@@ -1210,7 +1210,7 @@ void wxGnomePrinterDCImpl::DoDrawLines(int n, wxPoint points[], wxCoord xoffset,
     gs_libGnomePrint->gnome_print_stroke ( m_gpc);
 }
 
-void wxGnomePrinterDCImpl::DoDrawPolygon(int n, wxPoint points[],
+void wxGnomePrinterDCImpl::DoDrawPolygon(int n, const wxPoint points[],
                                    wxCoord xoffset, wxCoord yoffset,
                                    wxPolygonFillMode WXUNUSED(fillStyle))
 {
@@ -1258,7 +1258,7 @@ void wxGnomePrinterDCImpl::DoDrawPolygon(int n, wxPoint points[],
     }
 }
 
-void wxGnomePrinterDCImpl::DoDrawPolyPolygon(int n, int count[], wxPoint points[], wxCoord xoffset, wxCoord yoffset, wxPolygonFillMode fillStyle)
+void wxGnomePrinterDCImpl::DoDrawPolyPolygon(int n, const int count[], const wxPoint points[], wxCoord xoffset, wxCoord yoffset, wxPolygonFillMode fillStyle)
 {
 #if wxUSE_NEW_DC
     wxDCImpl::DoDrawPolyPolygon( n, count, points, xoffset, yoffset, fillStyle );
index 637e7ec86ee113393c13876b951ae4079d6f60a6..6076ef552fadeef910f45033c3c0750e51e2ddc1 100644 (file)
@@ -1457,7 +1457,7 @@ void wxGtkPrinterDCImpl::DoDrawPoint(wxCoord x, wxCoord y)
     CalcBoundingBox( x, y );
 }
 
-void wxGtkPrinterDCImpl::DoDrawLines(int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset)
+void wxGtkPrinterDCImpl::DoDrawLines(int n, const wxPoint points[], wxCoord xoffset, wxCoord yoffset)
 {
     if ( m_pen.IsTransparent() )
         return;
@@ -1479,7 +1479,7 @@ void wxGtkPrinterDCImpl::DoDrawLines(int n, wxPoint points[], wxCoord xoffset, w
     cairo_stroke ( m_cairo);
 }
 
-void wxGtkPrinterDCImpl::DoDrawPolygon(int n, wxPoint points[],
+void wxGtkPrinterDCImpl::DoDrawPolygon(int n, const wxPoint points[],
                                        wxCoord xoffset, wxCoord yoffset,
                                        wxPolygonFillMode fillStyle)
 {
@@ -1515,7 +1515,7 @@ void wxGtkPrinterDCImpl::DoDrawPolygon(int n, wxPoint points[],
     cairo_restore(m_cairo);
 }
 
-void wxGtkPrinterDCImpl::DoDrawPolyPolygon(int n, int count[], wxPoint points[],
+void wxGtkPrinterDCImpl::DoDrawPolyPolygon(int n, const int count[], const wxPoint points[],
                                            wxCoord xoffset, wxCoord yoffset,
                                            wxPolygonFillMode fillStyle)
 {
index bff8a142c0f45b931da33c2228011c1a0230999c..4df6a262f4cb913b5ebcc5e43c43129a30c327cf 100644 (file)
@@ -649,7 +649,7 @@ void wxWindowDCImpl::DoDrawPoint( wxCoord x, wxCoord y )
     CalcBoundingBox (x, y);
 }
 
-void wxWindowDCImpl::DoDrawLines( int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset )
+void wxWindowDCImpl::DoDrawLines( int n, const wxPoint points[], wxCoord xoffset, wxCoord yoffset )
 {
     wxCHECK_RET( IsOk(), wxT("invalid window dc") );
 
@@ -680,7 +680,7 @@ void wxWindowDCImpl::DoDrawLines( int n, wxPoint points[], wxCoord xoffset, wxCo
     delete[] gpts;
 }
 
-void wxWindowDCImpl::DoDrawPolygon( int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset, wxPolygonFillMode WXUNUSED(fillStyle) )
+void wxWindowDCImpl::DoDrawPolygon( int n, const wxPoint points[], wxCoord xoffset, wxCoord yoffset, wxPolygonFillMode WXUNUSED(fillStyle) )
 {
     wxCHECK_RET( IsOk(), wxT("invalid window dc") );
 
index 4622070bb8d7681230a037dc70e0bbea389da6fe..1c7b8f4c621557e255d7a9e3b5c37e6e8cbf8ed9 100644 (file)
@@ -438,7 +438,7 @@ void wxWindowDCImpl::DoDrawPoint( wxCoord x, wxCoord y )
     CalcBoundingBox (x, y);
 }
 
-void wxWindowDCImpl::DoDrawLines( int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset )
+void wxWindowDCImpl::DoDrawLines( int n, const wxPoint points[], wxCoord xoffset, wxCoord yoffset )
 {
     wxCHECK_RET( IsOk(), "invalid dc" );
 
@@ -470,7 +470,7 @@ void wxWindowDCImpl::DoDrawLines( int n, wxPoint points[], wxCoord xoffset, wxCo
     }
 }
 
-void wxWindowDCImpl::DoDrawPolygon( int n, wxPoint points[],
+void wxWindowDCImpl::DoDrawPolygon( int n, const wxPoint points[],
                                 wxCoord xoffset, wxCoord yoffset, wxPolygonFillMode fillStyle )
 {
     wxCHECK_RET( IsOk(), "invalid dc" );
index 74eec510d4dfdba07db6be739ec726ccf203fcec..22bf7df908e09d36be647ac236edd9a7663b57f7 100644 (file)
@@ -881,7 +881,7 @@ void wxMSWDCImpl::DoDrawPoint(wxCoord x, wxCoord y)
 }
 
 void wxMSWDCImpl::DoDrawPolygon(int n,
-                         wxPoint points[],
+                         const wxPoint points[],
                          wxCoord xoffset,
                          wxCoord yoffset,
                          wxPolygonFillMode WXUNUSED_IN_WINCE(fillStyle))
@@ -929,8 +929,8 @@ void wxMSWDCImpl::DoDrawPolygon(int n,
 
 void
 wxMSWDCImpl::DoDrawPolyPolygon(int n,
-                        int count[],
-                        wxPoint points[],
+                        const int count[],
+                        const wxPoint points[],
                         wxCoord xoffset,
                         wxCoord yoffset,
                         wxPolygonFillMode fillStyle)
@@ -982,7 +982,7 @@ wxMSWDCImpl::DoDrawPolyPolygon(int n,
   // __WXWINCE__
 }
 
-void wxMSWDCImpl::DoDrawLines(int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset)
+void wxMSWDCImpl::DoDrawLines(int n, const wxPoint points[], wxCoord xoffset, wxCoord yoffset)
 {
     WXMICROWIN_CHECK_HDC
 
index b13314253a08739cc580bd976af32dcbd8269941..2f6b70a55396b2e12939c4ad279db4cf7b391e9e 100644 (file)
@@ -836,7 +836,7 @@ void wxPMDCImpl::DoDrawPoint(
 } // end of wxPMDCImpl::DoDrawPoint
 
 void wxPMDCImpl::DoDrawPolygon( int n,
-                          wxPoint vPoints[],
+                          const wxPoint vPoints[],
                           wxCoord vXoffset,
                           wxCoord vYoffset,
                           wxPolygonFillMode nFillStyle )
@@ -903,7 +903,7 @@ void wxPMDCImpl::DoDrawPolygon( int n,
 
 void wxPMDCImpl::DoDrawLines(
   int                               n
-, wxPoint                           vPoints[]
+, const wxPoint                           vPoints[]
 , wxCoord                           vXoffset
 , wxCoord                           vYoffset
 )
index 3f127c442b8cadd29f1543ef6b2601a49e2dfe9a..46a9657a2400855bdca8d77d17ffdefb8b35adec 100644 (file)
@@ -621,7 +621,7 @@ void wxWindowDCImpl::DoDrawPoint( wxCoord x, wxCoord y )
     CalcBoundingBox (x, y);
 }
 
-void wxWindowDCImpl::DoDrawLines( int n, wxPoint points[], wxCoord xoffset, wxCoord yoffset )
+void wxWindowDCImpl::DoDrawLines( int n, const wxPoint points[], wxCoord xoffset, wxCoord yoffset )
 {
     wxCHECK_RET( IsOk(), wxT("invalid window dc") );
 
@@ -641,7 +641,7 @@ void wxWindowDCImpl::DoDrawLines( int n, wxPoint points[], wxCoord xoffset, wxCo
     delete[] xpoints;
 }
 
-void wxWindowDCImpl::DoDrawPolygon( int n, wxPoint points[],
+void wxWindowDCImpl::DoDrawPolygon( int n, const wxPoint points[],
                                 wxCoord xoffset, wxCoord yoffset,
                                 wxPolygonFillMode WXUNUSED(fillStyle) )
 {