#ifndef		__WCOL_IMAGE_H__
#define		__WCOL_IMAGE_H__


#include <math.h>
#include <vector>
#include <string>
#include "defines.h"
#include <MASkinG.h>

class WColImage {
	public:
		class Attractor {
			public:
				int type;
				int mode;
				float x, y;
				float range;
				int r,g,b;
				float linearity;
				float multiplier;

				Attractor() : type(1), mode(0), x(0.50), y(0.50), range(0.50), r(255), g(255), b(255), linearity(1.0), multiplier(1.0) {}
		};

	protected:
		std::vector<Attractor> attractors;
		std::string author;
		std::string title;

	public:
		void AddAttractor();
		void RemoveAttractor(int which);
		Attractor &GetAttractor(int which);
		int GetAttractorCount();
		void MoveAttractor(int which, int where);
		void DuplicateAttractor(int which);

		std::string &GetAuthor();
		std::string &GetTitle();
		void SetAuthor(std::string author);
		void SetTitle(std::string title);

		void Render(MAS::Bitmap &canvas);
		int Load(const char *filename);
		int Save(const char *filename);
		void Clear();

	public:
		WColImage();
		~WColImage();
};

#endif		//__WCOL_IMAGE_H__
