Pencil2D Animation
Download
Community
News
Docs
Contribute
Overview
Articles
Code
Class List
Class Index
Class Hierarchy
Class Members
File List
Loading...
Searching...
No Matches
core_lib
src
tool
brushtool.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 BRUSHTOOL_H
19
#define BRUSHTOOL_H
20
21
#include "stroketool.h"
22
#include <QColor>
23
24
class
Layer
;
25
26
class
BrushTool
:
public
StrokeTool
27
{
28
Q_OBJECT
29
30
public
:
31
explicit
BrushTool
(
QObject
*
parent
= 0);
32
33
ToolType type()
const override
;
34
35
ToolProperties
& toolProperties()
override
{
return
mSettings.toolProperties(); }
36
const
StrokeToolProperties
& strokeToolProperties()
const override
{
return
mSettings; }
37
38
void
loadSettings()
override
;
39
QCursor
cursor()
override
;
40
41
void
pointerMoveEvent(
PointerEvent
*)
override
;
42
void
pointerPressEvent(
PointerEvent
*)
override
;
43
void
pointerReleaseEvent(
PointerEvent
*)
override
;
44
45
void
drawStroke();
46
void
paintVectorStroke(
Layer
* layer);
47
void
paintAt(
QPointF
point);
48
49
protected
:
50
QPointF
mLastBrushPoint;
51
QPointF
mMouseDownPoint;
52
53
QColor
mCurrentPressuredColor;
54
qreal mOpacity = 1.0;
55
56
StrokeToolProperties
mSettings;
57
};
58
59
#endif
// BRUSHTOOL_H
BrushTool
Definition:
brushtool.h:27
Layer
Definition:
layer.h:33
PointerEvent
Definition:
pointerevent.h:8
StrokeTool
Definition:
stroketool.h:35
QColor
QCursor
QObject
QObject::Q_OBJECT
Q_OBJECTQ_OBJECT
QObject::parent
QObject * parent() const const
QPointF
StrokeToolProperties
Definition:
toolproperties.h:395
ToolProperties
Definition:
toolproperties.h:204