digiKam
Loading...
Searching...
No Matches
effectmngr_p.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2017-05-24
7 * Description : video frame effects manager.
8 *
9 * SPDX-FileCopyrightText: 2017-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// C++ includes
18
19#include <cmath>
20
21// Qt includes
22
23#include <QPointF>
24#include <QRect>
25#include <QRectF>
26#include <QImage>
27
28// Local includes
29
30#include "effectmngr.h"
31#include "digikam_config.h"
32#include "digikam_debug.h"
33
34namespace Digikam
35{
36
37class Q_DECL_HIDDEN EffectMngr::Private
38{
39public:
40
41 typedef int (EffectMngr::Private::*EffectMethod)(bool);
42
43public:
44
46 {
47 registerEffects();
48 }
49
50 ~Private() = default;
51
52 QMap<EffectMngr::EffectType, EffectMethod> eff_effectList;
53
54 QImage eff_image;
57
58 bool eff_isRunning = false;
59 EffectMngr::EffectType eff_curEffect = EffectMngr::None;
60
61 int eff_step = 0;
62 int eff_imgFrames = 125;
63
64public:
65
66 void registerEffects();
67
68 EffectMngr::EffectType getRandomEffect() const;
69
70private:
71
80 int effectNone(bool aInit);
81 int effectRandom(bool aInit);
82 int effectKenBurnsZoomIn(bool aInit);
83 int effectKenBurnsZoomOut(bool aInit);
84 int effectKenBurnsPanLR(bool aInit);
85 int effectKenBurnsPanRL(bool aInit);
86 int effectKenBurnsPanTB(bool aInit);
87 int effectKenBurnsPanBT(bool aInit);
88
89 void updateCurrentFrame(const QRectF& area);
90};
91
92} // namespace Digikam
Definition effectmngr_p.h:38
Private()
Definition effectmngr_p.h:45
QSize eff_outSize
Definition effectmngr_p.h:56
QMap< EffectMngr::EffectType, EffectMethod > eff_effectList
Definition effectmngr_p.h:52
QImage eff_image
Definition effectmngr_p.h:54
QImage eff_curFrame
Definition effectmngr_p.h:55
Definition effectmngr.h:31
EffectType
Definition effectmngr.h:38
Definition datefolderview.cpp:34