All Classes Namespaces Functions Variables Enumerations Properties Pages
buckettool.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 
18 #ifndef BUCKETTOOL_H
19 #define BUCKETTOOL_H
20 
21 #include "stroketool.h"
22 
23 class Layer;
24 class VectorImage;
25 
26 class BucketTool : public StrokeTool
27 {
28  Q_OBJECT
29 public:
30  explicit BucketTool(QObject* parent = nullptr);
31  ToolType type() override;
32  void loadSettings() override;
33  void resetToDefault() override;
34  QCursor cursor() override;
35 
36  void pointerPressEvent(PointerEvent*) override;
37  void pointerMoveEvent(PointerEvent*) override;
38  void pointerReleaseEvent(PointerEvent*) override;
39 
40  bool startAdjusting(Qt::KeyboardModifiers modifiers, qreal argStep) override;
41 
42  void setTolerance(const int tolerance) override;
43  void setWidth(const qreal width) override;
44 
45  void paintBitmap(Layer* layer);
46  void paintVector(Layer* layer);
47  void drawStroke();
48 
49  void applyChanges();
50 
51 private:
52 
53  VectorImage* vectorImage = nullptr;
54 };
55 
56 #endif // BUCKETTOOL_H
void setWidth(const qreal width) override
BrushTool::setWidth.
Definition: buckettool.cpp:87
typedef KeyboardModifiers
Q_OBJECTQ_OBJECT
Definition: layer.h:39
QObject * parent() const const