All Classes Namespaces Functions Variables Enumerations Properties Pages
bezierarea.h
1 /*
2 
3 Pencil2D - Traditional Animation Software
4 Copyright (C) 2005-2007 Patrick Corrieri & Pascal Naidon
5 Copyright (C) 2012-2020 Matthew Chiawen Chang
6 
7 This program is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 as published by the Free Software Foundation; version 2 of the License.
10 
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15 
16 */
17 #ifndef BEZIERAREA_H
18 #define BEZIERAREA_H
19 
20 
21 #include <QPainterPath>
22 
23 #include "vertexref.h"
24 
25 class Status;
26 class QXmlStreamWriter;
27 class QDomElement;
28 
29 
31 {
32 public:
33  BezierArea();
34  BezierArea(QList<VertexRef> vertexList, int color);
35 
36  Status createDomElement(QXmlStreamWriter& xmlStream);
37  void loadDomElement(const QDomElement& element);
38 
39  VertexRef getVertexRef(int i);
40  int getColorNumber() { return mColorNumber; }
41  void decreaseColorNumber() { mColorNumber--; }
42  void setSelected(bool YesOrNo);
43  bool isSelected() const { return mSelected; }
44  void setColorNumber(int cn) { mColorNumber = cn; }
45 
46  QList<VertexRef> mVertex;
47  QPainterPath mPath;
48  int mColorNumber = 0;
49 
50 private:
51  bool mSelected = false;
52  bool mIsFilled = false;
53 };
54 
55 #endif