#include <hxcpp.h>

#ifndef INCLUDED_Luxe
#include <Luxe.h>
#endif
#ifndef INCLUDED_Std
#include <Std.h>
#endif
#ifndef INCLUDED_haxe_io_Path
#include <haxe/io/Path.h>
#endif
#ifndef INCLUDED_luxe_Emitter
#include <luxe/Emitter.h>
#endif
#ifndef INCLUDED_luxe_Entity
#include <luxe/Entity.h>
#endif
#ifndef INCLUDED_luxe_ID
#include <luxe/ID.h>
#endif
#ifndef INCLUDED_luxe_Objects
#include <luxe/Objects.h>
#endif
#ifndef INCLUDED_luxe_Text
#include <luxe/Text.h>
#endif
#ifndef INCLUDED_luxe_Visual
#include <luxe/Visual.h>
#endif
#ifndef INCLUDED_luxe_resource_Resource
#include <luxe/resource/Resource.h>
#endif
#ifndef INCLUDED_phoenix_Batcher
#include <phoenix/Batcher.h>
#endif
#ifndef INCLUDED_phoenix_BitmapFont
#include <phoenix/BitmapFont.h>
#endif
#ifndef INCLUDED_phoenix_Color
#include <phoenix/Color.h>
#endif
#ifndef INCLUDED_phoenix_Rectangle
#include <phoenix/Rectangle.h>
#endif
#ifndef INCLUDED_phoenix_Renderer
#include <phoenix/Renderer.h>
#endif
#ifndef INCLUDED_phoenix_Transform
#include <phoenix/Transform.h>
#endif
#ifndef INCLUDED_phoenix_Vector
#include <phoenix/Vector.h>
#endif
#ifndef INCLUDED_phoenix_geometry_CompositeGeometry
#include <phoenix/geometry/CompositeGeometry.h>
#endif
#ifndef INCLUDED_phoenix_geometry_Geometry
#include <phoenix/geometry/Geometry.h>
#endif
namespace luxe{

Void Text_obj::__construct(Dynamic _options)
{
HX_STACK_FRAME("luxe.Text","new",0xb745fff7,"luxe.Text.new","luxe/Text.hx",13,0xeacedd78)

HX_STACK_ARG(_options,"_options")
{
	HX_STACK_LINE(23)
	this->ready = false;
	HX_STACK_LINE(21)
	this->textsize = (int)32;
	HX_STACK_LINE(20)
	this->text = HX_CSTRING("");
	HX_STACK_LINE(29)
	if (((_options->__Field(HX_CSTRING("batcher"),true) == null()))){
		HX_STACK_LINE(29)
		this->_batcher = ::Luxe_obj::renderer->batcher;
	}
	else{
		HX_STACK_LINE(29)
		this->_batcher = _options->__Field(HX_CSTRING("batcher"),true);
	}
	HX_STACK_LINE(31)
	if (((_options->__Field(HX_CSTRING("pos"),true) == null()))){
		HX_STACK_LINE(32)
		_options->__FieldRef(HX_CSTRING("pos")) = ::phoenix::Vector_obj::__new(null(),null(),null(),null());
	}
	HX_STACK_LINE(35)
	if (((_options->__Field(HX_CSTRING("color"),true) == null()))){
		HX_STACK_LINE(36)
		_options->__FieldRef(HX_CSTRING("color")) = ::phoenix::Color_obj::__new(null(),null(),null(),null());
	}
	HX_STACK_LINE(39)
	if (((_options->__Field(HX_CSTRING("depth"),true) == null()))){
		HX_STACK_LINE(40)
		_options->__FieldRef(HX_CSTRING("depth")) = (int)0;
	}
	HX_STACK_LINE(43)
	if (((_options->__Field(HX_CSTRING("group"),true) == null()))){
		HX_STACK_LINE(44)
		_options->__FieldRef(HX_CSTRING("group")) = (int)0;
	}
	HX_STACK_LINE(47)
	if (((_options->__Field(HX_CSTRING("visible"),true) == null()))){
		HX_STACK_LINE(48)
		_options->__FieldRef(HX_CSTRING("visible")) = true;
	}
	HX_STACK_LINE(51)
	this->text_options = _options;
	struct _Function_1_1{
		inline static Dynamic Block( ::luxe::Text_obj *__this,Dynamic &_options){
			HX_STACK_FRAME("*","closure",0x5bdab937,"*.closure","luxe/Text.hx",53,0xeacedd78)
			{
				hx::Anon __result = hx::Anon_obj::Create();
				__result->Add(HX_CSTRING("name") , _options->__Field(HX_CSTRING("name"),true),false);
				__result->Add(HX_CSTRING("no_scene") , _options->__Field(HX_CSTRING("no_scene"),true),false);
				__result->Add(HX_CSTRING("batcher") , __this->_batcher,false);
				__result->Add(HX_CSTRING("color") , _options->__Field(HX_CSTRING("color"),true),false);
				__result->Add(HX_CSTRING("parent") , _options->__Field(HX_CSTRING("parent"),true),false);
				__result->Add(HX_CSTRING("visible") , _options->__Field(HX_CSTRING("visible"),true),false);
				__result->Add(HX_CSTRING("depth") , _options->__Field(HX_CSTRING("depth"),true),false);
				__result->Add(HX_CSTRING("group") , _options->__Field(HX_CSTRING("group"),true),false);
				__result->Add(HX_CSTRING("no_geometry") , true,false);
				return __result;
			}
			return null();
		}
	};
	HX_STACK_LINE(53)
	super::__construct(_Function_1_1::Block(this,_options));
	HX_STACK_LINE(67)
	Dynamic _font;		HX_STACK_VAR(_font,"_font");
	HX_STACK_LINE(67)
	if (((_options->__Field(HX_CSTRING("font"),true) == null()))){
		HX_STACK_LINE(67)
		_font = null();
	}
	else{
		HX_STACK_LINE(67)
		_font = _options->__Field(HX_CSTRING("font"),true);
	}
	HX_STACK_LINE(69)
	if (((_font == null()))){
		HX_STACK_LINE(69)
		_font = ::Luxe_obj::renderer->font;
	}
	HX_STACK_LINE(71)
	this->set_textsize((  (((_options->__Field(HX_CSTRING("size"),true) == null()))) ? Float((int)24) : Float(_options->__Field(HX_CSTRING("size"),true)) ));
	HX_STACK_LINE(73)
	if ((::Std_obj::is(_font,hx::ClassOf< ::String >()))){
		HX_STACK_LINE(76)
		::String _folder = (::haxe::io::Path_obj::directory(_font) + HX_CSTRING("/"));		HX_STACK_VAR(_folder,"_folder");
		HX_STACK_LINE(78)
		this->font = ::Luxe_obj::loadFont(_font,_folder,this->onloaded_dyn());
	}
	else{
		HX_STACK_LINE(83)
		this->font = _font;
		HX_STACK_LINE(84)
		this->ready = true;
	}
	HX_STACK_LINE(88)
	this->text_options->__FieldRef(HX_CSTRING("size")) = this->textsize;
	HX_STACK_LINE(91)
	this->set_text(_options->__Field(HX_CSTRING("text"),true));
}
;
	return null();
}

//Text_obj::~Text_obj() { }

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

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

bool Text_obj::point_inside( ::phoenix::Vector p){
	HX_STACK_FRAME("luxe.Text","point_inside",0x10666cd4,"luxe.Text.point_inside","luxe/Text.hx",98,0xeacedd78)
	HX_STACK_THIS(this)
	HX_STACK_ARG(p,"p")
	HX_STACK_LINE(100)
	if (((this->font == null()))){
		HX_STACK_LINE(101)
		return false;
	}
	HX_STACK_LINE(104)
	if ((!(this->ready))){
		HX_STACK_LINE(105)
		return false;
	}
	HX_STACK_LINE(108)
	if (((this->size_rect_cache == null()))){
		HX_STACK_LINE(109)
		this->scale_cache = ::phoenix::Vector_obj::__new(null(),null(),null(),null());
		HX_STACK_LINE(110)
		this->size_rect_cache = ::phoenix::Rectangle_obj::__new(null(),null(),null(),null());
	}
	HX_STACK_LINE(113)
	this->scale_cache->set_x(this->scale_cache->set_y((Float(this->text_options->__Field(HX_CSTRING("size"),true)) / Float(this->font->font_size))));
	HX_STACK_LINE(115)
	::phoenix::Vector dim = this->font->get_text_dimensions(this->text,this->scale_cache);		HX_STACK_VAR(dim,"dim");
	HX_STACK_LINE(117)
	this->size_rect_cache->set_x((this->get_pos()->x - (Float(dim->x) / Float((int)2))));
	HX_STACK_LINE(118)
	this->size_rect_cache->set_y(this->get_pos()->y);
	HX_STACK_LINE(119)
	this->size_rect_cache->set_w(dim->x);
	HX_STACK_LINE(120)
	this->size_rect_cache->set_h(dim->y);
	HX_STACK_LINE(122)
	return this->size_rect_cache->point_inside(p);
}


HX_DEFINE_DYNAMIC_FUNC1(Text_obj,point_inside,return )

Void Text_obj::onloaded( ::phoenix::BitmapFont font){
{
		HX_STACK_FRAME("luxe.Text","onloaded",0x052eb76d,"luxe.Text.onloaded","luxe/Text.hx",126,0xeacedd78)
		HX_STACK_THIS(this)
		HX_STACK_ARG(font,"font")
		HX_STACK_LINE(128)
		this->ready = true;
		HX_STACK_LINE(129)
		this->set_text((this->text + HX_CSTRING("")));
	}
return null();
}


HX_DEFINE_DYNAMIC_FUNC1(Text_obj,onloaded,(void))

Void Text_obj::set_pos_from_transform( ::phoenix::Vector _p){
{
		HX_STACK_FRAME("luxe.Text","set_pos_from_transform",0x4f488928,"luxe.Text.set_pos_from_transform","luxe/Text.hx",133,0xeacedd78)
		HX_STACK_THIS(this)
		HX_STACK_ARG(_p,"_p")
		HX_STACK_LINE(135)
		this->super::set_pos_from_transform(_p);
		HX_STACK_LINE(136)
		this->text_options->__FieldRef(HX_CSTRING("pos")) = this->get_pos();
	}
return null();
}


Float Text_obj::set_textsize( Float v){
	HX_STACK_FRAME("luxe.Text","set_textsize",0x214544f4,"luxe.Text.set_textsize","luxe/Text.hx",141,0xeacedd78)
	HX_STACK_THIS(this)
	HX_STACK_ARG(v,"v")
	HX_STACK_LINE(143)
	if (((this->text_options != null()))){
		HX_STACK_LINE(144)
		this->textsize = v;
		HX_STACK_LINE(145)
		this->text_options->__FieldRef(HX_CSTRING("size")) = this->textsize;
		HX_STACK_LINE(146)
		this->set_text((this->text + HX_CSTRING("")));
	}
	HX_STACK_LINE(149)
	return this->textsize;
}


HX_DEFINE_DYNAMIC_FUNC1(Text_obj,set_textsize,return )

::phoenix::Color Text_obj::set_color( ::phoenix::Color c){
	HX_STACK_FRAME("luxe.Text","set_color",0xe1bf349d,"luxe.Text.set_color","luxe/Text.hx",153,0xeacedd78)
	HX_STACK_THIS(this)
	HX_STACK_ARG(c,"c")
	HX_STACK_LINE(155)
	this->super::set_color(c);
	HX_STACK_LINE(157)
	this->text_options->__FieldRef(HX_CSTRING("color")) = this->color;
	HX_STACK_LINE(159)
	return this->color;
}


bool Text_obj::set_visible( bool b){
	HX_STACK_FRAME("luxe.Text","set_visible",0xeb29fe2c,"luxe.Text.set_visible","luxe/Text.hx",163,0xeacedd78)
	HX_STACK_THIS(this)
	HX_STACK_ARG(b,"b")
	HX_STACK_LINE(165)
	this->super::set_visible(b);
	HX_STACK_LINE(167)
	this->text_options->__FieldRef(HX_CSTRING("visible")) = this->visible;
	HX_STACK_LINE(169)
	return this->visible;
}


bool Text_obj::set_locked( bool l){
	HX_STACK_FRAME("luxe.Text","set_locked",0x38cf1490,"luxe.Text.set_locked","luxe/Text.hx",174,0xeacedd78)
	HX_STACK_THIS(this)
	HX_STACK_ARG(l,"l")
	HX_STACK_LINE(176)
	this->super::set_locked(l);
	HX_STACK_LINE(178)
	this->text_options->__FieldRef(HX_CSTRING("locked")) = this->locked;
	HX_STACK_LINE(180)
	return this->locked;
}


::String Text_obj::set_text( ::String t){
	HX_STACK_FRAME("luxe.Text","set_text",0x7cb8ceb3,"luxe.Text.set_text","luxe/Text.hx",184,0xeacedd78)
	HX_STACK_THIS(this)
	HX_STACK_ARG(t,"t")
	HX_STACK_LINE(186)
	this->text = t;
	HX_STACK_LINE(188)
	if (((bool(this->ready) && bool((this->text_options != null()))))){
		HX_STACK_LINE(190)
		this->text_options->__FieldRef(HX_CSTRING("text")) = t;
		HX_STACK_LINE(193)
		if (((this->geometry != null()))){
			HX_STACK_LINE(194)
			this->geometry->drop(null());
		}
		HX_STACK_LINE(198)
		this->set_geometry(null());
		HX_STACK_LINE(199)
		this->composite_geometry = null();
		HX_STACK_LINE(202)
		this->composite_geometry = this->font->draw_text(this->text_options);
		HX_STACK_LINE(205)
		this->set_origin(this->composite_geometry->transform->get_origin()->clone());
		HX_STACK_LINE(206)
		this->set_pos(this->composite_geometry->transform->get_pos()->clone());
		HX_STACK_LINE(207)
		this->set_locked(this->composite_geometry->get_locked());
		HX_STACK_LINE(208)
		this->set_visible(this->composite_geometry->visible);
		HX_STACK_LINE(212)
		this->composite_geometry->transform->set_origin(::phoenix::Vector_obj::__new(null(),null(),null(),null()));
		HX_STACK_LINE(213)
		this->composite_geometry->transform->set_pos(::phoenix::Vector_obj::__new(null(),null(),null(),null()));
		HX_STACK_LINE(216)
		this->ignore_texture_on_geometry_change = true;
		HX_STACK_LINE(218)
		this->set_geometry(this->composite_geometry);
		HX_STACK_LINE(220)
		this->ignore_texture_on_geometry_change = false;
	}
	HX_STACK_LINE(224)
	return this->text;
}


HX_DEFINE_DYNAMIC_FUNC1(Text_obj,set_text,return )

Void Text_obj::init( ){
{
		HX_STACK_FRAME("luxe.Text","init",0xa2b2af99,"luxe.Text.init","luxe/macros/EntityRules.hx",35,0xed942299)
		HX_STACK_THIS(this)
	}
return null();
}


Void Text_obj::ondestroy( ){
{
		HX_STACK_FRAME("luxe.Text","ondestroy",0x9f483892,"luxe.Text.ondestroy","luxe/macros/EntityRules.hx",47,0xed942299)
		HX_STACK_THIS(this)
		HX_STACK_LINE(47)
		this->super::ondestroy();
	}
return null();
}



Text_obj::Text_obj()
{
}

void Text_obj::__Mark(HX_MARK_PARAMS)
{
	HX_MARK_BEGIN_CLASS(Text);
	HX_MARK_MEMBER_NAME(font,"font");
	HX_MARK_MEMBER_NAME(_batcher,"_batcher");
	HX_MARK_MEMBER_NAME(composite_geometry,"composite_geometry");
	HX_MARK_MEMBER_NAME(text,"text");
	HX_MARK_MEMBER_NAME(textsize,"textsize");
	HX_MARK_MEMBER_NAME(ready,"ready");
	HX_MARK_MEMBER_NAME(text_options,"text_options");
	HX_MARK_MEMBER_NAME(size_rect_cache,"size_rect_cache");
	HX_MARK_MEMBER_NAME(scale_cache,"scale_cache");
	::luxe::Visual_obj::__Mark(HX_MARK_ARG);
	HX_MARK_END_CLASS();
}

void Text_obj::__Visit(HX_VISIT_PARAMS)
{
	HX_VISIT_MEMBER_NAME(font,"font");
	HX_VISIT_MEMBER_NAME(_batcher,"_batcher");
	HX_VISIT_MEMBER_NAME(composite_geometry,"composite_geometry");
	HX_VISIT_MEMBER_NAME(text,"text");
	HX_VISIT_MEMBER_NAME(textsize,"textsize");
	HX_VISIT_MEMBER_NAME(ready,"ready");
	HX_VISIT_MEMBER_NAME(text_options,"text_options");
	HX_VISIT_MEMBER_NAME(size_rect_cache,"size_rect_cache");
	HX_VISIT_MEMBER_NAME(scale_cache,"scale_cache");
	::luxe::Visual_obj::__Visit(HX_VISIT_ARG);
}

Dynamic Text_obj::__Field(const ::String &inName,bool inCallProp)
{
	switch(inName.length) {
	case 4:
		if (HX_FIELD_EQ(inName,"font") ) { return font; }
		if (HX_FIELD_EQ(inName,"text") ) { return text; }
		if (HX_FIELD_EQ(inName,"init") ) { return init_dyn(); }
		break;
	case 5:
		if (HX_FIELD_EQ(inName,"ready") ) { return ready; }
		break;
	case 8:
		if (HX_FIELD_EQ(inName,"_batcher") ) { return _batcher; }
		if (HX_FIELD_EQ(inName,"textsize") ) { return textsize; }
		if (HX_FIELD_EQ(inName,"onloaded") ) { return onloaded_dyn(); }
		if (HX_FIELD_EQ(inName,"set_text") ) { return set_text_dyn(); }
		break;
	case 9:
		if (HX_FIELD_EQ(inName,"set_color") ) { return set_color_dyn(); }
		if (HX_FIELD_EQ(inName,"ondestroy") ) { return ondestroy_dyn(); }
		break;
	case 10:
		if (HX_FIELD_EQ(inName,"set_locked") ) { return set_locked_dyn(); }
		break;
	case 11:
		if (HX_FIELD_EQ(inName,"scale_cache") ) { return scale_cache; }
		if (HX_FIELD_EQ(inName,"set_visible") ) { return set_visible_dyn(); }
		break;
	case 12:
		if (HX_FIELD_EQ(inName,"text_options") ) { return text_options; }
		if (HX_FIELD_EQ(inName,"point_inside") ) { return point_inside_dyn(); }
		if (HX_FIELD_EQ(inName,"set_textsize") ) { return set_textsize_dyn(); }
		break;
	case 15:
		if (HX_FIELD_EQ(inName,"size_rect_cache") ) { return size_rect_cache; }
		break;
	case 18:
		if (HX_FIELD_EQ(inName,"composite_geometry") ) { return composite_geometry; }
		break;
	case 22:
		if (HX_FIELD_EQ(inName,"set_pos_from_transform") ) { return set_pos_from_transform_dyn(); }
	}
	return super::__Field(inName,inCallProp);
}

Dynamic Text_obj::__SetField(const ::String &inName,const Dynamic &inValue,bool inCallProp)
{
	switch(inName.length) {
	case 4:
		if (HX_FIELD_EQ(inName,"font") ) { font=inValue.Cast< ::phoenix::BitmapFont >(); return inValue; }
		if (HX_FIELD_EQ(inName,"text") ) { if (inCallProp) return set_text(inValue);text=inValue.Cast< ::String >(); return inValue; }
		break;
	case 5:
		if (HX_FIELD_EQ(inName,"ready") ) { ready=inValue.Cast< bool >(); return inValue; }
		break;
	case 8:
		if (HX_FIELD_EQ(inName,"_batcher") ) { _batcher=inValue.Cast< ::phoenix::Batcher >(); return inValue; }
		if (HX_FIELD_EQ(inName,"textsize") ) { if (inCallProp) return set_textsize(inValue);textsize=inValue.Cast< Float >(); return inValue; }
		break;
	case 11:
		if (HX_FIELD_EQ(inName,"scale_cache") ) { scale_cache=inValue.Cast< ::phoenix::Vector >(); return inValue; }
		break;
	case 12:
		if (HX_FIELD_EQ(inName,"text_options") ) { text_options=inValue.Cast< Dynamic >(); return inValue; }
		break;
	case 15:
		if (HX_FIELD_EQ(inName,"size_rect_cache") ) { size_rect_cache=inValue.Cast< ::phoenix::Rectangle >(); return inValue; }
		break;
	case 18:
		if (HX_FIELD_EQ(inName,"composite_geometry") ) { composite_geometry=inValue.Cast< ::phoenix::geometry::CompositeGeometry >(); return inValue; }
	}
	return super::__SetField(inName,inValue,inCallProp);
}

void Text_obj::__GetFields(Array< ::String> &outFields)
{
	outFields->push(HX_CSTRING("font"));
	outFields->push(HX_CSTRING("_batcher"));
	outFields->push(HX_CSTRING("composite_geometry"));
	outFields->push(HX_CSTRING("text"));
	outFields->push(HX_CSTRING("textsize"));
	outFields->push(HX_CSTRING("ready"));
	outFields->push(HX_CSTRING("text_options"));
	outFields->push(HX_CSTRING("size_rect_cache"));
	outFields->push(HX_CSTRING("scale_cache"));
	super::__GetFields(outFields);
};

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

#if HXCPP_SCRIPTABLE
static hx::StorageInfo sMemberStorageInfo[] = {
	{hx::fsObject /*::phoenix::BitmapFont*/ ,(int)offsetof(Text_obj,font),HX_CSTRING("font")},
	{hx::fsObject /*::phoenix::Batcher*/ ,(int)offsetof(Text_obj,_batcher),HX_CSTRING("_batcher")},
	{hx::fsObject /*::phoenix::geometry::CompositeGeometry*/ ,(int)offsetof(Text_obj,composite_geometry),HX_CSTRING("composite_geometry")},
	{hx::fsString,(int)offsetof(Text_obj,text),HX_CSTRING("text")},
	{hx::fsFloat,(int)offsetof(Text_obj,textsize),HX_CSTRING("textsize")},
	{hx::fsBool,(int)offsetof(Text_obj,ready),HX_CSTRING("ready")},
	{hx::fsObject /*Dynamic*/ ,(int)offsetof(Text_obj,text_options),HX_CSTRING("text_options")},
	{hx::fsObject /*::phoenix::Rectangle*/ ,(int)offsetof(Text_obj,size_rect_cache),HX_CSTRING("size_rect_cache")},
	{hx::fsObject /*::phoenix::Vector*/ ,(int)offsetof(Text_obj,scale_cache),HX_CSTRING("scale_cache")},
	{ hx::fsUnknown, 0, null()}
};
#endif

static ::String sMemberFields[] = {
	HX_CSTRING("font"),
	HX_CSTRING("_batcher"),
	HX_CSTRING("composite_geometry"),
	HX_CSTRING("text"),
	HX_CSTRING("textsize"),
	HX_CSTRING("ready"),
	HX_CSTRING("text_options"),
	HX_CSTRING("size_rect_cache"),
	HX_CSTRING("scale_cache"),
	HX_CSTRING("point_inside"),
	HX_CSTRING("onloaded"),
	HX_CSTRING("set_pos_from_transform"),
	HX_CSTRING("set_textsize"),
	HX_CSTRING("set_color"),
	HX_CSTRING("set_visible"),
	HX_CSTRING("set_locked"),
	HX_CSTRING("set_text"),
	HX_CSTRING("init"),
	HX_CSTRING("ondestroy"),
	String(null()) };

static void sMarkStatics(HX_MARK_PARAMS) {
	HX_MARK_MEMBER_NAME(Text_obj::__mClass,"__mClass");
};

#ifdef HXCPP_VISIT_ALLOCS
static void sVisitStatics(HX_VISIT_PARAMS) {
	HX_VISIT_MEMBER_NAME(Text_obj::__mClass,"__mClass");
};

#endif

Class Text_obj::__mClass;

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

void Text_obj::__boot()
{
}

} // end namespace luxe
