SymbolEditor  1.3.0
 All Classes Files Functions Variables Enumerations Enumerator Friends Pages
Symbol.h
Go to the documentation of this file.
1 /********************************************************************************
2  * Copyright (C) 2011 by Stephen Allewell *
3  * sallewell@users.sourceforge.net *
4  * *
5  * This program is free software; you can redistribute it and/or modify *
6  * it under the terms of the GNU General Public License as published by *
7  * the Free Software Foundation; either version 2 of the License, or *
8  * (at your option) any later version. *
9  ********************************************************************************/
10 
11 
18 #ifndef Symbol_H
19 #define Symbol_H
20 
21 
22 #include <QPainterPath>
23 
24 
33 class Symbol
34 {
35 public:
36  Symbol();
37  ~Symbol();
38 
39  QPainterPath path() const;
40  bool filled() const;
41  qreal lineWidth() const;
42  Qt::PenCapStyle capStyle() const;
43  Qt::PenJoinStyle joinStyle() const;
44 
45  void setPath(const QPainterPath &path);
46  void setFilled(bool filled);
47  void setLineWidth(qreal width);
48  void setCapStyle(Qt::PenCapStyle penCapStyle);
49  void setJoinStyle(Qt::PenJoinStyle penJoinStyle);
50 
51  friend QDataStream &operator<<(QDataStream &stream, const Symbol &symbol);
52  friend QDataStream &operator>>(QDataStream &stream, Symbol &symbol);
53 
54 private:
55  static const qint32 version = 100;
57  QPainterPath m_path;
58  bool m_filled;
59  qreal m_lineWidth;
60  Qt::PenCapStyle m_capStyle;
61  Qt::PenJoinStyle m_joinStyle;
62 };
63 
64 
65 QDataStream &operator<<(QDataStream &stream, const Symbol &symbol);
66 QDataStream &operator>>(QDataStream &stream, Symbol &symbol);
67 
68 
69 #endif
70