Pencil2D Animation
Download
Community
News
Docs
Contribute
core_lib/src/tool/penciltool.h Source File
Main Page
Related Pages
Classes
Files
File List
Loading...
Searching...
No Matches
core_lib
src
tool
penciltool.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 PENCILTOOL_H
19
#define PENCILTOOL_H
20
21
#include "stroketool.h"
22
#include <QColor>
23
24
class
Layer
;
25
26
class
PencilTool
:
public
StrokeTool
27
{
28
Q_OBJECT
29
public
:
30
explicit
PencilTool
(
QObject
*
parent
);
31
ToolType type()
override
{
return
PENCIL; }
32
void
loadSettings()
override
;
33
QCursor
cursor()
override
;
34
void
resetToDefault()
override
;
35
36
void
pointerPressEvent(
PointerEvent
*)
override
;
37
void
pointerMoveEvent(
PointerEvent
*)
override
;
38
void
pointerReleaseEvent(
PointerEvent
*)
override
;
39
40
void
drawStroke();
41
void
paintAt(
QPointF
point);
42
void
paintVectorStroke(
Layer
* layer);
43
void
paintBitmapStroke();
44
45
void
setWidth(
const
qreal width)
override
;
46
void
setFeather(
const
qreal feather)
override
;
47
void
setUseFeather(
const
bool
useFeather)
override
;
48
void
setInvisibility(
const
bool
invisibility)
override
;
49
void
setPressure(
const
bool
pressure)
override
;
50
void
setPreserveAlpha(
const
bool
preserveAlpha)
override
;
51
void
setStabilizerLevel(
const
int
level)
override
;
52
void
setUseFillContour(
const
bool
useFillContour)
override
;
53
54
private
:
55
QColor
mCurrentPressuredColor{ 0, 0, 0, 255 };
56
QPointF
mLastBrushPoint{ 0, 0 };
57
qreal mOpacity = 1.0f;
58
QPointF
mMouseDownPoint;
59
};
60
61
#endif
// PENCILTOOL_H
Layer
Definition:
layer.h:38
PencilTool
Definition:
penciltool.h:27
PointerEvent
Definition:
pointerevent.h:8
StrokeTool
Definition:
stroketool.h:29
QColor
QCursor
QObject
QObject::Q_OBJECT
Q_OBJECTQ_OBJECT
QObject::parent
QObject * parent() const const
QPointF