
#ifndef SPECTRE_GRAPHICS_IMAGE_LOADER_H
#define SPECTRE_GRAPHICS_IMAGE_LOADER_H

#include <Spectre/Graphics/Image.h>
#include <Spectre/Math/Vector2.h>
#include <vector>

namespace sp {

class ImageLoader
{
public :
	bool loadFromFile(const char *filename, Image& img);

	bool loadFromMemory(const void *data, unsigned size, Image& img);

	bool saveToFile(const Image& img, const char *filename);

protected :

	bool encodePNG(const Image& img, std::vector<unsigned char>& data);

protected :

	std::string m_error;
};

} // namespace sp

#endif /* SPECTRE_GRAPHICS_IMAGE_LOADER_H */
