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 #ifndef __WPGPEN_H__
27 #define __WPGPEN_H__
29 #include "WPGColor.h"
31 namespace libwpg
32 {
34 class WPGDashArrayPrivate;
36 class WPGDashArray
37 {
38 public:
39 WPGDashArray();
40 ~WPGDashArray();
41 WPGDashArray(const WPGDashArray&);
42 WPGDashArray& operator=(const WPGDashArray&);
43 unsigned count() const;
44 double at(unsigned i) const;
45 void add(double p);
47 private:
48 WPGDashArrayPrivate *d;
49 };
51 class WPGPen
52 {
53 public:
54 WPGColor foreColor;
55 WPGColor backColor;
56 double width;
57 double height;
58 bool solid;
59 WPGDashArray dashArray;
61 WPGPen():
62 foreColor(0,0,0),
63 backColor(0,0,0),
64 width(0),
65 height(0),
66 solid(true)
67 {};
69 WPGPen(const WPGColor& fore):
70 foreColor(fore),
71 backColor(0,0,0),
72 width(0),
73 height(0),
74 solid(true)
75 {};
77 WPGPen(const WPGColor& fore, const WPGColor& back):
78 foreColor(fore),
79 backColor(back),
80 width(0),
81 height(0),
82 solid(true)
83 {};
85 WPGPen(const WPGPen& pen)
86 {
87 foreColor = pen.foreColor;
88 backColor = pen.backColor;
89 width = pen.width;
90 height = pen.height;
91 solid = pen.solid;
92 dashArray = pen.dashArray;
93 }
95 WPGPen& operator=(const WPGPen& pen)
96 {
97 foreColor = pen.foreColor;
98 backColor = pen.backColor;
99 width = pen.width;
100 height = pen.height;
101 solid = pen.solid;
102 dashArray = pen.dashArray;
103 return *this;
104 }
106 static WPGPen NoPen;
107 };
109 } // namespace libwpg
112 #endif // __WPGPEN_H__