PNGReader.h 728 B

12345678910111213141516171819202122232425262728293031323334
  1. #ifndef PNGREADER_H
  2. #define PNGREADER_H
  3. #include "utils/Color.h"
  4. #include "utils/Error.h"
  5. class PNGReader final {
  6. unsigned int width;
  7. unsigned int height;
  8. unsigned int channels;
  9. ColorChannel* rawData;
  10. ColorChannel* data;
  11. public:
  12. PNGReader();
  13. ~PNGReader();
  14. PNGReader(const PNGReader& other) = delete;
  15. PNGReader(PNGReader&& other) = delete;
  16. PNGReader& operator=(const PNGReader& other) = delete;
  17. PNGReader& operator=(PNGReader&& other) = delete;
  18. Error load(const char* path);
  19. int getWidth() const;
  20. int getHeight() const;
  21. int getChannels() const;
  22. const ColorChannel* getData() const;
  23. private:
  24. Error loadIntern(const char* path);
  25. void clean();
  26. };
  27. #endif