Okular

movie.h
1 /*
2  SPDX-FileCopyrightText: 2008 Pino Toscano <[email protected]>
3  SPDX-FileCopyrightText: 2012 Guillermo A. Amaral B. <[email protected]>
4 
5  SPDX-License-Identifier: GPL-2.0-or-later
6 */
7 
8 #ifndef _OKULAR_MOVIE_H_
9 #define _OKULAR_MOVIE_H_
10 
11 #include "global.h"
12 #include "okularcore_export.h"
13 
14 #include <QSize>
15 
16 class QImage;
17 
18 namespace Okular
19 {
20 /**
21  * @short Contains information about a movie object.
22  *
23  * @since 0.8 (KDE 4.2)
24  */
25 class OKULARCORE_EXPORT Movie
26 {
27 public:
28  /**
29  * The play mode for playing the movie
30  */
31  enum PlayMode {
32  PlayLimited, ///< Play a fixed amount of times, closing the movie controls at the end @since 0.24
33  PlayOpen, ///< Like PlayLimited, but leaving the controls open
34  PlayRepeat, ///< Play continuously until stopped
35  PlayPalindrome ///< Play forward, then backward, then again forward and so on until stopped
36  };
37 
38  /**
39  * Creates a new movie object with the given external @p fileName.
40  */
41  explicit Movie(const QString &fileName);
42 
43  /**
44  * Creates a new movie object with the given movie data.
45  */
46  explicit Movie(const QString &fileName, const QByteArray &data);
47 
48  /**
49  * Destroys the movie object.
50  */
51  ~Movie();
52 
53  /**
54  * Returns the url of the movie.
55  */
56  QString url() const;
57 
58  /**
59  * Sets the size for the movie.
60  */
61  void setSize(const QSize &aspect); // TODO remove the & when we do a BIC change elsewhere
62 
63  /**
64  * Returns the size of the movie.
65  */
66  QSize size() const;
67 
68  /**
69  * Sets the @p rotation of the movie.
70  */
71  void setRotation(Rotation rotation);
72 
73  /**
74  * Returns the rotation of the movie.
75  */
76  Rotation rotation() const;
77 
78  /**
79  * Sets whether show a bar with movie controls
80  */
81  void setShowControls(bool show);
82 
83  /**
84  * Whether show a bar with movie controls
85  */
86  bool showControls() const;
87 
88  /**
89  * Sets the way the movie should be played
90  */
91  void setPlayMode(PlayMode mode);
92 
93  /**
94  * How to play the movie
95  */
96  PlayMode playMode() const;
97 
98  /**
99  * Sets how many times the movie should be played
100  * @since 0.24
101  */
102  void setPlayRepetitions(double repetitions);
103 
104  /**
105  * How many times to play the movie
106  * @since 0.24
107  */
108  double playRepetitions() const;
109 
110  /**
111  * Sets whether to play the movie automatically
112  */
113  void setAutoPlay(bool autoPlay);
114 
115  /**
116  * Whether to play the movie automatically
117  */
118  bool autoPlay() const;
119 
120  /**
121  * Sets whether to show a poster image.
122  *
123  * @since 4.10
124  */
125  void setShowPosterImage(bool show);
126 
127  /**
128  * Whether to show a poster image.
129  *
130  * @since 4.10
131  */
132  bool showPosterImage() const;
133 
134  /**
135  * Sets the poster image.
136  *
137  * @since 4.10
138  */
139  void setPosterImage(const QImage &image);
140 
141  /**
142  * Returns the poster image.
143  *
144  * @since 4.10
145  */
146  QImage posterImage() const;
147 
148 private:
149  class Private;
150  Private *const d;
151 
152  Q_DISABLE_COPY(Movie)
153 };
154 
155 }
156 
157 #endif
Rotation
A rotation.
Definition: global.h:45
global.h
Definition: action.h:16
Play a fixed amount of times, closing the movie controls at the end.
Definition: movie.h:32
PlayMode
The play mode for playing the movie.
Definition: movie.h:31
Like PlayLimited, but leaving the controls open.
Definition: movie.h:33
Play continuously until stopped.
Definition: movie.h:34
Contains information about a movie object.
Definition: movie.h:25
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Mon Jul 26 2021 22:36:03 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.