qmovie.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/gui/image/qmovie.cpp
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9class QFrameInfo-
10{-
11public:-
12 QPixmap pixmap;-
13 int delay;-
14 bool endMark;-
15 inline QFrameInfo(bool endMark)-
16 : pixmap(QPixmap()), delay(-1), endMark(endMark)-
17 { }
never executed: end of block
0
18-
19 inline QFrameInfo()-
20 : pixmap(QPixmap()), delay(-1), endMark(false)-
21 { }
never executed: end of block
0
22-
23 inline QFrameInfo(const QPixmap &pixmap, int delay)-
24 : pixmap(pixmap), delay(delay), endMark(false)-
25 { }
never executed: end of block
0
26-
27 inline bool isValid()-
28 {-
29 return
never executed: return endMark || !(pixmap.isNull() && (delay == -1));
endMark
endMarkDescription
TRUEnever evaluated
FALSEnever evaluated
|| !(pixmap.isNull()
pixmap.isNull()Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(delay == -1)Description
TRUEnever evaluated
FALSEnever evaluated
delay == -1)
(delay == -1)Description
TRUEnever evaluated
FALSEnever evaluated
);
never executed: return endMark || !(pixmap.isNull() && (delay == -1));
0
30 }-
31-
32 inline bool isEndMarker()-
33 { return
never executed: return endMark;
endMark;
never executed: return endMark;
}
0
34-
35 static inline QFrameInfo endMarker()-
36 { return
never executed: return QFrameInfo(true);
QFrameInfo(true);
never executed: return QFrameInfo(true);
}
0
37};-
38-
39class QMoviePrivate : public QObjectPrivate-
40{-
41 inline QMovie* q_func() { return static_cast<QMovie *>(q_ptr); } inline const QMovie* q_func() const { return static_cast<const QMovie *>(q_ptr); } friend class QMovie;-
42-
43public:-
44 QMoviePrivate(QMovie *qq);-
45 bool isDone();-
46 bool next();-
47 int speedAdjustedDelay(int delay) const;-
48 bool isValid() const;-
49 bool jumpToFrame(int frameNumber);-
50 int frameCount() const;-
51 bool jumpToNextFrame();-
52 QFrameInfo infoForFrame(int frameNumber);-
53 void reset();-
54-
55 inline void enterState(QMovie::MovieState newState) {-
56 movieState = newState;-
57 q_func()->stateChanged(newState);-
58 }
never executed: end of block
0
59-
60-
61 void _q_loadNextFrame();-
62 void _q_loadNextFrame(bool starting);-
63-
64 QImageReader *reader;-
65 int speed;-
66 QMovie::MovieState movieState;-
67 QRect frameRect;-
68 QPixmap currentPixmap;-
69 int currentFrameNumber;-
70 int nextFrameNumber;-
71 int greatestFrameNumber;-
72 int nextDelay;-
73 int playCounter;-
74 qint64 initialDevicePos;-
75 QMovie::CacheMode cacheMode;-
76 bool haveReadAll;-
77 bool isFirstIteration;-
78 QMap<int, QFrameInfo> frameMap;-
79 QString absoluteFilePath;-
80-
81 QTimer nextImageTimer;-
82};-
83-
84-
85-
86QMoviePrivate::QMoviePrivate(QMovie *qq)-
87 : reader(0), speed(100), movieState(QMovie::NotRunning),-
88 currentFrameNumber(-1), nextFrameNumber(0), greatestFrameNumber(-1),-
89 nextDelay(0), playCounter(-1),-
90 cacheMode(QMovie::CacheNone), haveReadAll(false), isFirstIteration(true)-
91{-
92 q_ptr = qq;-
93 nextImageTimer.setSingleShot(true);-
94}
never executed: end of block
0
95-
96-
97-
98void QMoviePrivate::reset()-
99{-
100 nextImageTimer.stop();-
101 if (reader->device()
reader->device()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
102 initialDevicePos = reader->device()->pos();
never executed: initialDevicePos = reader->device()->pos();
0
103 currentFrameNumber = -1;-
104 nextFrameNumber = 0;-
105 greatestFrameNumber = -1;-
106 nextDelay = 0;-
107 playCounter = -1;-
108 haveReadAll = false;-
109 isFirstIteration = true;-
110 frameMap.clear();-
111}
never executed: end of block
0
112-
113-
114-
115bool QMoviePrivate::isDone()-
116{-
117 return
never executed: return (playCounter == 0);
(playCounter == 0);
never executed: return (playCounter == 0);
0
118}-
119int QMoviePrivate::speedAdjustedDelay(int delay) const-
120{-
121 return
never executed: return int( (qint64(delay) * qint64(100) ) / qint64(speed) );
int( (qint64(delay) * qint64(100) ) / qint64(speed) );
never executed: return int( (qint64(delay) * qint64(100) ) / qint64(speed) );
0
122}-
123QFrameInfo QMoviePrivate::infoForFrame(int frameNumber)-
124{-
125 if (frameNumber < 0
frameNumber < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
126 return
never executed: return QFrameInfo();
QFrameInfo();
never executed: return QFrameInfo();
0
127-
128 if (haveReadAll
haveReadAllDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(frameNumber >...stFrameNumber)Description
TRUEnever evaluated
FALSEnever evaluated
frameNumber > greatestFrameNumber)
(frameNumber >...stFrameNumber)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
129 if (frameNumber == greatestFrameNumber+1
frameNumber ==...tFrameNumber+1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
130 return
never executed: return QFrameInfo::endMarker();
QFrameInfo::endMarker();
never executed: return QFrameInfo::endMarker();
0
131 return
never executed: return QFrameInfo();
QFrameInfo();
never executed: return QFrameInfo();
0
132 }-
133-
134 if (cacheMode == QMovie::CacheNone
cacheMode == QMovie::CacheNoneDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
135 if (frameNumber != currentFrameNumber+1
frameNumber !=...tFrameNumber+1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
136-
137 if (!reader->jumpToImage(frameNumber)
!reader->jumpT...e(frameNumber)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
138 if (frameNumber == 0
frameNumber == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
139-
140-
141 if (reader->device()->isSequential()
reader->device...isSequential()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
142 return
never executed: return QFrameInfo();
QFrameInfo();
never executed: return QFrameInfo();
0
143 QString fileName = reader->fileName();-
144 QByteArray format = reader->format();-
145 QIODevice *device = reader->device();-
146 QColor bgColor = reader->backgroundColor();-
147 QSize scaledSize = reader->scaledSize();-
148 delete reader;-
149 if (fileName.isEmpty()
fileName.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
150 reader = new QImageReader(device, format);
never executed: reader = new QImageReader(device, format);
0
151 else-
152 reader = new QImageReader(absoluteFilePath, format);
never executed: reader = new QImageReader(absoluteFilePath, format);
0
153 (void)reader->canRead();-
154 reader->device()->seek(initialDevicePos);-
155 reader->setBackgroundColor(bgColor);-
156 reader->setScaledSize(scaledSize);-
157 }
never executed: end of block
else {
0
158 return
never executed: return QFrameInfo();
QFrameInfo();
never executed: return QFrameInfo();
0
159 }-
160 }-
161 }
never executed: end of block
0
162 if (reader->canRead()
reader->canRead()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
163-
164 QImage anImage = reader->read();-
165 if (anImage.isNull()
anImage.isNull()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
166-
167 return
never executed: return QFrameInfo();
QFrameInfo();
never executed: return QFrameInfo();
0
168 }-
169 if (frameNumber > greatestFrameNumber
frameNumber > ...estFrameNumberDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
170 greatestFrameNumber = frameNumber;
never executed: greatestFrameNumber = frameNumber;
0
171 QPixmap aPixmap = QPixmap::fromImage(anImage);-
172 int aDelay = reader->nextImageDelay();-
173 return
never executed: return QFrameInfo(aPixmap, aDelay);
QFrameInfo(aPixmap, aDelay);
never executed: return QFrameInfo(aPixmap, aDelay);
0
174 } else if (frameNumber != 0
frameNumber != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
175-
176 haveReadAll = true;-
177 return
never executed: return QFrameInfo::endMarker();
QFrameInfo::endMarker();
never executed: return QFrameInfo::endMarker();
0
178 } else {-
179-
180 haveReadAll = true;-
181 return
never executed: return QFrameInfo();
QFrameInfo();
never executed: return QFrameInfo();
0
182 }-
183 }-
184-
185-
186 if (frameNumber > greatestFrameNumber
frameNumber > ...estFrameNumberDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
187-
188 for (int i = greatestFrameNumber + 1; i <= frameNumber
i <= frameNumberDescription
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
189 if (reader->canRead()
reader->canRead()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
190-
191 QImage anImage = reader->read();-
192 if (anImage.isNull()
anImage.isNull()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
193-
194 return
never executed: return QFrameInfo();
QFrameInfo();
never executed: return QFrameInfo();
0
195 }-
196 greatestFrameNumber = i;-
197 QPixmap aPixmap = QPixmap::fromImage(anImage);-
198 int aDelay = reader->nextImageDelay();-
199 QFrameInfo info(aPixmap, aDelay);-
200-
201 frameMap.insert(i, info);-
202 if (i == frameNumber
i == frameNumberDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
203 return
never executed: return info;
info;
never executed: return info;
0
204 }-
205 }
never executed: end of block
else {
0
206-
207 haveReadAll = true;-
208 return
never executed: return QFrameInfo::endMarker();
QFrameInfo::endMarker();
never executed: return QFrameInfo::endMarker();
0
209 }-
210 }-
211 }
never executed: end of block
0
212-
213 return
never executed: return frameMap.value(frameNumber);
frameMap.value(frameNumber);
never executed: return frameMap.value(frameNumber);
0
214}-
215bool QMoviePrivate::next()-
216{-
217 QTime time;-
218 time.start();-
219 QFrameInfo info = infoForFrame(nextFrameNumber);-
220 if (!info.isValid()
!info.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
221 return
never executed: return false;
false;
never executed: return false;
0
222 if (info.isEndMarker()
info.isEndMarker()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
223-
224 if (isFirstIteration
isFirstIterationDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
225 if (nextFrameNumber == 0
nextFrameNumber == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
226-
227 return
never executed: return false;
false;
never executed: return false;
0
228 }-
229-
230 playCounter = reader->loopCount();-
231 isFirstIteration = false;-
232 }
never executed: end of block
0
233-
234 if (playCounter != 0
playCounter != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
235 if (playCounter != -1
playCounter != -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
236 playCounter--;
never executed: playCounter--;
0
237 nextFrameNumber = 0;-
238 return
never executed: return next();
next();
never executed: return next();
0
239 }-
240-
241 return
never executed: return false;
false;
never executed: return false;
0
242 }-
243-
244 currentFrameNumber = nextFrameNumber++;-
245 QSize scaledSize = reader->scaledSize();-
246 if (scaledSize.isValid()
scaledSize.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(scaledSize !=...pixmap.size())Description
TRUEnever evaluated
FALSEnever evaluated
scaledSize != info.pixmap.size())
(scaledSize !=...pixmap.size())Description
TRUEnever evaluated
FALSEnever evaluated
)
0
247 currentPixmap = QPixmap::fromImage( info.pixmap.toImage().scaled(scaledSize) );
never executed: currentPixmap = QPixmap::fromImage( info.pixmap.toImage().scaled(scaledSize) );
0
248 else-
249 currentPixmap = info.pixmap;
never executed: currentPixmap = info.pixmap;
0
250 nextDelay = speedAdjustedDelay(info.delay);-
251-
252 int processingTime = time.elapsed();-
253 if (processingTime > nextDelay
processingTime > nextDelayDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
254 nextDelay = 0;
never executed: nextDelay = 0;
0
255 else-
256 nextDelay = nextDelay - processingTime;
never executed: nextDelay = nextDelay - processingTime;
0
257 return
never executed: return true;
true;
never executed: return true;
0
258}-
259-
260-
261-
262void QMoviePrivate::_q_loadNextFrame()-
263{-
264 _q_loadNextFrame(false);-
265}
never executed: end of block
0
266-
267void QMoviePrivate::_q_loadNextFrame(bool starting)-
268{-
269 QMovie * const q = q_func();-
270 if (next()
next()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
271 if (starting
startingDescription
TRUEnever evaluated
FALSEnever evaluated
&& movieState == QMovie::NotRunning
movieState == ...ie::NotRunningDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
272 enterState(QMovie::Running);-
273 q->started();-
274 }
never executed: end of block
0
275-
276 if (frameRect.size() != currentPixmap.rect().size()
frameRect.size....rect().size()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
277 frameRect = currentPixmap.rect();-
278 q->resized(frameRect.size());-
279 }
never executed: end of block
0
280-
281 q->updated(frameRect);-
282 q->frameChanged(currentFrameNumber);-
283-
284 if (movieState == QMovie::Running
movieState == QMovie::RunningDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
285 nextImageTimer.start(nextDelay);
never executed: nextImageTimer.start(nextDelay);
0
286 }
never executed: end of block
else {
0
287-
288 if (!isDone()
!isDone()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
289 q->error(reader->error());-
290 }
never executed: end of block
0
291-
292-
293 if (movieState != QMovie::Paused
movieState != QMovie::PausedDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
294 nextFrameNumber = 0;-
295 isFirstIteration = true;-
296 playCounter = -1;-
297 enterState(QMovie::NotRunning);-
298 q->finished();-
299 }
never executed: end of block
0
300 }
never executed: end of block
0
301}-
302-
303-
304-
305-
306bool QMoviePrivate::isValid() const-
307{-
308 return
never executed: return (greatestFrameNumber >= 0) || reader->canRead();
(
(greatestFrameNumber >= 0)Description
TRUEnever evaluated
FALSEnever evaluated
greatestFrameNumber >= 0)
(greatestFrameNumber >= 0)Description
TRUEnever evaluated
FALSEnever evaluated
never executed: return (greatestFrameNumber >= 0) || reader->canRead();
0
309 || reader->canRead()
reader->canRead()Description
TRUEnever evaluated
FALSEnever evaluated
;
never executed: return (greatestFrameNumber >= 0) || reader->canRead();
0
310}-
311-
312-
313-
314-
315bool QMoviePrivate::jumpToFrame(int frameNumber)-
316{-
317 if (frameNumber < 0
frameNumber < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
318 return
never executed: return false;
false;
never executed: return false;
0
319 if (currentFrameNumber == frameNumber
currentFrameNu...== frameNumberDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
320 return
never executed: return true;
true;
never executed: return true;
0
321 nextFrameNumber = frameNumber;-
322 if (movieState == QMovie::Running
movieState == QMovie::RunningDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
323 nextImageTimer.stop();
never executed: nextImageTimer.stop();
0
324 _q_loadNextFrame();-
325 return
never executed: return (nextFrameNumber == currentFrameNumber+1);
(nextFrameNumber == currentFrameNumber+1);
never executed: return (nextFrameNumber == currentFrameNumber+1);
0
326}-
327-
328-
329-
330-
331int QMoviePrivate::frameCount() const-
332{-
333 int result;-
334 if ((
(result = read...eCount()) != 0Description
TRUEnever evaluated
FALSEnever evaluated
result = reader->imageCount()) != 0
(result = read...eCount()) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
335 return
never executed: return result;
result;
never executed: return result;
0
336 if (haveReadAll
haveReadAllDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
337 return
never executed: return greatestFrameNumber+1;
greatestFrameNumber+1;
never executed: return greatestFrameNumber+1;
0
338 return
never executed: return 0;
0;
never executed: return 0;
0
339}-
340-
341-
342-
343-
344bool QMoviePrivate::jumpToNextFrame()-
345{-
346 return
never executed: return jumpToFrame(currentFrameNumber+1);
jumpToFrame(currentFrameNumber+1);
never executed: return jumpToFrame(currentFrameNumber+1);
0
347}-
348-
349-
350-
351-
352-
353-
354-
355QMovie::QMovie(QObject *parent)-
356 : QObject(*new QMoviePrivate(this), parent)-
357{-
358 QMoviePrivate * const d = d_func();-
359 d->reader = new QImageReader;-
360 connect(&d->nextImageTimer, qFlagLocation("2""timeout()" "\0" __FILE__ ":" "574"), this, qFlagLocation("1""_q_loadNextFrame()" "\0" __FILE__ ":" "574"));-
361}
never executed: end of block
0
362QMovie::QMovie(QIODevice *device, const QByteArray &format, QObject *parent)-
363 : QObject(*new QMoviePrivate(this), parent)-
364{-
365 QMoviePrivate * const d = d_func();-
366 d->reader = new QImageReader(device, format);-
367 d->initialDevicePos = device->pos();-
368 connect(&d->nextImageTimer, qFlagLocation("2""timeout()" "\0" __FILE__ ":" "591"), this, qFlagLocation("1""_q_loadNextFrame()" "\0" __FILE__ ":" "591"));-
369}
never executed: end of block
0
370QMovie::QMovie(const QString &fileName, const QByteArray &format, QObject *parent)-
371 : QObject(*new QMoviePrivate(this), parent)-
372{-
373 QMoviePrivate * const d = d_func();-
374 d->absoluteFilePath = QDir(fileName).absolutePath();-
375 d->reader = new QImageReader(fileName, format);-
376 if (d->reader->device()
d->reader->device()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
377 d->initialDevicePos = d->reader->device()->pos();
never executed: d->initialDevicePos = d->reader->device()->pos();
0
378 connect(&d->nextImageTimer, qFlagLocation("2""timeout()" "\0" __FILE__ ":" "610"), this, qFlagLocation("1""_q_loadNextFrame()" "\0" __FILE__ ":" "610"));-
379}
never executed: end of block
0
380-
381-
382-
383-
384QMovie::~QMovie()-
385{-
386 QMoviePrivate * const d = d_func();-
387 delete d->reader;-
388}
never executed: end of block
0
389-
390-
391-
392-
393-
394-
395-
396void QMovie::setDevice(QIODevice *device)-
397{-
398 QMoviePrivate * const d = d_func();-
399 d->reader->setDevice(device);-
400 d->reset();-
401}
never executed: end of block
0
402-
403-
404-
405-
406-
407-
408-
409QIODevice *QMovie::device() const-
410{-
411 const QMoviePrivate * const d = d_func();-
412 return
never executed: return d->reader->device();
d->reader->device();
never executed: return d->reader->device();
0
413}-
414-
415-
416-
417-
418-
419-
420-
421void QMovie::setFileName(const QString &fileName)-
422{-
423 QMoviePrivate * const d = d_func();-
424 d->absoluteFilePath = QDir(fileName).absolutePath();-
425 d->reader->setFileName(fileName);-
426 d->reset();-
427}
never executed: end of block
0
428QString QMovie::fileName() const-
429{-
430 const QMoviePrivate * const d = d_func();-
431 return
never executed: return d->reader->fileName();
d->reader->fileName();
never executed: return d->reader->fileName();
0
432}-
433void QMovie::setFormat(const QByteArray &format)-
434{-
435 QMoviePrivate * const d = d_func();-
436 d->reader->setFormat(format);-
437}
never executed: end of block
0
438-
439-
440-
441-
442-
443-
444-
445QByteArray QMovie::format() const-
446{-
447 const QMoviePrivate * const d = d_func();-
448 return
never executed: return d->reader->format();
d->reader->format();
never executed: return d->reader->format();
0
449}-
450-
451-
452-
453-
454-
455-
456-
457void QMovie::setBackgroundColor(const QColor &color)-
458{-
459 QMoviePrivate * const d = d_func();-
460 d->reader->setBackgroundColor(color);-
461}
never executed: end of block
0
462-
463-
464-
465-
466-
467-
468-
469QColor QMovie::backgroundColor() const-
470{-
471 const QMoviePrivate * const d = d_func();-
472 return
never executed: return d->reader->backgroundColor();
d->reader->backgroundColor();
never executed: return d->reader->backgroundColor();
0
473}-
474-
475-
476-
477-
478-
479-
480QMovie::MovieState QMovie::state() const-
481{-
482 const QMoviePrivate * const d = d_func();-
483 return
never executed: return d->movieState;
d->movieState;
never executed: return d->movieState;
0
484}-
485-
486-
487-
488-
489-
490-
491-
492QRect QMovie::frameRect() const-
493{-
494 const QMoviePrivate * const d = d_func();-
495 return
never executed: return d->frameRect;
d->frameRect;
never executed: return d->frameRect;
0
496}-
497-
498-
499-
500-
501-
502-
503QPixmap QMovie::currentPixmap() const-
504{-
505 const QMoviePrivate * const d = d_func();-
506 return
never executed: return d->currentPixmap;
d->currentPixmap;
never executed: return d->currentPixmap;
0
507}-
508-
509-
510-
511-
512-
513-
514QImage QMovie::currentImage() const-
515{-
516 const QMoviePrivate * const d = d_func();-
517 return
never executed: return d->currentPixmap.toImage();
d->currentPixmap.toImage();
never executed: return d->currentPixmap.toImage();
0
518}-
519-
520-
521-
522-
523-
524bool QMovie::isValid() const-
525{-
526 const QMoviePrivate * const d = d_func();-
527 return
never executed: return d->isValid();
d->isValid();
never executed: return d->isValid();
0
528}-
529-
530-
531-
532-
533-
534-
535-
536int QMovie::frameCount() const-
537{-
538 const QMoviePrivate * const d = d_func();-
539 return
never executed: return d->frameCount();
d->frameCount();
never executed: return d->frameCount();
0
540}-
541-
542-
543-
544-
545-
546int QMovie::nextFrameDelay() const-
547{-
548 const QMoviePrivate * const d = d_func();-
549 return
never executed: return d->nextDelay;
d->nextDelay;
never executed: return d->nextDelay;
0
550}-
551-
552-
553-
554-
555-
556int QMovie::currentFrameNumber() const-
557{-
558 const QMoviePrivate * const d = d_func();-
559 return
never executed: return d->currentFrameNumber;
d->currentFrameNumber;
never executed: return d->currentFrameNumber;
0
560}-
561-
562-
563-
564-
565bool QMovie::jumpToNextFrame()-
566{-
567 QMoviePrivate * const d = d_func();-
568 return
never executed: return d->jumpToNextFrame();
d->jumpToNextFrame();
never executed: return d->jumpToNextFrame();
0
569}-
570-
571-
572-
573-
574-
575bool QMovie::jumpToFrame(int frameNumber)-
576{-
577 QMoviePrivate * const d = d_func();-
578 return
never executed: return d->jumpToFrame(frameNumber);
d->jumpToFrame(frameNumber);
never executed: return d->jumpToFrame(frameNumber);
0
579}-
580int QMovie::loopCount() const-
581{-
582 const QMoviePrivate * const d = d_func();-
583 return
never executed: return d->reader->loopCount();
d->reader->loopCount();
never executed: return d->reader->loopCount();
0
584}-
585void QMovie::setPaused(bool paused)-
586{-
587 QMoviePrivate * const d = d_func();-
588 if (paused
pausedDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
589 if (d->movieState == NotRunning
d->movieState == NotRunningDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
590 return;
never executed: return;
0
591 d->enterState(Paused);-
592 d->nextImageTimer.stop();-
593 }
never executed: end of block
else {
0
594 if (d->movieState == Running
d->movieState == RunningDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
595 return;
never executed: return;
0
596 d->enterState(Running);-
597 d->nextImageTimer.start(nextFrameDelay());-
598 }
never executed: end of block
0
599}-
600void QMovie::setSpeed(int percentSpeed)-
601{-
602 QMoviePrivate * const d = d_func();-
603 d->speed = percentSpeed;-
604}
never executed: end of block
0
605-
606int QMovie::speed() const-
607{-
608 const QMoviePrivate * const d = d_func();-
609 return
never executed: return d->speed;
d->speed;
never executed: return d->speed;
0
610}-
611void QMovie::start()-
612{-
613 QMoviePrivate * const d = d_func();-
614 if (d->movieState == NotRunning
d->movieState == NotRunningDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
615 d->_q_loadNextFrame(true);-
616 }
never executed: end of block
else if (d->movieState == Paused
d->movieState == PausedDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
617 setPaused(false);-
618 }
never executed: end of block
0
619}
never executed: end of block
0
620void QMovie::stop()-
621{-
622 QMoviePrivate * const d = d_func();-
623 if (d->movieState == NotRunning
d->movieState == NotRunningDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
624 return;
never executed: return;
0
625 d->enterState(NotRunning);-
626 d->nextImageTimer.stop();-
627 d->nextFrameNumber = 0;-
628}
never executed: end of block
0
629QSize QMovie::scaledSize()-
630{-
631 QMoviePrivate * const d = d_func();-
632 return
never executed: return d->reader->scaledSize();
d->reader->scaledSize();
never executed: return d->reader->scaledSize();
0
633}-
634void QMovie::setScaledSize(const QSize &size)-
635{-
636 QMoviePrivate * const d = d_func();-
637 d->reader->setScaledSize(size);-
638}
never executed: end of block
0
639QList<QByteArray> QMovie::supportedFormats()-
640{-
641 QList<QByteArray> list = QImageReader::supportedImageFormats();-
642 QMutableListIterator<QByteArray> it(list);-
643 QBuffer buffer;-
644 buffer.open(QIODevice::ReadOnly);-
645 while (it.hasNext()
it.hasNext()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
646 QImageReader reader(&buffer, it.next());-
647 if (!reader.supportsAnimation()
!reader.supportsAnimation()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
648 it.remove();
never executed: it.remove();
0
649 }
never executed: end of block
0
650 return
never executed: return list;
list;
never executed: return list;
0
651}-
652QMovie::CacheMode QMovie::cacheMode() const-
653{-
654 const QMoviePrivate * const d = d_func();-
655 return
never executed: return d->cacheMode;
d->cacheMode;
never executed: return d->cacheMode;
0
656}-
657-
658void QMovie::setCacheMode(CacheMode cacheMode)-
659{-
660 QMoviePrivate * const d = d_func();-
661 d->cacheMode = cacheMode;-
662}
never executed: end of block
0
663-
664-
665-
Switch to Source codePreprocessed file

Generated by Squish Coco Non-Commercial 4.3.0-BETA-master-30-08-2018-4cb69e9