Pencil2D Animation
Download Community News Docs Contribute
  • Overview
  • Articles
  • Code
  •  
  • Class List
  • Class Index
  • Class Hierarchy
  • Class Members
  • File List
Loading...
Searching...
No Matches
  • app
  • src
layeropacitydialog.h
1#ifndef LAYEROPACITYDIALOG_H
2#define LAYEROPACITYDIALOG_H
3
4#include <QDialog>
5#include "editor.h"
6
7class QTimer;
8class LayerManager;
9class PlaybackManager;
10class Layer;
11
12namespace Ui {
13class LayerOpacityDialog;
14}
15
16enum class OpacityFadeType {
17 IN,
18 OUT
19};
20
21class LayerOpacityDialog : public QDialog
22{
23 Q_OBJECT
24
25public:
26 explicit LayerOpacityDialog(QWidget *parent = nullptr);
27 ~LayerOpacityDialog();
28
29 void setCore(Editor* editor);
30 void initUI();
31 void updateUI();
32
33private slots:
34 void opacitySliderChanged(int value);
35 void opacitySpinboxChanged(double value);
36 void fadeInPressed();
37 void fadeOutPressed();
38
39 void onObjectLoaded();
40 void onCurrentLayerChanged(int index);
41 void onCurrentFrameChanged(int frame);
42 void onSelectedFramesChanged();
43 void onPlayStateChanged(bool isPlaying);
44 void opacityValueChanged();
45
46private:
47
48 void setCanAdjust(bool opacity, bool fade);
49 void fade(OpacityFadeType fadeType);
50 qreal getOpacityForKeyFrame(Layer* layer, const KeyFrame* keyframe) const;
51 void setOpacityForKeyFrame(Layer* layer, KeyFrame* keyframe, qreal opacity);
52
53 void updateValues(qreal opacity);
54 void setOpacityForCurrentKeyframe();
55 void setOpacityForSelectedKeyframes();
56 void setOpacityForLayer();
57
58 void updateSelectedFramesUI();
59
60 Ui::LayerOpacityDialog *ui;
61
62 Editor* mEditor = nullptr;
63 LayerManager* mLayerManager = nullptr;
64 PlaybackManager* mPlayBack = nullptr;
65
66 bool mPlayerIsPlaying = false;
67
68 qreal mMultiplier = 500.0;
69 qreal mSpinBoxMultiplier = 0.2;
70 int mMinSelectedFrames = 3;
71};
72
73#endif // LAYEROPACITYDIALOG_H
Editor
Definition: editor.h:71
KeyFrame
Definition: keyframe.h:30
Layer
Definition: layer.h:33
LayerManager
Definition: layermanager.h:31
LayerOpacityDialog
Definition: layeropacitydialog.h:22
PlaybackManager
Definition: playbackmanager.h:30
QDialog
QObject::Q_OBJECT
Q_OBJECTQ_OBJECT
QObject::parent
QObject * parent() const const
QTimer
QWidget
Generated on Thu May 8 2025 04:47:53 for Pencil2D by doxygen 1.9.6 based on revision 4513250b1d5b1a3676ec0e67b06b7a885ceaae39