Pencil2D Animation
Download Community News Docs Contribute

StrokeTool Class Reference

  • Main Page
  • Related Pages
  • Classes
  • Files
  •  
  • Class List
  • Class Index
  • Class Hierarchy
  • Class Members
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
StrokeTool Class Reference
+ Inheritance diagram for StrokeTool:
BaseTool QObject BrushTool BucketTool EraserTool PenTool PencilTool SmudgeTool

Public Member Functions

 StrokeTool (QObject *parent)
 
void startStroke (PointerEvent::InputType inputType)
 
void drawStroke ()
 
void endStroke ()
 
bool keyPressEvent (QKeyEvent *event) override
 
- Public Member Functions inherited from BaseTool
QString typeName ()
 
void initialize (Editor *editor)
 
virtual ToolType type ()=0
 
virtual void loadSettings ()=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 startAdjusting (Qt::KeyboardModifiers modifiers, qreal argStep)
 
virtual void stopAdjusting ()
 
virtual void adjustCursor (Qt::KeyboardModifiers modifiers)
 
virtual void clearToolData ()
 
virtual void resetToDefault ()
 
QPixmap quickSizeCursor (qreal scalingFac)
 precision circular cursor: used for drawing stroke size while adjusting
 
virtual bool isActive ()
 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 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)
 
virtual bool leavingThisTool ()
 
QPointF getCurrentPressPixel () const
 
QPointF getCurrentPressPoint () const
 
QPointF getCurrentPixel () const
 
QPointF getCurrentPoint () const
 
QPointF getLastPixel () const
 
QPointF getLastPoint () const
 
QPointF getLastPressPixel () const
 
QPointF getLastPressPoint () const
 
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
 

Protected Member Functions

virtual bool emptyFrameActionEnabled ()
 Whether to enable the "drawing on empty frame" preference.
 
- Protected Member Functions inherited from BaseTool
 BaseTool (QObject *parent)
 
StrokeManager * strokeManager () const
 
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)
 

Protected Attributes

bool mFirstDraw = false
 
QList< QPointF > mStrokePoints
 
QList< qreal > mStrokePressures
 
qreal mCurrentWidth = 0.0
 
qreal mCurrentPressure = 0.5
 
PointerEvent::InputType mCurrentInputType = PointerEvent::Unknown
 
- Protected Attributes inherited from BaseTool
QHash< ToolPropertyType, bool > mPropertyEnabled
 
Editor * mEditor = nullptr
 
ScribbleArea * mScribbleArea = nullptr
 
QHash< Qt::KeyboardModifiers, ToolPropertyType > mQuickSizingProperties
 

Private Attributes

QPointF mLastPixel { 0, 0 }
 

Additional Inherited Members

- Signals inherited from BaseTool
bool isActiveChanged (ToolType, bool)
 
- Static Public Member Functions inherited from BaseTool
static QString TypeName (ToolType)
 
static QPixmap canvasCursor (float brushWidth, float brushFeather, bool useFeather, float scalingFac, int windowWidth)
 precision circular cursor: used for drawing a cursor within scribble area.
 
static bool isAdjusting ()
 
- 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)
 
- Public Attributes inherited from BaseTool
Properties properties
 
- Public Attributes inherited from QObject
typedef QObjectList
 
- Properties inherited from QObject
 objectName
 

Detailed Description

Definition at line 28 of file stroketool.h.

Constructor & Destructor Documentation

◆ StrokeTool()

StrokeTool::StrokeTool ( QObject *  parent)
explicit

Definition at line 41 of file stroketool.cpp.

Member Function Documentation

◆ drawStroke()

void StrokeTool::drawStroke ( )

Definition at line 107 of file stroketool.cpp.

◆ emptyFrameActionEnabled()

bool StrokeTool::emptyFrameActionEnabled ( )
protectedvirtual

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 in SmudgeTool.

Definition at line 89 of file stroketool.cpp.

◆ endStroke()

void StrokeTool::endStroke ( )

Definition at line 94 of file stroketool.cpp.

◆ keyPressEvent()

bool StrokeTool::keyPressEvent ( QKeyEvent *  event)
overridevirtual

Reimplemented from BaseTool.

Definition at line 70 of file stroketool.cpp.

◆ startStroke()

void StrokeTool::startStroke ( PointerEvent::InputType  inputType)

Definition at line 46 of file stroketool.cpp.

Member Data Documentation

◆ mCurrentInputType

PointerEvent::InputType StrokeTool::mCurrentInputType = PointerEvent::Unknown
protected

Definition at line 50 of file stroketool.h.

◆ mCurrentPressure

qreal StrokeTool::mCurrentPressure = 0.5
protected

Definition at line 48 of file stroketool.h.

◆ mCurrentWidth

qreal StrokeTool::mCurrentWidth = 0.0
protected

Definition at line 47 of file stroketool.h.

◆ mFirstDraw

bool StrokeTool::mFirstDraw = false
protected

Definition at line 42 of file stroketool.h.

◆ mLastPixel

QPointF StrokeTool::mLastPixel { 0, 0 }
private

Definition at line 60 of file stroketool.h.

◆ mStrokePoints

QList<QPointF> StrokeTool::mStrokePoints
protected

Definition at line 44 of file stroketool.h.

◆ mStrokePressures

QList<qreal> StrokeTool::mStrokePressures
protected

Definition at line 45 of file stroketool.h.


The documentation for this class was generated from the following files:
  • core_lib/src/tool/stroketool.h
  • core_lib/src/tool/stroketool.cpp
Generated on Sat Nov 25 2023 13:00:02 for Pencil2D by doxygen 1.9.6 based on revision 18c5494f61f228a0f7b8820420627d4ac76231a8