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 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>paintlib: planydec.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.2 -->
<div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Compound List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Compound Members</a></div>
<h1>planydec.h</h1><div class="fragment"><pre>00001 <span class="comment">/*</span>
00002 <span class="comment">/--------------------------------------------------------------------</span>
00003 <span class="comment">|</span>
00004 <span class="comment">| $Id: planydec_8h-source.html,v 1.4 2004/09/15 15:26:26 uzadow Exp $</span>
00005 <span class="comment">|</span>
00006 <span class="comment">| Copyright (c) 1996-2002 Ulrich von Zadow</span>
00007 <span class="comment">|</span>
00008 <span class="comment">\--------------------------------------------------------------------</span>
00009 <span class="comment">*/</span>
00010
00011 <span class="preprocessor">#ifndef INCL_PLANYDEC</span>
00012 <span class="preprocessor"></span><span class="preprocessor">#define INCL_PLANYDEC</span>
00013 <span class="preprocessor"></span>
00014 <span class="preprocessor">#ifndef INCL_PLPICDEC</span>
00015 <span class="preprocessor"></span><span class="preprocessor">#include "plpicdec.h"</span>
00016 <span class="preprocessor">#endif</span>
00017 <span class="preprocessor"></span>
00018 <span class="keyword">class </span>CBitmap;
00019
00020 <span class="keyword">class </span><a class="code" href="classPLPictDecoder.html">PLPictDecoder</a>;
00021 <span class="keyword">class </span><a class="code" href="classPLTGADecoder.html">PLTGADecoder</a>;
00022 <span class="keyword">class </span><a class="code" href="classPLTIFFDecoder.html">PLTIFFDecoder</a>;
00023 <span class="keyword">class </span><a class="code" href="classPLJPEGDecoder.html">PLJPEGDecoder</a>;
00024 <span class="keyword">class </span><a class="code" href="classPLPNGDecoder.html">PLPNGDecoder</a>;
00025 <span class="keyword">class </span>PLWEMFDecoder;
00026 <span class="keyword">class </span><a class="code" href="classPLPCXDecoder.html">PLPCXDecoder</a>;
00027 <span class="keyword">class </span><a class="code" href="classPLPGMDecoder.html">PLPGMDecoder</a>;
00028 <span class="keyword">class </span><a class="code" href="classPLGIFDecoder.html">PLGIFDecoder</a>;
00029 <span class="keyword">class </span><a class="code" href="classPLBmpDecoder.html">PLBmpDecoder</a>;
00030 <span class="keyword">class </span><a class="code" href="classPLPPMDecoder.html">PLPPMDecoder</a>;
00031 <span class="keyword">class </span><a class="code" href="classPLPSDDecoder.html">PLPSDDecoder</a>;
00032 <span class="keyword">class </span><a class="code" href="classPLSGIDecoder.html">PLSGIDecoder</a>;
00033 <span class="keyword">class </span><a class="code" href="classPLIFF85Decoder.html">PLIFF85Decoder</a>;
00034
00035 <span class="preprocessor">#define PL_FT_UNKNOWN 0</span>
00036 <span class="preprocessor"></span><span class="preprocessor">#define PL_FT_WINBMP 1</span>
00037 <span class="preprocessor"></span><span class="preprocessor">#define PL_FT_MACPICT 2</span>
00038 <span class="preprocessor"></span><span class="preprocessor">#define PL_FT_TARGA 3</span>
00039 <span class="preprocessor"></span><span class="preprocessor">#define PL_FT_TIFF 4</span>
00040 <span class="preprocessor"></span><span class="preprocessor">#define PL_FT_JPEG 5</span>
00041 <span class="preprocessor"></span><span class="preprocessor">#define PL_FT_PNG 6</span>
00042 <span class="preprocessor"></span><span class="preprocessor">#define PL_FT_EPSTIFF 7</span>
00043 <span class="preprocessor"></span><span class="preprocessor">#define PL_FT_WMF 8</span>
00044 <span class="preprocessor"></span><span class="preprocessor">#define PL_FT_EMF 9</span>
00045 <span class="preprocessor"></span><span class="preprocessor">#define PL_FT_PCX 10</span>
00046 <span class="preprocessor"></span><span class="preprocessor">#define PL_FT_PGM 11</span>
00047 <span class="preprocessor"></span><span class="preprocessor">#define PL_FT_GIF 12</span>
00048 <span class="preprocessor"></span><span class="preprocessor">#define PL_FT_PPM 13</span>
00049 <span class="preprocessor"></span><span class="preprocessor">#define PL_FT_PSD 14</span>
00050 <span class="preprocessor"></span><span class="preprocessor">#define PL_FT_SGI 15</span>
00051 <span class="preprocessor"></span><span class="preprocessor">#define PL_FT_IFF85 16</span>
00052 <span class="preprocessor"></span><span class="comment"></span>
00053 <span class="comment">//! Class which decodes pictures with any known format. </span>
00054 <span class="comment">//! It auto-detects the format to use and delegates the work to one of</span>
00055 <span class="comment">//! the other decoder classes.</span>
00056 <span class="comment">//! The interface to PLAnyPicDecoder is the same as PLPicDecoder.</span>
<a name="l00057"></a><a class="code" href="classPLAnyPicDecoder.html">00057</a> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classPLAnyPicDecoder.html">PLAnyPicDecoder</a> : <span class="keyword">public</span> <a class="code" href="classPLPicDecoder.html">PLPicDecoder</a>
00058 {
00059
00060 <span class="keyword">public</span>:<span class="comment"></span>
00061 <span class="comment"> //! Creates a decoder.</span>
00062 <span class="comment"></span> <a class="code" href="classPLAnyPicDecoder.html">PLAnyPicDecoder</a>
00063 ();
00064 <span class="comment"></span>
00065 <span class="comment"> //! Destroys the decoder.</span>
00066 <span class="comment"></span> ~<a class="code" href="classPLAnyPicDecoder.html">PLAnyPicDecoder</a>
00067 ();
00068 <span class="comment"></span>
00069 <span class="comment"> //! Returns the actual file type loaded. Can be called after open. </span>
00070 <span class="comment"></span> <span class="keywordtype">int</span> <a class="code" href="classPLAnyPicDecoder.html#a2">GetFileFormat</a> ();
00071 <span class="comment"></span>
00072 <span class="comment"> //! Opens a data source and prepares decoding.</span>
00073 <span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPLAnyPicDecoder.html#a3">Open</a> (<a class="code" href="classPLDataSource.html">PLDataSource</a> * pDataSrc);
00074 <span class="comment"></span>
00075 <span class="comment"> //! Decodes the actual image</span>
00076 <span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPLAnyPicDecoder.html#a4">GetImage</a> (<a class="code" href="classPLBmpBase.html">PLBmpBase</a> & Bmp);
00077 <span class="comment"></span>
00078 <span class="comment"> //! Terminates decoding.</span>
00079 <span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPLAnyPicDecoder.html#a5">Close</a> ();
00080
00081 <span class="keyword">private</span>:
00082 <span class="comment">// Check for file-format-specific data & return the file type if</span>
00083 <span class="comment">// something fits.</span>
00084 <span class="keywordtype">int</span> getFileType
00085 ( PLBYTE * pData,
00086 <span class="keywordtype">int</span> DataLen
00087 );
00088
00089 <span class="keywordtype">long</span> epsLongVal
00090 ( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *p
00091 );
00092 <span class="comment"></span>
00093 <span class="comment"> ///////////////////////////////////////////////////////////////////</span>
00094 <span class="comment"></span> <span class="comment">// Member variables.</span>
00095 <span class="keywordtype">int</span> m_Type;
00096 <a class="code" href="classPLPicDecoder.html">PLPicDecoder</a> * m_pCurDec;
00097
00098 <a class="code" href="classPLBmpDecoder.html">PLBmpDecoder</a> * m_pBmpDec;
00099 <a class="code" href="classPLPictDecoder.html">PLPictDecoder</a> * m_pPictDec;
00100 <a class="code" href="classPLTGADecoder.html">PLTGADecoder</a> * m_pTGADec;
00101 <a class="code" href="classPLTIFFDecoder.html">PLTIFFDecoder</a> * m_pTIFFDec;
00102 <a class="code" href="classPLJPEGDecoder.html">PLJPEGDecoder</a> * m_pJPEGDec;
00103 <a class="code" href="classPLPNGDecoder.html">PLPNGDecoder</a> * m_pPNGDec;
00104 PLWEMFDecoder * m_pWEMFDec;
00105 <a class="code" href="classPLPCXDecoder.html">PLPCXDecoder</a> * m_pPCXDec;
00106 <a class="code" href="classPLPGMDecoder.html">PLPGMDecoder</a> * m_pPGMDec;
00107 <a class="code" href="classPLGIFDecoder.html">PLGIFDecoder</a> * m_pGIFDec;
00108 <a class="code" href="classPLPPMDecoder.html">PLPPMDecoder</a> * m_pPPMDec;
00109 <a class="code" href="classPLPSDDecoder.html">PLPSDDecoder</a> * m_pPSDDec;
00110 <a class="code" href="classPLSGIDecoder.html">PLSGIDecoder</a> * m_pSGIDec;
00111 <a class="code" href="classPLIFF85Decoder.html">PLIFF85Decoder</a>* m_pIFF85Dec;
00112
00113 };
00114
00115 <span class="preprocessor">#endif</span>
00116 <span class="preprocessor"></span>
00117 <span class="comment">/*</span>
00118 <span class="comment">/--------------------------------------------------------------------</span>
00119 <span class="comment">|</span>
00120 <span class="comment">| $Log: planydec_8h-source.html,v $
00120 <span class="comment">| Revision 1.4 2004/09/15 15:26:26 uzadow
00120 <span class="comment">| Linux compatibility changes, doc update.
00120 <span class="comment">|</span>
00121 <span class="comment">| Revision 1.11 2004/06/19 16:49:07 uzadow</span>
00122 <span class="comment">| Changed GetImage so it works with PLBmpBase</span>
00123 <span class="comment">|</span>
00124 <span class="comment">| Revision 1.10 2004/06/06 12:56:38 uzadow</span>
00125 <span class="comment">| Doxygenified documentation.</span>
00126 <span class="comment">|</span>
00127 <span class="comment">| Revision 1.9 2004/03/13 19:40:23 uzadow</span>
00128 <span class="comment">| Added Rupert Welchs iff decoder.</span>
00129 <span class="comment">|</span>
00130 <span class="comment">| Revision 1.8 2003/06/01 21:12:06 uzadow</span>
00131 <span class="comment">| Added sgi rgb file format.</span>
00132 <span class="comment">|</span>
00133 <span class="comment">| Revision 1.7 2002/08/04 20:08:01 uzadow</span>
00134 <span class="comment">| Added PLBmpInfo class, ability to extract metainformation from </span>
00135 <span class="comment">| images without loading the whole image and proper greyscale support.</span>
00136 <span class="comment">|</span>
00137 <span class="comment">| Revision 1.6 2002/03/06 22:46:54 uzadow</span>
00138 <span class="comment">| Fixed major PLAnyDec bug</span>
00139 <span class="comment">|</span>
00140 <span class="comment">| Revision 1.5 2001/10/21 17:12:39 uzadow</span>
00141 <span class="comment">| Added PSD decoder beta, removed BPPWanted from all decoders, added </span>
00142 <span class="comment">| PLFilterPixel.</span>
00143 <span class="comment">|</span>
00144 <span class="comment">| Revision 1.4 2001/10/16 17:51:32 uzadow</span>
00145 <span class="comment">| Added ppm support (Todd Harris)</span>
00146 <span class="comment">|</span>
00147 <span class="comment">| Revision 1.3 2001/10/06 22:37:08 uzadow</span>
00148 <span class="comment">| Linux compatibility.</span>
00149 <span class="comment">|</span>
00150 <span class="comment">| Revision 1.2 2001/10/03 13:58:21 uzadow</span>
00151 <span class="comment">| Removed references to config.h</span>
00152 <span class="comment">|</span>
00153 <span class="comment">| Revision 1.1 2001/09/16 19:03:22 uzadow</span>
00154 <span class="comment">| Added global name prefix PL, changed most filenames.</span>
00155 <span class="comment">|</span>
00156 <span class="comment">| Revision 1.12 2001/09/15 21:02:44 uzadow</span>
00157 <span class="comment">| Cleaned up stdpch.h and config.h to make them internal headers.</span>
00158 <span class="comment">|</span>
00159 <span class="comment">| Revision 1.11 2001/01/14 13:36:15 uzadow</span>
00160 <span class="comment">| Added PLAnyPicDecoder::GetFileFormat()</span>
00161 <span class="comment">|</span>
00162 <span class="comment">| Revision 1.10 2000/12/08 12:32:00 uzadow</span>
00163 <span class="comment">| Added gif decoder by Michael Salzlechner.</span>
00164 <span class="comment">|</span>
00165 <span class="comment">| Revision 1.9 2000/03/31 11:53:29 Ulrich von Zadow</span>
00166 <span class="comment">| Added quantization support.</span>
00167 <span class="comment">|</span>
00168 <span class="comment">| Revision 1.8 2000/03/16 13:56:37 Ulrich von Zadow</span>
00169 <span class="comment">| Added pgm decoder by Jose Miguel Buenaposada Biencinto</span>
00170 <span class="comment">|</span>
00171 <span class="comment">| Revision 1.7 2000/01/16 20:43:12 anonymous</span>
00172 <span class="comment">| Removed MFC dependencies</span>
00173 <span class="comment">|</span>
00174 <span class="comment">| Revision 1.6 1999/12/08 15:39:45 Ulrich von Zadow</span>
00175 <span class="comment">| Unix compatibility changes</span>
00176 <span class="comment">|</span>
00177 <span class="comment">|</span>
00178 <span class="comment">\--------------------------------------------------------------------</span>
00179 <span class="comment">*/</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Sep 13 16:16:40 2004 for paintlib by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.2 </small></address>
</body>
</html>
|