diff options
Diffstat (limited to 'src/PNGImage.h')
| -rw-r--r-- | src/PNGImage.h | 87 |
1 files changed, 46 insertions, 41 deletions
diff --git a/src/PNGImage.h b/src/PNGImage.h index 31ed429..3c1bf1f 100644 --- a/src/PNGImage.h +++ b/src/PNGImage.h @@ -14,54 +14,59 @@ #define REGISTER_CHUNK_READER(X) chunkReaders.insert({#X, &PNGImage::X}) #define DEFINE_CHUNK_READER(X) void PNGImage::X(uint32_t chunkSize) -class PNGImage : public Image +namespace TehImage { -private: - ZLibInflator zlib; - uint8_t* idatData; - unsigned long idatDataSize; -public: - PNGImage(); - ~PNGImage(); - // template<std::derived_from<Image> T> PNGImage(const T& other) : Image(other) { } - PNGImage(const Image& other) : Image(other) {} + class PNGImage : public Image + { + private: + ZLibInflator zlib; + uint8_t* idatData; + unsigned long idatDataSize; + public: + PNGImage(); + ~PNGImage(); - int readFromFile(std::string filename) override; - int writeToFile(std::string filename) override; + // template<std::derived_from<Image> T> PNGImage(const T& other) : Image(other) { } + PNGImage(const Image& other) : Image(other) {} + + int readFromFile(std::string filename) override; + int writeToFile(std::string filename) override; - // sRGB - uint8_t renderingIntent; + // sRGB + uint8_t renderingIntent; - // pHYs - uint32_t pixelsPerX; - uint32_t pixelsPerY; - uint8_t unit; + // pHYs + uint32_t pixelsPerX; + uint32_t pixelsPerY; + uint8_t unit; - // tIME - uint16_t year; - uint8_t month; - uint8_t day; - uint8_t hour; - uint8_t minute; - uint8_t second; + // tIME + uint16_t year; + uint8_t month; + uint8_t day; + uint8_t hour; + uint8_t minute; + uint8_t second; - bool readNextChunk(); + bool readNextChunk(); -private: - std::map<std::string, void(PNGImage::*)(uint32_t chunkSize)> chunkReaders; - CHUNK_READER(IHDR); - CHUNK_READER(iCCP); - CHUNK_READER(sRGB); - CHUNK_READER(eXIf); - CHUNK_READER(iDOT); - CHUNK_READER(pHYs); - CHUNK_READER(tIME); - CHUNK_READER(tEXt); - CHUNK_READER(IDAT); - CHUNK_READER(IEND); + private: + std::map<std::string, void(PNGImage::*)(uint32_t chunkSize)> chunkReaders; + CHUNK_READER(IHDR); + CHUNK_READER(iCCP); + CHUNK_READER(sRGB); + CHUNK_READER(eXIf); + CHUNK_READER(iDOT); + CHUNK_READER(pHYs); + CHUNK_READER(tIME); + CHUNK_READER(tEXt); + CHUNK_READER(IDAT); + CHUNK_READER(IEND); + + bool end = false; - bool end = false; + Reader *reader; + }; - Reader *reader; -}; +} |
