#include <hxcpp.h>

#ifndef INCLUDED_snow_types_WindowEventType
#include <snow/types/WindowEventType.h>
#endif
#ifndef INCLUDED_snow_types_WindowEvents
#include <snow/types/WindowEvents.h>
#endif
namespace snow{
namespace types{

Void WindowEvents_obj::__construct()
{
	return null();
}

//WindowEvents_obj::~WindowEvents_obj() { }

Dynamic WindowEvents_obj::__CreateEmpty() { return  new WindowEvents_obj; }
hx::ObjectPtr< WindowEvents_obj > WindowEvents_obj::__new()
{  hx::ObjectPtr< WindowEvents_obj > result = new WindowEvents_obj();
	result->__construct();
	return result;}

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

int WindowEvents_obj::we_unknown;

int WindowEvents_obj::we_created;

int WindowEvents_obj::we_shown;

int WindowEvents_obj::we_hidden;

int WindowEvents_obj::we_exposed;

int WindowEvents_obj::we_moved;

int WindowEvents_obj::we_resized;

int WindowEvents_obj::we_size_changed;

int WindowEvents_obj::we_minimized;

int WindowEvents_obj::we_maximized;

int WindowEvents_obj::we_restored;

int WindowEvents_obj::we_enter;

int WindowEvents_obj::we_leave;

int WindowEvents_obj::we_focus_gained;

int WindowEvents_obj::we_focus_lost;

int WindowEvents_obj::we_close;

int WindowEvents_obj::we_destroy;

::snow::types::WindowEventType WindowEvents_obj::typed( int type){
	HX_STACK_FRAME("snow.types.WindowEvents","typed",0x423879a5,"snow.types.WindowEvents.typed","snow/types/Types.hx",593,0x72b41ce7)
	HX_STACK_ARG(type,"type")
	HX_STACK_LINE(595)
	if (((type == ::snow::types::WindowEvents_obj::we_created))){
		HX_STACK_LINE(595)
		return ::snow::types::WindowEventType_obj::window_created;
	}
	HX_STACK_LINE(596)
	if (((type == ::snow::types::WindowEvents_obj::we_shown))){
		HX_STACK_LINE(596)
		return ::snow::types::WindowEventType_obj::window_shown;
	}
	HX_STACK_LINE(597)
	if (((type == ::snow::types::WindowEvents_obj::we_hidden))){
		HX_STACK_LINE(597)
		return ::snow::types::WindowEventType_obj::window_hidden;
	}
	HX_STACK_LINE(598)
	if (((type == ::snow::types::WindowEvents_obj::we_exposed))){
		HX_STACK_LINE(598)
		return ::snow::types::WindowEventType_obj::window_exposed;
	}
	HX_STACK_LINE(599)
	if (((type == ::snow::types::WindowEvents_obj::we_moved))){
		HX_STACK_LINE(599)
		return ::snow::types::WindowEventType_obj::window_moved;
	}
	HX_STACK_LINE(600)
	if (((type == ::snow::types::WindowEvents_obj::we_resized))){
		HX_STACK_LINE(600)
		return ::snow::types::WindowEventType_obj::window_resized;
	}
	HX_STACK_LINE(601)
	if (((type == ::snow::types::WindowEvents_obj::we_size_changed))){
		HX_STACK_LINE(601)
		return ::snow::types::WindowEventType_obj::window_size_changed;
	}
	HX_STACK_LINE(602)
	if (((type == ::snow::types::WindowEvents_obj::we_minimized))){
		HX_STACK_LINE(602)
		return ::snow::types::WindowEventType_obj::window_minimized;
	}
	HX_STACK_LINE(603)
	if (((type == ::snow::types::WindowEvents_obj::we_maximized))){
		HX_STACK_LINE(603)
		return ::snow::types::WindowEventType_obj::window_maximized;
	}
	HX_STACK_LINE(604)
	if (((type == ::snow::types::WindowEvents_obj::we_restored))){
		HX_STACK_LINE(604)
		return ::snow::types::WindowEventType_obj::window_restored;
	}
	HX_STACK_LINE(605)
	if (((type == ::snow::types::WindowEvents_obj::we_enter))){
		HX_STACK_LINE(605)
		return ::snow::types::WindowEventType_obj::window_enter;
	}
	HX_STACK_LINE(606)
	if (((type == ::snow::types::WindowEvents_obj::we_leave))){
		HX_STACK_LINE(606)
		return ::snow::types::WindowEventType_obj::window_leave;
	}
	HX_STACK_LINE(607)
	if (((type == ::snow::types::WindowEvents_obj::we_focus_gained))){
		HX_STACK_LINE(607)
		return ::snow::types::WindowEventType_obj::window_focus_gained;
	}
	HX_STACK_LINE(608)
	if (((type == ::snow::types::WindowEvents_obj::we_focus_lost))){
		HX_STACK_LINE(608)
		return ::snow::types::WindowEventType_obj::window_focus_lost;
	}
	HX_STACK_LINE(609)
	if (((type == ::snow::types::WindowEvents_obj::we_close))){
		HX_STACK_LINE(609)
		return ::snow::types::WindowEventType_obj::window_close;
	}
	HX_STACK_LINE(610)
	if (((type == ::snow::types::WindowEvents_obj::we_destroy))){
		HX_STACK_LINE(610)
		return ::snow::types::WindowEventType_obj::window_destroy;
	}
	HX_STACK_LINE(612)
	return ::snow::types::WindowEventType_obj::unknown;
}


STATIC_HX_DEFINE_DYNAMIC_FUNC1(WindowEvents_obj,typed,return )


WindowEvents_obj::WindowEvents_obj()
{
}

Dynamic WindowEvents_obj::__Field(const ::String &inName,bool inCallProp)
{
	switch(inName.length) {
	case 5:
		if (HX_FIELD_EQ(inName,"typed") ) { return typed_dyn(); }
		break;
	case 8:
		if (HX_FIELD_EQ(inName,"we_shown") ) { return we_shown; }
		if (HX_FIELD_EQ(inName,"we_moved") ) { return we_moved; }
		if (HX_FIELD_EQ(inName,"we_enter") ) { return we_enter; }
		if (HX_FIELD_EQ(inName,"we_leave") ) { return we_leave; }
		if (HX_FIELD_EQ(inName,"we_close") ) { return we_close; }
		break;
	case 9:
		if (HX_FIELD_EQ(inName,"we_hidden") ) { return we_hidden; }
		break;
	case 10:
		if (HX_FIELD_EQ(inName,"we_unknown") ) { return we_unknown; }
		if (HX_FIELD_EQ(inName,"we_created") ) { return we_created; }
		if (HX_FIELD_EQ(inName,"we_exposed") ) { return we_exposed; }
		if (HX_FIELD_EQ(inName,"we_resized") ) { return we_resized; }
		if (HX_FIELD_EQ(inName,"we_destroy") ) { return we_destroy; }
		break;
	case 11:
		if (HX_FIELD_EQ(inName,"we_restored") ) { return we_restored; }
		break;
	case 12:
		if (HX_FIELD_EQ(inName,"we_minimized") ) { return we_minimized; }
		if (HX_FIELD_EQ(inName,"we_maximized") ) { return we_maximized; }
		break;
	case 13:
		if (HX_FIELD_EQ(inName,"we_focus_lost") ) { return we_focus_lost; }
		break;
	case 15:
		if (HX_FIELD_EQ(inName,"we_size_changed") ) { return we_size_changed; }
		if (HX_FIELD_EQ(inName,"we_focus_gained") ) { return we_focus_gained; }
	}
	return super::__Field(inName,inCallProp);
}

Dynamic WindowEvents_obj::__SetField(const ::String &inName,const Dynamic &inValue,bool inCallProp)
{
	switch(inName.length) {
	case 8:
		if (HX_FIELD_EQ(inName,"we_shown") ) { we_shown=inValue.Cast< int >(); return inValue; }
		if (HX_FIELD_EQ(inName,"we_moved") ) { we_moved=inValue.Cast< int >(); return inValue; }
		if (HX_FIELD_EQ(inName,"we_enter") ) { we_enter=inValue.Cast< int >(); return inValue; }
		if (HX_FIELD_EQ(inName,"we_leave") ) { we_leave=inValue.Cast< int >(); return inValue; }
		if (HX_FIELD_EQ(inName,"we_close") ) { we_close=inValue.Cast< int >(); return inValue; }
		break;
	case 9:
		if (HX_FIELD_EQ(inName,"we_hidden") ) { we_hidden=inValue.Cast< int >(); return inValue; }
		break;
	case 10:
		if (HX_FIELD_EQ(inName,"we_unknown") ) { we_unknown=inValue.Cast< int >(); return inValue; }
		if (HX_FIELD_EQ(inName,"we_created") ) { we_created=inValue.Cast< int >(); return inValue; }
		if (HX_FIELD_EQ(inName,"we_exposed") ) { we_exposed=inValue.Cast< int >(); return inValue; }
		if (HX_FIELD_EQ(inName,"we_resized") ) { we_resized=inValue.Cast< int >(); return inValue; }
		if (HX_FIELD_EQ(inName,"we_destroy") ) { we_destroy=inValue.Cast< int >(); return inValue; }
		break;
	case 11:
		if (HX_FIELD_EQ(inName,"we_restored") ) { we_restored=inValue.Cast< int >(); return inValue; }
		break;
	case 12:
		if (HX_FIELD_EQ(inName,"we_minimized") ) { we_minimized=inValue.Cast< int >(); return inValue; }
		if (HX_FIELD_EQ(inName,"we_maximized") ) { we_maximized=inValue.Cast< int >(); return inValue; }
		break;
	case 13:
		if (HX_FIELD_EQ(inName,"we_focus_lost") ) { we_focus_lost=inValue.Cast< int >(); return inValue; }
		break;
	case 15:
		if (HX_FIELD_EQ(inName,"we_size_changed") ) { we_size_changed=inValue.Cast< int >(); return inValue; }
		if (HX_FIELD_EQ(inName,"we_focus_gained") ) { we_focus_gained=inValue.Cast< int >(); return inValue; }
	}
	return super::__SetField(inName,inValue,inCallProp);
}

void WindowEvents_obj::__GetFields(Array< ::String> &outFields)
{
	super::__GetFields(outFields);
};

static ::String sStaticFields[] = {
	HX_CSTRING("we_unknown"),
	HX_CSTRING("we_created"),
	HX_CSTRING("we_shown"),
	HX_CSTRING("we_hidden"),
	HX_CSTRING("we_exposed"),
	HX_CSTRING("we_moved"),
	HX_CSTRING("we_resized"),
	HX_CSTRING("we_size_changed"),
	HX_CSTRING("we_minimized"),
	HX_CSTRING("we_maximized"),
	HX_CSTRING("we_restored"),
	HX_CSTRING("we_enter"),
	HX_CSTRING("we_leave"),
	HX_CSTRING("we_focus_gained"),
	HX_CSTRING("we_focus_lost"),
	HX_CSTRING("we_close"),
	HX_CSTRING("we_destroy"),
	HX_CSTRING("typed"),
	String(null()) };

#if HXCPP_SCRIPTABLE
static hx::StorageInfo *sMemberStorageInfo = 0;
#endif

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

static void sMarkStatics(HX_MARK_PARAMS) {
	HX_MARK_MEMBER_NAME(WindowEvents_obj::__mClass,"__mClass");
	HX_MARK_MEMBER_NAME(WindowEvents_obj::we_unknown,"we_unknown");
	HX_MARK_MEMBER_NAME(WindowEvents_obj::we_created,"we_created");
	HX_MARK_MEMBER_NAME(WindowEvents_obj::we_shown,"we_shown");
	HX_MARK_MEMBER_NAME(WindowEvents_obj::we_hidden,"we_hidden");
	HX_MARK_MEMBER_NAME(WindowEvents_obj::we_exposed,"we_exposed");
	HX_MARK_MEMBER_NAME(WindowEvents_obj::we_moved,"we_moved");
	HX_MARK_MEMBER_NAME(WindowEvents_obj::we_resized,"we_resized");
	HX_MARK_MEMBER_NAME(WindowEvents_obj::we_size_changed,"we_size_changed");
	HX_MARK_MEMBER_NAME(WindowEvents_obj::we_minimized,"we_minimized");
	HX_MARK_MEMBER_NAME(WindowEvents_obj::we_maximized,"we_maximized");
	HX_MARK_MEMBER_NAME(WindowEvents_obj::we_restored,"we_restored");
	HX_MARK_MEMBER_NAME(WindowEvents_obj::we_enter,"we_enter");
	HX_MARK_MEMBER_NAME(WindowEvents_obj::we_leave,"we_leave");
	HX_MARK_MEMBER_NAME(WindowEvents_obj::we_focus_gained,"we_focus_gained");
	HX_MARK_MEMBER_NAME(WindowEvents_obj::we_focus_lost,"we_focus_lost");
	HX_MARK_MEMBER_NAME(WindowEvents_obj::we_close,"we_close");
	HX_MARK_MEMBER_NAME(WindowEvents_obj::we_destroy,"we_destroy");
};

#ifdef HXCPP_VISIT_ALLOCS
static void sVisitStatics(HX_VISIT_PARAMS) {
	HX_VISIT_MEMBER_NAME(WindowEvents_obj::__mClass,"__mClass");
	HX_VISIT_MEMBER_NAME(WindowEvents_obj::we_unknown,"we_unknown");
	HX_VISIT_MEMBER_NAME(WindowEvents_obj::we_created,"we_created");
	HX_VISIT_MEMBER_NAME(WindowEvents_obj::we_shown,"we_shown");
	HX_VISIT_MEMBER_NAME(WindowEvents_obj::we_hidden,"we_hidden");
	HX_VISIT_MEMBER_NAME(WindowEvents_obj::we_exposed,"we_exposed");
	HX_VISIT_MEMBER_NAME(WindowEvents_obj::we_moved,"we_moved");
	HX_VISIT_MEMBER_NAME(WindowEvents_obj::we_resized,"we_resized");
	HX_VISIT_MEMBER_NAME(WindowEvents_obj::we_size_changed,"we_size_changed");
	HX_VISIT_MEMBER_NAME(WindowEvents_obj::we_minimized,"we_minimized");
	HX_VISIT_MEMBER_NAME(WindowEvents_obj::we_maximized,"we_maximized");
	HX_VISIT_MEMBER_NAME(WindowEvents_obj::we_restored,"we_restored");
	HX_VISIT_MEMBER_NAME(WindowEvents_obj::we_enter,"we_enter");
	HX_VISIT_MEMBER_NAME(WindowEvents_obj::we_leave,"we_leave");
	HX_VISIT_MEMBER_NAME(WindowEvents_obj::we_focus_gained,"we_focus_gained");
	HX_VISIT_MEMBER_NAME(WindowEvents_obj::we_focus_lost,"we_focus_lost");
	HX_VISIT_MEMBER_NAME(WindowEvents_obj::we_close,"we_close");
	HX_VISIT_MEMBER_NAME(WindowEvents_obj::we_destroy,"we_destroy");
};

#endif

Class WindowEvents_obj::__mClass;

void WindowEvents_obj::__register()
{
	hx::Static(__mClass) = hx::RegisterClass(HX_CSTRING("snow.types.WindowEvents"), hx::TCanCast< WindowEvents_obj> ,sStaticFields,sMemberFields,
	&__CreateEmpty, &__Create,
	&super::__SGetClass(), 0, sMarkStatics
#ifdef HXCPP_VISIT_ALLOCS
    , sVisitStatics
#endif
#ifdef HXCPP_SCRIPTABLE
    , sMemberStorageInfo
#endif
);
}

void WindowEvents_obj::__boot()
{
	we_unknown= (int)0;
	we_created= (int)1;
	we_shown= (int)2;
	we_hidden= (int)3;
	we_exposed= (int)4;
	we_moved= (int)5;
	we_resized= (int)6;
	we_size_changed= (int)7;
	we_minimized= (int)8;
	we_maximized= (int)9;
	we_restored= (int)10;
	we_enter= (int)11;
	we_leave= (int)12;
	we_focus_gained= (int)13;
	we_focus_lost= (int)14;
	we_close= (int)15;
	we_destroy= (int)16;
}

} // end namespace snow
} // end namespace types
