vfx_xml_table.i 21 KB
#include "vfx_object.h"
#include "vfx_frame.h"
#include "vfx_primitive_frame.h"
#include "vfx_primitive_frame.h"
#include "vfx_text_frame.h"
#include "vfx_control.h"
#include "vfx_screen.h"
#include "vfx_app_cat_scr.h"
#include "vfx_timer.h"
#include "vfx_page.h"
#include "vfx_page_bar.h"
#include "vcp_status_icon_bar.h"
#include "vcp_command_title.h"
#include "vcp_button.h"
#include "vcp_image_button.h"
#include "vcp_switch.h"
#include "vcp_tab_bar.h"
#include "vcp_page_panel.h"
#include "vcp_segment_button.h"
#include "vcp_list_menu.h"

VFX_XML_DEFINE_ENUM_VALUE_TABLE_BEGIN(g_vfx_XmlEnumValueTable)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_TEXT_LINE_MODE_SINGLE, VcpTextLineModeEnum, VCP_TEXT_LINE_MODE_SINGLE)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_TEXT_LINE_MODE_MULTI, VcpTextLineModeEnum, VCP_TEXT_LINE_MODE_MULTI)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_TEXT_NORMAL_TEXT_COLOR, VcpTextColorTypeEnum, VCP_TEXT_NORMAL_TEXT_COLOR)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_TEXT_HINT_TEXT_COLOR, VcpTextColorTypeEnum, VCP_TEXT_HINT_TEXT_COLOR)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_TEXT_HIGHLIGHTED_TEXT_COLOR, VcpTextColorTypeEnum, VCP_TEXT_HIGHLIGHTED_TEXT_COLOR)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_TEXT_HIGHLIGHT_FILLER_COLOR, VcpTextColorTypeEnum, VCP_TEXT_HIGHLIGHT_FILLER_COLOR)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_TEXT_UNDERLINE_COLOR, VcpTextColorTypeEnum, VCP_TEXT_UNDERLINE_COLOR)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_TEXT_ALIGN_MODE_NATURAL, VcpTextAlignModeEnum, VCP_TEXT_ALIGN_MODE_NATURAL)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_TEXT_ALIGN_MODE_LEFT, VcpTextAlignModeEnum, VCP_TEXT_ALIGN_MODE_LEFT)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_TEXT_ALIGN_MODE_RIGHT, VcpTextAlignModeEnum, VCP_TEXT_ALIGN_MODE_RIGHT)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_TEXT_ALIGN_MODE_CENTER, VcpTextAlignModeEnum, VCP_TEXT_ALIGN_MODE_CENTER)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_TEXT_ALIGN_MODE_CENTER_WITHIN_MARGIN, VcpTextAlignModeEnum, VCP_TEXT_ALIGN_MODE_CENTER_WITHIN_MARGIN)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_TEXT_VERT_ALIGN_MODE_TOP, VcpTextVertAlignModeEnum, VCP_TEXT_VERT_ALIGN_MODE_TOP)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_TEXT_VERT_ALIGN_MODE_MID, VcpTextVertAlignModeEnum, VCP_TEXT_VERT_ALIGN_MODE_MID)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_TEXT_VERT_ALIGN_MODE_BOTTOM, VcpTextVertAlignModeEnum, VCP_TEXT_VERT_ALIGN_MODE_BOTTOM)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_TEXT_TRUNCATE_MODE_NONE, VcpTextTruncateModeEnum, VCP_TEXT_TRUNCATE_MODE_NONE)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_TEXT_TRUNCATE_MODE_END, VcpTextTruncateModeEnum, VCP_TEXT_TRUNCATE_MODE_END)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_TEXT_TRUNCATE_MODE_MID, VcpTextTruncateModeEnum, VCP_TEXT_TRUNCATE_MODE_MID)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_TEXT_MARGIN_FRAME_LEFT, VcpTextMarginFrameEnum, VCP_TEXT_MARGIN_FRAME_LEFT)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_TEXT_MARGIN_FRAME_RIGHT, VcpTextMarginFrameEnum, VCP_TEXT_MARGIN_FRAME_RIGHT)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_TEXT_MARGIN_FRAME_TOP, VcpTextMarginFrameEnum, VCP_TEXT_MARGIN_FRAME_TOP)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_TEXT_MARGIN_FRAME_BOTTOM, VcpTextMarginFrameEnum, VCP_TEXT_MARGIN_FRAME_BOTTOM)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_TEXT_ENCODING_UCS2, VcpTextEncodingEnum, VCP_TEXT_ENCODING_UCS2)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_TEXT_ENCODING_GB2312, VcpTextEncodingEnum, VCP_TEXT_ENCODING_GB2312)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VFX_FRAME_CULLING_TYPE_NONE, VfxFrameCullingTypeEnum, VFX_FRAME_CULLING_TYPE_NONE)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VFX_FRAME_CULLING_TYPE_BACK, VfxFrameCullingTypeEnum, VFX_FRAME_CULLING_TYPE_BACK)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VFX_FRAME_CULLING_TYPE_FRONT, VfxFrameCullingTypeEnum, VFX_FRAME_CULLING_TYPE_FRONT)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VFX_FRAME_CONTENT_PLACEMENT_TYPE_TOP_LEFT, VfxFrameContentPlacementTypeEnum, VFX_FRAME_CONTENT_PLACEMENT_TYPE_TOP_LEFT)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VFX_FRAME_CONTENT_PLACEMENT_TYPE_TOP, VfxFrameContentPlacementTypeEnum, VFX_FRAME_CONTENT_PLACEMENT_TYPE_TOP)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VFX_FRAME_CONTENT_PLACEMENT_TYPE_TOP_RIGHT, VfxFrameContentPlacementTypeEnum, VFX_FRAME_CONTENT_PLACEMENT_TYPE_TOP_RIGHT)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VFX_FRAME_CONTENT_PLACEMENT_TYPE_LEFT, VfxFrameContentPlacementTypeEnum, VFX_FRAME_CONTENT_PLACEMENT_TYPE_LEFT)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VFX_FRAME_CONTENT_PLACEMENT_TYPE_CENTER, VfxFrameContentPlacementTypeEnum, VFX_FRAME_CONTENT_PLACEMENT_TYPE_CENTER)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VFX_FRAME_CONTENT_PLACEMENT_TYPE_RIGHT, VfxFrameContentPlacementTypeEnum, VFX_FRAME_CONTENT_PLACEMENT_TYPE_RIGHT)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VFX_FRAME_CONTENT_PLACEMENT_TYPE_BOTTOM_LEFT, VfxFrameContentPlacementTypeEnum, VFX_FRAME_CONTENT_PLACEMENT_TYPE_BOTTOM_LEFT)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VFX_FRAME_CONTENT_PLACEMENT_TYPE_BOTTOM, VfxFrameContentPlacementTypeEnum, VFX_FRAME_CONTENT_PLACEMENT_TYPE_BOTTOM)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VFX_FRAME_CONTENT_PLACEMENT_TYPE_BOTTOM_RIGHT, VfxFrameContentPlacementTypeEnum, VFX_FRAME_CONTENT_PLACEMENT_TYPE_BOTTOM_RIGHT)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VFX_FRAME_CONTENT_PLACEMENT_TYPE_RESIZE, VfxFrameContentPlacementTypeEnum, VFX_FRAME_CONTENT_PLACEMENT_TYPE_RESIZE)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VFX_FRAME_CONTENT_PLACEMENT_TYPE_RESIZE_ASPECT, VfxFrameContentPlacementTypeEnum, VFX_FRAME_CONTENT_PLACEMENT_TYPE_RESIZE_ASPECT)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VFX_FRAME_CONTENT_PLACEMENT_TYPE_RESIZE_ASPECT_FILL, VfxFrameContentPlacementTypeEnum, VFX_FRAME_CONTENT_PLACEMENT_TYPE_RESIZE_ASPECT_FILL)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_SEGMENT_BUTTON_TYPE_GROUP, VcpSegmentButtonTypeEnum, VCP_SEGMENT_BUTTON_TYPE_GROUP)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_SEGMENT_BUTTON_TYPE_RADIO, VcpSegmentButtonTypeEnum, VCP_SEGMENT_BUTTON_TYPE_RADIO)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_SEGMENT_BUTTON_STYLE_IMAGE_ONLY, VcpSegmentButtonStyleEnum, VCP_SEGMENT_BUTTON_STYLE_IMAGE_ONLY)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_SEGMENT_BUTTON_STYLE_TEXT_ONLY, VcpSegmentButtonStyleEnum, VCP_SEGMENT_BUTTON_STYLE_TEXT_ONLY)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_CELL_STYLE_NONE, VcpListMenuCellStyleEnum, VCP_LIST_MENU_CELL_STYLE_NONE)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_CELL_STYLE_CUSTOM, VcpListMenuCellStyleEnum, VCP_LIST_MENU_CELL_STYLE_CUSTOM)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_CELL_STYLE_SINGLE_TEXT, VcpListMenuCellStyleEnum, VCP_LIST_MENU_CELL_STYLE_SINGLE_TEXT)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_CELL_STYLE_MULTI_TEXT, VcpListMenuCellStyleEnum, VCP_LIST_MENU_CELL_STYLE_MULTI_TEXT)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_CELL_STYLE_MULTI_TEXT_EX, VcpListMenuCellStyleEnum, VCP_LIST_MENU_CELL_STYLE_MULTI_TEXT_EX)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_CELL_STYLE_TRIPLE_TEXT, VcpListMenuCellStyleEnum, VCP_LIST_MENU_CELL_STYLE_TRIPLE_TEXT)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_CELL_STYLE_TRIPLE_TEXT_EX, VcpListMenuCellStyleEnum, VCP_LIST_MENU_CELL_STYLE_TRIPLE_TEXT_EX)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_CELL_STYLE_QUADRUPLE_TEXT, VcpListMenuCellStyleEnum, VCP_LIST_MENU_CELL_STYLE_QUADRUPLE_TEXT)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_CELL_STYLE_ICON_SINGLE_TEXT, VcpListMenuCellStyleEnum, VCP_LIST_MENU_CELL_STYLE_ICON_SINGLE_TEXT)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_CELL_STYLE_ICON_SINGLE_TEXT_EX, VcpListMenuCellStyleEnum, VCP_LIST_MENU_CELL_STYLE_ICON_SINGLE_TEXT_EX)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_CELL_STYLE_ICON_MULTI_TEXT, VcpListMenuCellStyleEnum, VCP_LIST_MENU_CELL_STYLE_ICON_MULTI_TEXT)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_CELL_STYLE_ICON_MULTI_TEXT_EX, VcpListMenuCellStyleEnum, VCP_LIST_MENU_CELL_STYLE_ICON_MULTI_TEXT_EX)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_CELL_STYLE_ICON_TRIPLE_TEXT, VcpListMenuCellStyleEnum, VCP_LIST_MENU_CELL_STYLE_ICON_TRIPLE_TEXT)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_CELL_STYLE_ICON_TRIPLE_TEXT_EX, VcpListMenuCellStyleEnum, VCP_LIST_MENU_CELL_STYLE_ICON_TRIPLE_TEXT_EX)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_CELL_STYLE_ICON_QUADRUPLE_TEXT, VcpListMenuCellStyleEnum, VCP_LIST_MENU_CELL_STYLE_ICON_QUADRUPLE_TEXT)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_CELL_STYLE_ICON_QUINTUPLE_TEXT, VcpListMenuCellStyleEnum, VCP_LIST_MENU_CELL_STYLE_ICON_QUINTUPLE_TEXT)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_CELL_STYLE_MAX, VcpListMenuCellStyleEnum, VCP_LIST_MENU_CELL_STYLE_MAX)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_FOCUS_BEHAVIOR_NONE, VcpListMenuFocusBehaviorEnum, VCP_LIST_MENU_FOCUS_BEHAVIOR_NONE)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_FOCUS_BEHAVIOR_SEMI, VcpListMenuFocusBehaviorEnum, VCP_LIST_MENU_FOCUS_BEHAVIOR_SEMI)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_FOCUS_BEHAVIOR_ALWAYS, VcpListMenuFocusBehaviorEnum, VCP_LIST_MENU_FOCUS_BEHAVIOR_ALWAYS)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_MODE_NORMAL, VcpListMenuModeEnum, VCP_LIST_MENU_MODE_NORMAL)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_MODE_REORDER, VcpListMenuModeEnum, VCP_LIST_MENU_MODE_REORDER)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_MODE_SINGLE_SELECTION, VcpListMenuModeEnum, VCP_LIST_MENU_MODE_SINGLE_SELECTION)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_MODE_MULTI_SELECTION, VcpListMenuModeEnum, VCP_LIST_MENU_MODE_MULTI_SELECTION)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_MODE_HEAD_SINGLE_CHECK_MARK, VcpListMenuModeEnum, VCP_LIST_MENU_MODE_HEAD_SINGLE_CHECK_MARK)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_MODE_HEAD_MULTI_CHECK_MARK, VcpListMenuModeEnum, VCP_LIST_MENU_MODE_HEAD_MULTI_CHECK_MARK)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_MODE_TAIL_SINGLE_CHECK_MARK, VcpListMenuModeEnum, VCP_LIST_MENU_MODE_TAIL_SINGLE_CHECK_MARK)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_MODE_TAIL_MULTI_CHECK_MARK, VcpListMenuModeEnum, VCP_LIST_MENU_MODE_TAIL_MULTI_CHECK_MARK)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_CONTROL_MODE_NORMAL, VcpListMenuControlModeEnum, VCP_LIST_MENU_CONTROL_MODE_NORMAL)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_CONTROL_MODE_CMD_BUTTON, VcpListMenuControlModeEnum, VCP_LIST_MENU_CONTROL_MODE_CMD_BUTTON)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_LIST_MENU_CONTROL_MODE_DISCLOSURE, VcpListMenuControlModeEnum, VCP_LIST_MENU_CONTROL_MODE_DISCLOSURE)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_BUTTON_PLACEMENT_TEXT_ONLY, VcpButtonPlacementEnum, VCP_BUTTON_PLACEMENT_TEXT_ONLY)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_BUTTON_PLACEMENT_IMAGE_ONLY, VcpButtonPlacementEnum, VCP_BUTTON_PLACEMENT_IMAGE_ONLY)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_BUTTON_PLACEMENT_IMAGE_LEFT, VcpButtonPlacementEnum, VCP_BUTTON_PLACEMENT_IMAGE_LEFT)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_BUTTON_PLACEMENT_IMAGE_RIGHT, VcpButtonPlacementEnum, VCP_BUTTON_PLACEMENT_IMAGE_RIGHT)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_BUTTON_PLACEMENT_IMAGE_TOP, VcpButtonPlacementEnum, VCP_BUTTON_PLACEMENT_IMAGE_TOP)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_BUTTON_PLACEMENT_IMAGE_BOTTOM, VcpButtonPlacementEnum, VCP_BUTTON_PLACEMENT_IMAGE_BOTTOM)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_BUTTON_PLACEMENT_OVERLAP, VcpButtonPlacementEnum, VCP_BUTTON_PLACEMENT_OVERLAP)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_BUTTON_PLACEMENT_TEXT_ONLY_LEFT, VcpButtonPlacementEnum, VCP_BUTTON_PLACEMENT_TEXT_ONLY_LEFT)
    VFX_XML_DEFINE_ENUM_VALUE(VFX_XML_ENUM_ID_VCP_BUTTON_PLACEMENT_TEXT_LEFT_IMAGE_RIGHT, VcpButtonPlacementEnum, VCP_BUTTON_PLACEMENT_TEXT_LEFT_IMAGE_RIGHT)
VFX_XML_DEFINE_ENUM_VALUE_TABLE_END();

VFX_XML_DEFINE_STRUCT_TABLE_BEGIN(g_vfxXmlStructTable)
    VFX_XML_DEFINE_STRUCT(VFX_XML_STRUCT_ID_VcpTabBarItem, VcpTabBarItem)
    VFX_XML_DEFINE_STRUCT(VFX_XML_STRUCT_ID_VcpSegmentButtonItem, VcpSegmentButtonItem)
VFX_XML_DEFINE_STRUCT_TABLE_END();

VFX_XML_DEFINE_STRUCT_MEMBER_TABLE_BEGIN(g_vfxXmlStructMemberTable)
    VFX_XML_DEFINE_STRUCT_MEMBER(VFX_XML_STRUCT_MEMBER_ID_VcpTabBarItem_id, VfxS32, VcpTabBarItem, id)
    VFX_XML_DEFINE_STRUCT_MEMBER(VFX_XML_STRUCT_MEMBER_ID_VcpTabBarItem_imagelist, VcpStateImage, VcpTabBarItem, imagelist)
    VFX_XML_DEFINE_STRUCT_MEMBER(VFX_XML_STRUCT_MEMBER_ID_VcpTabBarItem_text, VfxWString, VcpTabBarItem, text)
    VFX_XML_DEFINE_STRUCT_MEMBER(VFX_XML_STRUCT_MEMBER_ID_VcpSegmentButtonItem_id, VfxS32, VcpSegmentButtonItem, id)
    VFX_XML_DEFINE_STRUCT_MEMBER(VFX_XML_STRUCT_MEMBER_ID_VcpSegmentButtonItem_image, VcpStateImage, VcpSegmentButtonItem, image)
    VFX_XML_DEFINE_STRUCT_MEMBER(VFX_XML_STRUCT_MEMBER_ID_VcpSegmentButtonItem_text, VfxWString, VcpSegmentButtonItem, text)
VFX_XML_DEFINE_STRUCT_MEMBER_TABLE_END();

VFX_XML_DEFINE_CLASS_TABLE_BEGIN(g_vfxXmlClassTable)
    VFX_XML_DEFINE_CLASS(VFX_XML_CLASS_ID_VfxObject, VfxObject)
    VFX_XML_DEFINE_CLASS(VFX_XML_CLASS_ID_VfxFrame, VfxFrame)
    VFX_XML_DEFINE_CLASS(VFX_XML_CLASS_ID_VfxImageFrame, VfxImageFrame)
    VFX_XML_DEFINE_CLASS(VFX_XML_CLASS_ID_VfxAnimImageFrame, VfxAnimImageFrame)
    VFX_XML_DEFINE_CLASS(VFX_XML_CLASS_ID_VfxTextFrame, VfxTextFrame)
    VFX_XML_DEFINE_CLASS(VFX_XML_CLASS_ID_VcpTextView, VcpTextView)
    VFX_XML_DEFINE_CLASS(VFX_XML_CLASS_ID_VcpTextEditor, VcpTextEditor)
    VFX_XML_DEFINE_CLASS(VFX_XML_CLASS_ID_VfxControl, VfxControl)
    VFX_XML_DEFINE_CLASS(VFX_XML_CLASS_ID_VfxScreen, VfxScreen)
    VFX_XML_DEFINE_CLASS(VFX_XML_CLASS_ID_VfxAppCatScr, VfxAppCatScr)
    VFX_XML_DEFINE_CLASS(VFX_XML_CLASS_ID_VfxTimer, VfxTimer)
    VFX_XML_DEFINE_CLASS(VFX_XML_CLASS_ID_VfxPage, VfxPage)
    VFX_XML_DEFINE_CLASS(VFX_XML_CLASS_ID_VfxPageBar, VfxPageBar)
    VFX_XML_DEFINE_CLASS(VFX_XML_CLASS_ID_VcpStatusIconBar, VcpStatusIconBar)
    VFX_XML_DEFINE_CLASS(VFX_XML_CLASS_ID_VcpCommandTitle, VcpCommandTitle)
    VFX_XML_DEFINE_CLASS(VFX_XML_CLASS_ID_VcpButton, VcpButton)
    VFX_XML_DEFINE_CLASS(VFX_XML_CLASS_ID_VcpImageButton, VcpImageButton)
    VFX_XML_DEFINE_CLASS(VFX_XML_CLASS_ID_VcpSwitch, VcpSwitch)
    VFX_XML_DEFINE_CLASS(VFX_XML_CLASS_ID_VcpTabBar, VcpTabBar)
    VFX_XML_DEFINE_CLASS(VFX_XML_CLASS_ID_VcpPagePanel, VcpPagePanel)
    VFX_XML_DEFINE_CLASS(VFX_XML_CLASS_ID_VcpSegmentButton, VcpSegmentButton)
    VFX_XML_DEFINE_CLASS(VFX_XML_CLASS_ID_VcpListMenu, VcpListMenu)
    VFX_XML_DEFINE_CLASS(VFX_XML_CLASS_ID_VcpGroupListMenu, VcpGroupListMenu)
VFX_XML_DEFINE_CLASS_TABLE_END();

VFX_XML_DEFINE_PROP_TABLE_BEGIN(g_vfxXmlPropertyTable)
    VFX_XML_DEFINE_OBJECT_PROP(VFX_XML_PROP_ID_VfxObject_items, VfxObject, NULL)
    VFX_XML_DEFINE_HANDLER_PROP(VFX_XML_PROP_ID_VfxObject_name, ObjName)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VfxFrame_pos, VfxPoint, &VfxFrame::setPos)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VfxFrame_size, VfxSize, &VfxFrame::setSize)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VfxFrame_bounds, VfxRect, &VfxFrame::setBounds)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VfxFrame_rect, VfxRect, &VfxFrame::setRect)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VfxFrame_anchor, VfxFPoint, &VfxFrame::setAnchor)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VfxFrame_opacity, VfxFloat, &VfxFrame::setOpacity)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VfxFrame_bgColor, VfxColor, &VfxFrame::setBgColor)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VfxFrame_borderWidth, VfxS32, &VfxFrame::setBorderWidth)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VfxFrame_borderColor, VfxColor, &VfxFrame::setBorderColor)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VfxFrame_autoAnimate, VfxBool, &VfxFrame::setAutoAnimate)
    VFX_XML_DEFINE_ENUM_PROP(VFX_XML_PROP_ID_VfxFrame_cullingType, VfxFrameCullingTypeEnum, &VfxFrame::setCullingType)
    VFX_XML_DEFINE_ENUM_PROP(VFX_XML_PROP_ID_VfxFrame_contentPlacement, VfxFrameContentPlacementTypeEnum, &VfxFrame::setContentPlacement)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VfxFrame_alignParent, VfxFrameAlignStruct, &VfxFrame::setAlignParentEx)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VfxImageFrame_resId, VfxResId, &VfxImageFrame::setResId)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VfxImageFrame_path, VfxWString, &VfxImageFrame::setPath)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VfxAnimImageFrame_RepeatCount, VfxU32, &VfxAnimImageFrame::setRepeatCount)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VfxAnimImageFrame_EndIndex, VfxU32, &VfxAnimImageFrame::setEndIndex)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VfxTextFrame_text, VfxWString, &VfxTextFrame::setString)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VfxTextFrame_color, VfxColor, &VfxTextFrame::setColor)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VfxTextFrame_borderColor, VfxColor, &VfxTextFrame::setBorderColor)
    VFX_XML_DEFINE_ENUM_PROP(VFX_XML_PROP_ID_VcpTextView_mode, VcpTextLineModeEnum, &VcpTextView::setLineMode)
    VFX_XML_DEFINE_ENUM_PROP(VFX_XML_PROP_ID_VcpTextEditor_mode, VcpTextLineModeEnum, &VcpTextEditor::setLineMode)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VfxTimer_startDelay, VfxMsec, &VfxTimer::setStartDelay)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VfxTimer_duration, VfxMsec, &VfxTimer::setDuration)
    VFX_XML_DEFINE_SIGNAL_PROP(VFX_XML_PROP_ID_VfxTimer_tick, VfxXmlSignal, VfxTimer, m_signalTick)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VfxPage_statusBar, VfxBool, &VfxPage::setStatusBar)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VfxPage_barAutoHide, VfxBool, &VfxPage::setBarAutoHide)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VfxPage_translucent, VfxBool, &VfxPage::setTranslucent)
    VFX_XML_DEFINE_OBJECT_PROP(VFX_XML_PROP_ID_VfxPage_topBar, VfxPageBar, &VfxPage::setTopBar)
    VFX_XML_DEFINE_OBJECT_PROP(VFX_XML_PROP_ID_VfxPage_bottomBar, VfxPageBar, &VfxPage::setBottomBar)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VcpCommandTitle_text, VfxWString, &VcpCommandTitle::setText)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VcpButton_id, VfxId, &VcpButton::setId)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VcpButton_isAutoResized, VfxBool, &VcpButton::setIsAutoResized)
    VFX_XML_DEFINE_ENUM_PROP(VFX_XML_PROP_ID_VcpButton_placement, VcpButtonPlacementEnum, &VcpButton::setPlacement)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VcpButton_text, VfxWString, &VcpButton::setText)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VcpButton_image, VcpStateImage, &VcpButton::setImage)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VcpButton_innerRect, VfxRect, &VcpButton::setInnerRect)
    VFX_XML_DEFINE_SIGNAL_PROP(VFX_XML_PROP_ID_VcpButton_clicked, VfxXmlIdSignal, VcpButton, m_signalClicked)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VcpImageButton_id, VfxId, &VcpImageButton::setId)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VcpImageButton_isStretchMode, VfxBool, &VcpImageButton::setIsStretchMode)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VcpImageButton_isHighlight, VfxBool, &VcpImageButton::setIsHighlight)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VcpImageButton_image, VcpStateImage, &VcpImageButton::setImage)
    VFX_XML_DEFINE_SIGNAL_PROP(VFX_XML_PROP_ID_VcpImageButton_clicked, VfxXmlIdSignal, VcpImageButton, m_signalClicked)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VcpSwitch_checked, VfxBool, &VcpSwitch::setChecked)
    VFX_XML_DEFINE_TYPE_PROP(VFX_XML_PROP_ID_VcpTabBar_HighlightedTab, VfxId, &VcpTabBar::setHighlightedTab)
    VFX_XML_DEFINE_STRUCT_PROP(VFX_XML_PROP_ID_VcpTabBar_tab, VcpTabBarItem, &VcpTabBar::addTabFromXML)
    VFX_XML_DEFINE_STRUCT_PROP(VFX_XML_PROP_ID_VcpSegmentButton_button, VcpSegmentButtonItem, &VcpSegmentButton::addButton)
    VFX_XML_DEFINE_ENUM_PROP(VFX_XML_PROP_ID_VcpSegmentButton_type, VcpSegmentButtonTypeEnum, &VcpSegmentButton::setType)
    VFX_XML_DEFINE_ENUM_PROP(VFX_XML_PROP_ID_VcpSegmentButton_style, VcpSegmentButtonStyleEnum, &VcpSegmentButton::setStyle)
    VFX_XML_DEFINE_ENUM_PROP(VFX_XML_PROP_ID_VcpListMenu_cellStyle, VcpListMenuCellStyleEnum, &VcpListMenu::setCellStyle)
    VFX_XML_DEFINE_ENUM_PROP(VFX_XML_PROP_ID_VcpListMenu_menuMode, VcpListMenuModeEnum, &VcpListMenu::setMenuModeXML)
    VFX_XML_DEFINE_ENUM_PROP(VFX_XML_PROP_ID_VcpListMenu_menuControlMode, VcpListMenuControlModeEnum, &VcpListMenu::setMenuControlModeXML)
    VFX_XML_DEFINE_ENUM_PROP(VFX_XML_PROP_ID_VcpGroupListMenu_cellStyle, VcpListMenuCellStyleEnum, &VcpGroupListMenu::setCellStyle)
    VFX_XML_DEFINE_ENUM_PROP(VFX_XML_PROP_ID_VcpGroupListMenu_menuMode, VcpListMenuModeEnum, &VcpGroupListMenu::setMenuMode)
    VFX_XML_DEFINE_ENUM_PROP(VFX_XML_PROP_ID_VcpGroupListMenu_menuControlMode, VcpListMenuControlModeEnum, &VcpGroupListMenu::setMenuControlMode)
VFX_XML_DEFINE_PROP_TABLE_END();

VFX_XML_DEFINE_SLOT_TABLE_BEGIN(g_vfxXmlSlotTable)
VFX_XML_DEFINE_SLOT_TABLE_END();