#pragma once

#include "Proxies.hpp"
#include "Process.hpp" 

namespace Proxies {

	class BuildMegatexturesProcess:
		public Process
	{
	public:
		BuildMegatexturesProcess(Stuff::NotationFile *mega_file);
		BuildMegatexturesProcess(
			Stuff::NotationFile *config_file,
			Stuff::NotationFile *mega_file
		);

		enum {
			StatusCheck,
			BadPageSize,
			BadTextureLine,
			SizesDontMatch,
			BadTexture,
			TextureDoesntFit,
			TextureOverlap,
			EmptyMegatexture
		};

		virtual void
			ProcessCallback(
				int error,
				const char* megatexture,
				const char* texture
			);

		Stuff::NotationFile
			*megaFile;
	};

}
