returnonlyvalidor"the %s must be a valid ui element"
end
end
end)
----------------------------------------------
-- System Prepare --
----------------------------------------------
Environment.RegisterGlobalNamespace("Scorpio.UI")
----------------------------------------------
-- Basic Features --
----------------------------------------------
namespace"Scorpio.UI"
----------------------------------------------
-- Enums(UI.xsd) --
----------------------------------------------
do
__Sealed__()
enum"FramePoint"{
"TOPLEFT",
"TOPRIGHT",
"BOTTOMLEFT",
"BOTTOMRIGHT",
"TOP",
"BOTTOM",
"LEFT",
"RIGHT",
"CENTER",
}
__Sealed__()
enum"FlyoutDirection"{
"UP",
"DOWN",
"LEFT",
"RIGHT",
}
__Sealed__()
enum"FrameStrata"{
"PARENT",
"BACKGROUND",
"LOW",
"MEDIUM",
"HIGH",
"DIALOG",
"FULLSCREEN",
"FULLSCREEN_DIALOG",
"TOOLTIP",
}
__Sealed__()
enum"DrawLayer"{
"BACKGROUND",
"BORDER",
"ARTWORK",
"OVERLAY",
"HIGHLIGHT",
}
__Sealed__()__Default__"ADD"
enum"AlphaMode"{
"DISABLE",
"BLEND",
"ALPHAKEY",
"ADD",
"MOD",
}
__Sealed__()__Default__"NONE"
enum"OutlineType"{
"NONE",
"NORMAL",
"THICK",
}
__Sealed__()__Default__"MIDDLE"
enum"JustifyVType"{
"TOP",
"MIDDLE",
"BOTTOM",
}
__Sealed__()__Default__"CENTER"
enum"JustifyHType"{
"LEFT",
"CENTER",
"RIGHT",
}
__Sealed__()
enum"InsertMode"{
"TOP",
"BOTTOM",
}
__Sealed__()__Default__"HORIZONTAL"
enum"Orientation"{
"HORIZONTAL",
"VERTICAL",
}
__Sealed__()
enum"AttributeType"{
"nil",
"boolean",
"number",
"string",
}
__Sealed__()
enum"KeyValueType"{
"nil",
"boolean",
"number",
"string",
"global",
}
__Sealed__()
enum"ScriptInheritType"{
"prepend",
"append",
"none",
}
__Sealed__()
enum"ScriptIntrinsicOrderType"{
"precall",
"postcall",
"none",
}
__Sealed__()
enum"FontAlphabet"{
"roman",
"korean",
"simplifiedchinese",
"traditionalchinese",
"russian",
}
__Sealed__()
enum"WrapMode"{
"CLAMP",
"REPEAT",
"CLAMPTOBLACK",
"CLAMPTOBLACKADDITIVE",
"CLAMPTOWHITE",
"MIRROR",
}
__Sealed__()
enum"FilterMode"{
"LINEAR",
"TRILINEAR",
"NEAREST",
}
__Sealed__()__Default__"NONE"
enum"AnimLoopType"{
"NONE",
"REPEAT",
"BOUNCE",
}
__Sealed__()__Default__"NONE"
enum"AnimSmoothType"{
"NONE",
"IN",
"OUT",
"IN_OUT",
"OUT_IN",
}
__Sealed__()__Default__"NONE"
enum"AnimCurveType"{
"NONE",
"SMOOTH",
}
__Sealed__()
enum"AnchorType"{
"ANCHOR_TOPRIGHT",
"ANCHOR_RIGHT",
"ANCHOR_BOTTOMRIGHT",
"ANCHOR_TOPLEFT",
"ANCHOR_LEFT",
"ANCHOR_BOTTOMLEFT",
"ANCHOR_CURSOR",
"ANCHOR_PRESERVE",
"ANCHOR_NONE",
}
__Sealed__()
enum"ButtonStateType"{
"PUSHED",
"NORMAL",
}
__Sealed__()
enum"ButtonClickType"{
"LeftButtonUp",
"RightButtonUp",
"MiddleButtonUp",
"Button4Up",
"Button5Up",
"LeftButtonDown",
"RightButtonDown",
"MiddleButtonDown",
"Button4Down",
"Button5Down",
"AnyUp",
"AnyDown",
}
__Sealed__()
enum"VertexIndexType"{
UpperLeft=_G.UPPER_LEFT_VERTEXor1,
LowerLeft=_G.LOWER_LEFT_VERTEXor2,
UpperRight=_G.UPPER_RIGHT_VERTEXor3,
LowerRight=_G.LOWER_RIGHT_VERTEXor4,
}
__Sealed__()__Default__("STANDARD")
enum"FillStyle"{
"STANDARD",
"STANDARD_NO_RANGE_FILL",
"CENTER",
"REVERSE",
}
__Sealed__()
enum"ScriptsType"{
"OnLoad",
"OnAttributeChanged",
"OnSizeChanged",
"OnEvent",
"OnUpdate",
"OnShow",
"OnHide",
"OnEnter",
"OnLeave",
"OnMouseDown",
"OnMouseUp",
"OnMouseWheel",
"OnJoystickStickMotion",-- deprecated in 9.0
"OnJoystickAxisMotion",-- deprecated in 9.0
"OnJoystickButtonDown",-- deprecated in 9.0
"OnJoystickButtonUp",-- deprecated in 9.0
"OnJoystickHatMotion",-- deprecated in 9.0
"OnGamePadButtonDown",
"OnGamePadButtonUp",
"OnGamePadStick",
"OnDragStart",
"OnDragStop",
"OnReceiveDrag",
"PreClick",
"OnClick",
"PostClick",
"OnDoubleClick",
"OnValueChanged",
"OnMinMaxChanged",
"OnUpdateModel",
"OnModelLoaded",
"OnAnimFinished",
"OnEnterPressed",
"OnEscapePressed",
"OnSpacePressed",
"OnTabPressed",
"OnTextChanged",
"OnTextSet",
"OnCursorChanged",
"OnInputLanguageChanged",
"OnEditFocusGained",
"OnEditFocusLost",
"OnHorizontalScroll",
"OnVerticalScroll",
"OnScrollRangeChanged",
"OnCharComposition",
"OnChar",
"OnKeyDown",
"OnKeyUp",
"OnColorSelect",
"OnHyperlinkEnter",
"OnHyperlinkLeave",
"OnHyperlinkClick",
"OnMessageScrollChanged",
"OnMovieFinished",
"OnMovieShowSubtitle",
"OnMovieHideSubtitle",
"OnTooltipSetDefaultAnchor",
"OnTooltipCleared",
"OnTooltipAddMoney",
"OnTooltipSetUnit",
"OnTooltipSetItem",
"OnTooltipSetSpell",
"OnTooltipSetQuest",
"OnTooltipSetAchievement",
"OnTooltipSetFramestack",
"OnTooltipSetEquipmentSet",
"OnEnable",
"OnDisable",
"OnArrowPressed",
"OnExternalLink",
"OnButtonUpdate",
"OnError",
"OnDressModel",
"OnCooldownDone",
"OnPanFinished",
"OnUiMapChanged",
"OnRequestNewSize",
-- Animation
"OnPlay",
"OnPause",
"OnStop",
"OnFinished",
"OnLoop",
-- Actor
"OnModelLoading",
"OnModelLoaded",
"OnAnimFinished",
}
end
----------------------------------------------
-- Data Types(UI.xsd) --
----------------------------------------------
do
__Sealed__()
struct"AtlasType"{
{name="atlas",type=String},
{name="useAtlasSize",type=Boolean},
}
__Sealed__()
struct"AnimOrderType"{
__base=Integer,
function(val,onlyvalid)if(val<1orval>100)thenreturnonlyvalidor"the %s must between [1, 100]"endend
}
__Sealed__()
struct"Dimension"{
{name="x",type=Number},
{name="y",type=Number},
}
__Sealed__()
struct"Position"{
{name="x",type=Number},
{name="y",type=Number},
{name="z",type=Number},
}
__Sealed__()
struct"Size"{
{name="width",type=Number,require=true},
{name="height",type=Number,require=true},
}
__Sealed__()
struct"MinMax"{
{name="min",type=Number,require=true},
{name="max",type=Number,require=true},
function(val,onlyvalid)
returnval.min>val.maxand(onlyvalidor"%s.min can't be greater than %s.max")ornil
end,
}
__Sealed__()
struct"Inset"{
{name="left",type=Number},
{name="right",type=Number},
{name="top",type=Number},
{name="bottom",type=Number},
}
__Sealed__()
struct"GradientType"{
{name="orientation",type=Orientation},
{name="mincolor",type=ColorType},
{name="maxcolor",type=ColorType},
}
__Sealed__()
struct"AlphaGradientType"{
{name="start",type=Number},
{name="length",type=Number}
}
__Sealed__()
struct"FontType"{
{name="font",type=String},
{name="height",type=Number},
{name="outline",type=OutlineType},
{name="monochrome",type=Boolean},
}
__Sealed__()
struct"BackdropType"{
{name="bgFile",type=String},
{name="edgeFile",type=String},
{name="tile",type=Boolean},
{name="tileEdge",type=Boolean},
{name="tileSize",type=Number},
{name="edgeSize",type=Number},
{name="alphaMode",type=AlphaMode},
{name="insets",type=Inset},
}
__Sealed__()
struct"Anchor"{
{name="point",type=FramePoint,require=true},
{name="x",type=Number},
{name="y",type=Number},
{name="relativeTo",type=String},
{name="relativePoint",type=FramePoint},
}
__Sealed__()
struct"Anchors"{Anchor}
__Sealed__()
struct"RectType"{
{name="left",type=Number},
{name="right",type=Number},
{name="top",type=Number},
{name="bottom",type=Number},
{name="ULx",type=Number},
{name="ULy",type=Number},
{name="LLx",type=Number},
{name="LLy",type=Number},
{name="URx",type=Number},
{name="URy",type=Number},
{name="LRx",type=Number},
{name="LRy",type=Number},
}
__Sealed__()
struct"TexCoords"{RectType}
__Sealed__()
struct"AnimOriginType"{
{name="point",type=FramePoint,Default="CENTER"},
{name="x",type=Number},
{name="y",type=Number},
}
__Sealed__()
struct"LightType"{
{name="enabled",type=Boolean},
{name="omni",type=Boolean},
{name="dir",type=Position},
{name="ambIntensity",type=ColorFloat},
{name="ambColor",type=ColorType},
{name="dirIntensity",type=ColorFloat},
{name="dirColor",type=ColorType},
}
__Sealed__()
struct"TextureType"{
{name="file",type=String+Number},
{name="color",type=ColorType},
}
__Sealed__()
struct"FadeoutOption"{
{name="duration",type=Number,require=true},
{name="delay",type=Number,default=0},
{name="start",type=Number,default=1},
{name="stop",type=Number,default=0},
{name="autohide",type=Boolean},
}
__Sealed__()
struct"AnimateTexCoords"{
{name="textureWidth",type=Number,require=true},
{name="textureHeight",type=Number,require=true},
{name="frameWidth",type=Number,require=true},
{name="frameHeight",type=Number,require=true},
{name="numFrames",type=Number,require=true},
{name="throttle",type=Number,require=true},
}
__Sealed__()
struct"PropertyAccessor"{
{name="set",type=Function,require=true},
{name="get",type=Any}
}
end
----------------------------------------------
-- Font --
----------------------------------------------
__Sealed__()
struct"FontObject"{function(val,onlyvalid)ifnot(type(val)=="table"andval.GetObjectTypeandval:GetObjectType()=="Font")thenreturnonlyvalidor"the %s must a font object"endend}
--- The Font object is to be shared between other objects that share font characteristics