digiKam
effectmngr.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  * Copyright (C) 2017-2022 by Gilles Caulier <caulier dot gilles at gmail dot com>
10  *
11  * This program is free software; you can redistribute it
12  * and/or modify it under the terms of the GNU General
13  * Public License as published by the Free Software Foundation;
14  * either version 2, or (at your option) any later version.
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU General Public License for more details.
20  *
21  * ============================================================ */
22 
23 #ifndef DIGIKAM_EFFECT_MNGR_H
24 #define DIGIKAM_EFFECT_MNGR_H
25 
26 // Qt includes
27 
28 #include <QMap>
29 #include <QString>
30 #include <QImage>
31 
32 // Local includes
33 
34 #include "digikam_export.h"
35 
36 namespace Digikam
37 {
38 
39 class DIGIKAM_EXPORT EffectMngr
40 {
41 public:
42 
47  {
48  None = 0,
55  Random
56  };
57 
58 public:
59 
60  explicit EffectMngr();
61  ~EffectMngr();
62 
63  void setOutputSize(const QSize& size);
64  void setEffect(EffectType eff);
65  void setImage(const QImage& img);
66  void setFrames(int ifrms);
67 
68  QImage currentFrame(int& tmout);
69 
70  static QMap<EffectType, QString> effectNames();
71 
72 private:
73 
74  // Disable
75  EffectMngr(const EffectMngr&) = delete;
76  EffectMngr& operator=(const EffectMngr&) = delete;
77 
78 private:
79 
80  class Private;
81  Private* const d;
82 };
83 
84 } // namespace Digikam
85 
86 #endif // DIGIKAM_EFFECT_MNGR_H
Definition: effectmngr.h:40
EffectType
Definition: effectmngr.h:47
@ KenBurnsPanRL
Definition: effectmngr.h:52
@ KenBurnsPanLR
Definition: effectmngr.h:51
@ KenBurnsZoomOut
Definition: effectmngr.h:50
@ KenBurnsPanBT
Definition: effectmngr.h:54
@ KenBurnsPanTB
Definition: effectmngr.h:53
@ KenBurnsZoomIn
Definition: effectmngr.h:49
Definition: datefolderview.cpp:43