#pragma once enum CellPngTxtType : s32 { CELL_PNG_TEXT = 0, CELL_PNG_ZTXT = 1, CELL_PNG_ITXT = 2, }; enum CellPngUnknownLocation : s32 { CELL_PNG_BEFORE_PLTE = 1, CELL_PNG_BEFORE_IDAT = 2, CELL_PNG_AFTER_IDAT = 8, }; struct CellPngPLTEentry { u8 red; u8 green; u8 blue; }; struct CellPngPaletteEntries { be_t red; be_t green; be_t blue; be_t alpha; be_t frequency; }; struct CellPngSPLTentry { vm::bptr paletteName; u8 sampleDepth; vm::bptr paletteEntries; be_t paletteEntriesNumber; }; struct CellPngTextInfo { be_t txtType; // CellPngTxtType vm::bptr keyword; vm::bptr text; be_t textLength; vm::bptr languageTag; vm::bptr translatedKeyword; }; struct CellPngPLTE { be_t paletteEntriesNumber; vm::bptr paletteEntries; }; struct CellPngGAMA { be_t gamma; }; struct CellPngSRGB { be_t renderingIntent; }; struct CellPngICCP { vm::bptr profileName; vm::bptr profile; be_t profileLength; }; struct CellPngSBIT { be_t red; be_t green; be_t blue; be_t gray; be_t alpha; }; struct CellPngTRNS { vm::bptr alphaForPaletteIndex; be_t alphaForPaletteIndexNumber; be_t red; be_t green; be_t blue; be_t gray; }; struct CellPngHIST { vm::bptr histgramEntries; be_t histgramEntriesNumber; }; struct CellPngTIME { be_t year; u8 month; u8 day; u8 hour; u8 minute; u8 second; }; struct CellPngBKGD { u8 paletteIndex; be_t red; be_t green; be_t blue; be_t gray; }; struct CellPngSPLT { vm::bptr sPLTentries; be_t sPLTentriesNumber; }; struct CellPngOFFS { be_t xPosition; be_t yPosition; be_t unitSpecifier; }; struct CellPngPHYS { be_t xAxis; be_t yAxis; be_t unitSpecifier; }; struct CellPngSCAL { be_t unitSpecifier; be_t pixelWidth; be_t pixelHeight; }; struct CellPngCHRM { be_t whitePointX; be_t whitePointY; be_t redX; be_t redY; be_t greenX; be_t greenY; be_t blueX; be_t blueY; }; struct CellPngPCAL { vm::bptr calibrationName; be_t x0; be_t x1; be_t equationType; be_t numberOfParameters; vm::bptr unitName; vm::bpptr parameter; }; struct CellPngUnknownChunk { char chunkType[5]; vm::bptr chunkData; be_t length; be_t location; // CellPngUnknownLocation };