//------------------------------------------------------------------------------------
// irr::gui::IGUIEditBox wrappers
// do not delete a pointer to this
//------------------------------------------------------------------------------------
extern "C" {

u32 IrrGUI_IGUIEditBox_getMax(IGUIEditBox* edit)
{
	if (edit)
		return edit->getMax();
	else return 0;
}

void IrrGUI_IGUIEditBox_setMax(IGUIEditBox* edit,u32 max)
{
	if (edit)
		edit->setMax(max);
}

void IrrGUI_IGUIEditBox_enableOverrideColor(IGUIEditBox* edit,bool enable)
{
	if (edit)
		edit->enableOverrideColor(enable);
}

void IrrGUI_IGUIEditBox_setOverrideColor(IGUIEditBox* edit,SColor* color)
{
	if (edit)
		edit->setOverrideColor(*color);
}

void IrrGUI_IGUIEditBox_setOverrideFont(IGUIEditBox* edit,IGUIFont* font=0)
{
	if (edit)
		edit->setOverrideFont(font);
}

void IrrGUI_IGUIEditBox_setDrawBorder(IGUIEditBox* edit,bool border)
{
	if (edit) {
		edit->setDrawBorder(border);
	}
}

void IrrGUI_IGUIEditBox_setTextAlignment(IGUIEditBox* edit,EGUI_ALIGNMENT horizontal, EGUI_ALIGNMENT vertical)
{
	if (edit) {
		edit->setTextAlignment(horizontal,vertical);
	}
}

void IrrGUI_IGUIEditBox_setWordWrap(IGUIEditBox* edit,bool enable)
{
	if (edit) {
		edit->setWordWrap(enable);
	}
}

bool IrrGUI_IGUIEditBox_isWordWrapEnabled(IGUIEditBox* edit)
{
	if (edit) {
		return edit->isWordWrapEnabled();
	} else return false;
}

void IrrGUI_IGUIEditBox_setMultiLine(IGUIEditBox* edit,bool enable)
{
	if (edit) {
		edit->setMultiLine(enable);
	}
}

bool IrrGUI_IGUIEditBox_isMultiLineEnabled(IGUIEditBox* edit)
{
	if (edit) {
		return edit->isMultiLineEnabled();
	} else return false;
}

void IrrGUI_IGUIEditBox_setAutoScroll(IGUIEditBox* edit,bool enable)
{
	if (edit) {
		edit->setAutoScroll(enable);
	}
}

bool IrrGUI_IGUIEditBox_isAutoScrollEnabled(IGUIEditBox* edit)
{
	if (edit) {
		return edit->isAutoScrollEnabled();
	}
}

void IrrGUI_IGUIEditBox_setPasswordBox(IGUIEditBox* edit,bool passwordBox, wchar_t* passwordChar = L"*")
{
	if (edit) {
		edit->setPasswordBox(passwordBox, passwordChar[0]);
	}
}

bool IrrGUI_IGUIEditBox_isPasswordBox(IGUIEditBox* edit)
{
	if (edit) {
		return edit->isPasswordBox();
	} else return false;
}

// must delete
dimension2di* IrrGUI_IGUIEditBox_getTextDimension(IGUIEditBox* edit)
{
	if (edit) {
		return new dimension2di(edit->getTextDimension());
	} else return 0;
}

} // extern "C"