#include <hxcpp.h>

#ifndef INCLUDED_luxe_MouseButton
#include <luxe/MouseButton.h>
#endif
namespace luxe{

::luxe::MouseButton MouseButton_obj::extra1;

::luxe::MouseButton MouseButton_obj::extra2;

::luxe::MouseButton MouseButton_obj::left;

::luxe::MouseButton MouseButton_obj::middle;

::luxe::MouseButton MouseButton_obj::none;

::luxe::MouseButton MouseButton_obj::right;

HX_DEFINE_CREATE_ENUM(MouseButton_obj)

int MouseButton_obj::__FindIndex(::String inName)
{
	if (inName==HX_CSTRING("extra1")) return 4;
	if (inName==HX_CSTRING("extra2")) return 5;
	if (inName==HX_CSTRING("left")) return 1;
	if (inName==HX_CSTRING("middle")) return 2;
	if (inName==HX_CSTRING("none")) return 0;
	if (inName==HX_CSTRING("right")) return 3;
	return super::__FindIndex(inName);
}

int MouseButton_obj::__FindArgCount(::String inName)
{
	if (inName==HX_CSTRING("extra1")) return 0;
	if (inName==HX_CSTRING("extra2")) return 0;
	if (inName==HX_CSTRING("left")) return 0;
	if (inName==HX_CSTRING("middle")) return 0;
	if (inName==HX_CSTRING("none")) return 0;
	if (inName==HX_CSTRING("right")) return 0;
	return super::__FindArgCount(inName);
}

Dynamic MouseButton_obj::__Field(const ::String &inName,bool inCallProp)
{
	if (inName==HX_CSTRING("extra1")) return extra1;
	if (inName==HX_CSTRING("extra2")) return extra2;
	if (inName==HX_CSTRING("left")) return left;
	if (inName==HX_CSTRING("middle")) return middle;
	if (inName==HX_CSTRING("none")) return none;
	if (inName==HX_CSTRING("right")) return right;
	return super::__Field(inName,inCallProp);
}

static ::String sStaticFields[] = {
	HX_CSTRING("none"),
	HX_CSTRING("left"),
	HX_CSTRING("middle"),
	HX_CSTRING("right"),
	HX_CSTRING("extra1"),
	HX_CSTRING("extra2"),
	::String(null()) };

static void sMarkStatics(HX_MARK_PARAMS) {
	HX_MARK_MEMBER_NAME(MouseButton_obj::extra1,"extra1");
	HX_MARK_MEMBER_NAME(MouseButton_obj::extra2,"extra2");
	HX_MARK_MEMBER_NAME(MouseButton_obj::left,"left");
	HX_MARK_MEMBER_NAME(MouseButton_obj::middle,"middle");
	HX_MARK_MEMBER_NAME(MouseButton_obj::none,"none");
	HX_MARK_MEMBER_NAME(MouseButton_obj::right,"right");
};

#ifdef HXCPP_VISIT_ALLOCS
static void sVisitStatic(HX_VISIT_PARAMS) {
	HX_VISIT_MEMBER_NAME(MouseButton_obj::__mClass,"__mClass");
	HX_VISIT_MEMBER_NAME(MouseButton_obj::extra1,"extra1");
	HX_VISIT_MEMBER_NAME(MouseButton_obj::extra2,"extra2");
	HX_VISIT_MEMBER_NAME(MouseButton_obj::left,"left");
	HX_VISIT_MEMBER_NAME(MouseButton_obj::middle,"middle");
	HX_VISIT_MEMBER_NAME(MouseButton_obj::none,"none");
	HX_VISIT_MEMBER_NAME(MouseButton_obj::right,"right");
};
#endif

static ::String sMemberFields[] = { ::String(null()) };
Class MouseButton_obj::__mClass;

Dynamic __Create_MouseButton_obj() { return new MouseButton_obj; }

void MouseButton_obj::__register()
{

hx::Static(__mClass) = hx::RegisterClass(HX_CSTRING("luxe.MouseButton"), hx::TCanCast< MouseButton_obj >,sStaticFields,sMemberFields,
	&__Create_MouseButton_obj, &__Create,
	&super::__SGetClass(), &CreateMouseButton_obj, sMarkStatics
#ifdef HXCPP_VISIT_ALLOCS
    , sVisitStatic
#endif
#ifdef HXCPP_SCRIPTABLE
    , 0
#endif
);
}

void MouseButton_obj::__boot()
{
hx::Static(extra1) = hx::CreateEnum< MouseButton_obj >(HX_CSTRING("extra1"),4);
hx::Static(extra2) = hx::CreateEnum< MouseButton_obj >(HX_CSTRING("extra2"),5);
hx::Static(left) = hx::CreateEnum< MouseButton_obj >(HX_CSTRING("left"),1);
hx::Static(middle) = hx::CreateEnum< MouseButton_obj >(HX_CSTRING("middle"),2);
hx::Static(none) = hx::CreateEnum< MouseButton_obj >(HX_CSTRING("none"),0);
hx::Static(right) = hx::CreateEnum< MouseButton_obj >(HX_CSTRING("right"),3);
}


} // end namespace luxe
