Eneboo - Documentación para desarrolladores
|
00001 /* ************************************************************************** */ 00002 /* * For conditions of distribution and use, * */ 00003 /* * see copyright notice in libmng.h * */ 00004 /* ************************************************************************** */ 00005 /* * * */ 00006 /* * project : libmng * */ 00007 /* * file : libmng_object_prc.h copyright (c) 2000 G.Juyn * */ 00008 /* * version : 1.0.0 * */ 00009 /* * * */ 00010 /* * purpose : Object processing routines (definition) * */ 00011 /* * * */ 00012 /* * author : G.Juyn * */ 00013 /* * web : http://www.3-t.com * */ 00014 /* * email : mailto:info@3-t.com * */ 00015 /* * * */ 00016 /* * comment : Definition of the internal object processing routines * */ 00017 /* * * */ 00018 /* * changes : 0.5.1 - 05/08/2000 - G.Juyn * */ 00019 /* * - changed strict-ANSI stuff * */ 00020 /* * * */ 00021 /* * 0.5.2 - 05/24/2000 - G.Juyn * */ 00022 /* * - added support for global color-chunks in animation * */ 00023 /* * - added support for global PLTE,tRNS,bKGD in animation * */ 00024 /* * - added SAVE & SEEK animation objects * */ 00025 /* * 0.5.2 - 05/29/2000 - G.Juyn * */ 00026 /* * - changed ani_object create routines not to return the * */ 00027 /* * created object (wasn't necessary) * */ 00028 /* * - added compression/filter/interlace fields to * */ 00029 /* * object-buffer for delta-image processing * */ 00030 /* * * */ 00031 /* * 0.5.3 - 06/22/2000 - G.Juyn * */ 00032 /* * - added support for PPLT chunk * */ 00033 /* * * */ 00034 /* * 0.9.2 - 08/05/2000 - G.Juyn * */ 00035 /* * - changed file-prefixes * */ 00036 /* * * */ 00037 /* * 0.9.3 - 08/26/2000 - G.Juyn * */ 00038 /* * - added MAGN chunk * */ 00039 /* * 0.9.3 - 10/17/2000 - G.Juyn * */ 00040 /* * - added routine to discard "invalid" objects * */ 00041 /* * * */ 00042 /* ************************************************************************** */ 00043 00044 #if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI) 00045 #pragma option -A /* force ANSI-C */ 00046 #endif 00047 00048 #ifndef _libmng_object_prc_h_ 00049 #define _libmng_object_prc_h_ 00050 00051 /* ************************************************************************** */ 00052 00053 mng_retcode drop_invalid_objects (mng_datap pData); 00054 00055 /* ************************************************************************** */ 00056 00057 mng_retcode create_imagedataobject (mng_datap pData, 00058 mng_bool bConcrete, 00059 mng_bool bViewable, 00060 mng_uint32 iWidth, 00061 mng_uint32 iHeight, 00062 mng_uint8 iBitdepth, 00063 mng_uint8 iColortype, 00064 mng_uint8 iCompression, 00065 mng_uint8 iFilter, 00066 mng_uint8 iInterlace, 00067 mng_imagedatap *ppObject); 00068 00069 mng_retcode free_imagedataobject (mng_datap pData, 00070 mng_imagedatap pImagedata); 00071 00072 mng_retcode clone_imagedataobject (mng_datap pData, 00073 mng_bool bConcrete, 00074 mng_imagedatap pSource, 00075 mng_imagedatap *ppClone); 00076 00077 /* ************************************************************************** */ 00078 00079 mng_retcode create_imageobject (mng_datap pData, 00080 mng_uint16 iId, 00081 mng_bool bConcrete, 00082 mng_bool bVisible, 00083 mng_bool bViewable, 00084 mng_uint32 iWidth, 00085 mng_uint32 iHeight, 00086 mng_uint8 iBitdepth, 00087 mng_uint8 iColortype, 00088 mng_uint8 iCompression, 00089 mng_uint8 iFilter, 00090 mng_uint8 iInterlace, 00091 mng_int32 iPosx, 00092 mng_int32 iPosy, 00093 mng_bool bClipped, 00094 mng_int32 iClipl, 00095 mng_int32 iClipr, 00096 mng_int32 iClipt, 00097 mng_int32 iClipb, 00098 mng_imagep *ppObject); 00099 00100 mng_retcode free_imageobject (mng_datap pData, 00101 mng_imagep pImage); 00102 00103 mng_imagep find_imageobject (mng_datap pData, 00104 mng_uint16 iId); 00105 00106 mng_retcode clone_imageobject (mng_datap pData, 00107 mng_uint16 iId, 00108 mng_bool bPartial, 00109 mng_bool bVisible, 00110 mng_bool bAbstract, 00111 mng_bool bHasloca, 00112 mng_uint8 iLocationtype, 00113 mng_int32 iLocationx, 00114 mng_int32 iLocationy, 00115 mng_imagep pSource, 00116 mng_imagep *ppClone); 00117 00118 mng_retcode renum_imageobject (mng_datap pData, 00119 mng_imagep pSource, 00120 mng_uint16 iId, 00121 mng_bool bVisible, 00122 mng_bool bAbstract, 00123 mng_bool bHasloca, 00124 mng_uint8 iLocationtype, 00125 mng_int32 iLocationx, 00126 mng_int32 iLocationy); 00127 00128 mng_retcode reset_object_details (mng_datap pData, 00129 mng_imagep pImage, 00130 mng_uint32 iWidth, 00131 mng_uint32 iHeight, 00132 mng_uint8 iBitdepth, 00133 mng_uint8 iColortype, 00134 mng_uint8 iCompression, 00135 mng_uint8 iFilter, 00136 mng_uint8 iInterlace, 00137 mng_bool bResetall); 00138 00139 mng_retcode promote_imageobject (mng_datap pData, 00140 mng_imagep pImage, 00141 mng_uint8 iBitdepth, 00142 mng_uint8 iColortype, 00143 mng_uint8 iFilltype); 00144 00145 mng_retcode magnify_imageobject (mng_datap pData, 00146 mng_imagep pImage); 00147 00148 /* ************************************************************************** */ 00149 00150 mng_retcode create_ani_image (mng_datap pData); 00151 00152 mng_retcode create_ani_plte (mng_datap pData, 00153 mng_uint32 iEntrycount, 00154 mng_palette8ep paEntries); 00155 00156 mng_retcode create_ani_trns (mng_datap pData, 00157 mng_uint32 iRawlen, 00158 mng_uint8p pRawdata); 00159 00160 mng_retcode create_ani_gama (mng_datap pData, 00161 mng_bool bEmpty, 00162 mng_uint32 iGamma); 00163 00164 mng_retcode create_ani_chrm (mng_datap pData, 00165 mng_bool bEmpty, 00166 mng_uint32 iWhitepointx, 00167 mng_uint32 iWhitepointy, 00168 mng_uint32 iRedx, 00169 mng_uint32 iRedy, 00170 mng_uint32 iGreenx, 00171 mng_uint32 iGreeny, 00172 mng_uint32 iBluex, 00173 mng_uint32 iBluey); 00174 00175 mng_retcode create_ani_srgb (mng_datap pData, 00176 mng_bool bEmpty, 00177 mng_uint8 iRenderinginent); 00178 00179 mng_retcode create_ani_iccp (mng_datap pData, 00180 mng_bool bEmpty, 00181 mng_uint32 iProfilesize, 00182 mng_ptr pProfile); 00183 00184 mng_retcode create_ani_bkgd (mng_datap pData, 00185 mng_uint16 iRed, 00186 mng_uint16 iGreen, 00187 mng_uint16 iBlue); 00188 00189 mng_retcode create_ani_loop (mng_datap pData, 00190 mng_uint8 iLevel, 00191 mng_uint32 iRepeatcount, 00192 mng_uint8 iTermcond, 00193 mng_uint32 iItermin, 00194 mng_uint32 iItermax, 00195 mng_uint32 iCount, 00196 mng_uint32p pSignals); 00197 00198 mng_retcode create_ani_endl (mng_datap pData, 00199 mng_uint8 iLevel); 00200 00201 mng_retcode create_ani_defi (mng_datap pData); 00202 00203 mng_retcode create_ani_basi (mng_datap pData, 00204 mng_uint16 iRed, 00205 mng_uint16 iGreen, 00206 mng_uint16 iBlue, 00207 mng_bool bHasalpha, 00208 mng_uint16 iAlpha, 00209 mng_uint8 iViewable); 00210 00211 mng_retcode create_ani_clon (mng_datap pData, 00212 mng_uint16 iCloneid, 00213 mng_uint16 iSourceid, 00214 mng_uint8 iClonetype, 00215 mng_bool bHasdonotshow, 00216 mng_uint8 iDonotshow, 00217 mng_uint8 iConcrete, 00218 mng_bool bHasloca, 00219 mng_uint8 iLocatype, 00220 mng_int32 iLocax, 00221 mng_int32 iLocay); 00222 00223 mng_retcode create_ani_back (mng_datap pData, 00224 mng_uint16 iRed, 00225 mng_uint16 iGreen, 00226 mng_uint16 iBlue, 00227 mng_uint8 iMandatory, 00228 mng_uint16 iImageid, 00229 mng_uint8 iTile); 00230 00231 mng_retcode create_ani_fram (mng_datap pData, 00232 mng_uint8 iFramemode, 00233 mng_uint8 iChangedelay, 00234 mng_uint32 iDelay, 00235 mng_uint8 iChangetimeout, 00236 mng_uint32 iTimeout, 00237 mng_uint8 iChangeclipping, 00238 mng_uint8 iCliptype, 00239 mng_int32 iClipl, 00240 mng_int32 iClipr, 00241 mng_int32 iClipt, 00242 mng_int32 iClipb); 00243 00244 mng_retcode create_ani_move (mng_datap pData, 00245 mng_uint16 iFirstid, 00246 mng_uint16 iLastid, 00247 mng_uint8 iType, 00248 mng_int32 iLocax, 00249 mng_int32 iLocay); 00250 00251 mng_retcode create_ani_clip (mng_datap pData, 00252 mng_uint16 iFirstid, 00253 mng_uint16 iLastid, 00254 mng_uint8 iType, 00255 mng_int32 iClipl, 00256 mng_int32 iClipr, 00257 mng_int32 iClipt, 00258 mng_int32 iClipb); 00259 00260 mng_retcode create_ani_show (mng_datap pData, 00261 mng_uint16 iFirstid, 00262 mng_uint16 iLastid, 00263 mng_uint8 iMode); 00264 00265 mng_retcode create_ani_term (mng_datap pData, 00266 mng_uint8 iTermaction, 00267 mng_uint8 iIteraction, 00268 mng_uint32 iDelay, 00269 mng_uint32 iItermax); 00270 00271 mng_retcode create_ani_save (mng_datap pData); 00272 mng_retcode create_ani_seek (mng_datap pData); 00273 00274 mng_retcode create_ani_dhdr (mng_datap pData, 00275 mng_uint16 iObjectid, 00276 mng_uint8 iImagetype, 00277 mng_uint8 iDeltatype, 00278 mng_uint32 iBlockwidth, 00279 mng_uint32 iBlockheight, 00280 mng_uint32 iBlockx, 00281 mng_uint32 iBlocky); 00282 00283 mng_retcode create_ani_prom (mng_datap pData, 00284 mng_uint8 iBitdepth, 00285 mng_uint8 iColortype, 00286 mng_uint8 iFilltype); 00287 00288 mng_retcode create_ani_ipng (mng_datap pData); 00289 mng_retcode create_ani_ijng (mng_datap pData); 00290 00291 mng_retcode create_ani_pplt (mng_datap pData, 00292 mng_uint8 iType, 00293 mng_uint32 iCount, 00294 mng_palette8ep paIndexentries, 00295 mng_uint8p paAlphaentries, 00296 mng_uint8p paUsedentries); 00297 00298 mng_retcode create_ani_magn (mng_datap pData, 00299 mng_uint16 iFirstid, 00300 mng_uint16 iLastid, 00301 mng_uint16 iMethodX, 00302 mng_uint16 iMX, 00303 mng_uint16 iMY, 00304 mng_uint16 iML, 00305 mng_uint16 iMR, 00306 mng_uint16 iMT, 00307 mng_uint16 iMB, 00308 mng_uint16 iMethodY); 00309 00310 /* ************************************************************************** */ 00311 00312 mng_retcode free_ani_image (mng_datap pData, 00313 mng_objectp pObject); 00314 00315 mng_retcode free_ani_plte (mng_datap pData, 00316 mng_objectp pObject); 00317 mng_retcode free_ani_trns (mng_datap pData, 00318 mng_objectp pObject); 00319 mng_retcode free_ani_gama (mng_datap pData, 00320 mng_objectp pObject); 00321 mng_retcode free_ani_chrm (mng_datap pData, 00322 mng_objectp pObject); 00323 mng_retcode free_ani_srgb (mng_datap pData, 00324 mng_objectp pObject); 00325 mng_retcode free_ani_iccp (mng_datap pData, 00326 mng_objectp pObject); 00327 mng_retcode free_ani_bkgd (mng_datap pData, 00328 mng_objectp pObject); 00329 mng_retcode free_ani_loop (mng_datap pData, 00330 mng_objectp pObject); 00331 mng_retcode free_ani_endl (mng_datap pData, 00332 mng_objectp pObject); 00333 mng_retcode free_ani_defi (mng_datap pData, 00334 mng_objectp pObject); 00335 mng_retcode free_ani_basi (mng_datap pData, 00336 mng_objectp pObject); 00337 mng_retcode free_ani_clon (mng_datap pData, 00338 mng_objectp pObject); 00339 mng_retcode free_ani_back (mng_datap pData, 00340 mng_objectp pObject); 00341 mng_retcode free_ani_fram (mng_datap pData, 00342 mng_objectp pObject); 00343 mng_retcode free_ani_move (mng_datap pData, 00344 mng_objectp pObject); 00345 mng_retcode free_ani_clip (mng_datap pData, 00346 mng_objectp pObject); 00347 mng_retcode free_ani_show (mng_datap pData, 00348 mng_objectp pObject); 00349 mng_retcode free_ani_term (mng_datap pData, 00350 mng_objectp pObject); 00351 mng_retcode free_ani_save (mng_datap pData, 00352 mng_objectp pObject); 00353 mng_retcode free_ani_seek (mng_datap pData, 00354 mng_objectp pObject); 00355 mng_retcode free_ani_dhdr (mng_datap pData, 00356 mng_objectp pObject); 00357 mng_retcode free_ani_prom (mng_datap pData, 00358 mng_objectp pObject); 00359 mng_retcode free_ani_ipng (mng_datap pData, 00360 mng_objectp pObject); 00361 mng_retcode free_ani_ijng (mng_datap pData, 00362 mng_objectp pObject); 00363 mng_retcode free_ani_pplt (mng_datap pData, 00364 mng_objectp pObject); 00365 mng_retcode free_ani_magn (mng_datap pData, 00366 mng_objectp pObject); 00367 00368 /* ************************************************************************** */ 00369 00370 mng_retcode process_ani_image (mng_datap pData, 00371 mng_objectp pObject); 00372 00373 mng_retcode process_ani_plte (mng_datap pData, 00374 mng_objectp pObject); 00375 mng_retcode process_ani_trns (mng_datap pData, 00376 mng_objectp pObject); 00377 mng_retcode process_ani_gama (mng_datap pData, 00378 mng_objectp pObject); 00379 mng_retcode process_ani_chrm (mng_datap pData, 00380 mng_objectp pObject); 00381 mng_retcode process_ani_srgb (mng_datap pData, 00382 mng_objectp pObject); 00383 mng_retcode process_ani_iccp (mng_datap pData, 00384 mng_objectp pObject); 00385 mng_retcode process_ani_bkgd (mng_datap pData, 00386 mng_objectp pObject); 00387 mng_retcode process_ani_loop (mng_datap pData, 00388 mng_objectp pObject); 00389 mng_retcode process_ani_endl (mng_datap pData, 00390 mng_objectp pObject); 00391 mng_retcode process_ani_defi (mng_datap pData, 00392 mng_objectp pObject); 00393 mng_retcode process_ani_basi (mng_datap pData, 00394 mng_objectp pObject); 00395 mng_retcode process_ani_clon (mng_datap pData, 00396 mng_objectp pObject); 00397 mng_retcode process_ani_back (mng_datap pData, 00398 mng_objectp pObject); 00399 mng_retcode process_ani_fram (mng_datap pData, 00400 mng_objectp pObject); 00401 mng_retcode process_ani_move (mng_datap pData, 00402 mng_objectp pObject); 00403 mng_retcode process_ani_clip (mng_datap pData, 00404 mng_objectp pObject); 00405 mng_retcode process_ani_show (mng_datap pData, 00406 mng_objectp pObject); 00407 mng_retcode process_ani_term (mng_datap pData, 00408 mng_objectp pObject); 00409 mng_retcode process_ani_save (mng_datap pData, 00410 mng_objectp pObject); 00411 mng_retcode process_ani_seek (mng_datap pData, 00412 mng_objectp pObject); 00413 mng_retcode process_ani_dhdr (mng_datap pData, 00414 mng_objectp pObject); 00415 mng_retcode process_ani_prom (mng_datap pData, 00416 mng_objectp pObject); 00417 mng_retcode process_ani_ipng (mng_datap pData, 00418 mng_objectp pObject); 00419 mng_retcode process_ani_ijng (mng_datap pData, 00420 mng_objectp pObject); 00421 mng_retcode process_ani_pplt (mng_datap pData, 00422 mng_objectp pObject); 00423 mng_retcode process_ani_magn (mng_datap pData, 00424 mng_objectp pObject); 00425 00426 /* ************************************************************************** */ 00427 00428 #endif /* _libmng_object_prc_h_ */ 00429 00430 /* ************************************************************************** */ 00431 /* * end of file * */ 00432 /* ************************************************************************** */