Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |

# TQImageDecoder Class Reference

The TQImageDecoder class is an incremental image decoder for all supported image formats. More...

`#include <ntqasyncimageio.h>`

List of all member functions.

## Public Members

- TQImageDecoder ( TQImageConsumer * c )
- ~TQImageDecoder ()
- const TQImage & image ()
- int decode ( const uchar * buffer, int length )

## Static Public Members

- const char * formatName ( const uchar * buffer, int length )
- TQImageFormatType * format ( const char * name )
- TQStrList inputFormats ()
- void registerDecoderFactory ( TQImageFormatType * f )
- void unregisterDecoderFactory ( TQImageFormatType * f )

## Detailed Description

The TQImageDecoder class is an incremental image decoder for all supported image formats.

New formats are installed by creating objects of class TQImageFormatType; the TQMovie class can be used for all installed incremental image formats. TQImageDecoder is only useful for creating new ways of feeding data to an TQImageConsumer.

A TQImageDecoder is a machine that decodes images. It takes encoded image data via its decode() method and expresses its decoding by supplying information to a TQImageConsumer. It implements its decoding by using a TQImageFormat created by one of the currently-existing TQImageFormatType factory objects.

TQImageFormatType and TQImageFormat are the classes that you might need to implement support for additional image formats.

TQt supports GIF reading if it is configured that way during installation (see ntqgif.h). If it is, we are required to state that "The Graphics Interchange Format(c) is the Copyright property of CompuServe Incorporated. GIF(sm) is a Service Mark property of CompuServe Incorporated."

Warning: If you are in a country that recognizes software patents and in which Unisys holds a patent on LZW compression and/or decompression and you want to use GIF, Unisys may require you to license that technology. Such countries include Canada, Japan, the USA, France, Germany, Italy and the UK.

GIF support may be removed completely in a future version of TQt. We recommend using the MNG or PNG format.

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

## Member Function Documentation

### TQImageDecoder::TQImageDecoder ( TQImageConsumer * c )

Constructs a TQImageDecoder that will send change information to the TQImageConsumer c.

### TQImageDecoder::~TQImageDecoder ()

Destroys a TQImageDecoder. The image it built is destroyed. The decoder built by the factory for the file format is destroyed. The consumer for which it decoded the image is not destroyed.

### int TQImageDecoder::decode ( const uchar * buffer, int length )

Call this function to decode some data into image changes. The data in buffer will be decoded, sending change information to the TQImageConsumer of this TQImageDecoder until one of the change functions of the consumer returns FALSE. The length of the data is given in length.

Returns the number of bytes consumed: 0 if consumption is complete, and -1 if decoding fails due to invalid data.

### TQImageFormatType * TQImageDecoder::format ( const char * name )`[static]`

Returns a TQImageFormatType by name. This might be used when the user needs to force data to be interpreted as being in a certain format. name is one of the formats listed by TQImageDecoder::inputFormats(). Note that you will still need to supply decodable data to result->decoderFor() before you can begin decoding the data.

### const char * TQImageDecoder::formatName ( const uchar * buffer, int length )`[static]`

Call this function to find the name of the format of the given header. The returned string is statically allocated. The function will look at the first length characters in the buffer.

Returns 0 if the format is not recognized.

### const TQImage & TQImageDecoder::image ()

Returns the image currently being decoded.

### TQStrList TQImageDecoder::inputFormats ()`[static]`

Returns a sorted list of formats for which asynchronous loading is supported.

### void TQImageDecoder::registerDecoderFactory ( TQImageFormatType * f )`[static]`

Registers the new TQImageFormatType f. This is not needed in application code because factories call this themselves.

### void TQImageDecoder::unregisterDecoderFactory ( TQImageFormatType * f )`[static]`

Unregisters the TQImageFormatType f. This is not needed in application code because factories call this themselves.

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