#include "GuiReflectionPlugin.h"
namespace
 
{
	
namespace
 
	{
		
namespace
 
		{
			
using
 namespace
 presentation
;
			
using
 namespace
 presentation
::
elements
;
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
#define _ ,
#define ELEMENT_CONSTRUCTOR(ELEMENT)\
			CLASS_MEMBER_EXTERNALCTOR(Ptr<ELEMENT>(), NO_PARAMETER, vl::reflection::description::Element_Constructor<::vl::presentation::elements::ELEMENT>)
			BEGIN_INTERFACE_MEMBER_NOPROXY(IGuiGraphicsElement)
			template
<> 
struct
 CustomTypeDescriptorSelector
<
> { 
public
: 
class
  : 
public
 , 
public
 ::
 { 
typedef
  ; 
static
 const
   = 
::
; 
::
 ; 
public
: 
() :
(
::
, &
<
>::
) { 
<
>::
SetAssociatedTypeDescriptor
(
this
); } 
~
CustomTypeDescriptorImpl
() { 
<
>::
SetAssociatedTypeDescriptor
(
0
); } 
void
 (
const
 & 
, 
* 
)
override
 { 
.
(
, 
); } 
* 
(
const
 & 
)
override
 { 
(); 
return
 ]; } 
protected
: 
void
 ()
override
 {
  
				CLASS_MEMBER_PROPERTY_READONLY_FAST(OwnerComposition)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetOwnerComposition"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"OwnerComposition"
, 
dynamic_cast
<
*>(
(
L"GetOwnerComposition"
, 
true
)->GetMethod(
0
)), 
nullptr
, 
nullptr
 ) );
 
			END_INTERFACE_MEMBER(IGuiGraphicsElement)
			if
 (
GetBaseTypeDescriptorCount
() == 
0
 && 
 == 
::
) 
(
description
::
<
>()); } }; };
  
			BEGIN_CLASS_MEMBER(IGuiGraphicsParagraph)
			template
<> 
struct
 CustomTypeDescriptorSelector
<
> { 
public
: 
class
  : 
public
  { 
typedef
  ; 
static
 const
   = 
::
; 
public
: 
() :
(
, &
<
>::
) { 
<
>::
SetAssociatedTypeDescriptor
(
this
); } 
~
CustomTypeDescriptorImpl
() { 
<
>::
SetAssociatedTypeDescriptor
(
0
); } 
protected
: 
bool
 ()
override
 { 
return
 <
typename
 <
, 
<
>>::
>::
; } 
void
 ()
override
 {
  
				CLASS_MEMBER_BASE(IDescriptable)
 
			END_CLASS_MEMBER(IGuiGraphicsParagraph)
			if
 (
GetBaseTypeDescriptorCount
() == 
0
) 
(
description
::
<
>()); } }; };
  
			BEGIN_ENUM_ITEM(IGuiGraphicsParagraph::CaretRelativePosition)
			template
<> 
struct
 CustomTypeDescriptorSelector
<
::
> { 
public
: 
class
  : 
public
 <
::
, 
::
> { 
typedef
 ::
 ; 
public
: 
void
 ()
override
 { 
<
::
, 
::
>::
();
  
				ENUM_ITEM_NAMESPACE(IGuiGraphicsParagraph)
 
				ENUM_NAMESPACE_ITEM(CaretFirst)
				->AddItem(
L"CaretFirst"
, 
::
);
  
				ENUM_NAMESPACE_ITEM(CaretLast)
				->AddItem(
L"CaretLast"
, 
::
);
  
				ENUM_NAMESPACE_ITEM(CaretLineFirst)
				->AddItem(
L"CaretLineFirst"
, 
::
);
  
				ENUM_NAMESPACE_ITEM(CaretLineLast)
				->AddItem(
L"CaretLineLast"
, 
::
);
  
				ENUM_NAMESPACE_ITEM(CaretMoveLeft)
				->AddItem(
L"CaretMoveLeft"
, 
::
);
  
				ENUM_NAMESPACE_ITEM(CaretMoveRight)
				->AddItem(
L"CaretMoveRight"
, 
::
);
  
				ENUM_NAMESPACE_ITEM(CaretMoveUp)
				->AddItem(
L"CaretMoveUp"
, 
::
);
  
				ENUM_NAMESPACE_ITEM(CaretMoveDown)
				->AddItem(
L"CaretMoveDown"
, 
::
);
  
			END_ENUM_ITEM(IGuiGraphicsParagraph::CaretRelativePosition)
			} }; };
 
			BEGIN_ENUM_ITEM(ElementShapeType)
			template
<> 
struct
 CustomTypeDescriptorSelector
<
> { 
public
: 
class
  : 
public
 <
, 
::
> { 
typedef
  ; 
public
: 
void
 ()
override
 { 
<
, 
::
>::
();
  
				ENUM_CLASS_ITEM(Rectangle)
				->AddItem(
L"Rectangle"
, 
::
);
  
				ENUM_CLASS_ITEM(Ellipse)
				->AddItem(
L"Ellipse"
, 
::
);
  
				ENUM_CLASS_ITEM(RoundRect)
				->AddItem(
L"RoundRect"
, 
::
);
  
			END_ENUM_ITEM(ElementShapeType)
			} }; };
 
			BEGIN_STRUCT_MEMBER(ElementShape)
			template
<> 
struct
 CustomTypeDescriptorSelector
<
> { 
public
: 
class
  : 
public
 <
, 
::
> { 
typedef
  ; 
protected
: 
void
 ()
override
 {
  
				STRUCT_MEMBER(shapeType)
				.
(
L"shapeType"
, 
new
 <
decltype
(((
*)
0
)->
)>(
this
, &
::
, 
L"shapeType"
));
  
				STRUCT_MEMBER(radiusX)
				.
(
L"radiusX"
, 
new
 <
decltype
(((
*)
0
)->
)>(
this
, &
::
, 
L"radiusX"
));
  
				STRUCT_MEMBER(radiusY)
				.
(
L"radiusY"
, 
new
 <
decltype
(((
*)
0
)->
)>(
this
, &
::
, 
L"radiusY"
));
  
			END_STRUCT_MEMBER(ElementShape)
			} }; };
 
			BEGIN_ENUM_ITEM(Gui3DSplitterElement::Direction)
			template
<> 
struct
 CustomTypeDescriptorSelector
<
::
> { 
public
: 
class
  : 
public
 <
::
, 
::
> { 
typedef
 ::
 ; 
public
: 
void
 ()
override
 { 
<
::
, 
::
>::
();
  
				ENUM_ITEM_NAMESPACE(Gui3DSplitterElement)
 
				ENUM_NAMESPACE_ITEM(Horizontal)
				->AddItem(
L"Horizontal"
, 
::
);
  
				ENUM_NAMESPACE_ITEM(Vertical)
				->AddItem(
L"Vertical"
, 
::
);
  
			END_ENUM_ITEM(Gui3DSplitterElement::Direction)
			} }; };
 
			BEGIN_ENUM_ITEM(GuiGradientBackgroundElement::Direction)
			template
<> 
struct
 CustomTypeDescriptorSelector
<
GuiGradientBackgroundElement
::
> { 
public
: 
class
  : 
public
 <
GuiGradientBackgroundElement
::
, 
::
> { 
typedef
 GuiGradientBackgroundElement
::
 ; 
public
: 
void
 ()
override
 { 
<
GuiGradientBackgroundElement
::
, 
::
>::
();
  
				ENUM_ITEM_NAMESPACE(GuiGradientBackgroundElement)
				typedef
 GuiGradientBackgroundElement
  ;
  
				ENUM_NAMESPACE_ITEM(Horizontal)
				->AddItem(
L"Horizontal"
, 
::
);
  
				ENUM_NAMESPACE_ITEM(Vertical)
				->AddItem(
L"Vertical"
, 
::
);
  
				ENUM_NAMESPACE_ITEM(Slash)
 
				ENUM_NAMESPACE_ITEM(Backslash)
				->AddItem(
L"Backslash"
, 
::
);
  
			END_ENUM_ITEM(GuiGradientBackgroundElement::Direction)
			} }; };
 
			BEGIN_CLASS_MEMBER(text::TextLines)
			template
<> 
struct
 CustomTypeDescriptorSelector
<
text
::
> { 
public
: 
class
  : 
public
  { 
typedef
 text
::
 ; 
static
 const
   = 
::
; 
public
: 
() :
(
, &
<
text
::
>::
) { 
<
text
::
>::
SetAssociatedTypeDescriptor
(
this
); } 
~
CustomTypeDescriptorImpl
() { 
<
text
::
>::
SetAssociatedTypeDescriptor
(
0
); } 
protected
: 
bool
 ()
override
 { 
return
 <
typename
 <
text
::
, 
<
text
::
>>::
>::
; } 
void
 ()
override
 {
  
				CLASS_MEMBER_PROPERTY_READONLY_FAST(Count)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetCount"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Count"
, 
dynamic_cast
<
*>(
(
L"GetCount"
, 
true
)->GetMethod(
0
)), 
nullptr
, 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(TabSpaceCount)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetTabSpaceCount"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetTabSpaceCount"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"TabSpaceCount"
, 
dynamic_cast
<
*>(
(
L"GetTabSpaceCount"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetTabSpaceCount"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_READONLY_FAST(RowHeight)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetRowHeight"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"RowHeight"
, 
dynamic_cast
<
*>(
(
L"GetRowHeight"
, 
true
)->GetMethod(
0
)), 
nullptr
, 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_READONLY_FAST(MaxWidth)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetMaxWidth"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"MaxWidth"
, 
dynamic_cast
<
*>(
(
L"GetMaxWidth"
, 
true
)->GetMethod(
0
)), 
nullptr
, 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_READONLY_FAST(MaxHeight)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetMaxHeight"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"MaxHeight"
, 
dynamic_cast
<
*>(
(
L"GetMaxHeight"
, 
true
)->GetMethod(
0
)), 
nullptr
, 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(PasswordChar)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetPasswordChar"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetPasswordChar"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"PasswordChar"
, 
dynamic_cast
<
*>(
(
L"GetPasswordChar"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetPasswordChar"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_METHOD_OVERLOAD(GetText, NO_PARAMETER, WString(text::TextLines::*)())
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
(
text
::
::*)()>::
 > (
parameterNames
, (
(
text
::
::*)())&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetText"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
(
text
::
::*)()> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD_OVERLOAD(GetText, {L"start" _ L"end"}, WString(text::TextLines::*)(TextPos _ TextPos))
				{ 
const
 wchar_t
* 
[]={
L"start"
 , 
L"end"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
(
text
::
::*)(
 , 
)>::
 > (
parameterNames
, (
(
text
::
::*)(
 , 
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetText"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
(
text
::
::*)(
 , 
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(SetText, {L"value"})
				{ 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetText"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(RemoveLines, {L"start" _ L"end"})
				{ 
const
 wchar_t
* 
[]={
L"start"
 , 
L"end"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"RemoveLines"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(IsAvailable, {L"pos"})
				{ 
const
 wchar_t
* 
[]={
L"pos"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"IsAvailable"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(Normalize, {L"pos"})
				{ 
const
 wchar_t
* 
[]={
L"pos"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"Normalize"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD_OVERLOAD(Modify, {L"start" _ L"end" _ L"input"}, TextPos(text::TextLines::*)(TextPos _ TextPos _ const WString&))
				{ 
const
 wchar_t
* 
[]={
L"start"
 , 
L"end"
 , 
L"input"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
(
text
::
::*)(
 , 
 , 
const
 &)>::
 > (
parameterNames
, (
(
text
::
::*)(
 , 
 , 
const
 &))&
::
, 
nullptr
, 
nullptr
); 
( 
L"Modify"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
(
text
::
::*)(
 , 
 , 
const
 &)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(Clear, NO_PARAMETER)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"Clear"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(ClearMeasurement, NO_PARAMETER)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"ClearMeasurement"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(MeasureRow, {L"row"})
				{ 
const
 wchar_t
* 
[]={
L"row"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"MeasureRow"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(GetRowWidth, {L"row"})
				{ 
const
 wchar_t
* 
[]={
L"row"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetRowWidth"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(GetTextPosFromPoint, {L"point"})
				{ 
const
 wchar_t
* 
[]={
L"point"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetTextPosFromPoint"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(GetPointFromTextPos, {L"pos"})
				{ 
const
 wchar_t
* 
[]={
L"pos"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetPointFromTextPos"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(GetRectFromTextPos, {L"pos"})
				{ 
const
 wchar_t
* 
[]={
L"pos"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetRectFromTextPos"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
			END_CLASS_MEMBER(text::TextLines)
			if
 (
GetBaseTypeDescriptorCount
() == 
0
) 
(
description
::
<
>()); } }; };
  
			BEGIN_STRUCT_MEMBER(text::ColorItem)
			template
<> 
struct
 CustomTypeDescriptorSelector
<
text
::
> { 
public
: 
class
  : 
public
 <
text
::
, 
::
> { 
typedef
 text
::
 ; 
protected
: 
void
 ()
override
 {
  
				STRUCT_MEMBER(text)
				.
(
L"text"
, 
new
 <
decltype
(((
*)
0
)->
text
)>(
this
, &
::
text
, 
L"text"
));
  
				STRUCT_MEMBER(background)
				.
(
L"background"
, 
new
 <
decltype
(((
*)
0
)->
)>(
this
, &
::
, 
L"background"
));
  
			END_STRUCT_MEMBER(text::ColorItem)
			} }; };
 
			BEGIN_STRUCT_MEMBER(text::ColorEntry)
			template
<> 
struct
 CustomTypeDescriptorSelector
<
text
::
> { 
public
: 
class
  : 
public
 <
text
::
, 
::
> { 
typedef
 text
::
 ; 
protected
: 
void
 ()
override
 {
  
				STRUCT_MEMBER(normal)
				.
(
L"normal"
, 
new
 <
decltype
(((
*)
0
)->
)>(
this
, &
::
, 
L"normal"
));
  
				STRUCT_MEMBER(selectedFocused)
				.
(
L"selectedFocused"
, 
new
 <
decltype
(((
*)
0
)->
)>(
this
, &
::
, 
L"selectedFocused"
));
  
				STRUCT_MEMBER(selectedUnfocused)
				.
(
L"selectedUnfocused"
, 
new
 <
decltype
(((
*)
0
)->
)>(
this
, &
::
, 
L"selectedUnfocused"
));
  
			END_STRUCT_MEMBER(text::ColorEntry)
			} }; };
 
			BEGIN_CLASS_MEMBER(GuiFocusRectangleElement)
			template
<> 
struct
 CustomTypeDescriptorSelector
<
> { 
public
: 
class
  : 
public
  { 
typedef
  ; 
static
 const
   = 
::
; 
public
: 
() :
(
, &
<
>::
) { 
<
>::
SetAssociatedTypeDescriptor
(
this
); } 
~
CustomTypeDescriptorImpl
() { 
<
>::
SetAssociatedTypeDescriptor
(
0
); } 
protected
: 
bool
 ()
override
 { 
return
 <
typename
 <
, 
<
>>::
>::
; } 
void
 ()
override
 {
  
				CLASS_MEMBER_BASE(IGuiGraphicsElement)
 
				ELEMENT_CONSTRUCTOR(GuiFocusRectangleElement)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
( 
new
 CustomStaticMethodInfoImpl
<
<
>()>(
parameterNames
, (
<
<
>()>)&::
vl
::
reflection
::
description
::
<::
vl
::
presentation
::
elements
::
>, 
L"::"
 L"vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiFocusRectangleElement>"
 L"($Arguments)"
, 
L"::vl::Func<$Func>(&::"
 L"vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiFocusRectangleElement>"
 L")"
) ); }
 
			END_CLASS_MEMBER(GuiFocusRectangleElement)
			if
 (
GetBaseTypeDescriptorCount
() == 
0
) 
(
description
::
<
>()); } }; };
  
			BEGIN_CLASS_MEMBER(GuiSolidBorderElement)
			template
<> 
struct
 CustomTypeDescriptorSelector
<
> { 
public
: 
class
  : 
public
  { 
typedef
  ; 
static
 const
   = 
::
; 
public
: 
() :
(
, &
<
>::
) { 
<
>::
SetAssociatedTypeDescriptor
(
this
); } 
~
CustomTypeDescriptorImpl
() { 
<
>::
SetAssociatedTypeDescriptor
(
0
); } 
protected
: 
bool
 ()
override
 { 
return
 <
typename
 <
, 
<
>>::
>::
; } 
void
 ()
override
 {
  
				CLASS_MEMBER_BASE(IGuiGraphicsElement)
 
				ELEMENT_CONSTRUCTOR(GuiSolidBorderElement)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
( 
new
 CustomStaticMethodInfoImpl
<
<
>()>(
parameterNames
, (
<
<
>()>)&::
vl
::
reflection
::
description
::
<::
vl
::
presentation
::
elements
::
>, 
L"::"
 L"vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidBorderElement>"
 L"($Arguments)"
, 
L"::vl::Func<$Func>(&::"
 L"vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidBorderElement>"
 L")"
) ); }
 
				CLASS_MEMBER_PROPERTY_FAST(Color)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetColor"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetColor"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Color"
, 
dynamic_cast
<
*>(
(
L"GetColor"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetColor"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(Shape)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetShape"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetShape"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Shape"
, 
dynamic_cast
<
*>(
(
L"GetShape"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetShape"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
			END_CLASS_MEMBER(GuiSolidBorderElement)
			if
 (
GetBaseTypeDescriptorCount
() == 
0
) 
(
description
::
<
>()); } }; };
  
			BEGIN_CLASS_MEMBER(Gui3DBorderElement)
			template
<> 
struct
 CustomTypeDescriptorSelector
<
> { 
public
: 
class
  : 
public
  { 
typedef
  ; 
static
 const
   = 
::
; 
public
: 
() :
(
, &
<
>::
) { 
<
>::
SetAssociatedTypeDescriptor
(
this
); } 
~
CustomTypeDescriptorImpl
() { 
<
>::
SetAssociatedTypeDescriptor
(
0
); } 
protected
: 
bool
 ()
override
 { 
return
 <
typename
 <
, 
<
>>::
>::
; } 
void
 ()
override
 {
  
				CLASS_MEMBER_BASE(IGuiGraphicsElement)
 
				ELEMENT_CONSTRUCTOR(Gui3DBorderElement)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
( 
new
 CustomStaticMethodInfoImpl
<
<
>()>(
parameterNames
, (
<
<
>()>)&::
vl
::
reflection
::
description
::
<::
vl
::
presentation
::
elements
::
>, 
L"::"
 L"vl::reflection::description::Element_Constructor<::vl::presentation::elements::Gui3DBorderElement>"
 L"($Arguments)"
, 
L"::vl::Func<$Func>(&::"
 L"vl::reflection::description::Element_Constructor<::vl::presentation::elements::Gui3DBorderElement>"
 L")"
) ); }
 
				
				CLASS_MEMBER_METHOD(SetColors, {L"value1" _ L"value2"})
				{ 
const
 wchar_t
* 
[]={
L"value1"
 , 
L"value2"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetColors"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_PROPERTY_FAST(Color1)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetColor1"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetColor1"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Color1"
, 
dynamic_cast
<
*>(
(
L"GetColor1"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetColor1"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(Color2)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetColor2"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetColor2"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Color2"
, 
dynamic_cast
<
*>(
(
L"GetColor2"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetColor2"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
			END_CLASS_MEMBER(Gui3DBorderElement)
			if
 (
GetBaseTypeDescriptorCount
() == 
0
) 
(
description
::
<
>()); } }; };
  
			BEGIN_CLASS_MEMBER(Gui3DSplitterElement)
			template
<> 
struct
 CustomTypeDescriptorSelector
<
> { 
public
: 
class
  : 
public
  { 
typedef
  ; 
static
 const
   = 
::
; 
public
: 
() :
(
, &
<
>::
) { 
<
>::
SetAssociatedTypeDescriptor
(
this
); } 
~
CustomTypeDescriptorImpl
() { 
<
>::
SetAssociatedTypeDescriptor
(
0
); } 
protected
: 
bool
 ()
override
 { 
return
 <
typename
 <
, 
<
>>::
>::
; } 
void
 ()
override
 {
  
				CLASS_MEMBER_BASE(IGuiGraphicsElement)
 
				ELEMENT_CONSTRUCTOR(Gui3DSplitterElement)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
( 
new
 CustomStaticMethodInfoImpl
<
<
>()>(
parameterNames
, (
<
<
>()>)&::
vl
::
reflection
::
description
::
<::
vl
::
presentation
::
elements
::
>, 
L"::"
 L"vl::reflection::description::Element_Constructor<::vl::presentation::elements::Gui3DSplitterElement>"
 L"($Arguments)"
, 
L"::vl::Func<$Func>(&::"
 L"vl::reflection::description::Element_Constructor<::vl::presentation::elements::Gui3DSplitterElement>"
 L")"
) ); }
 
				
				CLASS_MEMBER_METHOD(SetColors, {L"value1" _ L"value2"})
				{ 
const
 wchar_t
* 
[]={
L"value1"
 , 
L"value2"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetColors"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_PROPERTY_FAST(Color1)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetColor1"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetColor1"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Color1"
, 
dynamic_cast
<
*>(
(
L"GetColor1"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetColor1"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(Color2)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetColor2"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetColor2"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Color2"
, 
dynamic_cast
<
*>(
(
L"GetColor2"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetColor2"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(Direction)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetDirection"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetDirection"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Direction"
, 
dynamic_cast
<
*>(
(
L"GetDirection"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetDirection"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
			END_CLASS_MEMBER(Gui3DSplitterElement)
			if
 (
GetBaseTypeDescriptorCount
() == 
0
) 
(
description
::
<
>()); } }; };
  
			BEGIN_CLASS_MEMBER(GuiSolidBackgroundElement)
			template
<> 
struct
 CustomTypeDescriptorSelector
<
GuiSolidBackgroundElement
> { 
public
: 
class
  : 
public
  { 
typedef
 GuiSolidBackgroundElement
  ; 
static
 const
   = 
::
; 
public
: 
() :
(
, &
<
GuiSolidBackgroundElement
>::
) { 
<
GuiSolidBackgroundElement
>::
SetAssociatedTypeDescriptor
(
this
); } 
~
CustomTypeDescriptorImpl
() { 
<
GuiSolidBackgroundElement
>::
SetAssociatedTypeDescriptor
(
0
); } 
protected
: 
bool
 ()
override
 { 
return
 <
typename
 <
GuiSolidBackgroundElement
, 
<
GuiSolidBackgroundElement
>>::
>::
; } 
void
 ()
override
 {
  
				CLASS_MEMBER_BASE(IGuiGraphicsElement)
 
				ELEMENT_CONSTRUCTOR(GuiSolidBackgroundElement)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
( 
new
 CustomStaticMethodInfoImpl
<
<
GuiSolidBackgroundElement
>()>(
parameterNames
, (
<
<
GuiSolidBackgroundElement
>()>)&::
vl
::
reflection
::
description
::
<::
vl
::
presentation
::
elements
::
GuiSolidBackgroundElement
>, 
L"::"
 L"vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidBackgroundElement>"
 L"($Arguments)"
, 
L"::vl::Func<$Func>(&::"
 L"vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidBackgroundElement>"
 L")"
) ); }
 
				
				CLASS_MEMBER_PROPERTY_FAST(Color)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetColor"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetColor"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Color"
, 
dynamic_cast
<
*>(
(
L"GetColor"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetColor"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(Shape)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetShape"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetShape"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Shape"
, 
dynamic_cast
<
*>(
(
L"GetShape"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetShape"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
			END_CLASS_MEMBER(GuiSolidBackgroundElement)
			if
 (
GetBaseTypeDescriptorCount
() == 
0
) 
(
description
::
<
>()); } }; };
  
			BEGIN_CLASS_MEMBER(GuiGradientBackgroundElement)
			template
<> 
struct
 CustomTypeDescriptorSelector
<
GuiGradientBackgroundElement
> { 
public
: 
class
  : 
public
  { 
typedef
 GuiGradientBackgroundElement
  ; 
static
 const
   = 
::
; 
public
: 
() :
(
, &
<
GuiGradientBackgroundElement
>::
) { 
<
GuiGradientBackgroundElement
>::
SetAssociatedTypeDescriptor
(
this
); } 
~
CustomTypeDescriptorImpl
() { 
<
GuiGradientBackgroundElement
>::
SetAssociatedTypeDescriptor
(
0
); } 
protected
: 
bool
 ()
override
 { 
return
 <
typename
 <
GuiGradientBackgroundElement
, 
<
GuiGradientBackgroundElement
>>::
>::
; } 
void
 ()
override
 {
  
				CLASS_MEMBER_BASE(IGuiGraphicsElement)
 
				ELEMENT_CONSTRUCTOR(GuiGradientBackgroundElement)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
( 
new
 CustomStaticMethodInfoImpl
<
<
GuiGradientBackgroundElement
>()>(
parameterNames
, (
<
<
GuiGradientBackgroundElement
>()>)&::
vl
::
reflection
::
description
::
<::
vl
::
presentation
::
elements
::
GuiGradientBackgroundElement
>, 
L"::"
 L"vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiGradientBackgroundElement>"
 L"($Arguments)"
, 
L"::vl::Func<$Func>(&::"
 L"vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiGradientBackgroundElement>"
 L")"
) ); }
 
				
				CLASS_MEMBER_METHOD(SetColors, {L"value1" _ L"value2"})
				{ 
const
 wchar_t
* 
[]={
L"value1"
 , 
L"value2"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetColors"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_PROPERTY_FAST(Color1)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetColor1"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetColor1"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Color1"
, 
dynamic_cast
<
*>(
(
L"GetColor1"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetColor1"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(Color2)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetColor2"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetColor2"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Color2"
, 
dynamic_cast
<
*>(
(
L"GetColor2"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetColor2"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(Direction)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetDirection"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetDirection"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Direction"
, 
dynamic_cast
<
*>(
(
L"GetDirection"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetDirection"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(Shape)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetShape"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetShape"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Shape"
, 
dynamic_cast
<
*>(
(
L"GetShape"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetShape"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
			END_CLASS_MEMBER(GuiGradientBackgroundElement)
			if
 (
GetBaseTypeDescriptorCount
() == 
0
) 
(
description
::
<
>()); } }; };
  
			BEGIN_CLASS_MEMBER(GuiInnerShadowElement)
			template
<> 
struct
 CustomTypeDescriptorSelector
<
> { 
public
: 
class
  : 
public
  { 
typedef
  ; 
static
 const
   = 
::
; 
public
: 
() :
(
, &
<
>::
) { 
<
>::
SetAssociatedTypeDescriptor
(
this
); } 
~
CustomTypeDescriptorImpl
() { 
<
>::
SetAssociatedTypeDescriptor
(
0
); } 
protected
: 
bool
 ()
override
 { 
return
 <
typename
 <
, 
<
>>::
>::
; } 
void
 ()
override
 {
  
				CLASS_MEMBER_BASE(IGuiGraphicsElement)
 
				ELEMENT_CONSTRUCTOR(GuiInnerShadowElement)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
( 
new
 CustomStaticMethodInfoImpl
<
<
>()>(
parameterNames
, (
<
<
>()>)&::
vl
::
reflection
::
description
::
<::
vl
::
presentation
::
elements
::
>, 
L"::"
 L"vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiInnerShadowElement>"
 L"($Arguments)"
, 
L"::vl::Func<$Func>(&::"
 L"vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiInnerShadowElement>"
 L")"
) ); }
 
				CLASS_MEMBER_PROPERTY_FAST(Color)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetColor"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetColor"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Color"
, 
dynamic_cast
<
*>(
(
L"GetColor"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetColor"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(Thickness)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetThickness"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetThickness"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Thickness"
, 
dynamic_cast
<
*>(
(
L"GetThickness"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetThickness"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
			END_CLASS_MEMBER(GuiInnerShadowElement)
			if
 (
GetBaseTypeDescriptorCount
() == 
0
) 
(
description
::
<
>()); } }; };
  
			BEGIN_CLASS_MEMBER(GuiSolidLabelElement)
			template
<> 
struct
 CustomTypeDescriptorSelector
<
> { 
public
: 
class
  : 
public
  { 
typedef
  ; 
static
 const
   = 
::
; 
public
: 
() :
(
, &
<
>::
) { 
<
>::
SetAssociatedTypeDescriptor
(
this
); } 
~
CustomTypeDescriptorImpl
() { 
<
>::
SetAssociatedTypeDescriptor
(
0
); } 
protected
: 
bool
 ()
override
 { 
return
 <
typename
 <
, 
<
>>::
>::
; } 
void
 ()
override
 {
  
				CLASS_MEMBER_BASE(IGuiGraphicsElement)
 
				ELEMENT_CONSTRUCTOR(GuiSolidLabelElement)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
( 
new
 CustomStaticMethodInfoImpl
<
<
>()>(
parameterNames
, (
<
<
>()>)&::
vl
::
reflection
::
description
::
<::
vl
::
presentation
::
elements
::
>, 
L"::"
 L"vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidLabelElement>"
 L"($Arguments)"
, 
L"::vl::Func<$Func>(&::"
 L"vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiSolidLabelElement>"
 L")"
) ); }
 
				
				CLASS_MEMBER_METHOD(SetAlignments, {L"horizontal" _ L"vertical"})
				{ 
const
 wchar_t
* 
[]={
L"horizontal"
 , 
L"vertical"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetAlignments"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_PROPERTY_FAST(Color)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetColor"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetColor"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Color"
, 
dynamic_cast
<
*>(
(
L"GetColor"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetColor"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(Font)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetFont"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetFont"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Font"
, 
dynamic_cast
<
*>(
(
L"GetFont"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetFont"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(Text)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetText"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetText"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Text"
, 
dynamic_cast
<
*>(
(
L"GetText"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetText"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(HorizontalAlignment)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetHorizontalAlignment"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetHorizontalAlignment"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"HorizontalAlignment"
, 
dynamic_cast
<
*>(
(
L"GetHorizontalAlignment"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetHorizontalAlignment"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(VerticalAlignment)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetVerticalAlignment"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetVerticalAlignment"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"VerticalAlignment"
, 
dynamic_cast
<
*>(
(
L"GetVerticalAlignment"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetVerticalAlignment"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(WrapLine)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetWrapLine"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetWrapLine"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"WrapLine"
, 
dynamic_cast
<
*>(
(
L"GetWrapLine"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetWrapLine"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(Ellipse)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetEllipse"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetEllipse"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Ellipse"
, 
dynamic_cast
<
*>(
(
L"GetEllipse"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetEllipse"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(Multiline)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetMultiline"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetMultiline"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Multiline"
, 
dynamic_cast
<
*>(
(
L"GetMultiline"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetMultiline"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(WrapLineHeightCalculation)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
GetWrapLineHeightCalculation
)>::
 > (
parameterNames
, (
decltype
(&
::
GetWrapLineHeightCalculation
))&
::
GetWrapLineHeightCalculation
, 
nullptr
, 
nullptr
); 
( 
L"GetWrapLineHeightCalculation"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
GetWrapLineHeightCalculation
)> 
(&
::
GetWrapLineHeightCalculation
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
SetWrapLineHeightCalculation
)>::
 > (
parameterNames
, (
decltype
(&
::
SetWrapLineHeightCalculation
))&
::
SetWrapLineHeightCalculation
, 
nullptr
, 
nullptr
); 
( 
L"SetWrapLineHeightCalculation"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
SetWrapLineHeightCalculation
)> 
(&
::
SetWrapLineHeightCalculation
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"WrapLineHeightCalculation"
, 
dynamic_cast
<
*>(
(
L"GetWrapLineHeightCalculation"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetWrapLineHeightCalculation"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
			END_CLASS_MEMBER(GuiSolidLabelElement)
			if
 (
GetBaseTypeDescriptorCount
() == 
0
) 
(
description
::
<
>()); } }; };
  
			BEGIN_CLASS_MEMBER(GuiImageFrameElement)
			template
<> 
struct
 CustomTypeDescriptorSelector
<
> { 
public
: 
class
  : 
public
  { 
typedef
  ; 
static
 const
   = 
::
; 
public
: 
() :
(
, &
<
>::
) { 
<
>::
SetAssociatedTypeDescriptor
(
this
); } 
~
CustomTypeDescriptorImpl
() { 
<
>::
SetAssociatedTypeDescriptor
(
0
); } 
protected
: 
bool
 ()
override
 { 
return
 <
typename
 <
, 
<
>>::
>::
; } 
void
 ()
override
 {
  
				CLASS_MEMBER_BASE(IGuiGraphicsElement)
 
				ELEMENT_CONSTRUCTOR(GuiImageFrameElement)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
( 
new
 CustomStaticMethodInfoImpl
<
<
>()>(
parameterNames
, (
<
<
>()>)&::
vl
::
reflection
::
description
::
<::
vl
::
presentation
::
elements
::
>, 
L"::"
 L"vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiImageFrameElement>"
 L"($Arguments)"
, 
L"::vl::Func<$Func>(&::"
 L"vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiImageFrameElement>"
 L")"
) ); }
 
				CLASS_MEMBER_METHOD(GetImage, NO_PARAMETER)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetImage"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD_OVERLOAD(SetImage, {L"value"}, void(GuiImageFrameElement::*)(Ptr<INativeImage>))
				{ 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
void
(
::*)(
<
>)>::
 > (
parameterNames
, (
void
(
::*)(
<
>))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetImage"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
void
(
::*)(
<
>)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD_OVERLOAD(SetImage, {L"image" _  L"frameIndex"}, void(GuiImageFrameElement::*)(Ptr<INativeImage> _ vint))
				{ 
const
 wchar_t
* 
[]={
L"image"
 , 
L"frameIndex"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
void
(
::*)(
<
> , 
)>::
 > (
parameterNames
, (
void
(
::*)(
<
> , 
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetImage"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
void
(
::*)(
<
> , 
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_PROPERTY(Image, GetImage, SetImage)
				( 
new
 ( 
this
, 
L"Image"
, 
dynamic_cast
<
*>(
(
L"GetImage"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetImage"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
  
				CLASS_MEMBER_PROPERTY_FAST(FrameIndex)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetFrameIndex"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetFrameIndex"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"FrameIndex"
, 
dynamic_cast
<
*>(
(
L"GetFrameIndex"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetFrameIndex"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(HorizontalAlignment)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetHorizontalAlignment"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetHorizontalAlignment"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"HorizontalAlignment"
, 
dynamic_cast
<
*>(
(
L"GetHorizontalAlignment"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetHorizontalAlignment"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(VerticalAlignment)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetVerticalAlignment"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetVerticalAlignment"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"VerticalAlignment"
, 
dynamic_cast
<
*>(
(
L"GetVerticalAlignment"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetVerticalAlignment"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(Stretch)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetStretch"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetStretch"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Stretch"
, 
dynamic_cast
<
*>(
(
L"GetStretch"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetStretch"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(Enabled)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetEnabled"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetEnabled"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Enabled"
, 
dynamic_cast
<
*>(
(
L"GetEnabled"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetEnabled"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
			END_CLASS_MEMBER(GuiImageFrameElement)
			if
 (
GetBaseTypeDescriptorCount
() == 
0
) 
(
description
::
<
>()); } }; };
  
			BEGIN_CLASS_MEMBER(GuiPolygonElement)
			template
<> 
struct
 CustomTypeDescriptorSelector
<
> { 
public
: 
class
  : 
public
  { 
typedef
  ; 
static
 const
   = 
::
; 
public
: 
() :
(
, &
<
>::
) { 
<
>::
SetAssociatedTypeDescriptor
(
this
); } 
~
CustomTypeDescriptorImpl
() { 
<
>::
SetAssociatedTypeDescriptor
(
0
); } 
protected
: 
bool
 ()
override
 { 
return
 <
typename
 <
, 
<
>>::
>::
; } 
void
 ()
override
 {
  
				CLASS_MEMBER_BASE(IGuiGraphicsElement)
 
				ELEMENT_CONSTRUCTOR(GuiPolygonElement)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
( 
new
 CustomStaticMethodInfoImpl
<
<
>()>(
parameterNames
, (
<
<
>()>)&::
vl
::
reflection
::
description
::
<::
vl
::
presentation
::
elements
::
>, 
L"::"
 L"vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiPolygonElement>"
 L"($Arguments)"
, 
L"::vl::Func<$Func>(&::"
 L"vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiPolygonElement>"
 L")"
) ); }
 
				CLASS_MEMBER_METHOD_RENAME(GetPoints, GetPointsArray, NO_PARAMETER);
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
L"$This->"
 L"GetPointsArray"
 L"($Arguments)"
, 
L"::vl::Func<$Func>($This, &$Type::"
 L"GetPointsArray"
 L")"
); 
( 
L"GetPoints"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); };
 
				CLASS_MEMBER_METHOD_RENAME(SetPoints, SetPointsArray, {L"points"});
				{ 
const
 wchar_t
* 
[]={
L"points"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
L"$This->"
 L"SetPointsArray"
 L"($Arguments)"
, 
L"::vl::Func<$Func>($This, &$Type::"
 L"SetPointsArray"
 L")"
); 
( 
L"SetPoints"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); };
 
				CLASS_MEMBER_PROPERTY(Points, GetPoints, SetPoints);
				( 
new
 ( 
this
, 
L"Points"
, 
dynamic_cast
<
*>(
(
L"GetPoints"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetPoints"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );;
  
				CLASS_MEMBER_PROPERTY_FAST(Size)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetSize"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetSize"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Size"
, 
dynamic_cast
<
*>(
(
L"GetSize"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetSize"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(BorderColor)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetBorderColor"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetBorderColor"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"BorderColor"
, 
dynamic_cast
<
*>(
(
L"GetBorderColor"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetBorderColor"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(BackgroundColor)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetBackgroundColor"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetBackgroundColor"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"BackgroundColor"
, 
dynamic_cast
<
*>(
(
L"GetBackgroundColor"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetBackgroundColor"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
			END_CLASS_MEMBER(GuiPolygonElement)
			if
 (
GetBaseTypeDescriptorCount
() == 
0
) 
(
description
::
<
>()); } }; };
  
			BEGIN_CLASS_MEMBER(GuiColorizedTextElement)
			template
<> 
struct
 CustomTypeDescriptorSelector
<
> { 
public
: 
class
  : 
public
  { 
typedef
  ; 
static
 const
   = 
::
; 
public
: 
() :
(
, &
<
>::
) { 
<
>::
SetAssociatedTypeDescriptor
(
this
); } 
~
CustomTypeDescriptorImpl
() { 
<
>::
SetAssociatedTypeDescriptor
(
0
); } 
protected
: 
bool
 ()
override
 { 
return
 <
typename
 <
, 
<
>>::
>::
; } 
void
 ()
override
 {
  
				CLASS_MEMBER_BASE(IGuiGraphicsElement)
 
				ELEMENT_CONSTRUCTOR(GuiColorizedTextElement)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
( 
new
 CustomStaticMethodInfoImpl
<
<
>()>(
parameterNames
, (
<
<
>()>)&::
vl
::
reflection
::
description
::
<::
vl
::
presentation
::
elements
::
>, 
L"::"
 L"vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiColorizedTextElement>"
 L"($Arguments)"
, 
L"::vl::Func<$Func>(&::"
 L"vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiColorizedTextElement>"
 L")"
) ); }
 
				CLASS_MEMBER_PROPERTY_FAST(Font)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetFont"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetFont"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Font"
, 
dynamic_cast
<
*>(
(
L"GetFont"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetFont"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(PasswordChar)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetPasswordChar"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetPasswordChar"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"PasswordChar"
, 
dynamic_cast
<
*>(
(
L"GetPasswordChar"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetPasswordChar"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(ViewPosition)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetViewPosition"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetViewPosition"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"ViewPosition"
, 
dynamic_cast
<
*>(
(
L"GetViewPosition"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetViewPosition"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(VisuallyEnabled)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetVisuallyEnabled"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetVisuallyEnabled"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"VisuallyEnabled"
, 
dynamic_cast
<
*>(
(
L"GetVisuallyEnabled"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetVisuallyEnabled"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(Focused)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetFocused"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetFocused"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Focused"
, 
dynamic_cast
<
*>(
(
L"GetFocused"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetFocused"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(CaretBegin)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetCaretBegin"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetCaretBegin"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"CaretBegin"
, 
dynamic_cast
<
*>(
(
L"GetCaretBegin"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetCaretBegin"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(CaretEnd)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetCaretEnd"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetCaretEnd"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"CaretEnd"
, 
dynamic_cast
<
*>(
(
L"GetCaretEnd"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetCaretEnd"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(CaretVisible)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetCaretVisible"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetCaretVisible"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"CaretVisible"
, 
dynamic_cast
<
*>(
(
L"GetCaretVisible"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetCaretVisible"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(CaretColor)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetCaretColor"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetCaretColor"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"CaretColor"
, 
dynamic_cast
<
*>(
(
L"GetCaretColor"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetCaretColor"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_EXTERNALMETHOD(GetLines, NO_PARAMETER, text::TextLines*(GuiColorizedTextElement::*)(), vl::reflection::description::GuiColorizedTextElement_GetLines)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
( 
L"GetLines"
, 
new
 CustomExternalMethodInfoImpl
< 
, 
vl
::
function_lambda
::
<
text
::
*(
::*)()>::
 >(
parameterNames
, &::
vl
::
reflection
::
description
::
GuiColorizedTextElement_GetLines
, 
L"::"
 L"vl::reflection::description::GuiColorizedTextElement_GetLines"
 L"($This, $Arguments)"
, 
L"::vl::Func<$Func>($This, &::"
 L"vl::reflection::description::GuiColorizedTextElement_GetLines"
 L")"
) ); }
 
				CLASS_MEMBER_PROPERTY_READONLY(Lines, GetLines)
				( 
new
 ( 
this
, 
L"Lines"
, 
dynamic_cast
<
*>(
(
L"GetLines"
, 
true
)->GetMethod(
0
)), 
nullptr
, 
nullptr
 ) );
  
				CLASS_MEMBER_PROPERTY_FAST(Colors)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetColors"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetColors"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Colors"
, 
dynamic_cast
<
*>(
(
L"GetColors"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetColors"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
			END_CLASS_MEMBER(GuiColorizedTextElement)
			if
 (
GetBaseTypeDescriptorCount
() == 
0
) 
(
description
::
<
>()); } }; };
  
			BEGIN_CLASS_MEMBER(GuiDocumentElement)
			template
<> 
struct
 CustomTypeDescriptorSelector
<
> { 
public
: 
class
  : 
public
  { 
typedef
  ; 
static
 const
   = 
::
; 
public
: 
() :
(
, &
<
>::
) { 
<
>::
SetAssociatedTypeDescriptor
(
this
); } 
~
CustomTypeDescriptorImpl
() { 
<
>::
SetAssociatedTypeDescriptor
(
0
); } 
protected
: 
bool
 ()
override
 { 
return
 <
typename
 <
, 
<
>>::
>::
; } 
void
 ()
override
 {
  
				CLASS_MEMBER_BASE(IGuiGraphicsElement)
 
				ELEMENT_CONSTRUCTOR(GuiDocumentElement)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
( 
new
 CustomStaticMethodInfoImpl
<
<
>()>(
parameterNames
, (
<
<
>()>)&::
vl
::
reflection
::
description
::
<::
vl
::
presentation
::
elements
::
>, 
L"::"
 L"vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiDocumentElement>"
 L"($Arguments)"
, 
L"::vl::Func<$Func>(&::"
 L"vl::reflection::description::Element_Constructor<::vl::presentation::elements::GuiDocumentElement>"
 L")"
) ); }
 
				CLASS_MEMBER_PROPERTY_FAST(Document)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetDocument"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetDocument"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"Document"
, 
dynamic_cast
<
*>(
(
L"GetDocument"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetDocument"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_READONLY_FAST(CaretBegin)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetCaretBegin"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"CaretBegin"
, 
dynamic_cast
<
*>(
(
L"GetCaretBegin"
, 
true
)->GetMethod(
0
)), 
nullptr
, 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_READONLY_FAST(CaretEnd)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetCaretEnd"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"CaretEnd"
, 
dynamic_cast
<
*>(
(
L"GetCaretEnd"
, 
true
)->GetMethod(
0
)), 
nullptr
, 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(CaretVisible)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetCaretVisible"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetCaretVisible"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"CaretVisible"
, 
dynamic_cast
<
*>(
(
L"GetCaretVisible"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetCaretVisible"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_PROPERTY_FAST(CaretColor)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetCaretColor"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } { 
const
 wchar_t
* 
[]={
L"value"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetCaretColor"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); } 
( 
new
 ( 
this
, 
L"CaretColor"
, 
dynamic_cast
<
*>(
(
L"GetCaretColor"
, 
true
)->GetMethod(
0
)), 
dynamic_cast
<
*>(
(
L"SetCaretColor"
, 
true
)->GetMethod(
0
)), 
nullptr
 ) );
 
				CLASS_MEMBER_METHOD(IsCaretEndPreferFrontSide, NO_PARAMETER)
				{ 
const
 wchar_t
* 
[]={
L""
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
IsCaretEndPreferFrontSide
)>::
 > (
parameterNames
, (
decltype
(&
::
IsCaretEndPreferFrontSide
))&
::
IsCaretEndPreferFrontSide
, 
nullptr
, 
nullptr
); 
( 
L"IsCaretEndPreferFrontSide"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
IsCaretEndPreferFrontSide
)> 
(&
::
IsCaretEndPreferFrontSide
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(SetCaret, {L"begin" _ L"end" _ L"frontSide"})
				{ 
const
 wchar_t
* 
[]={
L"begin"
 , 
L"end"
 , 
L"frontSide"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetCaret"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(CalculateCaret, {L"comparingCaret" _ L"position" _ L"preferFrontSide"})
				{ 
const
 wchar_t
* 
[]={
L"comparingCaret"
 , 
L"position"
 , 
L"preferFrontSide"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"CalculateCaret"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(CalculateCaretFromPoint, {L"point"})
				{ 
const
 wchar_t
* 
[]={
L"point"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"CalculateCaretFromPoint"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(GetCaretBounds, {L"caret" _ L"frontSide"})
				{ 
const
 wchar_t
* 
[]={
L"caret"
 , 
L"frontSide"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetCaretBounds"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(NotifyParagraphUpdated, {L"index" _ L"oldCount" _ L"newCount" _ L"updatedText"})
				{ 
const
 wchar_t
* 
[]={
L"index"
 , 
L"oldCount"
 , 
L"newCount"
 , 
L"updatedText"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"NotifyParagraphUpdated"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(EditRun, {L"begin" _ L"end" _ L"model" _ L"copy"})
				{ 
const
 wchar_t
* 
[]={
L"begin"
 , 
L"end"
 , 
L"model"
 , 
L"copy"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"EditRun"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(EditText, {L"begin" _ L"end" _ L"frontSide" _ L"text"})
				{ 
const
 wchar_t
* 
[]={
L"begin"
 , 
L"end"
 , 
L"frontSide"
 , 
L"text"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"EditText"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(EditStyle, {L"begin" _ L"end" _ L"style"})
				{ 
const
 wchar_t
* 
[]={
L"begin"
 , 
L"end"
 , 
L"style"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"EditStyle"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(EditImage, {L"begin" _ L"end" _ L"image"})
				{ 
const
 wchar_t
* 
[]={
L"begin"
 , 
L"end"
 , 
L"image"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"EditImage"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(EditImage, {L"paragraphIndex" _ L"begin" _ L"end" _ L"reference" _ L"normalStyleName" _ L"activeStyleName"})
				{ 
const
 wchar_t
* 
[]={
L"paragraphIndex"
 , 
L"begin"
 , 
L"end"
 , 
L"reference"
 , 
L"normalStyleName"
 , 
L"activeStyleName"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"EditImage"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(RemoveHyperlink, {L"paragraphIndex" _ L"begin" _ L"end"})
				{ 
const
 wchar_t
* 
[]={
L"paragraphIndex"
 , 
L"begin"
 , 
L"end"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"RemoveHyperlink"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(EditStyleName, {L"begin" _ L"end" _ L"styleName"})
				{ 
const
 wchar_t
* 
[]={
L"begin"
 , 
L"end"
 , 
L"styleName"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"EditStyleName"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(RemoveStyleName, {L"begin" _ L"end" _ L"image"})
				{ 
const
 wchar_t
* 
[]={
L"begin"
 , 
L"end"
 , 
L"image"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"RemoveStyleName"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(RenameStyle, {L"oldStyleName" _ L"newStyleName"})
				{ 
const
 wchar_t
* 
[]={
L"oldStyleName"
 , 
L"newStyleName"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"RenameStyle"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(ClearStyle, {L"begin" _ L"end"})
				{ 
const
 wchar_t
* 
[]={
L"begin"
 , 
L"end"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"ClearStyle"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(SummarizeStyle, {L"begin" _ L"end"})
				{ 
const
 wchar_t
* 
[]={
L"begin"
 , 
L"end"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SummarizeStyle"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(SummarizeStyleName, { L"begin" _ L"end" })
				{ 
const
 wchar_t
* 
[]={ 
L"begin"
 , 
L"end"
 }; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SummarizeStyleName"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(SetParagraphAlignment, {L"begin" _ L"end" _ L"alignments"})
				{ 
const
 wchar_t
* 
[]={
L"begin"
 , 
L"end"
 , 
L"alignments"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"SetParagraphAlignment"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(SummarizeParagraphAlignment, { L"begin" _ L"end" })
				{ 
const
 wchar_t
* 
[]={ 
L"begin"
 , 
L"end"
 }; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
SummarizeParagraphAlignment
)>::
 > (
parameterNames
, (
decltype
(&
::
SummarizeParagraphAlignment
))&
::
SummarizeParagraphAlignment
, 
nullptr
, 
nullptr
); 
( 
L"SummarizeParagraphAlignment"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
SummarizeParagraphAlignment
)> 
(&
::
SummarizeParagraphAlignment
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
				CLASS_MEMBER_METHOD(GetHyperlinkFromPoint, {L"point"})
				{ 
const
 wchar_t
* 
[]={
L"point"
}; 
auto
  = 
new
 < 
, 
vl
::
function_lambda
::
<
decltype
(&
::
)>::
 > (
parameterNames
, (
decltype
(&
::
))&
::
, 
nullptr
, 
nullptr
); 
( 
L"GetHyperlinkFromPoint"
, 
methodInfo
 ); 
MethodPointerBinaryDataRetriver
<
decltype
(&
::
)> 
(&
::
); 
MethodPointerBinaryDataRecorder
<
, 
>::
(
binaryDataRetriver
.
(), 
this
, 
methodInfo
); }
 
			END_CLASS_MEMBER(GuiDocumentElement)
			if
 (
GetBaseTypeDescriptorCount
() == 
0
) 
(
description
::
<
>()); } }; };
  
#undef ELEMENT_CONSTRUCTOR
#undef _
			class
  : 
public
 , 
public
 
			{
			
public
:
				
void
 (
* 
)
				{
					GUIREFLECTIONELEMENT_TYPELIST(ADD_TYPE_INFO)
					{ 
<
> 
=
new
 CustomTypeDescriptorSelector
<
presentation
::
elements
::
>::
(); 
->
(
<
presentation
::
elements
::
>::
.typeName, 
type
); } { 
<
> 
=
new
 CustomTypeDescriptorSelector
<
presentation
::
elements
::
>::
(); 
->
(
<
presentation
::
elements
::
>::
.typeName, 
type
); } { 
<
> 
=
new
 CustomTypeDescriptorSelector
<
presentation
::
elements
::
>::
(); 
->
(
<
presentation
::
elements
::
>::
.typeName, 
type
); } { 
<
> 
=
new
 CustomTypeDescriptorSelector
<
presentation
::
elements
::
>::
(); 
->
(
<
presentation
::
elements
::
>::
.typeName, 
type
); } { 
<
> 
=
new
 CustomTypeDescriptorSelector
<
presentation
::
elements
::
GuiSolidBackgroundElement
>::
(); 
->
(
<
presentation
::
elements
::
GuiSolidBackgroundElement
>::
.typeName, 
type
); } { 
<
> 
=
new
 CustomTypeDescriptorSelector
<
presentation
::
elements
::
GuiGradientBackgroundElement
>::
(); 
->
(
<
presentation
::
elements
::
GuiGradientBackgroundElement
>::
.typeName, 
type
); } { 
<
> 
=
new
 CustomTypeDescriptorSelector
<
presentation
::
elements
::
>::
(); 
->
(
<
presentation
::
elements
::
>::
.typeName, 
type
); } { 
<
> 
=
new
 CustomTypeDescriptorSelector
<
presentation
::
elements
::
>::
(); 
->
(
<
presentation
::
elements
::
>::
.typeName, 
type
); } { 
<
> 
=
new
 CustomTypeDescriptorSelector
<
presentation
::
elements
::
>::
(); 
->
(
<
presentation
::
elements
::
>::
.typeName, 
type
); } { 
<
> 
=
new
 CustomTypeDescriptorSelector
<
presentation
::
elements
::
>::
(); 
->
(
<
presentation
::
elements
::
>::
.typeName, 
type
); } { 
<
> 
=
new
 CustomTypeDescriptorSelector
<
presentation
::
elements
::
>::
(); 
->
(
<
presentation
::
elements
::
>::
.typeName, 
type
); } { 
<
> 
=
new
 CustomTypeDescriptorSelector
<
presentation
::
elements
::
>::
(); 
->
(
<
presentation
::
elements
::
>::
.typeName, 
type
); } { 
<
> 
=
new
 CustomTypeDescriptorSelector
<
presentation
::
elements
::
>::
(); 
->
(
<
presentation
::
elements
::
>::
.typeName, 
type
); } { 
<
> 
=
new
 CustomTypeDescriptorSelector
<
presentation
::
elements
::
>::
(); 
->
(
<
presentation
::
elements
::
>::
.typeName, 
type
); } { 
<
> 
=
new
 CustomTypeDescriptorSelector
<
presentation
::
elements
::
::
>::
(); 
->
(
<
presentation
::
elements
::
::
>::
.typeName, 
type
); } { 
<
> 
=
new
 CustomTypeDescriptorSelector
<
presentation
::
elements
::
>::
(); 
->
(
<
presentation
::
elements
::
>::
.typeName, 
type
); } { 
<
> 
=
new
 CustomTypeDescriptorSelector
<
presentation
::
elements
::
>::
(); 
->
(
<
presentation
::
elements
::
>::
.typeName, 
type
); } { 
<
> 
=
new
 CustomTypeDescriptorSelector
<
presentation
::
elements
::
::
>::
(); 
->
(
<
presentation
::
elements
::
::
>::
.typeName, 
type
); } { 
<
> 
=
new
 CustomTypeDescriptorSelector
<
presentation
::
elements
::
GuiGradientBackgroundElement
::
>::
(); 
->
(
<
presentation
::
elements
::
GuiGradientBackgroundElement
::
>::
.typeName, 
type
); } { 
<
> 
=
new
 CustomTypeDescriptorSelector
<
presentation
::
elements
::
text
::
>::
(); 
->
(
<
presentation
::
elements
::
text
::
>::
.typeName, 
type
); } { 
<
> 
=
new
 CustomTypeDescriptorSelector
<
presentation
::
elements
::
text
::
>::
(); 
->
(
<
presentation
::
elements
::
text
::
>::
.typeName, 
type
); } { 
<
> 
=
new
 CustomTypeDescriptorSelector
<
presentation
::
elements
::
text
::
>::
(); 
->
(
<
presentation
::
elements
::
text
::
>::
.typeName, 
type
); }
				}
				
void
 (
* 
)
				{
				}
			};
#endif
			bool
 ()
			{
#ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA
				* 
=
();
				
if
(
manager
)
				{
					
<
> 
=
new
 ;
					
return
 manager
->
(
loader
);
				}
#endif
				return
 false
;
			}
		}
	}
}