#ifndef PNGREADER_H #define PNGREADER_H #include "utils/Color.h" #include "utils/Error.h" class PNGReader final { unsigned int width; unsigned int height; unsigned int channels; ColorChannel* rawData; ColorChannel* data; public: PNGReader(); ~PNGReader(); PNGReader(const PNGReader& other) = delete; PNGReader(PNGReader&& other) = delete; PNGReader& operator=(const PNGReader& other) = delete; PNGReader& operator=(PNGReader&& other) = delete; Error load(const char* path); int getWidth() const; int getHeight() const; int getChannels() const; const ColorChannel* getData() const; private: Error loadIntern(const char* path); void clean(); }; #endif