All Classes Namespaces Functions Variables Enumerations Properties Pages
bucketoptionswidget.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 BUCKETOPTIONSWIDGET_H
18 #define BUCKETOPTIONSWIDGET_H
19 
20 #include <QWidget>
21 #include "pencildef.h"
22 
23 class Editor;
24 class Layer;
25 
26 namespace Ui {
28 }
29 
31 {
32  Q_OBJECT
33 
34 public:
35  explicit BucketOptionsWidget(Editor* editor, QWidget* parent);
37 
38  void setStrokeWidth(qreal value);
39  void setColorToleranceEnabled(bool enabled);
40  void setFillExpandEnabled(bool enabled);
41  void setFillExpand(int value);
42  void setColorTolerance(int tolerance);
43  void setFillReferenceMode(int referenceMode);
44  void setFillToLayerMode(int layerMode);
45  void setFillMode(int mode);
46 
47  void onPropertyChanged(ToolType, const ToolPropertyType propertyType);
48  void onLayerChanged(int);
49 
50 private:
51  void updatePropertyVisibility();
52 
53  Ui::BucketOptionsWidget *ui;
54  Editor* mEditor = nullptr;
55 
56  const static int MAX_EXPAND = 25;
57  const static int MAX_COLOR_TOLERANCE = 100;
58  const static int MAX_STROKE_THICKNESS = 200;
59 };
60 
61 #endif // BUCKETOPTIONSWIDGET_H
Q_OBJECTQ_OBJECT
Definition: layer.h:38
Definition: editor.h:55
QObject * parent() const const