#include <hxcpp.h>

#ifndef INCLUDED_phoenix_BlendMode
#include <phoenix/BlendMode.h>
#endif
namespace phoenix{

::phoenix::BlendMode BlendMode_obj::dst_alpha;

::phoenix::BlendMode BlendMode_obj::dst_color;

::phoenix::BlendMode BlendMode_obj::one;

::phoenix::BlendMode BlendMode_obj::one_minus_dst_alpha;

::phoenix::BlendMode BlendMode_obj::one_minus_dst_color;

::phoenix::BlendMode BlendMode_obj::one_minus_src_alpha;

::phoenix::BlendMode BlendMode_obj::one_minus_src_color;

::phoenix::BlendMode BlendMode_obj::src_alpha;

::phoenix::BlendMode BlendMode_obj::src_alpha_saturate;

::phoenix::BlendMode BlendMode_obj::src_color;

::phoenix::BlendMode BlendMode_obj::zero;

HX_DEFINE_CREATE_ENUM(BlendMode_obj)

int BlendMode_obj::__FindIndex(::String inName)
{
	if (inName==HX_CSTRING("dst_alpha")) return 6;
	if (inName==HX_CSTRING("dst_color")) return 8;
	if (inName==HX_CSTRING("one")) return 1;
	if (inName==HX_CSTRING("one_minus_dst_alpha")) return 7;
	if (inName==HX_CSTRING("one_minus_dst_color")) return 9;
	if (inName==HX_CSTRING("one_minus_src_alpha")) return 5;
	if (inName==HX_CSTRING("one_minus_src_color")) return 3;
	if (inName==HX_CSTRING("src_alpha")) return 4;
	if (inName==HX_CSTRING("src_alpha_saturate")) return 10;
	if (inName==HX_CSTRING("src_color")) return 2;
	if (inName==HX_CSTRING("zero")) return 0;
	return super::__FindIndex(inName);
}

int BlendMode_obj::__FindArgCount(::String inName)
{
	if (inName==HX_CSTRING("dst_alpha")) return 0;
	if (inName==HX_CSTRING("dst_color")) return 0;
	if (inName==HX_CSTRING("one")) return 0;
	if (inName==HX_CSTRING("one_minus_dst_alpha")) return 0;
	if (inName==HX_CSTRING("one_minus_dst_color")) return 0;
	if (inName==HX_CSTRING("one_minus_src_alpha")) return 0;
	if (inName==HX_CSTRING("one_minus_src_color")) return 0;
	if (inName==HX_CSTRING("src_alpha")) return 0;
	if (inName==HX_CSTRING("src_alpha_saturate")) return 0;
	if (inName==HX_CSTRING("src_color")) return 0;
	if (inName==HX_CSTRING("zero")) return 0;
	return super::__FindArgCount(inName);
}

Dynamic BlendMode_obj::__Field(const ::String &inName,bool inCallProp)
{
	if (inName==HX_CSTRING("dst_alpha")) return dst_alpha;
	if (inName==HX_CSTRING("dst_color")) return dst_color;
	if (inName==HX_CSTRING("one")) return one;
	if (inName==HX_CSTRING("one_minus_dst_alpha")) return one_minus_dst_alpha;
	if (inName==HX_CSTRING("one_minus_dst_color")) return one_minus_dst_color;
	if (inName==HX_CSTRING("one_minus_src_alpha")) return one_minus_src_alpha;
	if (inName==HX_CSTRING("one_minus_src_color")) return one_minus_src_color;
	if (inName==HX_CSTRING("src_alpha")) return src_alpha;
	if (inName==HX_CSTRING("src_alpha_saturate")) return src_alpha_saturate;
	if (inName==HX_CSTRING("src_color")) return src_color;
	if (inName==HX_CSTRING("zero")) return zero;
	return super::__Field(inName,inCallProp);
}

static ::String sStaticFields[] = {
	HX_CSTRING("zero"),
	HX_CSTRING("one"),
	HX_CSTRING("src_color"),
	HX_CSTRING("one_minus_src_color"),
	HX_CSTRING("src_alpha"),
	HX_CSTRING("one_minus_src_alpha"),
	HX_CSTRING("dst_alpha"),
	HX_CSTRING("one_minus_dst_alpha"),
	HX_CSTRING("dst_color"),
	HX_CSTRING("one_minus_dst_color"),
	HX_CSTRING("src_alpha_saturate"),
	::String(null()) };

static void sMarkStatics(HX_MARK_PARAMS) {
	HX_MARK_MEMBER_NAME(BlendMode_obj::dst_alpha,"dst_alpha");
	HX_MARK_MEMBER_NAME(BlendMode_obj::dst_color,"dst_color");
	HX_MARK_MEMBER_NAME(BlendMode_obj::one,"one");
	HX_MARK_MEMBER_NAME(BlendMode_obj::one_minus_dst_alpha,"one_minus_dst_alpha");
	HX_MARK_MEMBER_NAME(BlendMode_obj::one_minus_dst_color,"one_minus_dst_color");
	HX_MARK_MEMBER_NAME(BlendMode_obj::one_minus_src_alpha,"one_minus_src_alpha");
	HX_MARK_MEMBER_NAME(BlendMode_obj::one_minus_src_color,"one_minus_src_color");
	HX_MARK_MEMBER_NAME(BlendMode_obj::src_alpha,"src_alpha");
	HX_MARK_MEMBER_NAME(BlendMode_obj::src_alpha_saturate,"src_alpha_saturate");
	HX_MARK_MEMBER_NAME(BlendMode_obj::src_color,"src_color");
	HX_MARK_MEMBER_NAME(BlendMode_obj::zero,"zero");
};

#ifdef HXCPP_VISIT_ALLOCS
static void sVisitStatic(HX_VISIT_PARAMS) {
	HX_VISIT_MEMBER_NAME(BlendMode_obj::__mClass,"__mClass");
	HX_VISIT_MEMBER_NAME(BlendMode_obj::dst_alpha,"dst_alpha");
	HX_VISIT_MEMBER_NAME(BlendMode_obj::dst_color,"dst_color");
	HX_VISIT_MEMBER_NAME(BlendMode_obj::one,"one");
	HX_VISIT_MEMBER_NAME(BlendMode_obj::one_minus_dst_alpha,"one_minus_dst_alpha");
	HX_VISIT_MEMBER_NAME(BlendMode_obj::one_minus_dst_color,"one_minus_dst_color");
	HX_VISIT_MEMBER_NAME(BlendMode_obj::one_minus_src_alpha,"one_minus_src_alpha");
	HX_VISIT_MEMBER_NAME(BlendMode_obj::one_minus_src_color,"one_minus_src_color");
	HX_VISIT_MEMBER_NAME(BlendMode_obj::src_alpha,"src_alpha");
	HX_VISIT_MEMBER_NAME(BlendMode_obj::src_alpha_saturate,"src_alpha_saturate");
	HX_VISIT_MEMBER_NAME(BlendMode_obj::src_color,"src_color");
	HX_VISIT_MEMBER_NAME(BlendMode_obj::zero,"zero");
};
#endif

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

Dynamic __Create_BlendMode_obj() { return new BlendMode_obj; }

void BlendMode_obj::__register()
{

hx::Static(__mClass) = hx::RegisterClass(HX_CSTRING("phoenix.BlendMode"), hx::TCanCast< BlendMode_obj >,sStaticFields,sMemberFields,
	&__Create_BlendMode_obj, &__Create,
	&super::__SGetClass(), &CreateBlendMode_obj, sMarkStatics
#ifdef HXCPP_VISIT_ALLOCS
    , sVisitStatic
#endif
#ifdef HXCPP_SCRIPTABLE
    , 0
#endif
);
}

void BlendMode_obj::__boot()
{
hx::Static(dst_alpha) = hx::CreateEnum< BlendMode_obj >(HX_CSTRING("dst_alpha"),6);
hx::Static(dst_color) = hx::CreateEnum< BlendMode_obj >(HX_CSTRING("dst_color"),8);
hx::Static(one) = hx::CreateEnum< BlendMode_obj >(HX_CSTRING("one"),1);
hx::Static(one_minus_dst_alpha) = hx::CreateEnum< BlendMode_obj >(HX_CSTRING("one_minus_dst_alpha"),7);
hx::Static(one_minus_dst_color) = hx::CreateEnum< BlendMode_obj >(HX_CSTRING("one_minus_dst_color"),9);
hx::Static(one_minus_src_alpha) = hx::CreateEnum< BlendMode_obj >(HX_CSTRING("one_minus_src_alpha"),5);
hx::Static(one_minus_src_color) = hx::CreateEnum< BlendMode_obj >(HX_CSTRING("one_minus_src_color"),3);
hx::Static(src_alpha) = hx::CreateEnum< BlendMode_obj >(HX_CSTRING("src_alpha"),4);
hx::Static(src_alpha_saturate) = hx::CreateEnum< BlendMode_obj >(HX_CSTRING("src_alpha_saturate"),10);
hx::Static(src_color) = hx::CreateEnum< BlendMode_obj >(HX_CSTRING("src_color"),2);
hx::Static(zero) = hx::CreateEnum< BlendMode_obj >(HX_CSTRING("zero"),0);
}


} // end namespace phoenix
