Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Classes principales  ·  Annotées  ·  Classes groupées  ·  Fonctions  · 

QImageConsumer Class Reference

The QImageConsumer class is an abstraction used by QImageDecoder. More...

#include <qasyncimageio.h>

List of all member functions.

Public Members

  • virtual void end () = 0
  • virtual void changed ( const QRect & ) = 0
  • virtual void frameDone () = 0
  • virtual void frameDone ( const QPoint & offset, const QRect & rect ) = 0
  • virtual void setLooping ( int n ) = 0
  • virtual void setFramePeriod ( int milliseconds ) = 0
  • virtual void setSize ( int, int ) = 0

Detailed Description

The QImageConsumer class is an abstraction used by QImageDecoder.

The QMovie class, or QLabel::setMovie(), are easy to use and for most situations do what you want with regards animated images.

A QImageConsumer consumes information about changes to the QImage maintained by a QImageDecoder. Think of the QImage as the model or source of the image data, with the QImageConsumer as a view of that data and the QImageDecoder being the controller that orchestrates the relationship between the model and the view.

You'd use the QImageConsumer class, for example, if you were implementing a web browser with your own image loaders.

See also QImageDecoder, Graphics Classes, Image Processing Classes, and Multimedia Classes.


Member Function Documentation

void QImageConsumer::changed ( const QRect & ) [pure virtual]

Called when the given area of the image has changed.

void QImageConsumer::end () [pure virtual]

Called when all the data from all the frames has been decoded and revealed as changed().

void QImageConsumer::frameDone () [pure virtual]

One of the two frameDone() functions will be called when a frame of an animated image has ended and been revealed as changed().

When this function is called, the current image should be displayed.

The decoder will not make any further changes to the image until the next call to QImageFormat::decode().

void QImageConsumer::frameDone ( const QPoint & offset, const QRect & rect ) [pure virtual]

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

One of the two frameDone() functions will be called when a frame of an animated image has ended and been revealed as changed().

When this function is called, the area rect in the current image should be moved by offset and displayed.

The decoder will not make any further changes to the image until the next call to QImageFormat::decode().

void QImageConsumer::setFramePeriod ( int milliseconds ) [pure virtual]

Notes that the frame about to be decoded should not be displayed until the given number of milliseconds after the time that this function is called. Of course, the image may not have been decoded by then, in which case the frame should not be displayed until it is complete. A value of -1 (the assumed default) indicates that the image should be displayed even while it is only partially loaded.

void QImageConsumer::setLooping ( int n ) [pure virtual]

Called to indicate that the sequence of frames in the image should be repeated n times, including the sequence during decoding.

  • 0 = Forever
  • 1 = Only display frames the first time through
  • 2 = Repeat once after first pass through images
  • etc.

To make the QImageDecoder do this, just delete it and pass the information to it again for decoding (setLooping() will be called again, of course, but that can be ignored), or keep copies of the changed areas at the ends of frames.

void QImageConsumer::setSize ( int, int ) [pure virtual]

This function is called as soon as the size of the image has been determined.


This file is part of the Qt toolkit. Copyright © 1995-2005 Trolltech. All Rights Reserved.

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 94
  2. Apercevoir la troisième dimension ou l'utilisation multithreadée d'OpenGL dans Qt, un article des Qt Quarterly traduit par Guillaume Belz 0
  3. Les développeurs ignorent-ils trop les failles découvertes dans leur code ? Prenez-vous en compte les remarques des autres ? 17
  4. Pourquoi les programmeurs sont-ils moins payés que les gestionnaires de programmes ? Manquent-ils de pouvoir de négociation ? 42
  5. Quelles nouveautés de C++11 Visual C++ doit-il rapidement intégrer ? Donnez-nous votre avis 10
  6. Adieu qmake, bienvenue qbs : Qt Building Suite, un outil déclaratif et extensible pour la compilation de projets Qt 17
  7. 2017 : un quinquennat pour une nouvelle version du C++ ? Possible, selon Herb Sutter 7
Page suivante

Le blog Digia au hasard

Logo

Créer des applications avec un style Metro avec Qt, exemples en QML et C++, un article de Digia Qt traduit par Thibaut Cuvelier

Le blog Digia est l'endroit privilégié pour la communication sur l'édition commerciale de Qt, où des réponses publiques sont apportées aux questions les plus posées au support. Lire l'article.

Communauté

Ressources

Liens utiles

Contact

  • Vous souhaitez rejoindre la rédaction ou proposer un tutoriel, une traduction, une question... ? Postez dans le forum Contribuez ou contactez-nous par MP ou par email (voir en bas de page).

Qt dans le magazine

Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 3.3
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
 
 
 
 
Partenaires

Hébergement Web