All Classes Namespaces Functions Variables Enumerations Properties Pages
Public Slots | Signals | Public Member Functions | Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
ScribbleArea Class Reference
+ Inheritance diagram for ScribbleArea:

Public Slots

void clearImage ()
void setCurveSmoothing (int)
void toggleThinLines ()
void toggleOutlines ()
void increaseLayerVisibilityIndex ()
void decreaseLayerVisibilityIndex ()
void setLayerVisibility (LayerVisibility visibility)
void updateToolCursor ()
void paletteColorChanged (QColor)
void showLayerNotVisibleWarning ()


void multiLayerOnionSkinChanged (bool)
void refreshPreview ()
void selectionUpdated ()

Public Member Functions

 ScribbleArea (QWidget *parent)
bool init ()
void setEditor (Editor *e)
StrokeManagergetStrokeManager () const
Editoreditor () const
void deleteSelection ()
void displaySelectionProperties ()
void applyTransformedSelection ()
void cancelTransformedSelection ()
bool isLayerPaintable () const
QVector< QPointcalcSelectionCenterPoints ()
void setEffect (SETTING e, bool isOn)
LayerVisibility getLayerVisibility () const
qreal getCurveSmoothing () const
bool usePressure () const
bool makeInvisible () const
QRect getCameraRect ()
QPointF getCentralPoint ()
void updateCurrentFrame ()
 Update current frame. More...
void updateFrame (int frame)
 Update frame. More...
void onScrubbed (int frameNumber)
 Frame scrubbed, invalidate relevant cache.
void onFramesModified ()
 Multiple frames modified, invalidate cache for affected frames.
void onPlayStateChanged ()
 Playstate changed, invalidate relevant cache.
void onViewChanged ()
 View updated, invalidate relevant cache.
void onFrameModified (int frameNumber)
 Frame modified, invalidate cache for frame if any.
void onLayerChanged ()
 Layer changed, invalidate relevant cache.
void onSelectionChanged ()
 Selection was changed, keep cache.
void onOnionSkinTypeChanged ()
 Onion skin type changed, all frames will be affected. More...
void onObjectLoaded ()
 Object updated, invalidate all cache.
void onToolPropertyUpdated (ToolType, ToolPropertyType)
 Tool property updated, invalidate cache and frame if needed.
void onToolChanged (ToolType)
 Tool changed, invalidate cache and frame if needed.
void setModified (int layerNumber, int frameNumber)
 Set frame on layer to modified and invalidate current frame cache.
void setModified (const Layer *layer, int frameNumber)
void flipSelection (bool flipVertical)
BaseToolcurrentTool () const
BaseToolgetTool (ToolType eToolMode)
void setCurrentTool (ToolType eToolMode)
void floodFillError (int errorType)
bool isMouseInUse () const
bool isTabletInUse () const
bool isPointerInUse () const
void keyEvent (QKeyEvent *event)
void keyEventForSelection (QKeyEvent *event)
void drawPolyline (QPainterPath path, QPen pen, bool useAA)
void drawLine (QPointF P1, QPointF P2, QPen pen, QPainter::CompositionMode cm)
void drawPath (QPainterPath path, QPen pen, QBrush brush, QPainter::CompositionMode cm)
void drawPen (QPointF thePoint, qreal brushWidth, QColor fillColor, bool useAA=true)
void drawPencil (QPointF thePoint, qreal brushWidth, qreal fixedBrushFeather, QColor fillColor, qreal opacity)
void drawBrush (QPointF thePoint, qreal brushWidth, qreal offset, QColor fillColor, qreal opacity, bool usingFeather=true, bool useAA=false)
void blurBrush (BitmapImage *bmiSource_, QPointF srcPoint_, QPointF thePoint_, qreal brushWidth_, qreal offset_, qreal opacity_)
void liquifyBrush (BitmapImage *bmiSource_, QPointF srcPoint_, QPointF thePoint_, qreal brushWidth_, qreal offset_, qreal opacity_)
void paintBitmapBuffer ()
void paintBitmapBufferRect (const QRect &rect)
void paintCanvasCursor (QPainter &painter)
void clearBitmapBuffer ()
void refreshBitmap (const QRectF &rect, int rad)
void refreshVector (const QRectF &rect, int rad)
void setGaussianGradient (QGradient &gradient, QColor color, qreal opacity, qreal offset)
void pointerPressEvent (PointerEvent *)
void pointerMoveEvent (PointerEvent *)
void pointerReleaseEvent (PointerEvent *)
void updateCanvasCursor ()
void handleDrawingOnEmptyFrame ()
 Call this when starting to use a paint tool. More...
- Public Member Functions inherited from QWidget
 QWidget (QWidget *parent, Qt::WindowFlags f)
WId winId () const const
WId effectiveWinId () const const
QStylestyle () const const
void setStyle (QStyle *style)
bool isTopLevel () const const
bool isWindow () const const
bool isModal () const const
Qt::WindowModality windowModality () const const
void setWindowModality (Qt::WindowModality windowModality)
bool isEnabled () const const
bool isEnabledTo (const QWidget *ancestor) const const
bool isEnabledToTLW () const const
void setEnabled (bool)
void setDisabled (bool disable)
void setWindowModified (bool)
QRect frameGeometry () const const
const QRectgeometry () const const
QRect normalGeometry () const const
int x () const const
int y () const const
QPoint pos () const const
QSize frameSize () const const
QSize size () const const
int width () const const
int height () const const
QRect rect () const const
QRect childrenRect () const const
QRegion childrenRegion () const const
QSize minimumSize () const const
QSize maximumSize () const const
int minimumWidth () const const
int minimumHeight () const const
int maximumWidth () const const
int maximumHeight () const const
void setMinimumSize (const QSize &)
void setMinimumSize (int minw, int minh)
void setMaximumSize (const QSize &)
void setMaximumSize (int maxw, int maxh)
void setMinimumWidth (int minw)
void setMinimumHeight (int minh)
void setMaximumWidth (int maxw)
void setMaximumHeight (int maxh)
void setupUi (QWidget *widget)
QSize sizeIncrement () const const
void setSizeIncrement (const QSize &)
void setSizeIncrement (int w, int h)
QSize baseSize () const const
void setBaseSize (const QSize &)
void setBaseSize (int basew, int baseh)
void setFixedSize (const QSize &s)
void setFixedSize (int w, int h)
void setFixedWidth (int w)
void setFixedHeight (int h)
QPoint mapToGlobal (const QPoint &pos) const const
QPoint mapFromGlobal (const QPoint &pos) const const
QPoint mapToParent (const QPoint &pos) const const
QPoint mapFromParent (const QPoint &pos) const const
QPoint mapTo (const QWidget *parent, const QPoint &pos) const const
QPoint mapFrom (const QWidget *parent, const QPoint &pos) const const
QWidgetwindow () const const
QWidgetnativeParentWidget () const const
QWidgettopLevelWidget () const const
const QPalettepalette () const const
void setPalette (const QPalette &)
void setBackgroundRole (QPalette::ColorRole role)
QPalette::ColorRole backgroundRole () const const
void setForegroundRole (QPalette::ColorRole role)
QPalette::ColorRole foregroundRole () const const
const QFontfont () const const
void setFont (const QFont &)
QFontMetrics fontMetrics () const const
QFontInfo fontInfo () const const
QCursor cursor () const const
void setCursor (const QCursor &)
void unsetCursor ()
void setMouseTracking (bool enable)
bool hasMouseTracking () const const
bool underMouse () const const
void setTabletTracking (bool enable)
bool hasTabletTracking () const const
void setMask (const QBitmap &bitmap)
void setMask (const QRegion &region)
QRegion mask () const const
void clearMask ()
void render (QPaintDevice *target, const QPoint &targetOffset, const QRegion &sourceRegion, QWidget::RenderFlags renderFlags)
void render (QPainter *painter, const QPoint &targetOffset, const QRegion &sourceRegion, QWidget::RenderFlags renderFlags)
QPixmap grab (const QRect &rectangle)
QGraphicsEffectgraphicsEffect () const const
void setGraphicsEffect (QGraphicsEffect *effect)
void grabGesture (Qt::GestureType gesture, Qt::GestureFlags flags)
void ungrabGesture (Qt::GestureType gesture)
void setWindowTitle (const QString &)
void setStyleSheet (const QString &styleSheet)
QString styleSheet () const const
QString windowTitle () const const
void setWindowIcon (const QIcon &icon)
QIcon windowIcon () const const
void setWindowIconText (const QString &)
QString windowIconText () const const
void setWindowRole (const QString &role)
QString windowRole () const const
void setWindowFilePath (const QString &filePath)
QString windowFilePath () const const
void setWindowOpacity (qreal level)
qreal windowOpacity () const const
bool isWindowModified () const const
void setToolTip (const QString &)
QString toolTip () const const
void setToolTipDuration (int msec)
int toolTipDuration () const const
void setStatusTip (const QString &)
QString statusTip () const const
void setWhatsThis (const QString &)
QString whatsThis () const const
QString accessibleName () const const
void setAccessibleName (const QString &name)
QString accessibleDescription () const const
void setAccessibleDescription (const QString &description)
void setLayoutDirection (Qt::LayoutDirection direction)
Qt::LayoutDirection layoutDirection () const const
void unsetLayoutDirection ()
void setLocale (const QLocale &locale)
QLocale locale () const const
void unsetLocale ()
void setFocus ()
bool isActiveWindow () const const
void activateWindow ()
void clearFocus ()
void setFocus (Qt::FocusReason reason)
Qt::FocusPolicy focusPolicy () const const
void setFocusPolicy (Qt::FocusPolicy policy)
bool hasFocus () const const
void setFocusProxy (QWidget *w)
QWidgetfocusProxy () const const
Qt::ContextMenuPolicy contextMenuPolicy () const const
void setContextMenuPolicy (Qt::ContextMenuPolicy policy)
void grabMouse ()
void grabMouse (const QCursor &cursor)
void releaseMouse ()
void grabKeyboard ()
void releaseKeyboard ()
int grabShortcut (const QKeySequence &key, Qt::ShortcutContext context)
void releaseShortcut (int id)
void setShortcutEnabled (int id, bool enable)
void setShortcutAutoRepeat (int id, bool enable)
bool updatesEnabled () const const
void setUpdatesEnabled (bool enable)
QGraphicsProxyWidgetgraphicsProxyWidget () const const
void update ()
void repaint ()
void update (int x, int y, int w, int h)
void update (const QRect &rect)
void update (const QRegion &rgn)
void repaint (int x, int y, int w, int h)
void repaint (const QRect &rect)
void repaint (const QRegion &rgn)
virtual void setVisible (bool visible)
void setHidden (bool hidden)
void show ()
void hide ()
void showMinimized ()
void showMaximized ()
void showFullScreen ()
void showNormal ()
bool close ()
void raise ()
void lower ()
void stackUnder (QWidget *w)
void move (int x, int y)
void move (const QPoint &)
void resize (int w, int h)
void resize (const QSize &)
void setGeometry (int x, int y, int w, int h)
void setGeometry (const QRect &)
QByteArray saveGeometry () const const
bool restoreGeometry (const QByteArray &geometry)
void adjustSize ()
bool isVisible () const const
bool isVisibleTo (const QWidget *ancestor) const const
bool isHidden () const const
bool isMinimized () const const
bool isMaximized () const const
bool isFullScreen () const const
Qt::WindowStates windowState () const const
void setWindowState (Qt::WindowStates windowState)
virtual QSize sizeHint () const const
virtual QSize minimumSizeHint () const const
QSizePolicy sizePolicy () const const
void setSizePolicy (QSizePolicy)
void setSizePolicy (QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical)
virtual int heightForWidth (int w) const const
virtual bool hasHeightForWidth () const const
QRegion visibleRegion () const const
void setContentsMargins (int left, int top, int right, int bottom)
void setContentsMargins (const QMargins &margins)
void getContentsMargins (int *left, int *top, int *right, int *bottom) const const
QMargins contentsMargins () const const
QRect contentsRect () const const
QLayoutlayout () const const
void setLayout (QLayout *layout)
void updateGeometry ()
void setParent (QWidget *parent)
void setParent (QWidget *parent, Qt::WindowFlags f)
void scroll (int dx, int dy)
void scroll (int dx, int dy, const QRect &r)
QWidgetfocusWidget () const const
QWidgetnextInFocusChain () const const
QWidgetpreviousInFocusChain () const const
bool acceptDrops () const const
void setAcceptDrops (bool on)
void addAction (QAction *action)
void addActions (QList< QAction * > actions)
void insertActions (QAction *before, QList< QAction * > actions)
void insertAction (QAction *before, QAction *action)
void removeAction (QAction *action)
QList< QAction * > actions () const const
QWidgetparentWidget () const const
void setWindowFlags (Qt::WindowFlags type)
Qt::WindowFlags windowFlags () const const
void setWindowFlag (Qt::WindowType flag, bool on)
void overrideWindowFlags (Qt::WindowFlags flags)
Qt::WindowType windowType () const const
QWidgetchildAt (int x, int y) const const
QWidgetchildAt (const QPoint &p) const const
void setAttribute (Qt::WidgetAttribute attribute, bool on)
bool testAttribute (Qt::WidgetAttribute attribute) const const
virtual QPaintEnginepaintEngine () const const override
void ensurePolished () const const
bool isAncestorOf (const QWidget *child) const const
bool hasEditFocus () const const
void setEditFocus (bool enable)
bool autoFillBackground () const const
void setAutoFillBackground (bool enabled)
QBackingStorebackingStore () const const
QWindowwindowHandle () const const
QScreenscreen () const const
void windowTitleChanged (const QString &title)
void windowIconChanged (const QIcon &icon)
void windowIconTextChanged (const QString &iconText)
void customContextMenuRequested (const QPoint &pos)
virtual QVariant inputMethodQuery (Qt::InputMethodQuery query) const const
Qt::InputMethodHints inputMethodHints () const const
void setInputMethodHints (Qt::InputMethodHints hints)
- Public Member Functions inherited from QObject
virtual const QMetaObjectmetaObject () const const
 QObject (QObject *parent)
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)
QThreadthread () 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)
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 QObjectListchildren () 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< QByteArraydynamicPropertyNames () const const
void destroyed (QObject *obj)
void objectNameChanged (const QString &objectName)
QObjectparent () const const
bool inherits (const char *className) const const
void deleteLater ()
qobject_cast (QObject *object)
qobject_cast (const QObject *object)
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_ENUMS (...)
 Q_FLAGS (...)
 Q_ENUM (...)
 Q_FLAG (...)
 Q_ENUM_NS (...)
 Q_FLAG_NS (...)
- Public Member Functions inherited from QPaintDevice
bool paintingActive () const const
int width () const const
int height () const const
int widthMM () const const
int heightMM () const const
int logicalDpiX () const const
int logicalDpiY () const const
int physicalDpiX () const const
int physicalDpiY () const const
int devicePixelRatio () const const
qreal devicePixelRatioF () const const
int colorCount () const const
int depth () const const

Public Attributes

BitmapImagemBufferImg = nullptr
QPixmap mCursorImg
QPixmap mTransCursImg
- Public Attributes inherited from QWidget
typedef RenderFlags
- Public Attributes inherited from QObject
typedef QObjectList
- Public Attributes inherited from QPaintDevice

Protected Member Functions

bool event (QEvent *event) override
void tabletEvent (QTabletEvent *) override
void wheelEvent (QWheelEvent *) override
void mousePressEvent (QMouseEvent *) override
void mouseMoveEvent (QMouseEvent *) override
void mouseReleaseEvent (QMouseEvent *) override
void mouseDoubleClickEvent (QMouseEvent *) override
void keyPressEvent (QKeyEvent *) override
void keyReleaseEvent (QKeyEvent *) override
void paintEvent (QPaintEvent *) override
void resizeEvent (QResizeEvent *) override
- Protected Member Functions inherited from QWidget
virtual void focusInEvent (QFocusEvent *event)
virtual void focusOutEvent (QFocusEvent *event)
virtual void enterEvent (QEvent *event)
virtual void leaveEvent (QEvent *event)
virtual void moveEvent (QMoveEvent *event)
virtual void closeEvent (QCloseEvent *event)
virtual void contextMenuEvent (QContextMenuEvent *event)
virtual void actionEvent (QActionEvent *event)
virtual void dragEnterEvent (QDragEnterEvent *event)
virtual void dragMoveEvent (QDragMoveEvent *event)
virtual void dragLeaveEvent (QDragLeaveEvent *event)
virtual void dropEvent (QDropEvent *event)
virtual void showEvent (QShowEvent *event)
virtual void hideEvent (QHideEvent *event)
virtual bool nativeEvent (const QByteArray &eventType, void *message, long *result)
virtual void changeEvent (QEvent *event)
virtual int metric (QPaintDevice::PaintDeviceMetric m) const const override
virtual void initPainter (QPainter *painter) const const override
virtual void inputMethodEvent (QInputMethodEvent *event)
void updateMicroFocus ()
void create (WId window, bool initializeWindow, bool destroyOldWindow)
void destroy (bool destroyWindow, bool destroySubWindows)
virtual bool focusNextPrevChild (bool next)
bool focusNextChild ()
bool focusPreviousChild ()
- Protected Member Functions inherited from QObject
QObjectsender () 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

void invalidateCaches ()
 Invalidate the layer pixmap and camera painter caches. More...
void invalidateCacheForFrame (int frameNumber)
 Invalidate cache for the given frame.
void invalidateAllCache ()
 Invalidate all cache. More...
void invalidateCacheForDirtyFrames ()
 invalidate cache for dirty keyframes. More...
void invalidateOnionSkinsCacheAround (int frame)
 invalidate onion skin cache around frame
void prepOverlays (int frame)
void prepCameraPainter (int frame)
void prepCanvas (int frame, QRect rect)
void drawCanvas (int frame, QRect rect)
void settingUpdated (SETTING setting)
void paintSelectionVisuals (QPainter &painter)
BitmapImagecurrentBitmapImage (Layer *layer) const
VectorImagecurrentVectorImage (Layer *layer) const
void tabletReleaseEventFired ()
void handleDoubleClick ()

Private Attributes

MoveMode mMoveMode = MoveMode::NONE
BitmapImage mBitmapSelection
std::unique_ptr< StrokeManagermStrokeManager
EditormEditor = nullptr
bool mIsSimplified = false
bool mShowThinLines = false
bool mQuickSizing = true
LayerVisibility mLayerVisibility = LayerVisibility::ALL
bool mUsePressure = true
bool mMakeInvisible = false
bool mToolCursors = true
qreal mCurveSmoothingLevel = 0.0
bool mMultiLayerOnionSkin = false
QColor mOnionColor
bool mKeyboardInUse = false
bool mMouseInUse = false
bool mMouseRightButtonInUse = false
bool mTabletInUse = false
qreal mDevicePixelRatio = 1.
bool mIsFirstClick = true
int mDoubleClickMillis = 0
QTimermDoubleClickTimer = nullptr
int mTabletReleaseMillisAgo
QTimermMouseFilterTimer = nullptr
QPoint mCursorCenterPos
QPointF mTransformedCursorPos
PreferenceManagermPrefs = nullptr
QPixmap mCanvas
CanvasPainter mCanvasPainter
OverlayPainter mOverlayPainter
SelectionPainter mSelectionPainter
CameraPainter mCameraPainter
QPolygonF mOriginalPolygonF = QPolygonF()
QMap< unsigned int,
QLoggingCategory mLog { "ScribbleArea" }


class MoveTool
class EditTool
class SmudgeTool
class BucketTool

Additional Inherited Members

- Public Types inherited from QWidget
enum  RenderFlag
- Public Types inherited from QPaintDevice
enum  PaintDeviceMetric
- Static Public Member Functions inherited from QWidget
void setTabOrder (QWidget *first, QWidget *second)
QWidgetmouseGrabber ()
QWidgetkeyboardGrabber ()
QWidgetfind (WId id)
QWidgetcreateWindowContainer (QWindow *window, QWidget *parent, Qt::WindowFlags flags)
- 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)
- Properties inherited from QWidget
- Properties inherited from QObject

Detailed Description

Definition at line 51 of file scribblearea.h.

Member Function Documentation

void ScribbleArea::handleDrawingOnEmptyFrame ( )

Call this when starting to use a paint tool.

Checks whether we are drawing on an empty frame, and if so, takes action according to use preference.

Definition at line 993 of file scribblearea.cpp.

void ScribbleArea::invalidateAllCache ( )

Invalidate all cache.

call this if you're certain that the change you've made affects all frames

Definition at line 252 of file scribblearea.cpp.

void ScribbleArea::invalidateCacheForDirtyFrames ( )

invalidate cache for dirty keyframes.

Definition at line 200 of file scribblearea.cpp.

void ScribbleArea::invalidateCaches ( )

Invalidate the layer pixmap and camera painter caches.

Call this in most situations where the layer rendering order is affected. Peviously known as setAllDirty.

Definition at line 273 of file scribblearea.cpp.

void ScribbleArea::onOnionSkinTypeChanged ( )

Onion skin type changed, all frames will be affected.

All cache will be invalidated

Definition at line 358 of file scribblearea.cpp.

void ScribbleArea::updateCurrentFrame ( )

Update current frame.

calls update() behind the scene and update cache if necessary

Definition at line 189 of file scribblearea.cpp.

void ScribbleArea::updateFrame ( int  frame)

Update frame.

calls update() behind the scene and update cache if necessary

Definition at line 194 of file scribblearea.cpp.

The documentation for this class was generated from the following files: