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

#include <Darkstar/Graphic System/Render State/fill_render_state.hpp>
#include <Darkstar/Graphic System/Render State/render_state_manager.hpp>

using gs::FillModeRenderState;
using gs::DFILLMODE;
using gs::RenderStateManager;

FillModeRenderState::FillModeRenderState()
{
	fill_mode = DFILL_SOLID;
};

FillModeRenderState::FillModeRenderState(const FillModeRenderState& fm)
{
	fill_mode = fm.getFillMode();
};

FillModeRenderState::FillModeRenderState(const DFILLMODE& fillMode)
{
	fill_mode = fillMode;
};

FillModeRenderState::~FillModeRenderState()
{

};

bool FillModeRenderState::operator ==(const FillModeRenderState& state) const
{
	return fill_mode == state.getFillMode();
};

void FillModeRenderState::setFillMode(const DFILLMODE& fillMode)
{
	fill_mode = fillMode;
};

const DFILLMODE& FillModeRenderState::getFillMode() const
{
	return fill_mode;
};

void FillModeRenderState::set()
{
	RenderStateManager::ptr()->setFillModeRenderState(*this);
};