12345678910111213141516171819202122232425262728293031323334353637383940 |
- #ifndef PNGREADER_H
- #define PNGREADER_H
- #include <png.h>
- #include "utils/Color.h"
- class PNGReader final {
- const char* path;
- int width;
- int height;
- int channels;
- int bitDepth;
- int rowBytes;
- FILE* file;
- png_structp read;
- png_infop info;
- ColorChannel** rowPointers;
- public:
- PNGReader(const char* path);
- ~PNGReader();
- PNGReader(const PNGReader& other) = delete;
- PNGReader(PNGReader&& other) = delete;
- PNGReader& operator=(const PNGReader& other) = delete;
- PNGReader& operator=(PNGReader&& other) = delete;
- int getWidth() const;
- int getHeight() const;
- int getChannels() const;
- int getBufferSize() const;
- bool hasError() const;
- bool readData(ColorChannel* buffer);
- private:
- bool checkSignature();
- };
- #endif
|