Pencil2D Animation
Download Community News Docs Contribute
  • Overview
  • Articles
  • Code
  •  
  • Class List
  • Class Index
  • Class Hierarchy
  • Class Members
  • File List
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
SmudgeTool Class Reference
+ Inheritance diagram for SmudgeTool:
Inheritance graph
[legend]
+ Collaboration diagram for SmudgeTool:
Collaboration graph
[legend]

Public Member Functions

 SmudgeTool (QObject *parent=0)
 
ToolType type () override
 
void loadSettings () override
 
void saveSettings () override
 
void resetToDefault () override
 
QCursor cursor () override
 
void pointerPressEvent (PointerEvent *) override
 
void pointerReleaseEvent (PointerEvent *) override
 
void pointerMoveEvent (PointerEvent *) override
 
bool keyPressEvent (QKeyEvent *) override
 
bool keyReleaseEvent (QKeyEvent *) override
 
void drawStroke ()
 
void setWidth (const qreal width) override
 
void setFeather (const qreal feather) override
 
void setPressure (const bool pressure) override
 
- Public Member Functions inherited from StrokeTool
 StrokeTool (QObject *parent)
 
void startStroke (PointerEvent::InputType inputType)
 
void drawStroke ()
 
void endStroke ()
 
bool leavingThisTool () override
 Will clean up active connections.
 
bool enteringThisTool () override
 Setup active connections here that should only emit while tool is active leavingThisTool will handle the cleanup of active connections.
 
void updateCanvasCursor ()
 
void loadSettings () override
 
bool isActive () const override
 Check if the tool is active.
 
bool keyPressEvent (QKeyEvent *event) override
 
void pointerPressEvent (PointerEvent *event) override
 
void pointerMoveEvent (PointerEvent *event) override
 
void pointerReleaseEvent (PointerEvent *event) override
 
bool enterEvent (QEnterEvent *) override
 
bool leaveEvent (QEvent *) override
 
bool handleQuickSizing (PointerEvent *event)
 
void paint (QPainter &painter, const QRect &blitRect) override
 
- Public Member Functions inherited from BaseTool
QString typeName ()
 
void initialize (Editor *editor)
 
virtual ToolType type ()=0
 
virtual void loadSettings ()=0
 
virtual void saveSettings ()=0
 
virtual QCursor cursor ()
 
virtual void pointerPressEvent (PointerEvent *)=0
 
virtual void pointerMoveEvent (PointerEvent *)=0
 
virtual void pointerReleaseEvent (PointerEvent *)=0
 
virtual void pointerDoubleClickEvent (PointerEvent *)
 
virtual bool keyPressEvent (QKeyEvent *)
 
virtual bool keyReleaseEvent (QKeyEvent *)
 
virtual bool enterEvent (QEnterEvent *)
 
virtual bool leaveEvent (QEvent *)
 
virtual void clearToolData ()
 
virtual void resetToDefault ()
 
virtual bool isActive () const
 Check if the tool is active.
 
virtual void setWidth (const qreal width)
 
virtual void setFeather (const qreal feather)
 
virtual void setInvisibility (const bool invisibility)
 
virtual void setBezier (const bool bezier_state)
 
virtual void setClosedPath (const bool closed)
 
virtual void setPressure (const bool pressure)
 
virtual void setUseFeather (const bool usingFeather)
 
virtual void setPreserveAlpha (const bool preserveAlpha)
 
virtual void setVectorMergeEnabled (const bool vectorMergeEnabled)
 
virtual void setAA (const int useAA)
 
virtual void setFillMode (const int mode)
 
virtual void setStabilizerLevel (const int level)
 
virtual void setTolerance (const int tolerance)
 
virtual void setToleranceEnabled (const bool enabled)
 
virtual void setFillExpand (const int fillExpandValue)
 
virtual void setFillExpandEnabled (const bool enabled)
 
virtual void setFillReferenceMode (int referenceMode)
 
virtual void setUseFillContour (const bool useFillContour)
 
virtual void setShowSelectionInfo (const bool b)
 
virtual void setShowCameraPath (const bool showCameraPath)
 
virtual void setPathDotColorType (const DotColorType dotColorType)
 
virtual void resetCameraPath ()
 
virtual void paint (QPainter &painter, const QRect &blitRect)
 
virtual bool leavingThisTool ()
 Will clean up active connections.
 
virtual bool enteringThisTool ()
 Setup active connections here that should only emit while tool is active leavingThisTool will handle the cleanup of active connections.
 
bool isPropertyEnabled (ToolPropertyType t)
 
bool isDrawingTool ()
 BaseTool::isDrawingTool - A drawing tool is anything that applies something to the canvas.
 
- Public Member Functions inherited from QObject
virtual const QMetaObject * metaObject () const const
 
 QObject (QObject *parent)
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
QString objectName () const const
 
void setObjectName (const QString &name)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
bool signalsBlocked () const const
 
bool blockSignals (bool block)
 
QThread * thread () const const
 
void moveToThread (QThread *targetThread)
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
void killTimer (int id)
 
T findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
const QObjectList & children () const const
 
void setParent (QObject *parent)
 
void installEventFilter (QObject *filterObj)
 
void removeEventFilter (QObject *obj)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectTree ()
 
void dumpObjectInfo ()
 
void dumpObjectTree () const const
 
void dumpObjectInfo () const const
 
bool setProperty (const char *name, const QVariant &value)
 
QVariant property (const char *name) const const
 
QList< QByteArray > dynamicPropertyNames () const const
 
void destroyed (QObject *obj)
 
void objectNameChanged (const QString &objectName)
 
QObject * parent () const const
 
bool inherits (const char *className) const const
 
void deleteLater ()
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
T qobject_cast (QObject *object)
 
T qobject_cast (const QObject *object)
 
T qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
 Q_CLASSINFO (Name, Value)
 
 Q_INTERFACES (...)
 
 Q_PROPERTY (...)
 
 Q_ENUMS (...)
 
 Q_FLAGS (...)
 
 Q_ENUM (...)
 
 Q_FLAG (...)
 
 Q_ENUM_NS (...)
 
 Q_FLAG_NS (...)
 
 Q_OBJECT Q_OBJECT
 
 Q_GADGET Q_GADGET
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SLOTS Q_SLOTS
 
 Q_SLOT Q_SLOT
 
 Q_EMIT Q_EMIT
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 

Public Attributes

uint toolMode
 
- Public Attributes inherited from BaseTool
Properties properties
 
- Public Attributes inherited from QObject
typedef QObjectList
 

Protected Member Functions

bool emptyFrameActionEnabled () override
 Whether to enable the "drawing on empty frame" preference.
 
- Protected Member Functions inherited from StrokeTool
QPointF getCurrentPressPixel () const
 
QPointF getCurrentPressPoint () const
 
QPointF getCurrentPixel () const
 
QPointF getCurrentPoint () const
 
QPointF getLastPixel () const
 
QPointF getLastPoint () const
 
virtual bool startAdjusting (Qt::KeyboardModifiers modifiers)
 
virtual void stopAdjusting ()
 
virtual void adjustCursor (Qt::KeyboardModifiers modifiers)
 
virtual bool emptyFrameActionEnabled ()
 Whether to enable the "drawing on empty frame" preference.
 
- Protected Member Functions inherited from BaseTool
 BaseTool (QObject *parent)
 
Editor * editor ()
 
- Protected Member Functions inherited from QObject
QObject * sender () const const
 
int senderSignalIndex () const const
 
int receivers (const char *signal) const const
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
virtual void timerEvent (QTimerEvent *event)
 
virtual void childEvent (QChildEvent *event)
 
virtual void customEvent (QEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 

Private Member Functions

QPointF offsetFromPressPos ()
 

Private Attributes

QPointF mLastBrushPoint
 

Additional Inherited Members

- Public Slots inherited from StrokeTool
void onPreferenceChanged (SETTING setting)
 
void onViewUpdated ()
 
- Signals inherited from BaseTool
bool isActiveChanged (ToolType, bool)
 
- Static Public Member Functions inherited from BaseTool
static QString TypeName (ToolType)
 
- Static Public Member Functions inherited from QObject
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
- Static Public Attributes inherited from StrokeTool
static const qreal FEATHER_MIN = 1.
 
static const qreal FEATHER_MAX = 99.
 
static const qreal WIDTH_MIN = 1.
 
static const qreal WIDTH_MAX = 200.
 
- Protected Attributes inherited from StrokeTool
QHash< Qt::KeyboardModifiers, ToolPropertyType > mQuickSizingProperties
 
bool mFirstDraw = false
 
QList< QPointF > mStrokePoints
 
QList< qreal > mStrokePressures
 
qreal mCurrentWidth = 0.0
 
qreal mCurrentPressure = 0.5
 
PointerEvent::InputType mCurrentInputType = PointerEvent::Unknown
 
bool mCanvasCursorEnabled = false
 
QPointF mLastPixel { 0, 0 }
 
QPointF mAdjustPosition
 
CanvasCursorPainter mCanvasCursorPainter
 
StrokeInterpolator mInterpolator
 
const UndoSaveState * mUndoSaveState = nullptr
 
- Protected Attributes inherited from BaseTool
QHash< ToolPropertyType, bool > mPropertyEnabled
 
Editor * mEditor = nullptr
 
ScribbleArea * mScribbleArea = nullptr
 
QList< QMetaObject::Connection > mActiveConnections
 
- Static Protected Attributes inherited from StrokeTool
static bool mQuickSizingEnabled = false
 
static bool msIsAdjusting = false
 
- Properties inherited from QObject
 objectName
 

Detailed Description

Definition at line 23 of file smudgetool.h.

Constructor & Destructor Documentation

◆ SmudgeTool()

SmudgeTool::SmudgeTool ( QObject *  parent = 0)
explicit

Definition at line 35 of file smudgetool.cpp.

Member Function Documentation

◆ cursor()

QCursor SmudgeTool::cursor ( )
overridevirtual

Reimplemented from BaseTool.

Definition at line 103 of file smudgetool.cpp.

◆ drawStroke()

void SmudgeTool::drawStroke ( )

Definition at line 298 of file smudgetool.cpp.

◆ emptyFrameActionEnabled()

bool SmudgeTool::emptyFrameActionEnabled ( )
overrideprotectedvirtual

Whether to enable the "drawing on empty frame" preference.

If true, then the user preference is honored. If false, then the stroke is drawn on the previous key-frame (i.e. the "old" Pencil behaviour). Returns true by default.

Reimplemented from StrokeTool.

Definition at line 97 of file smudgetool.cpp.

◆ keyPressEvent()

bool SmudgeTool::keyPressEvent ( QKeyEvent *  event)
overridevirtual

Reimplemented from BaseTool.

Definition at line 114 of file smudgetool.cpp.

◆ keyReleaseEvent()

bool SmudgeTool::keyReleaseEvent ( QKeyEvent *  event)
overridevirtual

Reimplemented from BaseTool.

Definition at line 125 of file smudgetool.cpp.

◆ loadSettings()

void SmudgeTool::loadSettings ( )
overridevirtual

Implements BaseTool.

Definition at line 45 of file smudgetool.cpp.

◆ offsetFromPressPos()

QPointF SmudgeTool::offsetFromPressPos ( )
private

Definition at line 377 of file smudgetool.cpp.

◆ pointerMoveEvent()

void SmudgeTool::pointerMoveEvent ( PointerEvent *  event)
overridevirtual

Implements BaseTool.

Definition at line 194 of file smudgetool.cpp.

◆ pointerPressEvent()

void SmudgeTool::pointerPressEvent ( PointerEvent *  event)
overridevirtual

Implements BaseTool.

Definition at line 136 of file smudgetool.cpp.

◆ pointerReleaseEvent()

void SmudgeTool::pointerReleaseEvent ( PointerEvent *  event)
overridevirtual

Implements BaseTool.

Definition at line 255 of file smudgetool.cpp.

◆ resetToDefault()

void SmudgeTool::resetToDefault ( )
overridevirtual

Reimplemented from BaseTool.

Definition at line 73 of file smudgetool.cpp.

◆ saveSettings()

void SmudgeTool::saveSettings ( )
overridevirtual

Implements BaseTool.

Definition at line 62 of file smudgetool.cpp.

◆ setFeather()

void SmudgeTool::setFeather ( const qreal  feather)
overridevirtual

Reimplemented from BaseTool.

Definition at line 85 of file smudgetool.cpp.

◆ setPressure()

void SmudgeTool::setPressure ( const bool  pressure)
overridevirtual

Reimplemented from BaseTool.

Definition at line 91 of file smudgetool.cpp.

◆ setWidth()

void SmudgeTool::setWidth ( const qreal  width)
overridevirtual

Reimplemented from BaseTool.

Definition at line 79 of file smudgetool.cpp.

◆ type()

ToolType SmudgeTool::type ( )
overridevirtual

Implements BaseTool.

Definition at line 40 of file smudgetool.cpp.

Member Data Documentation

◆ mLastBrushPoint

QPointF SmudgeTool::mLastBrushPoint
private

Definition at line 55 of file smudgetool.h.

◆ toolMode

uint SmudgeTool::toolMode

Definition at line 29 of file smudgetool.h.


The documentation for this class was generated from the following files:
  • core_lib/src/tool/smudgetool.h
  • core_lib/src/tool/smudgetool.cpp
Generated on Thu May 8 2025 04:47:54 for Pencil2D by doxygen 1.9.6 based on revision 4513250b1d5b1a3676ec0e67b06b7a885ceaae39