
extern "C" 
{

//------------------------------------------------------------------------------------
// irr::gui::ICursorControl wrappers
// do not delete a pointer to this
//------------------------------------------------------------------------------------

	// do not delete
	const position2d<s32>* IrrGUI_ICursorControl_getPosition(ICursorControl* cur)
	{
		if (cur)
			return &cur->getPosition();
		else return 0;
	}
	
	position2d<f32>* IrrGUI_ICursorControl_getRelativePosition(ICursorControl* cur)
	{
		if (cur)
			return new position2d<f32>(cur->getRelativePosition());
		else return 0;
	}
	
	bool IrrGUI_ICursorControl_isVisible(ICursorControl* cur)
	{
		if (cur)
			return cur->isVisible();
		else return false;
	}
	
	void IrrGUI_ICursorControl_setVisible(ICursorControl* cur,bool visible)
	{
		if (cur)
			cur->setVisible(visible);
	}
	
	void IrrGUI_ICursorControl_setPositionInt(ICursorControl* cur,s32 x,s32 y)
	{
		if (cur)
			cur->setPosition(x,y);
	}
	
	void IrrGUI_ICursorControl_setPositionIntFromPos(ICursorControl* cur,position2d<s32>* pos)
	{
		if (cur)
			cur->setPosition(*pos);
	}
	
	void IrrGUI_ICursorControl_setPositionFloat(ICursorControl* cur,f32 x,f32 y)
	{
		if (cur)
			cur->setPosition(x,y);
	}
	
	void IrrGUI_ICursorControl_setPositionFloatFromPos(ICursorControl* cur,position2d<f32>* pos)
	{
		if (cur)
			cur->setPosition(*pos);
	}

	bool IrrGUI_ICursorControl_drop(ICursorControl* unk)
	{
		if (unk)
			return unk->drop();
		else return 0;
	}
	
	const c8* IrrGUI_ICursorControl_getDebugName(ICursorControl* unk)
	{
		if (unk)
			return unk->getDebugName();
		else return "";
	}
	
	void IrrGUI_ICursorControl_grab(ICursorControl* unk)
	{
		if (unk)
			unk->grab();
	}

	void IrrGUI_ICursorControl_setReferenceRect(ICursorControl* cur,rect<s32>* rect=0)
	{
		if (cur)
			cur->setReferenceRect(rect);			
	}
}
/*

*/

