#include <hxcpp.h>

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

::snow::types::WindowEventType WindowEventType_obj::unknown;

::snow::types::WindowEventType WindowEventType_obj::window_close;

::snow::types::WindowEventType WindowEventType_obj::window_created;

::snow::types::WindowEventType WindowEventType_obj::window_destroy;

::snow::types::WindowEventType WindowEventType_obj::window_enter;

::snow::types::WindowEventType WindowEventType_obj::window_exposed;

::snow::types::WindowEventType WindowEventType_obj::window_focus_gained;

::snow::types::WindowEventType WindowEventType_obj::window_focus_lost;

::snow::types::WindowEventType WindowEventType_obj::window_hidden;

::snow::types::WindowEventType WindowEventType_obj::window_leave;

::snow::types::WindowEventType WindowEventType_obj::window_maximized;

::snow::types::WindowEventType WindowEventType_obj::window_minimized;

::snow::types::WindowEventType WindowEventType_obj::window_moved;

::snow::types::WindowEventType WindowEventType_obj::window_resized;

::snow::types::WindowEventType WindowEventType_obj::window_restored;

::snow::types::WindowEventType WindowEventType_obj::window_shown;

::snow::types::WindowEventType WindowEventType_obj::window_size_changed;

HX_DEFINE_CREATE_ENUM(WindowEventType_obj)

int WindowEventType_obj::__FindIndex(::String inName)
{
	if (inName==HX_CSTRING("unknown")) return 0;
	if (inName==HX_CSTRING("window_close")) return 15;
	if (inName==HX_CSTRING("window_created")) return 1;
	if (inName==HX_CSTRING("window_destroy")) return 16;
	if (inName==HX_CSTRING("window_enter")) return 11;
	if (inName==HX_CSTRING("window_exposed")) return 4;
	if (inName==HX_CSTRING("window_focus_gained")) return 13;
	if (inName==HX_CSTRING("window_focus_lost")) return 14;
	if (inName==HX_CSTRING("window_hidden")) return 3;
	if (inName==HX_CSTRING("window_leave")) return 12;
	if (inName==HX_CSTRING("window_maximized")) return 9;
	if (inName==HX_CSTRING("window_minimized")) return 8;
	if (inName==HX_CSTRING("window_moved")) return 5;
	if (inName==HX_CSTRING("window_resized")) return 6;
	if (inName==HX_CSTRING("window_restored")) return 10;
	if (inName==HX_CSTRING("window_shown")) return 2;
	if (inName==HX_CSTRING("window_size_changed")) return 7;
	return super::__FindIndex(inName);
}

int WindowEventType_obj::__FindArgCount(::String inName)
{
	if (inName==HX_CSTRING("unknown")) return 0;
	if (inName==HX_CSTRING("window_close")) return 0;
	if (inName==HX_CSTRING("window_created")) return 0;
	if (inName==HX_CSTRING("window_destroy")) return 0;
	if (inName==HX_CSTRING("window_enter")) return 0;
	if (inName==HX_CSTRING("window_exposed")) return 0;
	if (inName==HX_CSTRING("window_focus_gained")) return 0;
	if (inName==HX_CSTRING("window_focus_lost")) return 0;
	if (inName==HX_CSTRING("window_hidden")) return 0;
	if (inName==HX_CSTRING("window_leave")) return 0;
	if (inName==HX_CSTRING("window_maximized")) return 0;
	if (inName==HX_CSTRING("window_minimized")) return 0;
	if (inName==HX_CSTRING("window_moved")) return 0;
	if (inName==HX_CSTRING("window_resized")) return 0;
	if (inName==HX_CSTRING("window_restored")) return 0;
	if (inName==HX_CSTRING("window_shown")) return 0;
	if (inName==HX_CSTRING("window_size_changed")) return 0;
	return super::__FindArgCount(inName);
}

Dynamic WindowEventType_obj::__Field(const ::String &inName,bool inCallProp)
{
	if (inName==HX_CSTRING("unknown")) return unknown;
	if (inName==HX_CSTRING("window_close")) return window_close;
	if (inName==HX_CSTRING("window_created")) return window_created;
	if (inName==HX_CSTRING("window_destroy")) return window_destroy;
	if (inName==HX_CSTRING("window_enter")) return window_enter;
	if (inName==HX_CSTRING("window_exposed")) return window_exposed;
	if (inName==HX_CSTRING("window_focus_gained")) return window_focus_gained;
	if (inName==HX_CSTRING("window_focus_lost")) return window_focus_lost;
	if (inName==HX_CSTRING("window_hidden")) return window_hidden;
	if (inName==HX_CSTRING("window_leave")) return window_leave;
	if (inName==HX_CSTRING("window_maximized")) return window_maximized;
	if (inName==HX_CSTRING("window_minimized")) return window_minimized;
	if (inName==HX_CSTRING("window_moved")) return window_moved;
	if (inName==HX_CSTRING("window_resized")) return window_resized;
	if (inName==HX_CSTRING("window_restored")) return window_restored;
	if (inName==HX_CSTRING("window_shown")) return window_shown;
	if (inName==HX_CSTRING("window_size_changed")) return window_size_changed;
	return super::__Field(inName,inCallProp);
}

static ::String sStaticFields[] = {
	HX_CSTRING("unknown"),
	HX_CSTRING("window_created"),
	HX_CSTRING("window_shown"),
	HX_CSTRING("window_hidden"),
	HX_CSTRING("window_exposed"),
	HX_CSTRING("window_moved"),
	HX_CSTRING("window_resized"),
	HX_CSTRING("window_size_changed"),
	HX_CSTRING("window_minimized"),
	HX_CSTRING("window_maximized"),
	HX_CSTRING("window_restored"),
	HX_CSTRING("window_enter"),
	HX_CSTRING("window_leave"),
	HX_CSTRING("window_focus_gained"),
	HX_CSTRING("window_focus_lost"),
	HX_CSTRING("window_close"),
	HX_CSTRING("window_destroy"),
	::String(null()) };

static void sMarkStatics(HX_MARK_PARAMS) {
	HX_MARK_MEMBER_NAME(WindowEventType_obj::unknown,"unknown");
	HX_MARK_MEMBER_NAME(WindowEventType_obj::window_close,"window_close");
	HX_MARK_MEMBER_NAME(WindowEventType_obj::window_created,"window_created");
	HX_MARK_MEMBER_NAME(WindowEventType_obj::window_destroy,"window_destroy");
	HX_MARK_MEMBER_NAME(WindowEventType_obj::window_enter,"window_enter");
	HX_MARK_MEMBER_NAME(WindowEventType_obj::window_exposed,"window_exposed");
	HX_MARK_MEMBER_NAME(WindowEventType_obj::window_focus_gained,"window_focus_gained");
	HX_MARK_MEMBER_NAME(WindowEventType_obj::window_focus_lost,"window_focus_lost");
	HX_MARK_MEMBER_NAME(WindowEventType_obj::window_hidden,"window_hidden");
	HX_MARK_MEMBER_NAME(WindowEventType_obj::window_leave,"window_leave");
	HX_MARK_MEMBER_NAME(WindowEventType_obj::window_maximized,"window_maximized");
	HX_MARK_MEMBER_NAME(WindowEventType_obj::window_minimized,"window_minimized");
	HX_MARK_MEMBER_NAME(WindowEventType_obj::window_moved,"window_moved");
	HX_MARK_MEMBER_NAME(WindowEventType_obj::window_resized,"window_resized");
	HX_MARK_MEMBER_NAME(WindowEventType_obj::window_restored,"window_restored");
	HX_MARK_MEMBER_NAME(WindowEventType_obj::window_shown,"window_shown");
	HX_MARK_MEMBER_NAME(WindowEventType_obj::window_size_changed,"window_size_changed");
};

#ifdef HXCPP_VISIT_ALLOCS
static void sVisitStatic(HX_VISIT_PARAMS) {
	HX_VISIT_MEMBER_NAME(WindowEventType_obj::__mClass,"__mClass");
	HX_VISIT_MEMBER_NAME(WindowEventType_obj::unknown,"unknown");
	HX_VISIT_MEMBER_NAME(WindowEventType_obj::window_close,"window_close");
	HX_VISIT_MEMBER_NAME(WindowEventType_obj::window_created,"window_created");
	HX_VISIT_MEMBER_NAME(WindowEventType_obj::window_destroy,"window_destroy");
	HX_VISIT_MEMBER_NAME(WindowEventType_obj::window_enter,"window_enter");
	HX_VISIT_MEMBER_NAME(WindowEventType_obj::window_exposed,"window_exposed");
	HX_VISIT_MEMBER_NAME(WindowEventType_obj::window_focus_gained,"window_focus_gained");
	HX_VISIT_MEMBER_NAME(WindowEventType_obj::window_focus_lost,"window_focus_lost");
	HX_VISIT_MEMBER_NAME(WindowEventType_obj::window_hidden,"window_hidden");
	HX_VISIT_MEMBER_NAME(WindowEventType_obj::window_leave,"window_leave");
	HX_VISIT_MEMBER_NAME(WindowEventType_obj::window_maximized,"window_maximized");
	HX_VISIT_MEMBER_NAME(WindowEventType_obj::window_minimized,"window_minimized");
	HX_VISIT_MEMBER_NAME(WindowEventType_obj::window_moved,"window_moved");
	HX_VISIT_MEMBER_NAME(WindowEventType_obj::window_resized,"window_resized");
	HX_VISIT_MEMBER_NAME(WindowEventType_obj::window_restored,"window_restored");
	HX_VISIT_MEMBER_NAME(WindowEventType_obj::window_shown,"window_shown");
	HX_VISIT_MEMBER_NAME(WindowEventType_obj::window_size_changed,"window_size_changed");
};
#endif

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

Dynamic __Create_WindowEventType_obj() { return new WindowEventType_obj; }

void WindowEventType_obj::__register()
{

hx::Static(__mClass) = hx::RegisterClass(HX_CSTRING("snow.types.WindowEventType"), hx::TCanCast< WindowEventType_obj >,sStaticFields,sMemberFields,
	&__Create_WindowEventType_obj, &__Create,
	&super::__SGetClass(), &CreateWindowEventType_obj, sMarkStatics
#ifdef HXCPP_VISIT_ALLOCS
    , sVisitStatic
#endif
#ifdef HXCPP_SCRIPTABLE
    , 0
#endif
);
}

void WindowEventType_obj::__boot()
{
hx::Static(unknown) = hx::CreateEnum< WindowEventType_obj >(HX_CSTRING("unknown"),0);
hx::Static(window_close) = hx::CreateEnum< WindowEventType_obj >(HX_CSTRING("window_close"),15);
hx::Static(window_created) = hx::CreateEnum< WindowEventType_obj >(HX_CSTRING("window_created"),1);
hx::Static(window_destroy) = hx::CreateEnum< WindowEventType_obj >(HX_CSTRING("window_destroy"),16);
hx::Static(window_enter) = hx::CreateEnum< WindowEventType_obj >(HX_CSTRING("window_enter"),11);
hx::Static(window_exposed) = hx::CreateEnum< WindowEventType_obj >(HX_CSTRING("window_exposed"),4);
hx::Static(window_focus_gained) = hx::CreateEnum< WindowEventType_obj >(HX_CSTRING("window_focus_gained"),13);
hx::Static(window_focus_lost) = hx::CreateEnum< WindowEventType_obj >(HX_CSTRING("window_focus_lost"),14);
hx::Static(window_hidden) = hx::CreateEnum< WindowEventType_obj >(HX_CSTRING("window_hidden"),3);
hx::Static(window_leave) = hx::CreateEnum< WindowEventType_obj >(HX_CSTRING("window_leave"),12);
hx::Static(window_maximized) = hx::CreateEnum< WindowEventType_obj >(HX_CSTRING("window_maximized"),9);
hx::Static(window_minimized) = hx::CreateEnum< WindowEventType_obj >(HX_CSTRING("window_minimized"),8);
hx::Static(window_moved) = hx::CreateEnum< WindowEventType_obj >(HX_CSTRING("window_moved"),5);
hx::Static(window_resized) = hx::CreateEnum< WindowEventType_obj >(HX_CSTRING("window_resized"),6);
hx::Static(window_restored) = hx::CreateEnum< WindowEventType_obj >(HX_CSTRING("window_restored"),10);
hx::Static(window_shown) = hx::CreateEnum< WindowEventType_obj >(HX_CSTRING("window_shown"),2);
hx::Static(window_size_changed) = hx::CreateEnum< WindowEventType_obj >(HX_CSTRING("window_size_changed"),7);
}


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