#ifndef PIXMAP_LOADER_H
#define PIXMAP_LOADER_H

#include "common.h"
#include "pixmap.h"

// you can force the loader to ignore the image type and load
// the image as though it were the specified type using these.
enum ImageType
{
	RAVEN_PNG,
	RAVEN_JPEG,
	RAVEN_BMP
};


// this handy bitch consolidates all the different unorganized
// image loaders in to one simple and clean API
class PixelmapLoader
{
private:
	PixelmapLoader() {}
	PixelmapLoader(const PixelmapLoader&);
	PixelmapLoader &operator=(const PixelmapLoader &pml);
	~PixelmapLoader() {}
public:
	static PixelmapLoader& Singleton()
	{
		static PixelmapLoader singleton;
		return singleton;
	}

	Pixelmap *LoadPixmap(const char *file);
	Pixelmap *LoadPixmap(const char *file,ImageType type);
};

#endif
