// Generated by Haxe 4.3.3
#include <hxcpp.h>

#ifndef INCLUDED_sdl__Types_MouseButton_Impl_
#include <sdl/_Types/MouseButton_Impl_.h>
#endif

HX_LOCAL_STACK_FRAME(_hx_pos_7db78c1b0f40d37b_2290_mask,"sdl._Types.MouseButton_Impl_","mask",0x0ef20264,"sdl._Types.MouseButton_Impl_.mask","sdl/Types.hx",2290,0x61675d19)
HX_LOCAL_STACK_FRAME(_hx_pos_7db78c1b0f40d37b_2293_boot,"sdl._Types.MouseButton_Impl_","boot",0x07b745aa,"sdl._Types.MouseButton_Impl_.boot","sdl/Types.hx",2293,0x61675d19)
HX_LOCAL_STACK_FRAME(_hx_pos_3fa3fd62314a0bf6_1_boot,"sdl._Types.MouseButton_Impl_","boot",0x07b745aa,"sdl._Types.MouseButton_Impl_.boot","?",1,0x0000003f)
HX_LOCAL_STACK_FRAME(_hx_pos_7db78c1b0f40d37b_2298_boot,"sdl._Types.MouseButton_Impl_","boot",0x07b745aa,"sdl._Types.MouseButton_Impl_.boot","sdl/Types.hx",2298,0x61675d19)
HX_LOCAL_STACK_FRAME(_hx_pos_7db78c1b0f40d37b_2299_boot,"sdl._Types.MouseButton_Impl_","boot",0x07b745aa,"sdl._Types.MouseButton_Impl_.boot","sdl/Types.hx",2299,0x61675d19)
HX_LOCAL_STACK_FRAME(_hx_pos_7db78c1b0f40d37b_2300_boot,"sdl._Types.MouseButton_Impl_","boot",0x07b745aa,"sdl._Types.MouseButton_Impl_.boot","sdl/Types.hx",2300,0x61675d19)
HX_LOCAL_STACK_FRAME(_hx_pos_7db78c1b0f40d37b_2301_boot,"sdl._Types.MouseButton_Impl_","boot",0x07b745aa,"sdl._Types.MouseButton_Impl_.boot","sdl/Types.hx",2301,0x61675d19)
HX_LOCAL_STACK_FRAME(_hx_pos_7db78c1b0f40d37b_2302_boot,"sdl._Types.MouseButton_Impl_","boot",0x07b745aa,"sdl._Types.MouseButton_Impl_.boot","sdl/Types.hx",2302,0x61675d19)
namespace sdl{
namespace _Types{

void MouseButton_Impl__obj::__construct() { }

Dynamic MouseButton_Impl__obj::__CreateEmpty() { return new MouseButton_Impl__obj; }

void *MouseButton_Impl__obj::_hx_vtable = 0;

Dynamic MouseButton_Impl__obj::__Create(::hx::DynamicArray inArgs)
{
	::hx::ObjectPtr< MouseButton_Impl__obj > _hx_result = new MouseButton_Impl__obj();
	_hx_result->__construct();
	return _hx_result;
}

bool MouseButton_Impl__obj::_hx_isInstanceOf(int inClassId) {
	return inClassId==(int)0x00000001 || inClassId==(int)0x539ef726;
}

int MouseButton_Impl__obj::mask(unsigned int x){
            	HX_STACKFRAME(&_hx_pos_7db78c1b0f40d37b_2290_mask)
HXDLIN(2290)		return (1 << ( (int)((x - ( (unsigned int)(1) ))) ));
            	}


STATIC_HX_DEFINE_DYNAMIC_FUNC1(MouseButton_Impl__obj,mask,return )

unsigned int MouseButton_Impl__obj::LEFT;

unsigned int MouseButton_Impl__obj::MIDDLE;

unsigned int MouseButton_Impl__obj::RIGHT;

unsigned int MouseButton_Impl__obj::X1;

unsigned int MouseButton_Impl__obj::X2;

unsigned int MouseButton_Impl__obj::LMASK;

unsigned int MouseButton_Impl__obj::MMASK;

unsigned int MouseButton_Impl__obj::RMASK;

unsigned int MouseButton_Impl__obj::X1MASK;

unsigned int MouseButton_Impl__obj::X2MASK;


MouseButton_Impl__obj::MouseButton_Impl__obj()
{
}

bool MouseButton_Impl__obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
{
	switch(inName.length) {
	case 4:
		if (HX_FIELD_EQ(inName,"mask") ) { outValue = mask_dyn(); return true; }
	}
	return false;
}

#ifdef HXCPP_SCRIPTABLE
static ::hx::StorageInfo *MouseButton_Impl__obj_sMemberStorageInfo = 0;
static ::hx::StaticInfo MouseButton_Impl__obj_sStaticStorageInfo[] = {
	{::hx::fsUnknown /* unsigned int */ ,(void *) &MouseButton_Impl__obj::LEFT,HX_("LEFT",07,d0,70,32)},
	{::hx::fsUnknown /* unsigned int */ ,(void *) &MouseButton_Impl__obj::MIDDLE,HX_("MIDDLE",55,7f,e1,fe)},
	{::hx::fsUnknown /* unsigned int */ ,(void *) &MouseButton_Impl__obj::RIGHT,HX_("RIGHT",bc,43,52,67)},
	{::hx::fsUnknown /* unsigned int */ ,(void *) &MouseButton_Impl__obj::X1,HX_("X1",d9,4c,00,00)},
	{::hx::fsUnknown /* unsigned int */ ,(void *) &MouseButton_Impl__obj::X2,HX_("X2",da,4c,00,00)},
	{::hx::fsUnknown /* unsigned int */ ,(void *) &MouseButton_Impl__obj::LMASK,HX_("LMASK",38,1f,8b,f5)},
	{::hx::fsUnknown /* unsigned int */ ,(void *) &MouseButton_Impl__obj::MMASK,HX_("MMASK",b9,b3,f1,88)},
	{::hx::fsUnknown /* unsigned int */ ,(void *) &MouseButton_Impl__obj::RMASK,HX_("RMASK",3e,9a,f2,69)},
	{::hx::fsUnknown /* unsigned int */ ,(void *) &MouseButton_Impl__obj::X1MASK,HX_("X1MASK",45,36,21,99)},
	{::hx::fsUnknown /* unsigned int */ ,(void *) &MouseButton_Impl__obj::X2MASK,HX_("X2MASK",c6,ca,87,2c)},
	{ ::hx::fsUnknown, 0, null()}
};
#endif

static void MouseButton_Impl__obj_sMarkStatics(HX_MARK_PARAMS) {
	HX_MARK_MEMBER_NAME(MouseButton_Impl__obj::LEFT,"LEFT");
	HX_MARK_MEMBER_NAME(MouseButton_Impl__obj::MIDDLE,"MIDDLE");
	HX_MARK_MEMBER_NAME(MouseButton_Impl__obj::RIGHT,"RIGHT");
	HX_MARK_MEMBER_NAME(MouseButton_Impl__obj::X1,"X1");
	HX_MARK_MEMBER_NAME(MouseButton_Impl__obj::X2,"X2");
	HX_MARK_MEMBER_NAME(MouseButton_Impl__obj::LMASK,"LMASK");
	HX_MARK_MEMBER_NAME(MouseButton_Impl__obj::MMASK,"MMASK");
	HX_MARK_MEMBER_NAME(MouseButton_Impl__obj::RMASK,"RMASK");
	HX_MARK_MEMBER_NAME(MouseButton_Impl__obj::X1MASK,"X1MASK");
	HX_MARK_MEMBER_NAME(MouseButton_Impl__obj::X2MASK,"X2MASK");
};

#ifdef HXCPP_VISIT_ALLOCS
static void MouseButton_Impl__obj_sVisitStatics(HX_VISIT_PARAMS) {
	HX_VISIT_MEMBER_NAME(MouseButton_Impl__obj::LEFT,"LEFT");
	HX_VISIT_MEMBER_NAME(MouseButton_Impl__obj::MIDDLE,"MIDDLE");
	HX_VISIT_MEMBER_NAME(MouseButton_Impl__obj::RIGHT,"RIGHT");
	HX_VISIT_MEMBER_NAME(MouseButton_Impl__obj::X1,"X1");
	HX_VISIT_MEMBER_NAME(MouseButton_Impl__obj::X2,"X2");
	HX_VISIT_MEMBER_NAME(MouseButton_Impl__obj::LMASK,"LMASK");
	HX_VISIT_MEMBER_NAME(MouseButton_Impl__obj::MMASK,"MMASK");
	HX_VISIT_MEMBER_NAME(MouseButton_Impl__obj::RMASK,"RMASK");
	HX_VISIT_MEMBER_NAME(MouseButton_Impl__obj::X1MASK,"X1MASK");
	HX_VISIT_MEMBER_NAME(MouseButton_Impl__obj::X2MASK,"X2MASK");
};

#endif

::hx::Class MouseButton_Impl__obj::__mClass;

static ::String MouseButton_Impl__obj_sStaticFields[] = {
	HX_("mask",ec,40,56,48),
	HX_("LEFT",07,d0,70,32),
	HX_("MIDDLE",55,7f,e1,fe),
	HX_("RIGHT",bc,43,52,67),
	HX_("X1",d9,4c,00,00),
	HX_("X2",da,4c,00,00),
	HX_("LMASK",38,1f,8b,f5),
	HX_("MMASK",b9,b3,f1,88),
	HX_("RMASK",3e,9a,f2,69),
	HX_("X1MASK",45,36,21,99),
	HX_("X2MASK",c6,ca,87,2c),
	::String(null())
};

void MouseButton_Impl__obj::__register()
{
	MouseButton_Impl__obj _hx_dummy;
	MouseButton_Impl__obj::_hx_vtable = *(void **)&_hx_dummy;
	::hx::Static(__mClass) = new ::hx::Class_obj();
	__mClass->mName = HX_("sdl._Types.MouseButton_Impl_",f6,11,c0,2a);
	__mClass->mSuper = &super::__SGetClass();
	__mClass->mConstructEmpty = &__CreateEmpty;
	__mClass->mConstructArgs = &__Create;
	__mClass->mGetStaticField = &MouseButton_Impl__obj::__GetStatic;
	__mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
	__mClass->mMarkFunc = MouseButton_Impl__obj_sMarkStatics;
	__mClass->mStatics = ::hx::Class_obj::dupFunctions(MouseButton_Impl__obj_sStaticFields);
	__mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
	__mClass->mCanCast = ::hx::TCanCast< MouseButton_Impl__obj >;
#ifdef HXCPP_VISIT_ALLOCS
	__mClass->mVisitFunc = MouseButton_Impl__obj_sVisitStatics;
#endif
#ifdef HXCPP_SCRIPTABLE
	__mClass->mMemberStorageInfo = MouseButton_Impl__obj_sMemberStorageInfo;
#endif
#ifdef HXCPP_SCRIPTABLE
	__mClass->mStaticStorageInfo = MouseButton_Impl__obj_sStaticStorageInfo;
#endif
	::hx::_hx_RegisterClass(__mClass->mName, __mClass);
}

void MouseButton_Impl__obj::__boot()
{
{
            	HX_STACKFRAME(&_hx_pos_7db78c1b0f40d37b_2293_boot)
HXDLIN(2293)		LEFT = ( (unsigned int)(1) );
            	}
{
            	HX_STACKFRAME(&_hx_pos_3fa3fd62314a0bf6_1_boot)
HXDLIN(   1)		MIDDLE = ( (unsigned int)(2) );
            	}
{
            	HX_STACKFRAME(&_hx_pos_3fa3fd62314a0bf6_1_boot)
HXDLIN(   1)		RIGHT = ( (unsigned int)(3) );
            	}
{
            	HX_STACKFRAME(&_hx_pos_3fa3fd62314a0bf6_1_boot)
HXDLIN(   1)		X1 = ( (unsigned int)(4) );
            	}
{
            	HX_STACKFRAME(&_hx_pos_3fa3fd62314a0bf6_1_boot)
HXDLIN(   1)		X2 = ( (unsigned int)(5) );
            	}
{
            	HX_STACKFRAME(&_hx_pos_7db78c1b0f40d37b_2298_boot)
HXDLIN(2298)		LMASK = ( (unsigned int)((1 << ( (int)((( (unsigned int)(1) ) - ( (unsigned int)(1) ))) ))) );
            	}
{
            	HX_STACKFRAME(&_hx_pos_7db78c1b0f40d37b_2299_boot)
HXDLIN(2299)		MMASK = ( (unsigned int)((1 << ( (int)((( (unsigned int)(2) ) - ( (unsigned int)(1) ))) ))) );
            	}
{
            	HX_STACKFRAME(&_hx_pos_7db78c1b0f40d37b_2300_boot)
HXDLIN(2300)		RMASK = ( (unsigned int)((1 << ( (int)((( (unsigned int)(3) ) - ( (unsigned int)(1) ))) ))) );
            	}
{
            	HX_STACKFRAME(&_hx_pos_7db78c1b0f40d37b_2301_boot)
HXDLIN(2301)		X1MASK = ( (unsigned int)((1 << ( (int)((( (unsigned int)(4) ) - ( (unsigned int)(1) ))) ))) );
            	}
{
            	HX_STACKFRAME(&_hx_pos_7db78c1b0f40d37b_2302_boot)
HXDLIN(2302)		X2MASK = ( (unsigned int)((1 << ( (int)((( (unsigned int)(5) ) - ( (unsigned int)(1) ))) ))) );
            	}
}

} // end namespace sdl
} // end namespace _Types
