123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452 |
- /* ************************************************************************** */
- /* * For conditions of distribution and use, * */
- /* * see copyright notice in libmng.h * */
- /* ************************************************************************** */
- /* * * */
- /* * project : libmng * */
- /* * file : libmng_chunk_prc.c copyright (c) 2000-2005 G.Juyn * */
- /* * version : 1.0.10 * */
- /* * * */
- /* * purpose : Chunk initialization & cleanup (implementation) * */
- /* * * */
- /* * author : G.Juyn * */
- /* * * */
- /* * comment : implementation of the chunk initialization & cleanup * */
- /* * routines * */
- /* * * */
- /* * changes : 0.5.1 - 05/08/2000 - G.Juyn * */
- /* * - changed strict-ANSI stuff * */
- /* * 0.5.1 - 05/12/2000 - G.Juyn * */
- /* * - changed trace to macro for callback error-reporting * */
- /* * * */
- /* * 0.9.1 - 07/19/2000 - G.Juyn * */
- /* * - fixed creation-code * */
- /* * * */
- /* * 0.9.2 - 07/31/2000 - G.Juyn * */
- /* * - put add_chunk() inside MNG_INCLUDE_WRITE_PROCS wrapper * */
- /* * 0.9.2 - 08/01/2000 - G.Juyn * */
- /* * - wrapper for add_chunk() changed * */
- /* * 0.9.2 - 08/05/2000 - G.Juyn * */
- /* * - changed file-prefixes * */
- /* * * */
- /* * 0.9.3 - 08/26/2000 - G.Juyn * */
- /* * - added MAGN chunk * */
- /* * 0.9.3 - 10/16/2000 - G.Juyn * */
- /* * - added support for JDAA * */
- /* * * */
- /* * 1.0.5 - 08/19/2002 - G.Juyn * */
- /* * - B597134 - libmng pollutes the linker namespace * */
- /* * - added HLAPI function to copy chunks * */
- /* * 1.0.5 - 09/14/2002 - G.Juyn * */
- /* * - added event handling for dynamic MNG * */
- /* * 1.0.5 - 10/04/2002 - G.Juyn * */
- /* * - fixed chunk-storage for evNT chunk * */
- /* * 1.0.5 - 10/17/2002 - G.Juyn * */
- /* * - fixed issue in freeing evNT chunk * */
- /* * * */
- /* * 1.0.6 - 07/07/2003 - G.R-P * */
- /* * - added MNG_SKIPCHUNK_cHNK footprint optimizations * */
- /* * - added MNG_NO_DELTA_PNG reduction feature * */
- /* * 1.0.6 - 07/14/2003 - G.R-P * */
- /* * - added MNG_NO_LOOP_SIGNALS_SUPPORTED conditional * */
- /* * 1.0.6 - 07/29/2003 - G.R-P * */
- /* * - added conditionals around PAST chunk support * */
- /* * 1.0.6 - 08/17/2003 - G.R-P * */
- /* * - added conditionals around non-VLC chunk support * */
- /* * * */
- /* * 1.0.7 - 03/24/2004 - G.R-P * */
- /* * - fixed SKIPCHUNK_eXPI -> fPRI typo * */
- /* * * */
- /* * 1.0.9 - 09/25/2004 - G.Juyn * */
- /* * - replaced MNG_TWEAK_LARGE_FILES with permanent solution * */
- /* * 1.0.9 - 12/05/2004 - G.Juyn * */
- /* * - added conditional MNG_OPTIMIZE_CHUNKINITFREE * */
- /* * 1.0.9 - 12/06/2004 - G.Juyn * */
- /* * - added conditional MNG_OPTIMIZE_CHUNKASSIGN * */
- /* * 1.0.9 - 12/20/2004 - G.Juyn * */
- /* * - cleaned up macro-invocations (thanks to D. Airlie) * */
- /* * * */
- /* * 1.0.10 - 07/30/2005 - G.Juyn * */
- /* * - fixed problem with CLON object during readdisplay() * */
- /* * 1.0.10 - 04/08/2007 - G.Juyn * */
- /* * - added support for mPNG proposal * */
- /* * 1.0.10 - 04/12/2007 - G.Juyn * */
- /* * - added support for ANG proposal * */
- /* * * */
- /* ************************************************************************** */
- #include "libmng.h"
- #include "libmng_data.h"
- #include "libmng_error.h"
- #include "libmng_trace.h"
- #ifdef __BORLANDC__
- #pragma hdrstop
- #endif
- #include "libmng_memory.h"
- #include "libmng_chunks.h"
- #include "libmng_chunk_prc.h"
- #if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)
- #pragma option -A /* force ANSI-C */
- #endif
- /* ************************************************************************** */
- /* * * */
- /* * General chunk routines * */
- /* * * */
- /* ************************************************************************** */
- void mng_add_chunk (mng_datap pData,
- mng_chunkp pChunk)
- {
- if (!pData->pFirstchunk) /* list is still empty ? */
- {
- pData->pFirstchunk = pChunk; /* then this becomes the first */
-
- #ifdef MNG_SUPPORT_WRITE
- if (!pData->iFirstchunkadded)
- {
- pData->iFirstchunkadded = ((mng_chunk_headerp)pChunk)->iChunkname;
- #endif
- if (((mng_chunk_headerp)pChunk)->iChunkname == MNG_UINT_IHDR)
- pData->eImagetype = mng_it_png;
- else
- #ifdef MNG_INCLUDE_JNG
- if (((mng_chunk_headerp)pChunk)->iChunkname == MNG_UINT_JHDR)
- pData->eImagetype = mng_it_jng;
- else
- #endif
- pData->eImagetype = mng_it_mng;
- pData->eSigtype = pData->eImagetype;
- #ifdef MNG_SUPPORT_WRITE
- }
- #endif
- }
- else
- { /* else we make appropriate links */
- ((mng_chunk_headerp)pChunk)->pPrev = pData->pLastchunk;
- ((mng_chunk_headerp)pData->pLastchunk)->pNext = pChunk;
- }
- pData->pLastchunk = pChunk; /* and it's always the last */
- return;
- }
- /* ************************************************************************** */
- /* * * */
- /* * Chunk specific initialization routines * */
- /* * * */
- /* ************************************************************************** */
- #ifdef MNG_OPTIMIZE_CHUNKINITFREE
- INIT_CHUNK_HDR (mng_init_general)
- {
- MNG_ALLOC (pData, *ppChunk, ((mng_chunk_headerp)pHeader)->iChunksize);
- MNG_COPY (*ppChunk, pHeader, sizeof (mng_chunk_header));
- return MNG_NOERROR;
- }
- #else /* MNG_OPTIMIZE_CHUNKINITFREE */
- /* ************************************************************************** */
- INIT_CHUNK_HDR (mng_init_ihdr)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_IHDR, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_ihdr));
- ((mng_ihdrp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_IHDR, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- /* ************************************************************************** */
- INIT_CHUNK_HDR (mng_init_plte)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_PLTE, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_plte));
- ((mng_pltep)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_PLTE, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- /* ************************************************************************** */
- INIT_CHUNK_HDR (mng_init_idat)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_IDAT, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_idat));
- ((mng_idatp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_IDAT, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- /* ************************************************************************** */
- INIT_CHUNK_HDR (mng_init_iend)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_IEND, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_iend));
- ((mng_iendp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_IEND, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- /* ************************************************************************** */
- INIT_CHUNK_HDR (mng_init_trns)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_TRNS, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_trns));
- ((mng_trnsp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_TRNS, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_gAMA
- INIT_CHUNK_HDR (mng_init_gama)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_GAMA, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_gama));
- ((mng_gamap)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_GAMA, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_cHRM
- INIT_CHUNK_HDR (mng_init_chrm)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_CHRM, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_chrm));
- ((mng_chrmp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_CHRM, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_sRGB
- INIT_CHUNK_HDR (mng_init_srgb)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_SRGB, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_srgb));
- ((mng_srgbp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_SRGB, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_iCCP
- INIT_CHUNK_HDR (mng_init_iccp)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_ICCP, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_iccp));
- ((mng_iccpp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_ICCP, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_tEXt
- INIT_CHUNK_HDR (mng_init_text)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_TEXT, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_text));
- ((mng_textp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_TEXT, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_zTXt
- INIT_CHUNK_HDR (mng_init_ztxt)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_ZTXT, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_ztxt));
- ((mng_ztxtp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_ZTXT, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_iTXt
- INIT_CHUNK_HDR (mng_init_itxt)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_ITXT, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_itxt));
- ((mng_itxtp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_ITXT, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_bKGD
- INIT_CHUNK_HDR (mng_init_bkgd)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_BKGD, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_bkgd));
- ((mng_bkgdp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_BKGD, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_pHYs
- INIT_CHUNK_HDR (mng_init_phys)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_PHYS, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_phys));
- ((mng_physp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_PHYS, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_sBIT
- INIT_CHUNK_HDR (mng_init_sbit)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_SBIT, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_sbit));
- ((mng_sbitp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_SBIT, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_sPLT
- INIT_CHUNK_HDR (mng_init_splt)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_SPLT, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_splt));
- ((mng_spltp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_SPLT, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_hIST
- INIT_CHUNK_HDR (mng_init_hist)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_HIST, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_hist));
- ((mng_histp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_HIST, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_tIME
- INIT_CHUNK_HDR (mng_init_time)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_TIME, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_time));
- ((mng_timep)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_TIME, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- INIT_CHUNK_HDR (mng_init_mhdr)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_MHDR, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_mhdr));
- ((mng_mhdrp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_MHDR, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- /* ************************************************************************** */
- INIT_CHUNK_HDR (mng_init_mend)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_MEND, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_mend));
- ((mng_mendp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_MEND, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_LOOP
- INIT_CHUNK_HDR (mng_init_loop)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_LOOP, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_loop));
- ((mng_loopp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_LOOP, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- /* ************************************************************************** */
- INIT_CHUNK_HDR (mng_init_endl)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_ENDL, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_endl));
- ((mng_endlp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_ENDL, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_DEFI
- INIT_CHUNK_HDR (mng_init_defi)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_DEFI, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_defi));
- ((mng_defip)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_DEFI, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_BASI
- INIT_CHUNK_HDR (mng_init_basi)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_BASI, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_basi));
- ((mng_basip)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_BASI, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_CLON
- INIT_CHUNK_HDR (mng_init_clon)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_CLON, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_clon));
- ((mng_clonp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_CLON, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_PAST
- INIT_CHUNK_HDR (mng_init_past)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_PAST, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_past));
- ((mng_pastp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_PAST, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_DISC
- INIT_CHUNK_HDR (mng_init_disc)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_DISC, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_disc));
- ((mng_discp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_DISC, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_BACK
- INIT_CHUNK_HDR (mng_init_back)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_BACK, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_back));
- ((mng_backp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_BACK, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_FRAM
- INIT_CHUNK_HDR (mng_init_fram)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_FRAM, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_fram));
- ((mng_framp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_FRAM, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_MOVE
- INIT_CHUNK_HDR (mng_init_move)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_MOVE, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_move));
- ((mng_movep)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_MOVE, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_CLIP
- INIT_CHUNK_HDR (mng_init_clip)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_CLIP, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_clip));
- ((mng_clipp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_CLIP, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_SHOW
- INIT_CHUNK_HDR (mng_init_show)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_SHOW, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_show));
- ((mng_showp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_SHOW, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_TERM
- INIT_CHUNK_HDR (mng_init_term)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_TERM, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_term));
- ((mng_termp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_TERM, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_SAVE
- INIT_CHUNK_HDR (mng_init_save)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_SAVE, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_save));
- ((mng_savep)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_SAVE, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_SEEK
- INIT_CHUNK_HDR (mng_init_seek)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_SEEK, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_seek));
- ((mng_seekp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_SEEK, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_eXPI
- INIT_CHUNK_HDR (mng_init_expi)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_EXPI, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_expi));
- ((mng_expip)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_EXPI, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_fPRI
- INIT_CHUNK_HDR (mng_init_fpri)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_FPRI, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_fpri));
- ((mng_fprip)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_FPRI, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_nEED
- INIT_CHUNK_HDR (mng_init_need)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_NEED, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_need));
- ((mng_needp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_NEED, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_pHYg
- INIT_CHUNK_HDR (mng_init_phyg)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_PHYG, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_phyg));
- ((mng_phygp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_PHYG, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifdef MNG_INCLUDE_JNG
- INIT_CHUNK_HDR (mng_init_jhdr)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_JHDR, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_jhdr));
- ((mng_jhdrp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_JHDR, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif /* MNG_INCLUDE_JNG */
- /* ************************************************************************** */
- #ifdef MNG_INCLUDE_JNG
- INIT_CHUNK_HDR (mng_init_jdaa)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_JDAA, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_jdaa));
- ((mng_jdaap)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_JDAA, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif /* MNG_INCLUDE_JNG */
- /* ************************************************************************** */
- #ifdef MNG_INCLUDE_JNG
- INIT_CHUNK_HDR (mng_init_jdat)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_JDAT, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_jdat));
- ((mng_jdatp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_JDAT, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif /* MNG_INCLUDE_JNG */
- /* ************************************************************************** */
- #ifdef MNG_INCLUDE_JNG
- INIT_CHUNK_HDR (mng_init_jsep)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_JSEP, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_jsep));
- ((mng_jsepp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_JSEP, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif /* MNG_INCLUDE_JNG */
- /* ************************************************************************** */
- #ifndef MNG_NO_DELTA_PNG
- INIT_CHUNK_HDR (mng_init_dhdr)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_DHDR, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_dhdr));
- ((mng_dhdrp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_DHDR, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_NO_DELTA_PNG
- INIT_CHUNK_HDR (mng_init_prom)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_PROM, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_prom));
- ((mng_promp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_PROM, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_NO_DELTA_PNG
- INIT_CHUNK_HDR (mng_init_ipng)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_IPNG, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_ipng));
- ((mng_ipngp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_IPNG, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_NO_DELTA_PNG
- INIT_CHUNK_HDR (mng_init_pplt)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_PPLT, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_pplt));
- ((mng_ppltp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_PPLT, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_NO_DELTA_PNG
- #ifdef MNG_INCLUDE_JNG
- INIT_CHUNK_HDR (mng_init_ijng)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_IJNG, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_ijng));
- ((mng_ijngp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_IJNG, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_NO_DELTA_PNG
- INIT_CHUNK_HDR (mng_init_drop)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_DROP, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_drop));
- ((mng_dropp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_DROP, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_NO_DELTA_PNG
- #ifndef MNG_SKIPCHUNK_DBYK
- INIT_CHUNK_HDR (mng_init_dbyk)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_DBYK, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_dbyk));
- ((mng_dbykp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_DBYK, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_NO_DELTA_PNG
- #ifndef MNG_SKIPCHUNK_ORDR
- INIT_CHUNK_HDR (mng_init_ordr)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_ORDR, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_ordr));
- ((mng_ordrp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_ORDR, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_MAGN
- INIT_CHUNK_HDR (mng_init_magn)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_MAGN, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_magn));
- ((mng_magnp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_MAGN, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_evNT
- INIT_CHUNK_HDR (mng_init_evnt)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_EVNT, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_evnt));
- ((mng_evntp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_EVNT, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- INIT_CHUNK_HDR (mng_init_unknown)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_UNKNOWN, MNG_LC_START);
- #endif
- MNG_ALLOC (pData, *ppChunk, sizeof (mng_unknown_chunk));
- ((mng_unknown_chunkp)*ppChunk)->sHeader = *((mng_chunk_headerp)pHeader);
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_INIT_UNKNOWN, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- /* ************************************************************************** */
- #endif /* MNG_OPTIMIZE_CHUNKINITFREE */
- /* ************************************************************************** */
- /* * * */
- /* * Chunk specific cleanup routines * */
- /* * * */
- /* ************************************************************************** */
- #ifdef MNG_OPTIMIZE_CHUNKINITFREE
- FREE_CHUNK_HDR (mng_free_general)
- {
- MNG_FREEX (pData, pHeader, ((mng_chunk_headerp)pHeader)->iChunksize);
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- FREE_CHUNK_HDR (mng_free_ihdr)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_IHDR, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_ihdr));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_IHDR, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- FREE_CHUNK_HDR (mng_free_plte)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_PLTE, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_plte));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_PLTE, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- FREE_CHUNK_HDR (mng_free_idat)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_IDAT, MNG_LC_START);
- #endif
- if (((mng_idatp)pHeader)->iDatasize)
- MNG_FREEX (pData, ((mng_idatp)pHeader)->pData,
- ((mng_idatp)pHeader)->iDatasize);
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- MNG_FREEX (pData, pHeader, sizeof (mng_idat));
- #endif
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_IDAT, MNG_LC_END);
- #endif
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- return MNG_NOERROR;
- #else
- return mng_free_general(pData, pHeader);
- #endif
- }
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- FREE_CHUNK_HDR (mng_free_iend)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_IEND, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_iend));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_IEND, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- FREE_CHUNK_HDR (mng_free_trns)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_TRNS, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_trns));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_TRNS, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifndef MNG_SKIPCHUNK_gAMA
- FREE_CHUNK_HDR (mng_free_gama)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_GAMA, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_gama));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_GAMA, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifndef MNG_SKIPCHUNK_cHRM
- FREE_CHUNK_HDR (mng_free_chrm)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_CHRM, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_chrm));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_CHRM, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifndef MNG_SKIPCHUNK_sRGB
- FREE_CHUNK_HDR (mng_free_srgb)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_SRGB, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_srgb));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_SRGB, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_iCCP
- FREE_CHUNK_HDR (mng_free_iccp)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_ICCP, MNG_LC_START);
- #endif
- if (((mng_iccpp)pHeader)->iNamesize)
- MNG_FREEX (pData, ((mng_iccpp)pHeader)->zName,
- ((mng_iccpp)pHeader)->iNamesize + 1);
- if (((mng_iccpp)pHeader)->iProfilesize)
- MNG_FREEX (pData, ((mng_iccpp)pHeader)->pProfile,
- ((mng_iccpp)pHeader)->iProfilesize);
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- MNG_FREEX (pData, pHeader, sizeof (mng_iccp));
- #endif
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_ICCP, MNG_LC_END);
- #endif
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- return MNG_NOERROR;
- #else
- return mng_free_general(pData, pHeader);
- #endif
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_tEXt
- FREE_CHUNK_HDR (mng_free_text)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_TEXT, MNG_LC_START);
- #endif
- if (((mng_textp)pHeader)->iKeywordsize)
- MNG_FREEX (pData, ((mng_textp)pHeader)->zKeyword,
- ((mng_textp)pHeader)->iKeywordsize + 1);
- if (((mng_textp)pHeader)->iTextsize)
- MNG_FREEX (pData, ((mng_textp)pHeader)->zText,
- ((mng_textp)pHeader)->iTextsize + 1);
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- MNG_FREEX (pData, pHeader, sizeof (mng_text));
- #endif
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_TEXT, MNG_LC_END);
- #endif
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- return MNG_NOERROR;
- #else
- return mng_free_general(pData, pHeader);
- #endif
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_zTXt
- FREE_CHUNK_HDR (mng_free_ztxt)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_ZTXT, MNG_LC_START);
- #endif
- if (((mng_ztxtp)pHeader)->iKeywordsize)
- MNG_FREEX (pData, ((mng_ztxtp)pHeader)->zKeyword,
- ((mng_ztxtp)pHeader)->iKeywordsize + 1);
- if (((mng_ztxtp)pHeader)->iTextsize)
- MNG_FREEX (pData, ((mng_ztxtp)pHeader)->zText,
- ((mng_ztxtp)pHeader)->iTextsize);
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- MNG_FREEX (pData, pHeader, sizeof (mng_ztxt));
- #endif
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_ZTXT, MNG_LC_END);
- #endif
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- return MNG_NOERROR;
- #else
- return mng_free_general(pData, pHeader);
- #endif
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_iTXt
- FREE_CHUNK_HDR (mng_free_itxt)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_ITXT, MNG_LC_START);
- #endif
- if (((mng_itxtp)pHeader)->iKeywordsize)
- MNG_FREEX (pData, ((mng_itxtp)pHeader)->zKeyword,
- ((mng_itxtp)pHeader)->iKeywordsize + 1);
- if (((mng_itxtp)pHeader)->iLanguagesize)
- MNG_FREEX (pData, ((mng_itxtp)pHeader)->zLanguage,
- ((mng_itxtp)pHeader)->iLanguagesize + 1);
- if (((mng_itxtp)pHeader)->iTranslationsize)
- MNG_FREEX (pData, ((mng_itxtp)pHeader)->zTranslation,
- ((mng_itxtp)pHeader)->iTranslationsize + 1);
- if (((mng_itxtp)pHeader)->iTextsize)
- MNG_FREEX (pData, ((mng_itxtp)pHeader)->zText,
- ((mng_itxtp)pHeader)->iTextsize);
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- MNG_FREEX (pData, pHeader, sizeof (mng_itxt));
- #endif
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_ITXT, MNG_LC_END);
- #endif
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- return MNG_NOERROR;
- #else
- return mng_free_general(pData, pHeader);
- #endif
- }
- #endif
- /* ************************************************************************** */
- #ifdef MNG_INCLUDE_MPNG_PROPOSAL
- FREE_CHUNK_HDR (mng_free_mpng)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_MPNG, MNG_LC_START);
- #endif
- if (((mng_mpngp)pHeader)->iFramessize)
- MNG_FREEX (pData, ((mng_mpngp)pHeader)->pFrames,
- ((mng_mpngp)pHeader)->iFramessize);
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- MNG_FREEX (pData, pHeader, sizeof (mng_mpng));
- #endif
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_MPNG, MNG_LC_END);
- #endif
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- return MNG_NOERROR;
- #else
- return mng_free_general(pData, pHeader);
- #endif
- }
- #endif
- /* ************************************************************************** */
- #ifdef MNG_INCLUDE_ANG_PROPOSAL
- FREE_CHUNK_HDR (mng_free_adat)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_ADAT, MNG_LC_START);
- #endif
- if (((mng_adatp)pHeader)->iTilessize)
- MNG_FREEX (pData, ((mng_adatp)pHeader)->pTiles, ((mng_adatp)pHeader)->iTilessize);
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- MNG_FREEX (pData, pHeader, sizeof (mng_adat));
- #endif
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_ADAT, MNG_LC_END);
- #endif
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- return MNG_NOERROR;
- #else
- return mng_free_general(pData, pHeader);
- #endif
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifndef MNG_SKIPCHUNK_bKGD
- FREE_CHUNK_HDR (mng_free_bkgd)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_BKGD, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_bkgd));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_BKGD, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifndef MNG_SKIPCHUNK_pHYs
- FREE_CHUNK_HDR (mng_free_phys)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_PHYS, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_phys));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_PHYS, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifndef MNG_SKIPCHUNK_sBIT
- FREE_CHUNK_HDR (mng_free_sbit)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_SBIT, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_sbit));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_SBIT, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_sPLT
- FREE_CHUNK_HDR (mng_free_splt)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_SPLT, MNG_LC_START);
- #endif
- if (((mng_spltp)pHeader)->iNamesize)
- MNG_FREEX (pData, ((mng_spltp)pHeader)->zName,
- ((mng_spltp)pHeader)->iNamesize + 1);
- if (((mng_spltp)pHeader)->iEntrycount)
- MNG_FREEX (pData, ((mng_spltp)pHeader)->pEntries,
- ((mng_spltp)pHeader)->iEntrycount *
- (((mng_spltp)pHeader)->iSampledepth * 3 + sizeof (mng_uint16)) );
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- MNG_FREEX (pData, pHeader, sizeof (mng_splt));
- #endif
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_SPLT, MNG_LC_END);
- #endif
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- return MNG_NOERROR;
- #else
- return mng_free_general(pData, pHeader);
- #endif
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifndef MNG_SKIPCHUNK_hIST
- FREE_CHUNK_HDR (mng_free_hist)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_HIST, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_hist));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_HIST, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifndef MNG_SKIPCHUNK_tIME
- FREE_CHUNK_HDR (mng_free_time)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_TIME, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_time));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_TIME, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- FREE_CHUNK_HDR (mng_free_mhdr)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_MHDR, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_mhdr));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_MHDR, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- FREE_CHUNK_HDR (mng_free_mend)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_MEND, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_mend));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_MEND, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_LOOP
- FREE_CHUNK_HDR (mng_free_loop)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_LOOP, MNG_LC_START);
- #endif
- #ifndef MNG_NO_LOOP_SIGNALS_SUPPORTED
- if (((mng_loopp)pHeader)->iCount)
- MNG_FREEX (pData, ((mng_loopp)pHeader)->pSignals,
- ((mng_loopp)pHeader)->iCount * sizeof (mng_uint32) );
- #endif
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- MNG_FREEX (pData, pHeader, sizeof (mng_loop));
- #endif
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_LOOP, MNG_LC_END);
- #endif
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- return MNG_NOERROR;
- #else
- return mng_free_general(pData, pHeader);
- #endif
- }
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- FREE_CHUNK_HDR (mng_free_endl)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_ENDL, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_endl));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_ENDL, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifndef MNG_SKIPCHUNK_DEFI
- FREE_CHUNK_HDR (mng_free_defi)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_DEFI, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_defi));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_DEFI, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifndef MNG_SKIPCHUNK_BASI
- FREE_CHUNK_HDR (mng_free_basi)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_BASI, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_basi));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_BASI, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifndef MNG_SKIPCHUNK_CLON
- FREE_CHUNK_HDR (mng_free_clon)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_CLON, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_clon));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_CLON, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_PAST
- FREE_CHUNK_HDR (mng_free_past)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_PAST, MNG_LC_START);
- #endif
- if (((mng_pastp)pHeader)->iCount)
- MNG_FREEX (pData, ((mng_pastp)pHeader)->pSources,
- ((mng_pastp)pHeader)->iCount * sizeof (mng_past_source) );
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- MNG_FREEX (pData, pHeader, sizeof (mng_past));
- #endif
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_PAST, MNG_LC_END);
- #endif
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- return MNG_NOERROR;
- #else
- return mng_free_general(pData, pHeader);
- #endif
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_DISC
- FREE_CHUNK_HDR (mng_free_disc)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_DISC, MNG_LC_START);
- #endif
- if (((mng_discp)pHeader)->iCount)
- MNG_FREEX (pData, ((mng_discp)pHeader)->pObjectids,
- ((mng_discp)pHeader)->iCount * sizeof (mng_uint16) );
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- MNG_FREEX (pData, pHeader, sizeof (mng_disc));
- #endif
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_DISC, MNG_LC_END);
- #endif
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- return MNG_NOERROR;
- #else
- return mng_free_general(pData, pHeader);
- #endif
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifndef MNG_SKIPCHUNK_BACK
- FREE_CHUNK_HDR (mng_free_back)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_BACK, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_back));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_BACK, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_FRAM
- FREE_CHUNK_HDR (mng_free_fram)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_FRAM, MNG_LC_START);
- #endif
- if (((mng_framp)pHeader)->iNamesize)
- MNG_FREEX (pData, ((mng_framp)pHeader)->zName,
- ((mng_framp)pHeader)->iNamesize + 1);
- if (((mng_framp)pHeader)->iCount)
- MNG_FREEX (pData, ((mng_framp)pHeader)->pSyncids,
- ((mng_framp)pHeader)->iCount * sizeof (mng_uint32) );
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- MNG_FREEX (pData, pHeader, sizeof (mng_fram));
- #endif
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_FRAM, MNG_LC_END);
- #endif
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- return MNG_NOERROR;
- #else
- return mng_free_general(pData, pHeader);
- #endif
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifndef MNG_SKIPCHUNK_MOVE
- FREE_CHUNK_HDR (mng_free_move)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_MOVE, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_move));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_MOVE, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifndef MNG_SKIPCHUNK_CLIP
- FREE_CHUNK_HDR (mng_free_clip)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_CLIP, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_clip));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_CLIP, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifndef MNG_SKIPCHUNK_SHOW
- FREE_CHUNK_HDR (mng_free_show)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_SHOW, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_show));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_SHOW, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifndef MNG_SKIPCHUNK_TERM
- FREE_CHUNK_HDR (mng_free_term)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_TERM, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_term));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_TERM, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_SAVE
- FREE_CHUNK_HDR (mng_free_save)
- {
- mng_save_entryp pEntry = ((mng_savep)pHeader)->pEntries;
- mng_uint32 iX;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_SAVE, MNG_LC_START);
- #endif
- for (iX = 0; iX < ((mng_savep)pHeader)->iCount; iX++)
- {
- if (pEntry->iNamesize)
- MNG_FREEX (pData, pEntry->zName, pEntry->iNamesize);
- pEntry = pEntry + sizeof (mng_save_entry);
- }
- if (((mng_savep)pHeader)->iCount)
- MNG_FREEX (pData, ((mng_savep)pHeader)->pEntries,
- ((mng_savep)pHeader)->iCount * sizeof (mng_save_entry) );
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- MNG_FREEX (pData, pHeader, sizeof (mng_save));
- #endif
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_SAVE, MNG_LC_END);
- #endif
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- return MNG_NOERROR;
- #else
- return mng_free_general(pData, pHeader);
- #endif
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_SEEK
- FREE_CHUNK_HDR (mng_free_seek)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_SEEK, MNG_LC_START);
- #endif
- if (((mng_seekp)pHeader)->iNamesize)
- MNG_FREEX (pData, ((mng_seekp)pHeader)->zName,
- ((mng_seekp)pHeader)->iNamesize + 1);
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- MNG_FREEX (pData, pHeader, sizeof (mng_seek));
- #endif
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_SEEK, MNG_LC_END);
- #endif
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- return MNG_NOERROR;
- #else
- return mng_free_general(pData, pHeader);
- #endif
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_eXPI
- FREE_CHUNK_HDR (mng_free_expi)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_EXPI, MNG_LC_START);
- #endif
- if (((mng_expip)pHeader)->iNamesize)
- MNG_FREEX (pData, ((mng_expip)pHeader)->zName,
- ((mng_expip)pHeader)->iNamesize + 1);
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- MNG_FREEX (pData, pHeader, sizeof (mng_expi));
- #endif
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_EXPI, MNG_LC_END);
- #endif
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- return MNG_NOERROR;
- #else
- return mng_free_general(pData, pHeader);
- #endif
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifndef MNG_SKIPCHUNK_fPRI
- FREE_CHUNK_HDR (mng_free_fpri)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_FPRI, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_fpri));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_FPRI, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_nEED
- FREE_CHUNK_HDR (mng_free_need)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_NEED, MNG_LC_START);
- #endif
- if (((mng_needp)pHeader)->iKeywordssize)
- MNG_FREEX (pData, ((mng_needp)pHeader)->zKeywords,
- ((mng_needp)pHeader)->iKeywordssize + 1);
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- MNG_FREEX (pData, pHeader, sizeof (mng_need));
- #endif
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_NEED, MNG_LC_END);
- #endif
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- return MNG_NOERROR;
- #else
- return mng_free_general(pData, pHeader);
- #endif
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifndef MNG_SKIPCHUNK_pHYg
- FREE_CHUNK_HDR (mng_free_phyg)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_PHYG, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_phyg));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_PHYG, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifdef MNG_INCLUDE_JNG
- FREE_CHUNK_HDR (mng_free_jhdr)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_JHDR, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_jhdr));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_JHDR, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif /* MNG_INCLUDE_JNG */
- #endif
- /* ************************************************************************** */
- #ifdef MNG_INCLUDE_JNG
- FREE_CHUNK_HDR (mng_free_jdaa)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_JDAA, MNG_LC_START);
- #endif
- if (((mng_jdaap)pHeader)->iDatasize)
- MNG_FREEX (pData, ((mng_jdaap)pHeader)->pData,
- ((mng_jdaap)pHeader)->iDatasize);
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- MNG_FREEX (pData, pHeader, sizeof (mng_jdaa));
- #endif
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_JDAA, MNG_LC_END);
- #endif
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- return MNG_NOERROR;
- #else
- return mng_free_general(pData, pHeader);
- #endif
- }
- #endif /* MNG_INCLUDE_JNG */
- /* ************************************************************************** */
- #ifdef MNG_INCLUDE_JNG
- FREE_CHUNK_HDR (mng_free_jdat)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_JDAT, MNG_LC_START);
- #endif
- if (((mng_jdatp)pHeader)->iDatasize)
- MNG_FREEX (pData, ((mng_jdatp)pHeader)->pData,
- ((mng_jdatp)pHeader)->iDatasize);
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- MNG_FREEX (pData, pHeader, sizeof (mng_jdat));
- #endif
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_JDAT, MNG_LC_END);
- #endif
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- return MNG_NOERROR;
- #else
- return mng_free_general(pData, pHeader);
- #endif
- }
- #endif /* MNG_INCLUDE_JNG */
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifdef MNG_INCLUDE_JNG
- FREE_CHUNK_HDR (mng_free_jsep)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_JSEP, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_jsep));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_JSEP, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif /* MNG_INCLUDE_JNG */
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifndef MNG_NO_DELTA_PNG
- FREE_CHUNK_HDR (mng_free_dhdr)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_DHDR, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_dhdr));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_DHDR, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifndef MNG_NO_DELTA_PNG
- FREE_CHUNK_HDR (mng_free_prom)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_PROM, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_prom));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_PROM, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifndef MNG_NO_DELTA_PNG
- FREE_CHUNK_HDR (mng_free_ipng)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_IPNG, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_ipng));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_IPNG, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifndef MNG_NO_DELTA_PNG
- FREE_CHUNK_HDR (mng_free_pplt)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_PPLT, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_pplt));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_PPLT, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifndef MNG_NO_DELTA_PNG
- #ifdef MNG_INCLUDE_JNG
- FREE_CHUNK_HDR (mng_free_ijng)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_IJNG, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_ijng));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_IJNG, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_NO_DELTA_PNG
- FREE_CHUNK_HDR (mng_free_drop)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_DROP, MNG_LC_START);
- #endif
- if (((mng_dropp)pHeader)->iCount)
- MNG_FREEX (pData, ((mng_dropp)pHeader)->pChunknames,
- ((mng_dropp)pHeader)->iCount * sizeof (mng_chunkid) );
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- MNG_FREEX (pData, pHeader, sizeof (mng_drop));
- #endif
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_DROP, MNG_LC_END);
- #endif
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- return MNG_NOERROR;
- #else
- return mng_free_general(pData, pHeader);
- #endif
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_NO_DELTA_PNG
- #ifndef MNG_SKIPCHUNK_DBYK
- FREE_CHUNK_HDR (mng_free_dbyk)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_DBYK, MNG_LC_START);
- #endif
- if (((mng_dbykp)pHeader)->iKeywordssize)
- MNG_FREEX (pData, ((mng_dbykp)pHeader)->zKeywords,
- ((mng_dbykp)pHeader)->iKeywordssize);
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- MNG_FREEX (pData, pHeader, sizeof (mng_dbyk));
- #endif
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_DBYK, MNG_LC_END);
- #endif
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- return MNG_NOERROR;
- #else
- return mng_free_general(pData, pHeader);
- #endif
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_NO_DELTA_PNG
- #ifndef MNG_SKIPCHUNK_ORDR
- FREE_CHUNK_HDR (mng_free_ordr)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_ORDR, MNG_LC_START);
- #endif
- if (((mng_ordrp)pHeader)->iCount)
- MNG_FREEX (pData, ((mng_ordrp)pHeader)->pEntries,
- ((mng_ordrp)pHeader)->iCount * sizeof (mng_ordr_entry) );
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- MNG_FREEX (pData, pHeader, sizeof (mng_ordr));
- #endif
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_ORDR, MNG_LC_END);
- #endif
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- return MNG_NOERROR;
- #else
- return mng_free_general(pData, pHeader);
- #endif
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- #ifndef MNG_SKIPCHUNK_MAGN
- FREE_CHUNK_HDR (mng_free_magn)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_MAGN, MNG_LC_START);
- #endif
- MNG_FREEX (pData, pHeader, sizeof (mng_magn));
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_MAGN, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_evNT
- FREE_CHUNK_HDR (mng_free_evnt)
- {
- mng_evnt_entryp pEntry = ((mng_evntp)pHeader)->pEntries;
- mng_uint32 iX;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_EVNT, MNG_LC_START);
- #endif
- for (iX = 0; iX < ((mng_evntp)pHeader)->iCount; iX++)
- {
- if (pEntry->iSegmentnamesize)
- MNG_FREEX (pData, pEntry->zSegmentname, pEntry->iSegmentnamesize+1);
- pEntry++;
- }
- if (((mng_evntp)pHeader)->iCount)
- MNG_FREEX (pData, ((mng_evntp)pHeader)->pEntries,
- ((mng_evntp)pHeader)->iCount * sizeof (mng_evnt_entry) );
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- MNG_FREEX (pData, pHeader, sizeof (mng_evnt));
- #endif
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_EVNT, MNG_LC_END);
- #endif
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- return MNG_NOERROR;
- #else
- return mng_free_general(pData, pHeader);
- #endif
- }
- #endif
- /* ************************************************************************** */
- FREE_CHUNK_HDR (mng_free_unknown)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_UNKNOWN, MNG_LC_START);
- #endif
- if (((mng_unknown_chunkp)pHeader)->iDatasize)
- MNG_FREEX (pData, ((mng_unknown_chunkp)pHeader)->pData,
- ((mng_unknown_chunkp)pHeader)->iDatasize);
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- MNG_FREEX (pData, pHeader, sizeof (mng_unknown_chunk));
- #endif
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_FREE_UNKNOWN, MNG_LC_END);
- #endif
- #ifndef MNG_OPTIMIZE_CHUNKINITFREE
- return MNG_NOERROR;
- #else
- return mng_free_general(pData, pHeader);
- #endif
- }
- /* ************************************************************************** */
- /* * * */
- /* * Chunk specific copy routines * */
- /* * * */
- /* ************************************************************************** */
- #ifdef MNG_INCLUDE_WRITE_PROCS
- /* ************************************************************************** */
- #ifdef MNG_OPTIMIZE_CHUNKASSIGN
- ASSIGN_CHUNK_HDR (mng_assign_general)
- {
- mng_ptr pSrc = (mng_uint8p)pChunkfrom + sizeof (mng_chunk_header);
- mng_ptr pDst = (mng_uint8p)pChunkto + sizeof (mng_chunk_header);
- mng_size_t iLen = ((mng_chunk_headerp)pChunkfrom)->iChunksize - sizeof (mng_chunk_header);
- MNG_COPY (pDst, pSrc, iLen);
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- ASSIGN_CHUNK_HDR (mng_assign_ihdr)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_IHDR, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_IHDR)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_ihdrp)pChunkto)->iWidth = ((mng_ihdrp)pChunkfrom)->iWidth;
- ((mng_ihdrp)pChunkto)->iHeight = ((mng_ihdrp)pChunkfrom)->iHeight;
- ((mng_ihdrp)pChunkto)->iBitdepth = ((mng_ihdrp)pChunkfrom)->iBitdepth;
- ((mng_ihdrp)pChunkto)->iColortype = ((mng_ihdrp)pChunkfrom)->iColortype;
- ((mng_ihdrp)pChunkto)->iCompression = ((mng_ihdrp)pChunkfrom)->iCompression;
- ((mng_ihdrp)pChunkto)->iFilter = ((mng_ihdrp)pChunkfrom)->iFilter;
- ((mng_ihdrp)pChunkto)->iInterlace = ((mng_ihdrp)pChunkfrom)->iInterlace;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_IHDR, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- ASSIGN_CHUNK_HDR (mng_assign_plte)
- {
- mng_uint32 iX;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_PLTE, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_PLTE)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_pltep)pChunkto)->bEmpty = ((mng_pltep)pChunkfrom)->bEmpty;
- ((mng_pltep)pChunkto)->iEntrycount = ((mng_pltep)pChunkfrom)->iEntrycount;
- for (iX = 0; iX < ((mng_pltep)pChunkto)->iEntrycount; iX++)
- ((mng_pltep)pChunkto)->aEntries [iX] = ((mng_pltep)pChunkfrom)->aEntries [iX];
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_PLTE, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- ASSIGN_CHUNK_HDR (mng_assign_idat)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_IDAT, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_IDAT)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_idatp)pChunkto)->bEmpty = ((mng_idatp)pChunkfrom)->bEmpty;
- ((mng_idatp)pChunkto)->iDatasize = ((mng_idatp)pChunkfrom)->iDatasize;
- if (((mng_idatp)pChunkto)->iDatasize)
- {
- MNG_ALLOC (pData, ((mng_idatp)pChunkto)->pData, ((mng_idatp)pChunkto)->iDatasize);
- MNG_COPY (((mng_idatp)pChunkto)->pData, ((mng_idatp)pChunkfrom)->pData,
- ((mng_idatp)pChunkto)->iDatasize);
- }
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_IDAT, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- ASSIGN_CHUNK_HDR (mng_assign_iend)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_IEND, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_IEND)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_IEND, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- ASSIGN_CHUNK_HDR (mng_assign_trns)
- {
- mng_uint32 iX;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_TRNS, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_tRNS)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_trnsp)pChunkto)->bEmpty = ((mng_trnsp)pChunkfrom)->bEmpty;
- ((mng_trnsp)pChunkto)->bGlobal = ((mng_trnsp)pChunkfrom)->bGlobal;
- ((mng_trnsp)pChunkto)->iType = ((mng_trnsp)pChunkfrom)->iType;
- ((mng_trnsp)pChunkto)->iCount = ((mng_trnsp)pChunkfrom)->iCount;
- ((mng_trnsp)pChunkto)->iGray = ((mng_trnsp)pChunkfrom)->iGray;
- ((mng_trnsp)pChunkto)->iRed = ((mng_trnsp)pChunkfrom)->iRed;
- ((mng_trnsp)pChunkto)->iGreen = ((mng_trnsp)pChunkfrom)->iGreen;
- ((mng_trnsp)pChunkto)->iBlue = ((mng_trnsp)pChunkfrom)->iBlue;
- ((mng_trnsp)pChunkto)->iRawlen = ((mng_trnsp)pChunkfrom)->iRawlen;
- for (iX = 0; iX < ((mng_trnsp)pChunkto)->iCount; iX++)
- ((mng_trnsp)pChunkto)->aEntries [iX] = ((mng_trnsp)pChunkfrom)->aEntries [iX];
- for (iX = 0; iX < ((mng_trnsp)pChunkto)->iRawlen; iX++)
- ((mng_trnsp)pChunkto)->aRawdata [iX] = ((mng_trnsp)pChunkfrom)->aRawdata [iX];
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_TRNS, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifndef MNG_SKIPCHUNK_gAMA
- ASSIGN_CHUNK_HDR (mng_assign_gama)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_GAMA, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_gAMA)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_gamap)pChunkto)->bEmpty = ((mng_gamap)pChunkfrom)->bEmpty;
- ((mng_gamap)pChunkto)->iGamma = ((mng_gamap)pChunkfrom)->iGamma;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_GAMA, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifndef MNG_SKIPCHUNK_cHRM
- ASSIGN_CHUNK_HDR (mng_assign_chrm)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_CHRM, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_cHRM)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_chrmp)pChunkto)->bEmpty = ((mng_chrmp)pChunkfrom)->bEmpty;
- ((mng_chrmp)pChunkto)->iWhitepointx = ((mng_chrmp)pChunkfrom)->iWhitepointx;
- ((mng_chrmp)pChunkto)->iWhitepointy = ((mng_chrmp)pChunkfrom)->iWhitepointy;
- ((mng_chrmp)pChunkto)->iRedx = ((mng_chrmp)pChunkfrom)->iRedx;
- ((mng_chrmp)pChunkto)->iRedy = ((mng_chrmp)pChunkfrom)->iRedy;
- ((mng_chrmp)pChunkto)->iGreenx = ((mng_chrmp)pChunkfrom)->iGreenx;
- ((mng_chrmp)pChunkto)->iGreeny = ((mng_chrmp)pChunkfrom)->iGreeny;
- ((mng_chrmp)pChunkto)->iBluex = ((mng_chrmp)pChunkfrom)->iBluex;
- ((mng_chrmp)pChunkto)->iBluey = ((mng_chrmp)pChunkfrom)->iBluey;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_CHRM, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifndef MNG_SKIPCHUNK_sRGB
- ASSIGN_CHUNK_HDR (mng_assign_srgb)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_SRGB, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_sRGB)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_srgbp)pChunkto)->iRenderingintent = ((mng_srgbp)pChunkfrom)->iRenderingintent;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_SRGB, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_iCCP
- ASSIGN_CHUNK_HDR (mng_assign_iccp)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_ICCP, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_iCCP)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_iccpp)pChunkto)->bEmpty = ((mng_iccpp)pChunkfrom)->bEmpty;
- ((mng_iccpp)pChunkto)->iNamesize = ((mng_iccpp)pChunkfrom)->iNamesize;
- ((mng_iccpp)pChunkto)->iCompression = ((mng_iccpp)pChunkfrom)->iCompression;
- ((mng_iccpp)pChunkto)->iProfilesize = ((mng_iccpp)pChunkfrom)->iProfilesize;
- if (((mng_iccpp)pChunkto)->iNamesize)
- {
- MNG_ALLOC (pData, ((mng_iccpp)pChunkto)->zName, ((mng_iccpp)pChunkto)->iNamesize);
- MNG_COPY (((mng_iccpp)pChunkto)->zName, ((mng_iccpp)pChunkfrom)->zName,
- ((mng_iccpp)pChunkto)->iNamesize);
- }
- if (((mng_iccpp)pChunkto)->iProfilesize)
- {
- MNG_ALLOC (pData, ((mng_iccpp)pChunkto)->pProfile, ((mng_iccpp)pChunkto)->iProfilesize);
- MNG_COPY (((mng_iccpp)pChunkto)->pProfile, ((mng_iccpp)pChunkfrom)->pProfile,
- ((mng_iccpp)pChunkto)->iProfilesize);
- }
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_ICCP, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_tEXt
- ASSIGN_CHUNK_HDR (mng_assign_text)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_TEXT, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_tEXt)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_textp)pChunkto)->iKeywordsize = ((mng_textp)pChunkfrom)->iKeywordsize;
- ((mng_textp)pChunkto)->iTextsize = ((mng_textp)pChunkfrom)->iTextsize;
- if (((mng_textp)pChunkto)->iKeywordsize)
- {
- MNG_ALLOC (pData, ((mng_itxtp)pChunkto)->zKeyword, ((mng_textp)pChunkto)->iKeywordsize);
- MNG_COPY (((mng_itxtp)pChunkto)->zKeyword, ((mng_textp)pChunkfrom)->zKeyword,
- ((mng_itxtp)pChunkto)->iKeywordsize);
- }
- if (((mng_textp)pChunkto)->iTextsize)
- {
- MNG_ALLOC (pData, ((mng_textp)pChunkto)->zText, ((mng_textp)pChunkto)->iTextsize);
- MNG_COPY (((mng_textp)pChunkto)->zText, ((mng_textp)pChunkfrom)->zText,
- ((mng_textp)pChunkto)->iTextsize);
- }
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_TEXT, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_zTXt
- ASSIGN_CHUNK_HDR (mng_assign_ztxt)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_ZTXT, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_zTXt)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_ztxtp)pChunkto)->iKeywordsize = ((mng_ztxtp)pChunkfrom)->iKeywordsize;
- ((mng_ztxtp)pChunkto)->iCompression = ((mng_ztxtp)pChunkfrom)->iCompression;
- ((mng_ztxtp)pChunkto)->iTextsize = ((mng_ztxtp)pChunkfrom)->iTextsize;
- if (((mng_ztxtp)pChunkto)->iKeywordsize)
- {
- MNG_ALLOC (pData, ((mng_ztxtp)pChunkto)->zKeyword, ((mng_ztxtp)pChunkto)->iKeywordsize);
- MNG_COPY (((mng_ztxtp)pChunkto)->zKeyword, ((mng_ztxtp)pChunkfrom)->zKeyword,
- ((mng_ztxtp)pChunkto)->iKeywordsize);
- }
- if (((mng_ztxtp)pChunkto)->iTextsize)
- {
- MNG_ALLOC (pData, ((mng_ztxtp)pChunkto)->zText, ((mng_ztxtp)pChunkto)->iTextsize);
- MNG_COPY (((mng_ztxtp)pChunkto)->zText, ((mng_ztxtp)pChunkfrom)->zText,
- ((mng_ztxtp)pChunkto)->iTextsize);
- }
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_ZTXT, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_iTXt
- ASSIGN_CHUNK_HDR (mng_assign_itxt)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_ITXT, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_iTXt)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_itxtp)pChunkto)->iKeywordsize = ((mng_itxtp)pChunkfrom)->iKeywordsize;
- ((mng_itxtp)pChunkto)->iCompressionflag = ((mng_itxtp)pChunkfrom)->iCompressionflag;
- ((mng_itxtp)pChunkto)->iCompressionmethod = ((mng_itxtp)pChunkfrom)->iCompressionmethod;
- ((mng_itxtp)pChunkto)->iLanguagesize = ((mng_itxtp)pChunkfrom)->iLanguagesize;
- ((mng_itxtp)pChunkto)->iTranslationsize = ((mng_itxtp)pChunkfrom)->iTranslationsize;
- ((mng_itxtp)pChunkto)->iTextsize = ((mng_itxtp)pChunkfrom)->iTextsize;
- if (((mng_itxtp)pChunkto)->iKeywordsize)
- {
- MNG_ALLOC (pData, ((mng_itxtp)pChunkto)->zKeyword, ((mng_itxtp)pChunkto)->iKeywordsize);
- MNG_COPY (((mng_itxtp)pChunkto)->zKeyword, ((mng_itxtp)pChunkfrom)->zKeyword,
- ((mng_itxtp)pChunkto)->iKeywordsize);
- }
- if (((mng_itxtp)pChunkto)->iTextsize)
- {
- MNG_ALLOC (pData, ((mng_itxtp)pChunkto)->zLanguage, ((mng_itxtp)pChunkto)->iLanguagesize);
- MNG_COPY (((mng_itxtp)pChunkto)->zLanguage, ((mng_itxtp)pChunkfrom)->zLanguage,
- ((mng_itxtp)pChunkto)->iLanguagesize);
- }
- if (((mng_itxtp)pChunkto)->iTextsize)
- {
- MNG_ALLOC (pData, ((mng_itxtp)pChunkto)->zTranslation, ((mng_itxtp)pChunkto)->iTranslationsize);
- MNG_COPY (((mng_itxtp)pChunkto)->zTranslation, ((mng_itxtp)pChunkfrom)->zTranslation,
- ((mng_itxtp)pChunkto)->iTranslationsize);
- }
- if (((mng_itxtp)pChunkto)->iTextsize)
- {
- MNG_ALLOC (pData, ((mng_itxtp)pChunkto)->zText, ((mng_itxtp)pChunkto)->iTextsize);
- MNG_COPY (((mng_itxtp)pChunkto)->zText, ((mng_itxtp)pChunkfrom)->zText,
- ((mng_itxtp)pChunkto)->iTextsize);
- }
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_ITXT, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifndef MNG_SKIPCHUNK_bKGD
- ASSIGN_CHUNK_HDR (mng_assign_bkgd)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_BKGD, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_bKGD)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_bkgdp)pChunkto)->bEmpty = ((mng_bkgdp)pChunkfrom)->bEmpty;
- ((mng_bkgdp)pChunkto)->iType = ((mng_bkgdp)pChunkfrom)->iType;
- ((mng_bkgdp)pChunkto)->iIndex = ((mng_bkgdp)pChunkfrom)->iIndex;
- ((mng_bkgdp)pChunkto)->iGray = ((mng_bkgdp)pChunkfrom)->iGray;
- ((mng_bkgdp)pChunkto)->iRed = ((mng_bkgdp)pChunkfrom)->iRed;
- ((mng_bkgdp)pChunkto)->iGreen = ((mng_bkgdp)pChunkfrom)->iGreen;
- ((mng_bkgdp)pChunkto)->iBlue = ((mng_bkgdp)pChunkfrom)->iBlue;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_BKGD, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifndef MNG_SKIPCHUNK_pHYs
- ASSIGN_CHUNK_HDR (mng_assign_phys)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_PHYS, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_pHYs)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_physp)pChunkto)->bEmpty = ((mng_physp)pChunkfrom)->bEmpty;
- ((mng_physp)pChunkto)->iSizex = ((mng_physp)pChunkfrom)->iSizex;
- ((mng_physp)pChunkto)->iSizey = ((mng_physp)pChunkfrom)->iSizey;
- ((mng_physp)pChunkto)->iUnit = ((mng_physp)pChunkfrom)->iUnit;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_PHYS, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifndef MNG_SKIPCHUNK_sBIT
- ASSIGN_CHUNK_HDR (mng_assign_sbit)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_SBIT, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_sBIT)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_sbitp)pChunkto)->bEmpty = ((mng_sbitp)pChunkfrom)->bEmpty;
- ((mng_sbitp)pChunkto)->iType = ((mng_sbitp)pChunkfrom)->iType;
- ((mng_sbitp)pChunkto)->aBits [0] = ((mng_sbitp)pChunkfrom)->aBits [0];
- ((mng_sbitp)pChunkto)->aBits [1] = ((mng_sbitp)pChunkfrom)->aBits [1];
- ((mng_sbitp)pChunkto)->aBits [2] = ((mng_sbitp)pChunkfrom)->aBits [2];
- ((mng_sbitp)pChunkto)->aBits [3] = ((mng_sbitp)pChunkfrom)->aBits [3];
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_SBIT, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_sPLT
- ASSIGN_CHUNK_HDR (mng_assign_splt)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_SPLT, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_sPLT)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_spltp)pChunkto)->bEmpty = ((mng_spltp)pChunkfrom)->bEmpty;
- ((mng_spltp)pChunkto)->iNamesize = ((mng_spltp)pChunkfrom)->iNamesize;
- ((mng_spltp)pChunkto)->iSampledepth = ((mng_spltp)pChunkfrom)->iSampledepth;
- ((mng_spltp)pChunkto)->iEntrycount = ((mng_spltp)pChunkfrom)->iEntrycount;
- ((mng_spltp)pChunkto)->pEntries = ((mng_spltp)pChunkfrom)->pEntries;
- if (((mng_spltp)pChunkto)->iNamesize)
- {
- MNG_ALLOC (pData, ((mng_spltp)pChunkto)->zName, ((mng_spltp)pChunkto)->iNamesize);
- MNG_COPY (((mng_spltp)pChunkto)->zName, ((mng_spltp)pChunkfrom)->zName,
- ((mng_spltp)pChunkto)->iNamesize);
- }
- if (((mng_spltp)pChunkto)->iEntrycount)
- {
- mng_uint32 iLen = ((mng_spltp)pChunkto)->iEntrycount *
- (((mng_spltp)pChunkto)->iSampledepth * 3 + sizeof (mng_uint16));
- MNG_ALLOC (pData, ((mng_spltp)pChunkto)->pEntries, iLen);
- MNG_COPY (((mng_spltp)pChunkto)->pEntries, ((mng_spltp)pChunkfrom)->pEntries, iLen);
- }
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_SPLT, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifndef MNG_SKIPCHUNK_hIST
- ASSIGN_CHUNK_HDR (mng_assign_hist)
- {
- mng_uint32 iX;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_HIST, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_hIST)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_histp)pChunkto)->iEntrycount = ((mng_histp)pChunkfrom)->iEntrycount;
- for (iX = 0; iX < ((mng_histp)pChunkto)->iEntrycount; iX++)
- ((mng_histp)pChunkto)->aEntries [iX] = ((mng_histp)pChunkfrom)->aEntries [iX];
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_HIST, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifndef MNG_SKIPCHUNK_tIME
- ASSIGN_CHUNK_HDR (mng_assign_time)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_TIME, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_tIME)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_timep)pChunkto)->iYear = ((mng_timep)pChunkfrom)->iYear;
- ((mng_timep)pChunkto)->iMonth = ((mng_timep)pChunkfrom)->iMonth;
- ((mng_timep)pChunkto)->iDay = ((mng_timep)pChunkfrom)->iDay;
- ((mng_timep)pChunkto)->iHour = ((mng_timep)pChunkfrom)->iHour;
- ((mng_timep)pChunkto)->iMinute = ((mng_timep)pChunkfrom)->iMinute;
- ((mng_timep)pChunkto)->iSecond = ((mng_timep)pChunkfrom)->iSecond;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_TIME, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- ASSIGN_CHUNK_HDR (mng_assign_mhdr)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_MHDR, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_MHDR)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_mhdrp)pChunkto)->iWidth = ((mng_mhdrp)pChunkfrom)->iWidth;
- ((mng_mhdrp)pChunkto)->iHeight = ((mng_mhdrp)pChunkfrom)->iHeight;
- ((mng_mhdrp)pChunkto)->iTicks = ((mng_mhdrp)pChunkfrom)->iTicks;
- ((mng_mhdrp)pChunkto)->iLayercount = ((mng_mhdrp)pChunkfrom)->iLayercount;
- ((mng_mhdrp)pChunkto)->iFramecount = ((mng_mhdrp)pChunkfrom)->iFramecount;
- ((mng_mhdrp)pChunkto)->iPlaytime = ((mng_mhdrp)pChunkfrom)->iPlaytime;
- ((mng_mhdrp)pChunkto)->iSimplicity = ((mng_mhdrp)pChunkfrom)->iSimplicity;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_MHDR, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- ASSIGN_CHUNK_HDR (mng_assign_mend)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_MEND, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_MEND)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_MEND, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_LOOP
- ASSIGN_CHUNK_HDR (mng_assign_loop)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_LOOP, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_LOOP)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_loopp)pChunkto)->iLevel = ((mng_loopp)pChunkfrom)->iLevel;
- ((mng_loopp)pChunkto)->iRepeat = ((mng_loopp)pChunkfrom)->iRepeat;
- ((mng_loopp)pChunkto)->iTermination = ((mng_loopp)pChunkfrom)->iTermination;
- ((mng_loopp)pChunkto)->iItermin = ((mng_loopp)pChunkfrom)->iItermin;
- ((mng_loopp)pChunkto)->iItermax = ((mng_loopp)pChunkfrom)->iItermax;
- ((mng_loopp)pChunkto)->iCount = ((mng_loopp)pChunkfrom)->iCount;
- #ifndef MNG_NO_LOOP_SIGNALS_SUPPORTED
- if (((mng_loopp)pChunkto)->iCount)
- {
- mng_uint32 iLen = ((mng_loopp)pChunkto)->iCount * sizeof (mng_uint32);
- MNG_ALLOC (pData, ((mng_loopp)pChunkto)->pSignals, iLen);
- MNG_COPY (((mng_loopp)pChunkto)->pSignals, ((mng_loopp)pChunkfrom)->pSignals, iLen);
- }
- #endif
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_LOOP, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- ASSIGN_CHUNK_HDR (mng_assign_endl)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_ENDL, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_ENDL)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_endlp)pChunkto)->iLevel = ((mng_endlp)pChunkfrom)->iLevel;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_ENDL, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifndef MNG_SKIPCHUNK_DEFI
- ASSIGN_CHUNK_HDR (mng_assign_defi)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_DEFI, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_DEFI)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_defip)pChunkto)->iObjectid = ((mng_defip)pChunkfrom)->iObjectid;
- ((mng_defip)pChunkto)->bHasdonotshow = ((mng_defip)pChunkfrom)->bHasdonotshow;
- ((mng_defip)pChunkto)->iDonotshow = ((mng_defip)pChunkfrom)->iDonotshow;
- ((mng_defip)pChunkto)->bHasconcrete = ((mng_defip)pChunkfrom)->bHasconcrete;
- ((mng_defip)pChunkto)->iConcrete = ((mng_defip)pChunkfrom)->iConcrete;
- ((mng_defip)pChunkto)->bHasloca = ((mng_defip)pChunkfrom)->bHasloca;
- ((mng_defip)pChunkto)->iXlocation = ((mng_defip)pChunkfrom)->iXlocation;
- ((mng_defip)pChunkto)->iYlocation = ((mng_defip)pChunkfrom)->iYlocation;
- ((mng_defip)pChunkto)->bHasclip = ((mng_defip)pChunkfrom)->bHasclip;
- ((mng_defip)pChunkto)->iLeftcb = ((mng_defip)pChunkfrom)->iLeftcb;
- ((mng_defip)pChunkto)->iRightcb = ((mng_defip)pChunkfrom)->iRightcb;
- ((mng_defip)pChunkto)->iTopcb = ((mng_defip)pChunkfrom)->iTopcb;
- ((mng_defip)pChunkto)->iBottomcb = ((mng_defip)pChunkfrom)->iBottomcb;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_DEFI, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifndef MNG_SKIPCHUNK_BASI
- ASSIGN_CHUNK_HDR (mng_assign_basi)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_BASI, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_BASI)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_basip)pChunkto)->iWidth = ((mng_basip)pChunkfrom)->iWidth;
- ((mng_basip)pChunkto)->iHeight = ((mng_basip)pChunkfrom)->iHeight;
- ((mng_basip)pChunkto)->iBitdepth = ((mng_basip)pChunkfrom)->iBitdepth;
- ((mng_basip)pChunkto)->iColortype = ((mng_basip)pChunkfrom)->iColortype;
- ((mng_basip)pChunkto)->iCompression = ((mng_basip)pChunkfrom)->iCompression;
- ((mng_basip)pChunkto)->iFilter = ((mng_basip)pChunkfrom)->iFilter;
- ((mng_basip)pChunkto)->iInterlace = ((mng_basip)pChunkfrom)->iInterlace;
- ((mng_basip)pChunkto)->iRed = ((mng_basip)pChunkfrom)->iRed;
- ((mng_basip)pChunkto)->iGreen = ((mng_basip)pChunkfrom)->iGreen;
- ((mng_basip)pChunkto)->iBlue = ((mng_basip)pChunkfrom)->iBlue;
- ((mng_basip)pChunkto)->iAlpha = ((mng_basip)pChunkfrom)->iAlpha;
- ((mng_basip)pChunkto)->iViewable = ((mng_basip)pChunkfrom)->iViewable;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_BASI, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifndef MNG_SKIPCHUNK_CLON
- ASSIGN_CHUNK_HDR (mng_assign_clon)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_CLON, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_CLON)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_clonp)pChunkto)->iSourceid = ((mng_clonp)pChunkfrom)->iSourceid;
- ((mng_clonp)pChunkto)->iCloneid = ((mng_clonp)pChunkfrom)->iCloneid;
- ((mng_clonp)pChunkto)->iClonetype = ((mng_clonp)pChunkfrom)->iClonetype;
- #ifdef MNG_OPTIMIZE_CHUNKREADER
- ((mng_clonp)pChunkto)->bHasdonotshow = ((mng_clonp)pChunkfrom)->bHasdonotshow;
- #endif
- ((mng_clonp)pChunkto)->iDonotshow = ((mng_clonp)pChunkfrom)->iDonotshow;
- ((mng_clonp)pChunkto)->iConcrete = ((mng_clonp)pChunkfrom)->iConcrete;
- ((mng_clonp)pChunkto)->bHasloca = ((mng_clonp)pChunkfrom)->bHasloca;
- ((mng_clonp)pChunkto)->iLocationtype = ((mng_clonp)pChunkfrom)->iLocationtype;
- ((mng_clonp)pChunkto)->iLocationx = ((mng_clonp)pChunkfrom)->iLocationx;
- ((mng_clonp)pChunkto)->iLocationy = ((mng_clonp)pChunkfrom)->iLocationy;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_CLON, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_PAST
- ASSIGN_CHUNK_HDR (mng_assign_past)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_PAST, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_PAST)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_pastp)pChunkto)->iDestid = ((mng_pastp)pChunkfrom)->iDestid;
- ((mng_pastp)pChunkto)->iTargettype = ((mng_pastp)pChunkfrom)->iTargettype;
- ((mng_pastp)pChunkto)->iTargetx = ((mng_pastp)pChunkfrom)->iTargetx;
- ((mng_pastp)pChunkto)->iTargety = ((mng_pastp)pChunkfrom)->iTargety;
- ((mng_pastp)pChunkto)->iCount = ((mng_pastp)pChunkfrom)->iCount;
- if (((mng_pastp)pChunkto)->iCount)
- {
- mng_uint32 iLen = ((mng_pastp)pChunkto)->iCount * sizeof (mng_past_source);
- MNG_ALLOC (pData, ((mng_pastp)pChunkto)->pSources, iLen);
- MNG_COPY (((mng_pastp)pChunkto)->pSources, ((mng_pastp)pChunkfrom)->pSources, iLen);
- }
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_PAST, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_DISC
- ASSIGN_CHUNK_HDR (mng_assign_disc)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_DISC, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_DISC)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_discp)pChunkto)->iCount = ((mng_discp)pChunkfrom)->iCount;
- if (((mng_discp)pChunkto)->iCount)
- {
- mng_uint32 iLen = ((mng_discp)pChunkto)->iCount * sizeof (mng_uint16);
- MNG_ALLOC (pData, ((mng_discp)pChunkto)->pObjectids, iLen);
- MNG_COPY (((mng_discp)pChunkto)->pObjectids, ((mng_discp)pChunkfrom)->pObjectids, iLen);
- }
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_DISC, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifndef MNG_SKIPCHUNK_BACK
- ASSIGN_CHUNK_HDR (mng_assign_back)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_BACK, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_BACK)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_backp)pChunkto)->iRed = ((mng_backp)pChunkfrom)->iRed;
- ((mng_backp)pChunkto)->iGreen = ((mng_backp)pChunkfrom)->iGreen;
- ((mng_backp)pChunkto)->iBlue = ((mng_backp)pChunkfrom)->iBlue;
- ((mng_backp)pChunkto)->iMandatory = ((mng_backp)pChunkfrom)->iMandatory;
- ((mng_backp)pChunkto)->iImageid = ((mng_backp)pChunkfrom)->iImageid;
- ((mng_backp)pChunkto)->iTile = ((mng_backp)pChunkfrom)->iTile;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_BACK, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_FRAM
- ASSIGN_CHUNK_HDR (mng_assign_fram)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_FRAM, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_FRAM)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_framp)pChunkto)->bEmpty = ((mng_framp)pChunkfrom)->bEmpty;
- ((mng_framp)pChunkto)->iMode = ((mng_framp)pChunkfrom)->iMode;
- ((mng_framp)pChunkto)->iNamesize = ((mng_framp)pChunkfrom)->iNamesize;
- ((mng_framp)pChunkto)->iChangedelay = ((mng_framp)pChunkfrom)->iChangedelay;
- ((mng_framp)pChunkto)->iChangetimeout = ((mng_framp)pChunkfrom)->iChangetimeout;
- ((mng_framp)pChunkto)->iChangeclipping = ((mng_framp)pChunkfrom)->iChangeclipping;
- ((mng_framp)pChunkto)->iChangesyncid = ((mng_framp)pChunkfrom)->iChangesyncid;
- ((mng_framp)pChunkto)->iDelay = ((mng_framp)pChunkfrom)->iDelay;
- ((mng_framp)pChunkto)->iTimeout = ((mng_framp)pChunkfrom)->iTimeout;
- ((mng_framp)pChunkto)->iBoundarytype = ((mng_framp)pChunkfrom)->iBoundarytype;
- ((mng_framp)pChunkto)->iBoundaryl = ((mng_framp)pChunkfrom)->iBoundaryl;
- ((mng_framp)pChunkto)->iBoundaryr = ((mng_framp)pChunkfrom)->iBoundaryr;
- ((mng_framp)pChunkto)->iBoundaryt = ((mng_framp)pChunkfrom)->iBoundaryt;
- ((mng_framp)pChunkto)->iBoundaryb = ((mng_framp)pChunkfrom)->iBoundaryb;
- ((mng_framp)pChunkto)->iCount = ((mng_framp)pChunkfrom)->iCount;
- if (((mng_framp)pChunkto)->iNamesize)
- {
- MNG_ALLOC (pData, ((mng_framp)pChunkto)->zName, ((mng_framp)pChunkto)->iNamesize);
- MNG_COPY (((mng_framp)pChunkto)->zName, ((mng_framp)pChunkfrom)->zName,
- ((mng_framp)pChunkto)->iNamesize);
- }
- if (((mng_framp)pChunkto)->iCount)
- {
- mng_uint32 iLen = ((mng_framp)pChunkto)->iCount * sizeof (mng_uint32);
- MNG_ALLOC (pData, ((mng_framp)pChunkto)->pSyncids, iLen);
- MNG_COPY (((mng_framp)pChunkto)->pSyncids, ((mng_framp)pChunkfrom)->pSyncids, iLen);
- }
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_FRAM, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifndef MNG_SKIPCHUNK_MOVE
- ASSIGN_CHUNK_HDR (mng_assign_move)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_MOVE, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_MOVE)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_movep)pChunkto)->iFirstid = ((mng_movep)pChunkfrom)->iFirstid;
- ((mng_movep)pChunkto)->iLastid = ((mng_movep)pChunkfrom)->iLastid;
- ((mng_movep)pChunkto)->iMovetype = ((mng_movep)pChunkfrom)->iMovetype;
- ((mng_movep)pChunkto)->iMovex = ((mng_movep)pChunkfrom)->iMovex;
- ((mng_movep)pChunkto)->iMovey = ((mng_movep)pChunkfrom)->iMovey;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_MOVE, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifndef MNG_SKIPCHUNK_CLIP
- ASSIGN_CHUNK_HDR (mng_assign_clip)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_CLIP, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_CLIP)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_clipp)pChunkto)->iFirstid = ((mng_clipp)pChunkfrom)->iFirstid;
- ((mng_clipp)pChunkto)->iLastid = ((mng_clipp)pChunkfrom)->iLastid;
- ((mng_clipp)pChunkto)->iCliptype = ((mng_clipp)pChunkfrom)->iCliptype;
- ((mng_clipp)pChunkto)->iClipl = ((mng_clipp)pChunkfrom)->iClipl;
- ((mng_clipp)pChunkto)->iClipr = ((mng_clipp)pChunkfrom)->iClipr;
- ((mng_clipp)pChunkto)->iClipt = ((mng_clipp)pChunkfrom)->iClipt;
- ((mng_clipp)pChunkto)->iClipb = ((mng_clipp)pChunkfrom)->iClipb;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_CLIP, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifndef MNG_SKIPCHUNK_SHOW
- ASSIGN_CHUNK_HDR (mng_assign_show)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_SHOW, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_SHOW)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_showp)pChunkto)->bEmpty = ((mng_showp)pChunkfrom)->bEmpty;
- ((mng_showp)pChunkto)->iFirstid = ((mng_showp)pChunkfrom)->iFirstid;
- ((mng_showp)pChunkto)->iLastid = ((mng_showp)pChunkfrom)->iLastid;
- ((mng_showp)pChunkto)->iMode = ((mng_showp)pChunkfrom)->iMode;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_SHOW, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifndef MNG_SKIPCHUNK_TERM
- ASSIGN_CHUNK_HDR (mng_assign_term)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_TERM, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_TERM)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_termp)pChunkto)->iTermaction = ((mng_termp)pChunkfrom)->iTermaction;
- ((mng_termp)pChunkto)->iIteraction = ((mng_termp)pChunkfrom)->iIteraction;
- ((mng_termp)pChunkto)->iDelay = ((mng_termp)pChunkfrom)->iDelay;
- ((mng_termp)pChunkto)->iItermax = ((mng_termp)pChunkfrom)->iItermax;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_TERM, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_SAVE
- ASSIGN_CHUNK_HDR (mng_assign_save)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_SAVE, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_SAVE)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_savep)pChunkto)->bEmpty = ((mng_savep)pChunkfrom)->bEmpty;
- ((mng_savep)pChunkto)->iOffsettype = ((mng_savep)pChunkfrom)->iOffsettype;
- ((mng_savep)pChunkto)->iCount = ((mng_savep)pChunkfrom)->iCount;
- if (((mng_savep)pChunkto)->iCount)
- {
- mng_uint32 iX;
- mng_save_entryp pEntry;
- mng_uint32 iLen = ((mng_savep)pChunkto)->iCount * sizeof (mng_save_entry);
- MNG_ALLOC (pData, ((mng_savep)pChunkto)->pEntries, iLen);
- MNG_COPY (((mng_savep)pChunkto)->pEntries, ((mng_savep)pChunkfrom)->pEntries, iLen);
- pEntry = ((mng_savep)pChunkto)->pEntries;
- for (iX = 0; iX < ((mng_savep)pChunkto)->iCount; iX++)
- {
- if (pEntry->iNamesize)
- {
- mng_pchar pTemp = pEntry->zName;
- MNG_ALLOC (pData, pEntry->zName, pEntry->iNamesize);
- MNG_COPY (pEntry->zName, pTemp, pEntry->iNamesize);
- }
- else
- {
- pEntry->zName = MNG_NULL;
- }
- pEntry++;
- }
- }
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_SAVE, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_SEEK
- ASSIGN_CHUNK_HDR (mng_assign_seek)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_SEEK, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_SEEK)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_seekp)pChunkto)->iNamesize = ((mng_seekp)pChunkfrom)->iNamesize;
- if (((mng_seekp)pChunkto)->iNamesize)
- {
- MNG_ALLOC (pData, ((mng_seekp)pChunkto)->zName, ((mng_seekp)pChunkto)->iNamesize);
- MNG_COPY (((mng_seekp)pChunkto)->zName, ((mng_seekp)pChunkfrom)->zName,
- ((mng_seekp)pChunkto)->iNamesize);
- }
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_SEEK, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_eXPI
- ASSIGN_CHUNK_HDR (mng_assign_expi)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_EXPI, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_eXPI)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_expip)pChunkto)->iSnapshotid = ((mng_expip)pChunkfrom)->iSnapshotid;
- ((mng_expip)pChunkto)->iNamesize = ((mng_expip)pChunkfrom)->iNamesize;
- if (((mng_expip)pChunkto)->iNamesize)
- {
- MNG_ALLOC (pData, ((mng_expip)pChunkto)->zName, ((mng_expip)pChunkto)->iNamesize);
- MNG_COPY (((mng_expip)pChunkto)->zName, ((mng_expip)pChunkfrom)->zName,
- ((mng_expip)pChunkto)->iNamesize);
- }
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_EXPI, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifndef MNG_SKIPCHUNK_fPRI
- ASSIGN_CHUNK_HDR (mng_assign_fpri)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_FPRI, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_fPRI)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_fprip)pChunkto)->iDeltatype = ((mng_fprip)pChunkfrom)->iDeltatype;
- ((mng_fprip)pChunkto)->iPriority = ((mng_fprip)pChunkfrom)->iPriority;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_FPRI, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_nEED
- ASSIGN_CHUNK_HDR (mng_assign_need)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_NEED, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_nEED)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_needp)pChunkto)->iKeywordssize = ((mng_needp)pChunkfrom)->iKeywordssize;
- if (((mng_needp)pChunkto)->iKeywordssize)
- {
- MNG_ALLOC (pData, ((mng_needp)pChunkto)->zKeywords, ((mng_needp)pChunkto)->iKeywordssize);
- MNG_COPY (((mng_needp)pChunkto)->zKeywords, ((mng_needp)pChunkfrom)->zKeywords,
- ((mng_needp)pChunkto)->iKeywordssize);
- }
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_NEED, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifndef MNG_SKIPCHUNK_pHYg
- ASSIGN_CHUNK_HDR (mng_assign_phyg)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_PHYG, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_pHYg)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_phygp)pChunkto)->bEmpty = ((mng_phygp)pChunkfrom)->bEmpty;
- ((mng_phygp)pChunkto)->iSizex = ((mng_phygp)pChunkfrom)->iSizex;
- ((mng_phygp)pChunkto)->iSizey = ((mng_phygp)pChunkfrom)->iSizey;
- ((mng_phygp)pChunkto)->iUnit = ((mng_phygp)pChunkfrom)->iUnit;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_PHYG, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifdef MNG_INCLUDE_JNG
- ASSIGN_CHUNK_HDR (mng_assign_jhdr)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_JHDR, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_JHDR)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_jhdrp)pChunkto)->iWidth = ((mng_jhdrp)pChunkfrom)->iWidth;
- ((mng_jhdrp)pChunkto)->iHeight = ((mng_jhdrp)pChunkfrom)->iHeight;
- ((mng_jhdrp)pChunkto)->iColortype = ((mng_jhdrp)pChunkfrom)->iColortype;
- ((mng_jhdrp)pChunkto)->iImagesampledepth = ((mng_jhdrp)pChunkfrom)->iImagesampledepth;
- ((mng_jhdrp)pChunkto)->iImagecompression = ((mng_jhdrp)pChunkfrom)->iImagecompression;
- ((mng_jhdrp)pChunkto)->iImageinterlace = ((mng_jhdrp)pChunkfrom)->iImageinterlace;
- ((mng_jhdrp)pChunkto)->iAlphasampledepth = ((mng_jhdrp)pChunkfrom)->iAlphasampledepth;
- ((mng_jhdrp)pChunkto)->iAlphacompression = ((mng_jhdrp)pChunkfrom)->iAlphacompression;
- ((mng_jhdrp)pChunkto)->iAlphafilter = ((mng_jhdrp)pChunkfrom)->iAlphafilter;
- ((mng_jhdrp)pChunkto)->iAlphainterlace = ((mng_jhdrp)pChunkfrom)->iAlphainterlace;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_JHDR, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif /* MNG_INCLUDE_JNG */
- #endif
- /* ************************************************************************** */
- #ifdef MNG_INCLUDE_JNG
- ASSIGN_CHUNK_HDR (mng_assign_jdaa)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_JDAA, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_JDAA)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_jdaap)pChunkto)->bEmpty = ((mng_jdaap)pChunkfrom)->bEmpty;
- ((mng_jdaap)pChunkto)->iDatasize = ((mng_jdaap)pChunkfrom)->iDatasize;
- if (((mng_jdaap)pChunkto)->iDatasize)
- {
- MNG_ALLOC (pData, ((mng_jdaap)pChunkto)->pData, ((mng_jdaap)pChunkto)->iDatasize);
- MNG_COPY (((mng_jdaap)pChunkto)->pData, ((mng_jdaap)pChunkfrom)->pData,
- ((mng_jdaap)pChunkto)->iDatasize);
- }
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_JDAA, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif /* MNG_INCLUDE_JNG */
- /* ************************************************************************** */
- #ifdef MNG_INCLUDE_JNG
- ASSIGN_CHUNK_HDR (mng_assign_jdat)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_JDAT, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_JDAT)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_jdatp)pChunkto)->bEmpty = ((mng_jdatp)pChunkfrom)->bEmpty;
- ((mng_jdatp)pChunkto)->iDatasize = ((mng_jdatp)pChunkfrom)->iDatasize;
- if (((mng_jdatp)pChunkto)->iDatasize)
- {
- MNG_ALLOC (pData, ((mng_jdatp)pChunkto)->pData, ((mng_jdatp)pChunkto)->iDatasize);
- MNG_COPY (((mng_jdatp)pChunkto)->pData, ((mng_jdatp)pChunkfrom)->pData,
- ((mng_jdatp)pChunkto)->iDatasize);
- }
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_JDAT, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif /* MNG_INCLUDE_JNG */
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifdef MNG_INCLUDE_JNG
- ASSIGN_CHUNK_HDR (mng_assign_jsep)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_JSEP, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_JSEP)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_JSEP, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif /* MNG_INCLUDE_JNG */
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifndef MNG_NO_DELTA_PNG
- ASSIGN_CHUNK_HDR (mng_assign_dhdr)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_DHDR, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_DHDR)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_dhdrp)pChunkto)->iObjectid = ((mng_dhdrp)pChunkfrom)->iObjectid;
- ((mng_dhdrp)pChunkto)->iImagetype = ((mng_dhdrp)pChunkfrom)->iImagetype;
- ((mng_dhdrp)pChunkto)->iDeltatype = ((mng_dhdrp)pChunkfrom)->iDeltatype;
- ((mng_dhdrp)pChunkto)->iBlockwidth = ((mng_dhdrp)pChunkfrom)->iBlockwidth;
- ((mng_dhdrp)pChunkto)->iBlockheight = ((mng_dhdrp)pChunkfrom)->iBlockheight;
- ((mng_dhdrp)pChunkto)->iBlockx = ((mng_dhdrp)pChunkfrom)->iBlockx;
- ((mng_dhdrp)pChunkto)->iBlocky = ((mng_dhdrp)pChunkfrom)->iBlocky;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_DHDR, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifndef MNG_NO_DELTA_PNG
- ASSIGN_CHUNK_HDR (mng_assign_prom)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_PROM, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_PROM)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_promp)pChunkto)->iColortype = ((mng_promp)pChunkfrom)->iColortype;
- ((mng_promp)pChunkto)->iSampledepth = ((mng_promp)pChunkfrom)->iSampledepth;
- ((mng_promp)pChunkto)->iFilltype = ((mng_promp)pChunkfrom)->iFilltype;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_PROM, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifndef MNG_NO_DELTA_PNG
- ASSIGN_CHUNK_HDR (mng_assign_ipng)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_IPNG, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_IPNG)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_IPNG, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifndef MNG_NO_DELTA_PNG
- ASSIGN_CHUNK_HDR (mng_assign_pplt)
- {
- mng_uint32 iX;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_PPLT, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_PPLT)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_ppltp)pChunkto)->iDeltatype = ((mng_ppltp)pChunkfrom)->iDeltatype;
- ((mng_ppltp)pChunkto)->iCount = ((mng_ppltp)pChunkfrom)->iCount;
- for (iX = 0; iX < ((mng_ppltp)pChunkto)->iCount; iX++)
- ((mng_ppltp)pChunkto)->aEntries [iX] = ((mng_ppltp)pChunkfrom)->aEntries [iX];
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_PPLT, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifndef MNG_NO_DELTA_PNG
- #ifdef MNG_INCLUDE_JNG
- ASSIGN_CHUNK_HDR (mng_assign_ijng)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_IJNG, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_IJNG)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_IJNG, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_NO_DELTA_PNG
- ASSIGN_CHUNK_HDR (mng_assign_drop)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_DROP, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_DROP)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_dropp)pChunkto)->iCount = ((mng_dropp)pChunkfrom)->iCount;
- if (((mng_dropp)pChunkto)->iCount)
- {
- mng_uint32 iLen = ((mng_dropp)pChunkto)->iCount * sizeof (mng_uint32);
- MNG_ALLOC (pData, ((mng_dropp)pChunkto)->pChunknames, iLen);
- MNG_COPY (((mng_dropp)pChunkto)->pChunknames, ((mng_dropp)pChunkfrom)->pChunknames, iLen);
- }
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_DROP, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_NO_DELTA_PNG
- #ifndef MNG_SKIPCHUNK_DBYK
- ASSIGN_CHUNK_HDR (mng_assign_dbyk)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_DBYK, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_DBYK)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_dbykp)pChunkto)->iChunkname = ((mng_dbykp)pChunkfrom)->iChunkname;
- ((mng_dbykp)pChunkto)->iPolarity = ((mng_dbykp)pChunkfrom)->iPolarity;
- ((mng_dbykp)pChunkto)->iKeywordssize = ((mng_dbykp)pChunkfrom)->iKeywordssize;
- if (((mng_dbykp)pChunkto)->iKeywordssize)
- {
- MNG_ALLOC (pData, ((mng_dbykp)pChunkto)->zKeywords, ((mng_dbykp)pChunkto)->iKeywordssize);
- MNG_COPY (((mng_dbykp)pChunkto)->zKeywords, ((mng_dbykp)pChunkfrom)->zKeywords,
- ((mng_dbykp)pChunkto)->iKeywordssize);
- }
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_DBYK, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_NO_DELTA_PNG
- #ifndef MNG_SKIPCHUNK_ORDR
- ASSIGN_CHUNK_HDR (mng_assign_ordr)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_ORDR, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_ORDR)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_ordrp)pChunkto)->iCount = ((mng_ordrp)pChunkfrom)->iCount;
- if (((mng_ordrp)pChunkto)->iCount)
- {
- mng_uint32 iLen = ((mng_ordrp)pChunkto)->iCount * sizeof (mng_ordr_entry);
- MNG_ALLOC (pData, ((mng_ordrp)pChunkto)->pEntries, iLen);
- MNG_COPY (((mng_ordrp)pChunkto)->pEntries, ((mng_ordrp)pChunkfrom)->pEntries, iLen);
- }
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_ORDR, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifndef MNG_OPTIMIZE_CHUNKASSIGN
- #ifndef MNG_SKIPCHUNK_MAGN
- ASSIGN_CHUNK_HDR (mng_assign_magn)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_MAGN, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_MAGN)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_magnp)pChunkto)->iFirstid = ((mng_magnp)pChunkfrom)->iFirstid;
- ((mng_magnp)pChunkto)->iLastid = ((mng_magnp)pChunkfrom)->iLastid;
- ((mng_magnp)pChunkto)->iMethodX = ((mng_magnp)pChunkfrom)->iMethodX;
- ((mng_magnp)pChunkto)->iMX = ((mng_magnp)pChunkfrom)->iMX;
- ((mng_magnp)pChunkto)->iMY = ((mng_magnp)pChunkfrom)->iMY;
- ((mng_magnp)pChunkto)->iML = ((mng_magnp)pChunkfrom)->iML;
- ((mng_magnp)pChunkto)->iMR = ((mng_magnp)pChunkfrom)->iMR;
- ((mng_magnp)pChunkto)->iMT = ((mng_magnp)pChunkfrom)->iMT;
- ((mng_magnp)pChunkto)->iMB = ((mng_magnp)pChunkfrom)->iMB;
- ((mng_magnp)pChunkto)->iMethodY = ((mng_magnp)pChunkfrom)->iMethodY;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_MAGN, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- #endif
- /* ************************************************************************** */
- #ifdef MNG_INCLUDE_MPNG_PROPOSAL
- ASSIGN_CHUNK_HDR (mng_assign_mpng)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_MPNG, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_mpNG)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_mpngp)pChunkto)->iFramewidth = ((mng_mpngp)pChunkfrom)->iFramewidth;
- ((mng_mpngp)pChunkto)->iFrameheight = ((mng_mpngp)pChunkfrom)->iFrameheight;
- ((mng_mpngp)pChunkto)->iNumplays = ((mng_mpngp)pChunkfrom)->iNumplays;
- ((mng_mpngp)pChunkto)->iTickspersec = ((mng_mpngp)pChunkfrom)->iTickspersec;
- ((mng_mpngp)pChunkto)->iCompressionmethod = ((mng_mpngp)pChunkfrom)->iCompressionmethod;
- ((mng_mpngp)pChunkto)->iFramessize = ((mng_mpngp)pChunkfrom)->iFramessize;
- if (((mng_mpngp)pChunkto)->iFramessize)
- {
- MNG_ALLOC (pData, ((mng_mpngp)pChunkto)->pFrames, ((mng_mpngp)pChunkto)->iFramessize);
- MNG_COPY (((mng_mpngp)pChunkto)->pFrames, ((mng_mpngp)pChunkfrom)->pFrames,
- ((mng_mpngp)pChunkto)->iFramessize);
- }
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_MPNG, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifdef MNG_INCLUDE_ANG_PROPOSAL
- ASSIGN_CHUNK_HDR (mng_assign_ahdr)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_AHDR, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_ahDR)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_ahdrp)pChunkto)->iNumframes = ((mng_ahdrp)pChunkfrom)->iNumframes;
- ((mng_ahdrp)pChunkto)->iTickspersec = ((mng_ahdrp)pChunkfrom)->iTickspersec;
- ((mng_ahdrp)pChunkto)->iNumplays = ((mng_ahdrp)pChunkfrom)->iNumplays;
- ((mng_ahdrp)pChunkto)->iTilewidth = ((mng_ahdrp)pChunkfrom)->iTilewidth;
- ((mng_ahdrp)pChunkto)->iTileheight = ((mng_ahdrp)pChunkfrom)->iTileheight;
- ((mng_ahdrp)pChunkto)->iInterlace = ((mng_ahdrp)pChunkfrom)->iInterlace;
- ((mng_ahdrp)pChunkto)->iStillused = ((mng_ahdrp)pChunkfrom)->iStillused;
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_AHDR, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifdef MNG_INCLUDE_ANG_PROPOSAL
- ASSIGN_CHUNK_HDR (mng_assign_adat)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_ADAT, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_adAT)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_adatp)pChunkto)->iTilessize = ((mng_adatp)pChunkfrom)->iTilessize;
- if (((mng_adatp)pChunkto)->iTilessize)
- {
- MNG_ALLOC (pData, ((mng_adatp)pChunkto)->pTiles, ((mng_adatp)pChunkto)->iTilessize);
- MNG_COPY (((mng_adatp)pChunkto)->pTiles, ((mng_adatp)pChunkfrom)->pTiles,
- ((mng_adatp)pChunkto)->iTilessize);
- }
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_ADAT, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- #ifndef MNG_SKIPCHUNK_evNT
- ASSIGN_CHUNK_HDR (mng_assign_evnt)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_EVNT, MNG_LC_START);
- #endif
- if (((mng_chunk_headerp)pChunkfrom)->iChunkname != MNG_UINT_evNT)
- MNG_ERROR (pData, MNG_WRONGCHUNK); /* ouch */
- ((mng_evntp)pChunkto)->iCount = ((mng_evntp)pChunkfrom)->iCount;
- if (((mng_evntp)pChunkto)->iCount)
- {
- mng_uint32 iX;
- mng_evnt_entryp pEntry;
- mng_uint32 iLen = ((mng_evntp)pChunkto)->iCount * sizeof (mng_evnt_entry);
- MNG_ALLOC (pData, ((mng_evntp)pChunkto)->pEntries, iLen);
- MNG_COPY (((mng_evntp)pChunkto)->pEntries, ((mng_evntp)pChunkfrom)->pEntries, iLen);
- pEntry = ((mng_evntp)pChunkto)->pEntries;
- for (iX = 0; iX < ((mng_evntp)pChunkto)->iCount; iX++)
- {
- if (pEntry->iSegmentnamesize)
- {
- mng_pchar pTemp = pEntry->zSegmentname;
- MNG_ALLOC (pData, pEntry->zSegmentname, pEntry->iSegmentnamesize+1);
- MNG_COPY (pEntry->zSegmentname, pTemp, pEntry->iSegmentnamesize);
- }
- else
- {
- pEntry->zSegmentname = MNG_NULL;
- }
- pEntry++;
- }
- }
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_EVNT, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- #endif
- /* ************************************************************************** */
- ASSIGN_CHUNK_HDR (mng_assign_unknown)
- {
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_UNKNOWN, MNG_LC_START);
- #endif
- ((mng_unknown_chunkp)pChunkto)->iDatasize = ((mng_unknown_chunkp)pChunkfrom)->iDatasize;
- if (((mng_unknown_chunkp)pChunkto)->iDatasize)
- {
- MNG_ALLOC (pData, ((mng_unknown_chunkp)pChunkto)->pData, ((mng_unknown_chunkp)pChunkto)->iDatasize);
- MNG_COPY (((mng_unknown_chunkp)pChunkto)->pData, ((mng_unknown_chunkp)pChunkfrom)->pData,
- ((mng_unknown_chunkp)pChunkto)->iDatasize);
- }
- #ifdef MNG_SUPPORT_TRACE
- MNG_TRACE (pData, MNG_FN_ASSIGN_UNKNOWN, MNG_LC_END);
- #endif
- return MNG_NOERROR;
- }
- /* ************************************************************************** */
- #endif /* MNG_INCLUDE_WRITE_PROCS */
- /* ************************************************************************** */
- /* * end of file * */
- /* ************************************************************************** */
|