--- /dev/null
+/////////////////////////////////////////////////////////////////////////////
+// Name: dc.cpp
+// Purpose: wxDC Class
+// Author: Brian Macy
+// Modified by:
+// Created: 05/25/99
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart and Markus Holzem
+// Licence: wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+#ifdef __GNUG__
+#pragma implementation "dcbase.h"
+#endif
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+#pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+#include "wx/defs.h"
+#endif
+
+#include "wx/dc.h"
+
+void wxDCBase::DrawLines(const wxList *list, long xoffset, long yoffset)
+{
+ int n = list->Number();
+ wxPoint *points = new wxPoint[n];
+
+ int i = 0;
+ for ( wxNode *node = list->First(); node; node = node->Next(), i++ )
+ {
+ wxPoint *point = (wxPoint *)node->Data();
+ points[i].x = point->x;
+ points[i].y = point->y;
+ }
+
+ DoDrawLines(n, points, xoffset, yoffset);
+
+ delete [] points;
+}
+
+
+void wxDCBase::DrawPolygon(const wxList *list,
+ long xoffset, long yoffset,
+ int fillStyle)
+{
+ int n = list->Number();
+ wxPoint *points = new wxPoint[n];
+
+ int i = 0;
+ for ( wxNode *node = list->First(); node; node = node->Next(), i++ )
+ {
+ wxPoint *point = (wxPoint *)node->Data();
+ points[i].x = point->x;
+ points[i].y = point->y;
+ }
+
+ DoDrawPolygon(n, points, xoffset, yoffset, fillStyle);
+
+ delete [] points;
+}
+
+
+#ifdef wxUSE_SPLINES
+
+// TODO: this API needs fixing (wxPointList, why (!const) "wxList *"?)
+void wxDCBase::DrawSpline(long x1, long y1, long x2, long y2, long x3, long y3)
+{
+ wxList point_list;
+
+ wxPoint *point1 = new wxPoint;
+ point1->x = x1; point1->y = y1;
+ point_list.Append((wxObject*)point1);
+
+ wxPoint *point2 = new wxPoint;
+ point2->x = x2; point2->y = y2;
+ point_list.Append((wxObject*)point2);
+
+ wxPoint *point3 = new wxPoint;
+ point3->x = x3; point3->y = y3;
+ point_list.Append((wxObject*)point3);
+
+ DrawSpline(&point_list);
+
+ for( wxNode *node = point_list.First(); node; node = node->Next() )
+ {
+ wxPoint *p = (wxPoint *)node->Data();
+ delete p;
+ }
+}
+
+void wxDCBase::DrawSpline(int n, wxPoint points[])
+{
+ wxList list;
+ for (int i =0; i < n; i++)
+ {
+ list.Append((wxObject*)&points[i]);
+ }
+
+ DrawSpline(&list);
+}
+
+#endif // wxUSE_SPLINES
\ No newline at end of file