Krita Source Code Documentation
Loading...
Searching...
No Matches
KisAnimCurvesKeyDelegate.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2016 Jouni Pentikäinen <joupent@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef _KIS_ANIMATION_CURVES_KEYFRAME_DELEGATE_H
8#define _KIS_ANIMATION_CURVES_KEYFRAME_DELEGATE_H
9
10#include <qabstractitemdelegate.h>
11
14
15class KisAnimCurvesKeyDelegate : public QAbstractItemDelegate
16{
17 Q_OBJECT
18
19public:
20 KisAnimCurvesKeyDelegate(const KisAnimTimelineTimeHeader *horizontalRuler, const KisAnimCurvesValuesHeader *verticalRuler, QObject *parent);
22
23 void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
24 QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override;
25
26 QPointF nodeCenter(const QModelIndex index, bool selected) const;
27 bool hasHandle(const QModelIndex index, int handle) const;
28 QPointF leftHandle(const QModelIndex index, bool active) const;
29 QPointF rightHandle(const QModelIndex index, bool active) const;
30 void setSelectedItemVisualOffset(QPointF offset, bool axisSnap = false);
31 void setHandleAdjustment(QPointF offset, int handle);
32 QPointF unscaledTangent(QPointF handlePosition) const;
33
34 QRect itemRect(const QModelIndex index) const;
35 QRect frameRect(const QModelIndex index) const;
36 QRect visualRect(const QModelIndex index) const;
37
38private:
39 struct Private;
40 const QScopedPointer<Private> m_d;
41
42 void paintHandle(QPainter *painter, QPointF nodePos, QPointF tangent) const;
43 QPointF handlePosition(const QModelIndex index, bool active, int handle) const;
44
45};
46
47#endif
48
49
QPointF unscaledTangent(QPointF handlePosition) const
QPointF handlePosition(const QModelIndex index, bool active, int handle) const
QPointF leftHandle(const QModelIndex index, bool active) const
bool hasHandle(const QModelIndex index, int handle) const
QRect itemRect(const QModelIndex index) const
QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override
void setSelectedItemVisualOffset(QPointF offset, bool axisSnap=false)
QPointF nodeCenter(const QModelIndex index, bool selected) const
QRect frameRect(const QModelIndex index) const
void setHandleAdjustment(QPointF offset, int handle)
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override
KisAnimCurvesKeyDelegate(const KisAnimTimelineTimeHeader *horizontalRuler, const KisAnimCurvesValuesHeader *verticalRuler, QObject *parent)
QRect visualRect(const QModelIndex index) const
QPointF rightHandle(const QModelIndex index, bool active) const
void paintHandle(QPainter *painter, QPointF nodePos, QPointF tangent) const
const QScopedPointer< Private > m_d