summaryrefslogtreecommitdiffstats
path: root/doc/html/qimagedecoder.html
blob: 25dff373675b05a6ff7f30e06363fd9300260264 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qasyncimageio.cpp:153 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>TQImageDecoder Class</title>
<style type="text/css"><!--
fn { margin-left: 1cm; text-indent: -1cm; }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
body { background: #ffffff; color: black; }
--></style>
</head>
<body>

<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr bgcolor="#E5E5E5">
<td valign=center>
 <a href="index.html">
<font color="#004faf">Home</font></a>
 | <a href="classes.html">
<font color="#004faf">All&nbsp;Classes</font></a>
 | <a href="mainclasses.html">
<font color="#004faf">Main&nbsp;Classes</font></a>
 | <a href="annotated.html">
<font color="#004faf">Annotated</font></a>
 | <a href="groups.html">
<font color="#004faf">Grouped&nbsp;Classes</font></a>
 | <a href="functions.html">
<font color="#004faf">Functions</font></a>
</td>
<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>TQImageDecoder Class Reference</h1>

<p>The TQImageDecoder class is an incremental image decoder for all supported image formats.
<a href="#details">More...</a>
<p><tt>#include &lt;<a href="qasyncimageio-h.html">qasyncimageio.h</a>&gt;</tt>
<p><a href="qimagedecoder-members.html">List of all member functions.</a>
<h2>Public Members</h2>
<ul>
<li class=fn><a href="#TQImageDecoder"><b>TQImageDecoder</b></a> ( TQImageConsumer&nbsp;*&nbsp;c )</li>
<li class=fn><a href="#~TQImageDecoder"><b>~TQImageDecoder</b></a> ()</li>
<li class=fn>const TQImage &amp; <a href="#image"><b>image</b></a> ()</li>
<li class=fn>int <a href="#decode"><b>decode</b></a> ( const&nbsp;uchar&nbsp;*&nbsp;buffer, int&nbsp;length )</li>
</ul>
<h2>Static Public Members</h2>
<ul>
<li class=fn>const char * <a href="#formatName"><b>formatName</b></a> ( const&nbsp;uchar&nbsp;*&nbsp;buffer, int&nbsp;length )</li>
<li class=fn>TQImageFormatType * <a href="#format"><b>format</b></a> ( const&nbsp;char&nbsp;*&nbsp;name )</li>
<li class=fn>TQStrList <a href="#inputFormats"><b>inputFormats</b></a> ()</li>
<li class=fn>void <a href="#registerDecoderFactory"><b>registerDecoderFactory</b></a> ( TQImageFormatType&nbsp;*&nbsp;f )</li>
<li class=fn>void <a href="#unregisterDecoderFactory"><b>unregisterDecoderFactory</b></a> ( TQImageFormatType&nbsp;*&nbsp;f )</li>
</ul>
<hr><a name="details"></a><h2>Detailed Description</h2>


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


<p> New formats are installed by creating objects of class
<a href="qimageformattype.html">TQImageFormatType</a>; the <a href="qmovie.html">TQMovie</a> class can be used for all installed
incremental image formats. TQImageDecoder is only useful for
creating new ways of feeding data to an <a href="qimageconsumer.html">TQImageConsumer</a>.
<p> A TQImageDecoder is a machine that decodes images. It takes encoded
image data via its <a href="#decode">decode</a>() method and expresses its decoding by
supplying information to a TQImageConsumer. It implements its
decoding by using a <a href="qimageformat.html">TQImageFormat</a> created by one of the
currently-existing TQImageFormatType factory objects.
<p> TQImageFormatType and TQImageFormat are the classes that you might
need to implement support for additional image formats.
<p> 
<p> TQt supports GIF reading if it is configured that way during
installation (see qgif.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."
<p> <b>Warning:</b> 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.
<p> GIF support may be removed completely in a future version of TQt.
We recommend using the MNG or PNG format.
<p>See also <a href="graphics.html">Graphics Classes</a>, <a href="images.html">Image Processing Classes</a>, and <a href="multimedia.html">Multimedia Classes</a>.

<hr><h2>Member Function Documentation</h2>
<h3 class=fn><a name="TQImageDecoder"></a>TQImageDecoder::TQImageDecoder ( <a href="qimageconsumer.html">TQImageConsumer</a>&nbsp;*&nbsp;c )
</h3>
Constructs a TQImageDecoder that will send change information to
the <a href="qimageconsumer.html">TQImageConsumer</a> <em>c</em>.

<h3 class=fn><a name="~TQImageDecoder"></a>TQImageDecoder::~TQImageDecoder ()
</h3>
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 <em>not</em> destroyed.

<h3 class=fn>int <a name="decode"></a>TQImageDecoder::decode ( const&nbsp;uchar&nbsp;*&nbsp;buffer, int&nbsp;length )
</h3>
Call this function to decode some data into image changes. The
data in <em>buffer</em> will be decoded, sending change information to
the <a href="qimageconsumer.html">TQImageConsumer</a> of this TQImageDecoder until one of the change
functions of the consumer returns FALSE. The length of the data is
given in <em>length</em>.
<p> Returns the number of bytes consumed: 0 if consumption is
complete, and -1 if decoding fails due to invalid data.

<h3 class=fn><a href="qimageformattype.html">TQImageFormatType</a>&nbsp;* <a name="format"></a>TQImageDecoder::format ( const&nbsp;char&nbsp;*&nbsp;name )<tt> [static]</tt>
</h3>
Returns a <a href="qimageformattype.html">TQImageFormatType</a> by name. This might be used when the
user needs to force data to be interpreted as being in a certain
format. <em>name</em> is one of the formats listed by
<a href="#inputFormats">TQImageDecoder::inputFormats</a>(). Note that you will still need to
supply decodable data to result->decoderFor() before you can begin
decoding the data.

<h3 class=fn>const char * <a name="formatName"></a>TQImageDecoder::formatName ( const&nbsp;uchar&nbsp;*&nbsp;buffer, int&nbsp;length )<tt> [static]</tt>
</h3>
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 <em>length</em> characters in the <em>buffer</em>.
<p> Returns 0 if the format is not recognized.

<h3 class=fn>const&nbsp;<a href="qimage.html">TQImage</a>&nbsp;&amp; <a name="image"></a>TQImageDecoder::image ()
</h3>

<p> Returns the image currently being decoded.

<h3 class=fn><a href="qstrlist.html">TQStrList</a> <a name="inputFormats"></a>TQImageDecoder::inputFormats ()<tt> [static]</tt>
</h3>
Returns a sorted list of formats for which asynchronous loading is
supported.

<h3 class=fn>void <a name="registerDecoderFactory"></a>TQImageDecoder::registerDecoderFactory ( <a href="qimageformattype.html">TQImageFormatType</a>&nbsp;*&nbsp;f )<tt> [static]</tt>
</h3>
Registers the new <a href="qimageformattype.html">TQImageFormatType</a> <em>f</em>. This is not needed in
application code because factories call this themselves.

<h3 class=fn>void <a name="unregisterDecoderFactory"></a>TQImageDecoder::unregisterDecoderFactory ( <a href="qimageformattype.html">TQImageFormatType</a>&nbsp;*&nbsp;f )<tt> [static]</tt>
</h3>
Unregisters the <a href="qimageformattype.html">TQImageFormatType</a> <em>f</em>. This is not needed in
application code because factories call this themselves.

<!-- eof -->
<hr><p>
This file is part of the <a href="index.html">TQt toolkit</a>.
Copyright &copy; 1995-2007
<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
<table width=100% cellspacing=0 border=0><tr>
<td>Copyright &copy; 2007
<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
<td align=right><div align=right>TQt 3.3.8</div>
</table></div></address></body>
</html>