Code

Cleaned up virtual destructor problem and compile warnings.
[inkscape.git] / src / extension / internal / libwpg / WPGPoint.cpp
1 /* libwpg
2  * Copyright (C) 2006 Ariya Hidayat (ariya@kde.org)
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Library General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public
15  * License along with this library; if not, write to the 
16  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 
17  * Boston, MA  02111-1301 USA
18  *
19  * For further information visit http://libwpg.sourceforge.net
20  */
22 /* "This product is not manufactured, approved, or supported by
23  * Corel Corporation or Corel Corporation Limited."
24  */
26 #include "WPGPoint.h"
28 #include <vector>
30 namespace libwpg
31 {
33 class WPGPointArrayPrivate
34 {
35 public:
36         std::vector<WPGPoint> points;
37 };
39 }
40         
41 using namespace libwpg;
44 WPGPointArray::WPGPointArray()
45 {
46         d = new WPGPointArrayPrivate;
47 }
49 WPGPointArray::~WPGPointArray()
50 {
51         delete d;
52 }
54 WPGPointArray::WPGPointArray(const WPGPointArray& pa)
55 {
56         d = new WPGPointArrayPrivate;
57         d->points = pa.d->points;
58 }
60 WPGPointArray& WPGPointArray::operator=(const WPGPointArray& pa)
61 {
62         d->points = pa.d->points;
63         return *this;
64 }
66 unsigned WPGPointArray::count() const
67 {
68         return d->points.size();
69 }
71 WPGPoint& WPGPointArray::at(unsigned i)
72 {
73         return d->points[i];
74 }
76 const WPGPoint& WPGPointArray::at(unsigned i) const
77 {
78         return d->points[i];
79 }
81 const WPGPoint& WPGPointArray::operator[](unsigned i) const
82 {
83         return d->points[i];
84 }
86 void WPGPointArray::add(const WPGPoint& p)
87 {
88         d->points.push_back(p);
89 }