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 }
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 }