I'm a doctor, not a mechanic

UE3:UIRoot structs (UDK)

From Unreal Wiki, The Unreal Engine Documentation Site
Revision as of 06:51, 17 January 2010 by Wormbo (Talk | contribs) (1 revision: class descriptions for UDK January update (part 6))

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
UDK Object >> UIRoot (structs)
UIRoot structs in other games:
UT3
Other member categories for this class:
enums

Structs

AutoSizeData

Modifiers: native

Defines parameters for auto-sizing a widget

UIScreenValue_AutoSizeRegion Extent 
specifies the minimum and maximum values that the region can be auto-sized to
AutoSizePadding Padding 
the internal padding to apply to the region
bool bAutoSizeEnabled 
whether auto-sizing is enabled for this dimension

AutoSizePadding

Extends: UIScreenValue_AutoSizeRegion

Modifiers: native

Data structure for representing the padding to apply to an auto-size region

(No new member variables.)

DefaultEventSpecification

Modifiers: native

Represents a UIEvent that should be automatically added to all instances of a particular widget.

UIEvent EventTemplate 
the UIEvent template to use when adding the event instance to a widget's EventProvider
class<UIState> EventState 
Optionally specify the state in which this event should be active. The event will be added to

the corresponding UIState instance's list of events, rather than the widget's list of events

InputEventParameters

Modifiers: native, transient

This struct contains all data used by the various UI input processing methods.

int PlayerIndex 
Index [into the Engine.GamePlayers array] for the player that generated this input event. If PlayerIndex is not

a valid index for the GamePlayers array, it indicates that this input event was generated by a gamepad that is not currently associated with an active player

int ControllerId 
The ControllerId that generated this event. Not guaranteed to be a ControllerId associated with a valid player.
name InputKeyName 
Name of the input key that was generated, such as KEY_Left, KEY_Enter, etc.
Object.EInputEvent EventType 
The type of input event generated (i.e. IE_Released, IE_Pressed, IE_Axis, etc.)
float InputDelta 
For input key events generated by analog buttons, represents the amount the button was depressed.

For input axis events (i.e. joystick, mouse), represents the distance the axis has traveled since the last update.

float DeltaTime 
For input axis events, represents the amount of time that has passed since the last update.
bool bAltPressed 
For PC input events, tracks whether the corresponding modifier keys are pressed.
bool bCtrlPressed 
For PC input events, tracks whether the corresponding modifier keys are pressed.
bool bShiftPressed 
For PC input events, tracks whether the corresponding modifier keys are pressed.

InputEventSubscription

Modifiers: native, transient

Represents a mapping of input key to widgets which contain EventComponents that respond to the associated input key.

name KeyName 
The name of the key represented by this InputEventSubscription (i.e. KEY_XboxTypeS_LeftTrigger, etc.)
array<UIScreenObject> Subscribers 
a list of widgets which are eligible to process this input key event

InputKeyAction

Modifiers: native

Associates a UIAction with input key name.

name InputKeyName 
the input key name that will activate the action
Object.EInputEvent InputKeyState 
the state (pressed, released, etc.) that will activate the action
array<SequenceOp.SeqOpOutputInputLink> TriggeredOps 
The sequence operations to activate when the input key is received
array<SequenceOp> ActionsToExecute 

Default values:

Property Value
InputKeyState IE_Released

ModifierData

Modifiers: native, transient

Contains data about a custom inline style, along with the inline fonts that have been activated while this style was the current style. Handles proper interaction between nested font and style inline markup.

UIStyle_Data Style 
the style for this data block. Refers to either the UIString's DefaultStringStyle, or a style resolved from

an inline style markup reference (i.e. Styles:SomeStyle)

array<Font> InlineFontStack 
The fonts that have been resolved from inline font markup while this style was the current style.

PlayerInteractionData

Modifiers: native, transient

Tracks widgets which are currently in special states.

UIObject FocusedControl 
The widget/scene that currently has focus
UIObject LastFocusedControl 
The widget/scene that last had focus

RawInputKeyEventData

Modifiers: native, export

name InputKeyName 
the name of the key (i.e. 'Left' [KEY_Left], 'LeftMouseButton' [KEY_LeftMouseButton], etc.)
byte ModifierKeyFlags 
a bitmask of values indicating which modifier keys are associated with this input key event, or which modifier

keys are excluded. Bit values are: 0: Alt active (or required) 1: Ctrl active (or required) 2: Shift active (or required) 3: Alt excluded 4: Ctrl excluded 5: Shift excluded

(key states) 6: Pressed 7: Released

Default values:

Property Value
ModifierKeyFlags 56

RenderParameters

Modifiers: native, transient

General purpose data structure for grouping all parameters needed when rendering or sizing a string/image

float DrawX 
a pixel value representing the horizontal screen location to begin rendering the string
float DrawY 
a pixel value representing the vertical screen location to begin rendering the string
float DrawXL 
a pixel value representing the width of the area available for rendering the string
float DrawYL 
a pixel value representing the height of the area available for rendering the string
Object.Vector2D Scaling 
A value between 0.0 and 1.0, which represents how much the width/height should be scaled,

where 1.0 represents 100% scaling.

Font DrawFont 
the font to use for rendering/sizing the string
EUIAlignment TextAlignment[2] (EUIOrientation.UIORIENT_MAX) 
The alignment for the string we are drawing.
Object.Vector2D ImageExtent 
Only used when rendering string nodes that contain images.

Represents the size to use for rendering the image

TextureCoordinates DrawCoords 
the coordinates to use to render images
Object.Vector2D SpacingAdjust 
Horizontal spacing adjustment between characters and vertical spacing adjustment between wrapped lines
float ViewportHeight 
the current height of the viewport; needed to support multifont
bool bUseOverrideColor 
Whether to use the override color (will typically get turned on for a short time then turned back off)
Object.LinearColor OverideDrawColor 
The color to use when overriding the currently rendering color

ScreenPositionRange

Extends: UIScreenValue_Position

Modifiers: native

Data structure for mapping a region on the screen. Rather than representing an X,Y coordinate, this struct represents the beginning and end of a dimension (X1, X2)

(No new member variables.)

StateInputKeyAction

Extends: InputKeyAction

Modifiers: native

Specialized version of InputKeyAction used for constraining the input action to a particular UIState.

class<UIState> Scope 
Allows an input action to be tied to a specific UIState. If NULL, the action will be active

in all states that support UIEvent_ProcessInput. If non-NULL, the input key will only be accepted when the widget is in the specified state.

Default values:

Property Value
Scope Class'Engine.UIState_Enabled'

STYLE_ID

Extends: Object.Guid

Modifiers: native

A unique ID number for a resource located in a UI skin package. Used to lookup materials in skin files.

(No new member variables.)

StyleReferenceId

Modifiers: transient, native

Container used for identifying UIStyleReference properties from multiple UIStyleResolvers of the same class

name StyleReferenceTag 
The tag to use for this UIStyleResolver's properties
Property StyleProperty 
the actual UIStyleReference property

SubscribedInputEventParameters

Extends: InputEventParameters

Modifiers: native, transient

Contains additional data for an input event which a widget has registered for (via UUIComp_Event::RegisterInputEvents).is in the correct state capable of processing is registered to handle.the data for a Stores the UIInputAlias name translated from a combination of input key, input event type, and modifier keys.

name InputAliasName 
Name of the UI input alias determined from the current input key, event type, and active modifiers.

TextAutoScaleValue

Modifiers: native

Container for text autoscaling values.

float MinScale 
(Min Scale Value in UnrealEd) the minimum amount of scaling that can be applied to the text; this value must be set in order for

auto-scaling to be used in conjunction with any type of string formatting (i.e. wrapping, clipping, etc.). Negative values will be ignored and a value of 0 indicates that MinScale is not enabled.

ETextAutoScaleMode AutoScaleMode 
(Auto Scaling in UnrealEd) Allows text to be scaled to fit within the bounding region

Default values:

Property Value
AutoScaleMode UIAUTOSCALE_None
MinScale 0.6

TextureCoordinates

Modifiers: native

Coordinates for mapping an individual texture of a texture atlas

float
float
float UL 
float VL 

UIAnchorPosition

Extends: UIScreenValue_Position

Modifiers: native

Data structure for describing the location of a widget's rotation pivot. Defines a 2D point within a widget's bounds, either in pixels or percentage, along with a z-depth value (in pixels)

float ZDepth 

UIAxisEmulationDefinition

Modifiers: native

Contains information for simulating a button press input event in response to axis input.

name AxisInputKey 
The axis input key name that this definition represents.
name AdjacentAxisInputKey 
The axis input key name that represents the other axis of the joystick associated with this axis input.

e.g. if AxisInputKey is MouseX, AdjacentAxisInputKey would be MouseY.

bool bEmulateButtonPress 
Indicates whether button press/release events should be generated for this axis key
name InputKeyToEmulate[2]  
The button input key that this axis input should emulate. The first element corresponds to the input key

that should be emulated when the axis value is positive; the second element corresponds to the input key that should be emulated when the axis value is negative.

UICombinedStyleData

Modifiers: native, transient

Container for all data contained by UI styles. Used for applying inline modifications to UIString nodes, such as changing the font, draw color, or attributes

Todo: support for embedded markup, such as blah blahblah blah

Object.LinearColor TextColor 
color to use for rendering text
Object.LinearColor ImageColor 
color to use for rendering images
float TextPadding[2] (EUIOrientation.UIORIENT_MAX) 
padding to use for rendering text
float ImagePadding[2] (EUIOrientation.UIORIENT_MAX) 
padding to use for rendering images
Font DrawFont 
the font to use when rendering text
Surface FallbackImage 
the material to use when rendering images if the image material cannot be loaded or isn't set
TextureCoordinates AtlasCoords 
the coordinates to use if FallbackImage is a texture atlas
UITextAttributes TextAttributes 
attributes to apply to this style's font
EUIAlignment TextAlignment[2] (EUIOrientation.UIORIENT_MAX) 
text alignment within the bounding region
ETextClipMode TextClipMode 
determines how strings that overrun the bounding region are handled
EUIAlignment TextClipAlignment 
Determines how the nodes of this string are ordered when the string is being clipped
UIImageAdjustmentData AdjustmentType[2] (EUIOrientation.UIORIENT_MAX) 
Information about how to modify the way the image is rendered.
TextAutoScaleValue TextAutoScaling 
Allows text to be scaled to fit within the bounding region
Object.Vector2D TextScale 
text scale to use when rendering text
Object.Vector2D TextSpacingAdjust 
Horizontal spacing adjustment between characters and vertical spacing between wrapped lines of text
bool bInitialized 
indicates whether this style data container has been initialized

Default values:

Property Value
TextClipMode CLIP_MAX
TextScale
Member Value
X 1.0
Y 1.0

UIDataStoreBinding

Modifiers: native

Contains information about a UI data store binding, including the markup text used to reference the data store and the resolved value of the markup text.

NOTE: if you move this struct declaration to another class, make sure to update UUIObject::GetDataBindingProperties()

UIDataStoreSubscriber Subscriber 
The UIDataStoreSubscriber that contains this UIDataStoreBinding
EUIDataProviderFieldType RequiredFieldType 
Indicates which type of data fields can be used in this data store binding
string MarkupString 
A datastore markup string which resolves to a property/data type exposed by a UI data store.

Note: cannot be editconst until we have full editor support for manipulating markup strings (e.g. inserting embedded markup, etc.)

int BindingIndex 
Used to differentiate multiple data store properties in a single class.
name DataStoreName 
the name of the data store resolved from MarkupString
name DataStoreField 
the name of the field resolved from MarkupString; must be a field supported by ResolvedDataStore
UIDataStore ResolvedDataStore 
a pointer to the data store resolved from MarkupString

Default values:

Property Value
BindingIndex 0
RequiredFieldType DATATYPE_MAX

UIDockingNode

Modifiers: native

A widget/face pair. Used by the docking system to track the order in which widget face positions should be evaluated

UIObject Widget 
the widget that this docking node is associated with
EUIWidgetFace Face 
the face on the Widget that should be updated when this docking node is processed

UIDockingSet

Modifiers: native

Defines the desired docking behavior for all faces of a single widget

UIObject OwnerWidget 
The widget that is associated with this docking set. Set by InitializeDockingSet().
UIObject TargetWidget[4] (EUIWidgetFace.UIFACE_MAX) 
The widget that will be docked against.

If this value is NULL, it means that docking isn't enabled for this face If this value points to OwnerWidget, it means that the face is docked to the owner scene.

UIScreenValue_DockPadding DockPadding 
The amount of padding to use for docking each face. Positive values are considered "inside" padding,

while negative values are considered "outside" padding.

bool bLockWidthWhenDocked 
Controls whether the width of this widget should remain constant when adjusting the position of the left or right

face as a result of docking. Only relevant when either the left or right faces are docked.

bool bLockHeightWhenDocked 
Controls whether the height of this widget should remain constant when adjusting the position of the top or bottom

face as a result of docking. Only relevant when either the top or bottom faces are docked.

EUIWidgetFace TargetFace[4] (EUIWidgetFace.UIFACE_MAX) 
The face on the TargetWidget that this docking set applies to.
byte bResolved[4] (EUIWidgetFace.UIFACE_MAX) 
tracks whether each face has been resolved (via UpdateDockingSet). Reset whenever ResolveScenePositions is called
byte bLinking[4] (EUIWidgetFace.UIFACE_MAX) 
set to 1 when this node is in the process of being added to the scene's docking stack; used to easily

track down circular relationships between docking sets

Default values:

Property Value
TargetFace[3] (UIFACE_Bottom) UIFACE_MAX
TargetFace[0] (UIFACE_Left) UIFACE_MAX
TargetFace[2] (UIFACE_Right) UIFACE_MAX
TargetFace[1] (UIFACE_Top) UIFACE_MAX

UIFocusPropagationData

Modifiers: native

Contains information about how to propagate focus between parent and child widgets.

UIObject FirstFocusTarget 
Specifies the child widget that should automatically receive focus when this widget receives focus.

Set automatically when RebuildNavigationLinks() is called on the owning widget.

UIObject LastFocusTarget 
Specifies the child widget which will automatically receive focus when this widget receives focus and the user

is navigating backwards through the scene (i.e. Shift+Tab). Set automatically when RebuildNavigationLinks() is called on the owning widget.

UIObject NextFocusTarget 
Specifies the sibling widget that is next in the tab navigation system for this widget's parent.

Set automatically when RebuildNavigationLinks() is called on the owning widget.

UIObject PrevFocusTarget 
Specifies the sibling widget that is previous in the tab navigation system for this widget's parent.

Set automatically when RebuildNavigationLinks() is called on the owning widget.

bool bPendingReceiveFocus 
Indicates that this widget is currently becoming the focused control. Used for preventing KillFocus from clobbering this

pending focus change if one of this widget's children is the currently focused control (since killing focus on a child of this widget would normally cause this widget to lose focus as well

UIImageAdjustmentData

Modifiers: native

Describes the parameters for adjusting a material to match the dimensions of a target region.

UIScreenValue_Extent ProtectedRegion[2] (EUIOrientation.UIORIENT_MAX) 
(Gutter in UnrealEd) size of buffer zone for constraining the image adjustment
EMaterialAdjustmentType AdjustmentType 
(Scale Type in UnrealEd) the type of adjustment to perform to the image for each orientation
EUIAlignment Alignment 
(Image Alignment in UnrealEd) alignment within the region

Default values:

Property Value
AdjustmentType ADJUST_Normal

UIImageStyleOverride

Extends: UIStyleOverride

Modifiers: native

Contains data for overriding the corresponding data in an image style.

TextureCoordinates Coordinates 
(UV Coordinates in UnrealEd) if DefaultImage points to a texture atlas, represents the coordinates to use for rendering this image
UIImageAdjustmentData Formatting[2] (EUIOrientation.UIORIENT_MAX) 
Information about how to modify the way the image is rendered.
bool bOverrideCoordinates 
indicates whether the coordinates have been customized
bool bOverrideFormatting 
indicates whether the formatting has been customized

Default values:

Property Value
Formatting[0] (UIORIENT_Horizontal)
Member Value
ProtectedRegion[0]
Member Value
Orientation UIORIENT_Horizontal
ProtectedRegion[1]
Member Value
Orientation UIORIENT_Horizontal
Formatting[1] (UIORIENT_Vertical)
Member Value
ProtectedRegion[0]
Member Value
Orientation UIORIENT_Vertical
ProtectedRegion[1]
Member Value
Orientation UIORIENT_Vertical

UIInputActionAlias

Modifiers: native, export

Stores a list of input key names that should be linked to an input action alias key (i.e. NAV_Left, NAV_Right) Used by the UI system to handle input events in a platform & game agnostic way.

name InputAliasName 
the name of an input action alias that the UI responds to
array<RawInputKeyEventData> LinkedInputKeys 
the input key names (e.g. KEY_Left, KEY_Right) and modifier which will trigger this input alias

UIInputAliasClassMap

Modifiers: native

Defines the UIInputActionAliases that are supported by a particular widget class for each state.

Todo: ronp - add support for specifying "input alias => raw input key" mappings for widget archetypes

string WidgetClassName 
the name of the widget class to load
class<UIScreenObject> WidgetClass 
the widget class that this UIInputAliasMap contains input aliases for
array<UIInputAliasStateMap> WidgetStates 
the states that this widget class supports
Map{UClass*, FUIInputAliasMap} StateLookupTable 
Runtime lookup map to find a input alias map. Maps a UIState class <=> (map of input key name (KEY_Left) + modifier keys <=> input key alias (UIKEY_Clicked)).

Used for quickly unregistering input keys when a state goes out of scope.

Map{UClass*, TArray<const FUIInputAliasStateMap*>} StateReverseLookupTable 
Runtime lookup map to find a state input struct. Maps a UIState class => (map of input key alias (UIKEY_Clicked) => input key name (KEY_Left))

Used for quickly registering input keys when a state enters scope - since multiple input keys can be mapped to a single input key alias, and each input key alias name must be checked against the list of disabled input aliases, storing this reverse lookup table allows us to check only once for each input alias.

UIInputAliasMap

Modifiers: native, export

A TMultiMap wrapper which maps input key names (i.e. KEY_Left) to a list of input action alias data.

Object.MultiMap_Mirror{TMultiMap< FName, FUIInputAliasValue >} InputAliasLookupTable 
A mapping from input key data (name + modifier key) <==> input alias triggered by that input key event

Used to retrieve the input action alias for a given input key when input events are received.

UIInputAliasStateMap

Modifiers: native, export

Defines the list of key mappings supported in a paticular widget state.

string StateClassName 
the path name for the state class to load
class<UIState> State 
The widget state that this map contains input aliases for.
array<UIInputActionAlias> StateInputAliases 
the input action aliases that this widget state supports

UIInputAliasValue

Modifiers: native, transient, export

Combines an input alias name with the modifier flag bitmask required to activate it.

byte ModifierFlagMask 
a bitmask representing the modifier key state required to activate this input alias
name InputAliasName 
the name of the input alias

UIMouseCursor

Modifiers: native, export

Contains information about a mouse cursor resource that can be used ingame.

name CursorStyle 
the tag of the style to use for displaying this cursor
UITexture Cursor 
The actual cursor resource

UINavigationData

Modifiers: native

Defines the navigation links for a widget.

UIObject NavigationTarget[4] (EUIWidgetFace.UIFACE_MAX) 
The widgets that will receive focus when the user presses the corresonding direction. For keyboard navigation, pressing

"tab" will set focus to the widget in the UIFACE_Right slot, pressing "shift+tab" will set focus to the widget in the UIFACE_Left slot.

Filled in at runtime when RebuildNavigationLinks is called.

UIObject ForcedNavigationTarget[4] (EUIWidgetFace.UIFACE_MAX) 
Allows the designer to override the auto-generated focus target for each face. If a value is set for NavigationTarget,

that widget will always be set as the value for CurrentNavTarget for that face.

byte bNullOverride[4] (EUIWidgetFace.UIFACE_MAX) 
By default, a NULL value for the forced nav taget indicates that the nav target for that face should be automatically

calculated. bNullOverride indicates that a value of NULL *is* the designer specified nav target.

UIProviderFieldValue

Extends: UIProviderScriptFieldValue

Modifiers: native

This extension of UIProviderScriptFieldValue is used when resolving values for markup text found in UIStrings. This struct allows data stores to provide the UIStringNode that should be used when rendering the value for the data field represented this struct.

pointer{struct FUIStringNode} CustomStringNode 
Only used by native code; allows the data store to create and initialize string nodes manually, rather than allowing

the calling code to create a UIStringNode based on the value of StringValue or ImageValue

UIProviderScriptFieldValue

Modifiers: native

Contains the value for a property, as either text or an image. Used for allowing script-only data provider classes to resolve data fields parsed from UIStrings.

name PropertyTag 
the name of this resource; set natively after the list of available tags are retrieved from script
EUIDataProviderFieldType PropertyType 
the type of field this tag corresponds to
string StringValue 
If PropertyTag corresponds to data that should be represented as text, contains the value for this resource
Surface ImageValue 
If PropertyTag correspondsd to data that should be represented as an image, contains the value for this resource
array<int> ArrayValue 
If PropertyTag corresponds to data that should be represented as a list of untyped data, contains the value of the selected elements
UIRangeData RangeValue 
If PropertyTag corresponds to data that should be represented as value within a specific range, contains the value for this resource
OnlineSubsystem.UniqueNetId NetIdValue 
If PropertyTag corresponds to data that should be represented as a UniqueNetId, contains the value.
TextureCoordinates AtlasCoordinates 
Specifies the coordinates for ImageValue if it corresponds to a texture atlas

UIRangeData

Modifiers: native

Contains information about a data value that must be within a specific range.

float CurrentValue 
the current value of this UIRange
float MinValue 
The minimum value for this UIRange. The value of this UIRange must be greater than or equal to this value.
float MaxValue 
The maximum value for this UIRange. The value of this UIRange must be less than or equal to this value.
float NudgeValue 
Controls the amount to increment or decrement this UIRange's value when used by widgets that support "nudging".

If NudgeValue is zero, reported NudgeValue will be 1% of MaxValue - MinValue.

bool bIntRange 
Indicates whether the values in this UIRange should be treated as ints.

UIRenderingSubregion

Modifiers: native

Represents a sub-region within another render bounding region.

UIScreenValue_Extent ClampRegionSize 
(Subregion Size in UnrealEd) the size of the subregion; will be clamped to the size of the bounding region
UIScreenValue_Extent ClampRegionOffset 
(Subregion Position in UnrealEd) Only relevant if ClampRegionAlignment is "Inherit/Other". The offset for the sub-region, relative to the

beginning of the bounding region.

EUIAlignment ClampRegionAlignment 
(Subregion Alignment in UnrealEd) the alignment for the sub-region; to enable "Subregion Position", this must be set to "Inherit/Other"
bool bSubregionEnabled 
Must be true to specify a subregion

Default values:

Property Value
ClampRegionAlignment UIALIGN_Default
ClampRegionOffset
Member Value
ScaleType UIEXTENTEVAL_PercentSelf
ClampRegionSize
Member Value
ScaleType UIEXTENTEVAL_PercentSelf
Value 1.0

UIRotation

Modifiers: native

Data structure for representation the rotation of a UI Widget.

Object.Rotator Rotation 
the UE representation of the rotation of the widget
Object.Matrix TransformMatrix 
Transform matrix to use for rendering the widget.
UIAnchorPosition AnchorPosition 
point used for the origin in rotation animations
ERotationAnchor AnchorType 
defines whether the AnchorPosition is used or one of the presets

Default values:

Property Value
AnchorPosition
Member Value
ScaleType[0] (UIORIENT_Horizontal) EVALPOS_PixelOwner
ScaleType[1] (UIORIENT_Vertical) EVALPOS_PixelOwner
AnchorType RA_Center
TransformMatrix
Member Value
WPlane
Member Value
W 1.0
X 0.0
Y 0.0
Z 0.0
XPlane
Member Value
W 0.0
X 1.0
Y 0.0
Z 0.0
YPlane
Member Value
W 0.0
X 0.0
Y 1.0
Z 0.0
ZPlane
Member Value
W 0.0
X 0.0
Y 0.0
Z 1.0

UIScreenValue

Modifiers: native

Represents a screen position, either as number of pixels or percentage. Used for single dimension (point) values.

float Value 
the value, in either pixels or percentage
EPositionEvalType ScaleType 
how this UIScreenValue should be evaluated
EUIOrientation Orientation 
the orientation associated with this UIScreenValue. Used for evaluating relative or percentage scaling types

Default values:

Property Value
Orientation UIORIENT_Horizontal
ScaleType EVALPOS_PixelViewport

UIScreenValue_AutoSizeRegion

Modifiers: native

Represents the constraint region for auto-sizing text.

float Value[2] (EUIAutoSizeConstraintType.UIAUTOSIZEREGION_MAX) 
EUIExtentEvalType EvalType[2] (EUIAutoSizeConstraintType.UIAUTOSIZEREGION_MAX) 

Default values:

Property Value
EvalType[1] (UIAUTOSIZEREGION_Maximum) UIEXTENTEVAL_Pixels
EvalType[0] (UIAUTOSIZEREGION_Minimum) UIEXTENTEVAL_Pixels

UIScreenValue_Bounds

Modifiers: native

Represents a widget's position onscreen, either as number of pixels or percentage. Used for four dimension (bounds) values.

float Value[4] (EUIWidgetFace.UIFACE_MAX) 
The value for each face. Can be a pixel or percentage value.
EPositionEvalType ScaleType[4] (EUIWidgetFace.UIFACE_MAX) 
Specifies how the value for each face should be intepreted.
byte bInvalidated[4] (EUIWidgetFace.UIFACE_MAX) 
Indicates whether the position for each face has been modified since it was last resolved into screen pixels

and applied to the owning widget's RenderBounds. If this value is FALSE, it indicates that the RenderBounds for the corresponding face in the owning widget matches the position Value. A value of TRUE indicates that the position Value for that face has been changed since it was last converted into RenderBounds.

EUIAspectRatioConstraint AspectRatioMode 
Specifies whether this position's values should be adjusted to constrain to the current aspect ratio.

Fixme: ronp - can't make editconst until we've exposed this to the position panel, context menu, and/or widget drag tools

Default values:

Property Value
AspectRatioMode UIASPECTRATIO_AdjustNone
bInvalidated[3] (UIFACE_Bottom) 1
bInvalidated[0] (UIFACE_Left) 1
bInvalidated[2] (UIFACE_Right) 1
bInvalidated[1] (UIFACE_Top) 1
ScaleType[3] (UIFACE_Bottom) EVALPOS_PercentageOwner
ScaleType[0] (UIFACE_Left) EVALPOS_PercentageOwner
ScaleType[2] (UIFACE_Right) EVALPOS_PercentageOwner
ScaleType[1] (UIFACE_Top) EVALPOS_PercentageOwner
Value[3] (UIFACE_Bottom) 1.0
Value[0] (UIFACE_Left) 0.0
Value[2] (UIFACE_Right) 1.0
Value[1] (UIFACE_Top) 0.0

UIScreenValue_DockPadding

Modifiers: native

float PaddingValue[4] (EUIWidgetFace.UIFACE_MAX) 
The value for each face. Can be in pixels or a percentage of the owning widget's bounding region, depending on the

ScaleType for each face.

EUIDockPaddingEvalType PaddingScaleType[4] (EUIWidgetFace.UIFACE_MAX) 
Specifies how the Value for each face should be intepreted.

Default values:

Property Value
PaddingScaleType[3] (UIFACE_Bottom) UIPADDINGEVAL_Pixels
PaddingScaleType[0] (UIFACE_Left) UIPADDINGEVAL_Pixels
PaddingScaleType[2] (UIFACE_Right) UIPADDINGEVAL_Pixels
PaddingScaleType[1] (UIFACE_Top) UIPADDINGEVAL_Pixels
PaddingValue[3] (UIFACE_Bottom) 0.0
PaddingValue[0] (UIFACE_Left) 0.0
PaddingValue[2] (UIFACE_Right) 0.0
PaddingValue[1] (UIFACE_Top) 0.0

UIScreenValue_Extent

Modifiers: native

Very similar to UIScreenValue (which represents a point within a widget), this data structure is used for representing a sub-region of the screen, in a single dimension

float Value 
the value, in either pixels or percentage
EUIExtentEvalType ScaleType 
how this extent value should be evaluated
EUIOrientation Orientation 
the orientation associated with this extent. Used for evaluating percentage scaling types

Default values:

Property Value
Orientation UIORIENT_Horizontal
ScaleType UIEXTENTEVAL_Pixels
Value 0.0

UIScreenValue_Position

Modifiers: native

Represents a screen position, either as number of pixels or percentage. Used for double dimension (orientation) values.

float Value[2] (EUIOrientation.UIORIENT_MAX) 
EPositionEvalType ScaleType[2] (EUIOrientation.UIORIENT_MAX) 

Default values:

Property Value
ScaleType[0] (UIORIENT_Horizontal) EVALPOS_PixelOwner
ScaleType[1] (UIORIENT_Vertical) EVALPOS_PixelOwner

UIStringCaretParameters

Modifiers: native

bool bDisplayCaret 
Controls whether a caret is displayed at all
EUIDefaultPenColor CaretType 
Determines which color pen (from GameUISceneClient's DefaultUITextures) is used to render the caret
float CaretWidth 
Specifies the width of the caret, in pixels
name CaretStyle 
the tag of the style to use for displaying this caret
int CaretPosition 
The current position of the caret in the string
MaterialInterface CaretMaterial 
For carets that use parametized materials, the MaterialInterface that was created for this caret

Default values:

Property Value
CaretStyle 'DefaultCaretStyle'
CaretType UIPEN_White
CaretWidth 1.0

UIStringNode

Modifiers: native, transient

Represents a single text block (or inline image), where all of the text is the same style/font,etc. Able to calculate its extend at any time

pointer VfTable 
The vtable for this struct.
UIDataStore NodeDataStore 
The data store that was resolved from this string nodes markup. NULL if this string node doesn't

contain data store markup text.

pointer{FUIStringNode} ParentNode 
For slave nodes (such as nodes that were created as a result of wrapping or nested markup resolution), the original

node which contains the markup source text for this entire group of nodes.

string SourceText 
The original text that is represented by this string node. For example, for a UITextNode that represents

some bold text, the original text would look like: some text For an image node, the original text might look like: <img={SOME_ID}>

Fixme: hmmm, should this be changed to be a UIDataStoreBinding instead?

Object.Vector2D Extent 
Represents the width and height of this string node in pixels. Can be calculated dynamically based on

the content of the node, or set by the parent UIString to some preconfigured value.

Object.Vector2D Scaling 
A value between 0.0 and 1.0, which represents the amount of scaling the apply to the node's Extent,

where 1.0 represents 100% scaling. Typically only specified per-node for image nodes.

bool bForceWrap 
if TRUE, this node should be the last node on the current line

Default values:

Property Value
Scaling
Member Value
X 1.0
Y 1.0

UIStringNode_FormattedNodeParent

Extends: UIStringNode_Text

Modifiers: native, transient

This node is created when when a string node's resolved value is wrapped into multiple lines (or otherwise formatted). This node stores the source and render text from the pre-formatted node, but is never rendered.

(No new member variables.)

UIStringNode_Image

Extends: UIStringNode

Modifiers: native, transient

Specialized text node for rendering images in a UIString.

Object.Vector2D ForcedExtent 
The extent to use for this image node. If this value is zero, the image node uses the size of the image

to calculate its extent

TextureCoordinates TexCoords 
Texture coordinates to use when rendering the image node's texture. If the TextureCoordinates struct is all zero, the entire texture will be drawn.
UITexture RenderedImage 
A pointer to the image being displayed by this text node. The RenderedImage's ImageStyle will be

initialized from the parent UIString's default image style, then customized by any attribute markup found in the source text for this node.

UIStringNode_NestedMarkupParent

Extends: UIStringNode

Modifiers: native, transient

This node type is created when a string node's resolved value contains embedded markup text. This node stores the original markup text and the data store that was resolved from the original markup.

(No new member variables.)

UIStringNode_Text

Extends: UIStringNode

Modifiers: native, transient

Specialized text node for rendering text in a UIString.

string RenderedText 
This is the string that will actually be drawn. It doesn't contain any markup (that's stored in OriginalText),

and is the string that is used to determine the extent of this string.

UICombinedStyleData NodeStyleParameters 
The style property values to use for rendering this node. Initialized based on the default text style of the parent

UIString, then customized by any attribute markup in the source text for this node.

UIStringNodeModifier

Modifiers: native, transient

This struct contains data about the current modifications that are being applied to a string as it is being parsed, such as any inline styles, fonts, or attributes.

UICombinedStyleData CustomStyleData 
The current style data to apply to each new string node that is created

Note: when data stores need to access additional fields of this member, add accessors to this struct rather than removing the private access specifier

UICombinedStyleData BaseStyleData 
Optional style data that this UIStringNodeModifier was initialized from. If BaseStyleData is not valid, there must be at least one

UIStyle in the ModifierStack.

array<ModifierData> ModifierStack 
UIState CurrentMenuState 
The current menu state of the widget that owns the source UIString.

UIStyleOverride

Modifiers: native

This struct contains properties which override values in a style.

Object.LinearColor DrawColor 
(Draw Color in UnrealEd) Color to use for rendering the string or image. Values for each color range from 0.0 to 1.0, where

0.0 means "none of this color" and 1.0 means "full-color". Use values higher than 1.0 to create a "bloom" effect behind the text. Give DrawColor.A a value higher than 1.0 in order to bloom all colors uniformly. (requires UI post processing to be enabled - UISceneClient.bEnablePostProcess and the owning scene's bEnableScenePostProcessing properties must both be set to TRUE).

float Opacity 
(Opacity in UnrealEd) Provides a simple way for overriding the opacity of the text regardless of the DrawColor's Alpha value

A value of 0.0 means "completely transparent"; a value of 1.0 means "completely opaque". Use values greater than 1.0 to bloom the DrawColor uniformly. (requires UI post processing to be enabled - UISceneClient.bEnablePostProcess and the owning scene's bEnableScenePostProcessing properties must both be set to TRUE).

float Padding[2] (EUIOrientation.UIORIENT_MAX) 
(Padding in UnrealEd) The amount of padding to apply for each orientation, in pixels. Padding will be scaled against the value of the

DEFAULT_SIZE_Y const (currently 1024).

bool bOverrideDrawColor 
indicates whether the draw color has been customized
bool bOverrideOpacity 
Allow us to override the final alpha
bool bOverridePadding 
Indicates whether the padding has been customized

Default values:

Property Value
DrawColor
Member Value
A 1.0
B 1.0
G 1.0
R 1.0
Opacity 1.0

UIStyleReference

Modifiers: native

Encapsulates a reference to a UIStyle. UIStyleReference supports the following features:

- when a UIStyleReference does not have a valid STYLE_ID, the default style for this style reference (as determined by DefaultStyleTag + RequiredStyleClass) is assigned as the value for ResolvedStyle, but the value of AssignedStyleID is not modified. - when a UIStyleReference has a valid STYLE_ID for the value of AssignedStyleID, but there is no style with that STYLE_ID in the current skin, ResolvedStyle falls back to using the default style for this style reference, but the value of AssignedStyleID is not modified. - once a UIStyleReference has successfully resolved a style and assigned it to ResolvedStyle, it will not re-resolve the style until the style reference has been invalidated (by calling Invalidate); attempting to change the ResolvedStyle of this style reference to a style not contained in the currently active skin invalidates the ResolvedStyle.

name DefaultStyleTag 
Specifies the name of the style to use if this style reference doesn't have a valid STYLE_ID (which indicates that the designer

hasn't specified a style for this style reference

class<UIStyle_Data> RequiredStyleClass 
if non-null, limits the type of style that can be assigned to this style reference
STYLE_ID AssignedStyleID 
The STYLE_ID for the style assigned to this style reference in the game's default skin. This value is assigned when the designer

changes the style for a style reference in the UI editor. This value can be overridden by UICustomSkins.

UIStyle ResolvedStyle 
the style data object that was associated with AssignedStyleID in the currently active skin

UIStyleSubscriberReference

Modifiers: transient, native

Pairs a unique name with a UIStyleResolver reference.

not currently used.

name SubscriberId 
A unique name for identifying this StyleResolver - usually the name of the property referencing this style resolver

Used for differentiating styles from multiple UIStyleResolvers of the same class.

UIStyleResolver Subscriber 
the reference to the UIStyleResolver object

UITextAttributes

Modifiers: native

Defines a group of attributes that can be applied to text, such as bold, italic, underline, shadow, etc.

bool Bold 
Not yet implemented
bool Italic 
Not yet implemented
bool Underline 
Not yet implemented
bool Shadow 
Not yet implemented
bool Strikethrough 
Not yet implemented

UITextStyleOverride

Extends: UIStyleOverride

Modifiers: native

This struct is used to override values from a text style.

Font DrawFont 
(Draw Font in UnrealEd) The font to use for rendering text
UITextAttributes TextAttributes 
(Attributes in UnrealEd) Attributes to apply to the text, such as bold, italic, etc.
EUIAlignment TextAlignment[2] (EUIOrientation.UIORIENT_MAX) 
(Text Alignment in UnrealEd) Text alignment within the bounding region
ETextClipMode ClipMode 
(Clip Mode in UnrealEd) Determines what happens when the text doesn't fit into the bounding region.
EUIAlignment ClipAlignment 
(Clip Alignment in UnrealEd) Determines how the nodes of this string are ordered when the string is being clipped
TextAutoScaleValue AutoScaling 
(Auto Scaling in UnrealEd) Allows text to be scaled to fit within the bounding region
float DrawScale[2] (EUIOrientation.UIORIENT_MAX) 
(Text Scale in UnrealEd) Scale for rendering text
float SpacingAdjust[2] (EUIOrientation.UIORIENT_MAX) 
(Spacing Adjust in UnrealEd) Sets the horizontal spacing adjustment between characters (in pixels), as well as the vertical spacing adjustment between lines of wrapped text (in pixels).
bool bOverrideDrawFont 
indicates whether the draw font has been customized
bool bOverrideAttributes 
indicates whether the coordinates have been customized
bool bOverrideAlignment 
indicates whether the formatting has been customized
bool bOverrideClipMode 
indicates whether the clipping mode has been customized
bool bOverrideClipAlignment 
indicates whether the clip alignment has been customized
bool bOverrideAutoScale 
indicates whether the autoscale mode has been customized
bool bOverrideScale 
indicates whether the scale factor has been customized
bool bOverrideSpacingAdjust 
indicates whether the spacing adjust has been customized

Default values:

Property Value
DrawScale[0] (UIORIENT_Horizontal) 1.0
DrawScale[1] (UIORIENT_Vertical) 1.0

WIDGET_ID

Extends: Object.Guid

Modifiers: native

A unique identifier assigned to a widget.

(No new member variables.)

WrappedStringElement

Modifiers: native, transient

Used by UUIString::WrapString to track information about each line that is generated as the result of wrapping.

string Value 
the string associated with this line
Object.Vector2D LineExtent 
the size (in pixels) that it will take to render this string