//	Darkstar Engine  (c) UnderWorld Interactive Studio (all coding by Svarog    2007)
//
//      Данный файл является частью Darkstar Engine. Любое использование кода файла
//      без согласия компании, является нарушением закона об авторском праве (в слу-
//      чае если не оговорено обратное).
//
//      Имя файла: colorwrite_render_state.hpp
//      Краткое описание: Color write type state block
//

#ifndef DSE_GS_RENDER_STATE_COLORWRITE_HPP
#define DSE_GS_RENDER_STATE_COLORWRITE_HPP

#include <Darkstar/common.hpp>
#include <Darkstar/Graphic System/Render State/common_render_state.hpp>

namespace gs
{
	class ColorWriteRenderState
	{
	private:
		unsigned char flags[render_target_num];
	public:
		ColorWriteRenderState();
		ColorWriteRenderState(const ColorWriteRenderState& cw);
		ColorWriteRenderState(const unsigned int render_target_index, const unsigned char flag);
		~ColorWriteRenderState();

		bool operator==(const ColorWriteRenderState& state) const;

		void setColorWriteFlag(const unsigned int render_target_index, const unsigned char flag);
		unsigned char getColorWriteFlag(const unsigned int render_target_index) const;
	
		void set();
	};
};

#endif