Spore ModAPI  2.4.0
API for creating C++ mods for Spore
Namespaces | Classes | Typedefs | Enumerations | Functions
UTFWin Namespace Reference

UTFWin is the user interface system in Spore. More...

Namespaces

 ButtonFlags
 
 ButtonStateFlags
 

Classes

class  BehaviourTimeOscillator
 
class  BehaviourTimeRamp
 
class  BehaviourTimeSmoothRamp
 
class  BiStateEffect
 
class  ButtonDrawableRadio
 The standard IDrawable for a standard, simple radio or checkbox button component. More...
 
class  ButtonDrawableStandard
 The standard IDrawable for a standard, simple button component. More...
 
class  CascadeEffect
 
class  ChildrenIterator
 
class  ComboBoxDrawable
 The standard IDrawable for a combo box component. More...
 
struct  ComponentSerialization
 
class  cSPUIMessageBox
 
class  DefaultDrawable
 A class that implements all the methods of an IDrawable. More...
 
class  DefaultLayoutElement
 A default implementation of ILayoutElement. More...
 
class  DialogDrawable
 The standard IDrawable for a dialog component. More...
 
class  EventPropertyObject
 
class  EventTimeFunctionBase
 
class  FadeEffect
 
class  FrameDrawable
 FrameDrawable is a procedural drawable that renders multiple frame styles depending on the current state. More...
 
struct  FrameStyle
 
class  GlideEffect
 
class  Graphics2D
 A class that can be used to draw things in the user interface. More...
 
class  GridUnknown
 
class  IBiStateEffect
 
class  IButton
 An interface that declares all the functions needed by a button component. More...
 
class  IButtonDrawable
 This class is a type of UTFWin::IDrawable capable of rendering an UTFWin::IButton. More...
 
class  IButtonDrawableRadio
 An abstract class that has the methods that a drawable for a simple radio or checkbox button would require. More...
 
class  IButtonDrawableStandard
 An abstract class that has the methods that a drawable for a simple standard button would require. More...
 
class  ICascadeEffect
 
class  IComboBox
 
class  IComboBoxDrawable
 An abstract class that has the methods that a drawable for a combo box would require. More...
 
class  IDialogDrawable
 An abstract class that has the methods that a drawable for a dialog would require. More...
 
class  IDrawable
 A class that is capable of drawing a user interface component. More...
 
class  IEventTimeFunction
 
class  IGlideEffect
 
class  IImageDrawable
 An abstract class that has the methods that a drawable that renders an image would require. More...
 
class  IInflateEffect
 
class  ILayoutElement
 This class represents an element that is part of a user interfaces. More...
 
class  ILayoutStyle
 This class represents an object that can apply a certain layout to a given Rectangle area. More...
 
class  Image
 A layout element that represents an image. More...
 
class  ImageDrawable
 A standard IDrawable that renders an image. More...
 
class  IModulateEffect
 
class  InflateEffect
 
class  InteractiveWindow
 
class  InteractiveWinProc
 
class  IPerspectiveEffect
 
class  IRotateEffect
 
class  IScrollbarDrawable
 An abstract class that has the methods that a drawable for a scrollbar would require. More...
 
class  ISlider
 
class  ISliderDrawable
 An abstract class that has the methods that a drawable for a slider would require. More...
 
class  ISpinnerDrawable
 An abstract class that has the methods that a drawable for a spinner would require. More...
 
class  IStdDrawable
 An abstract class that has the methods that a standard drawable would require. More...
 
class  ITextEdit
 
class  ITreeNode
 
class  ITreeView
 
class  IWindow
 An interface that represents a component in the user interface. More...
 
class  IWindowManager
 
class  IWinProc
 This class is a window procedure, also known as an event/message listener. More...
 
class  LambdaFilterProc
 
class  LambdaProc
 
class  LayoutObjectsContainer
 
class  LayoutReader
 
class  Message
 
class  MessageBoxCallback
 
class  ModulateEffect
 
class  OutlineFormat
 
class  PerspectiveEffect
 
class  ProcIterator
 
struct  PropertyMethods
 
class  ProportionalLayout
 
struct  RenderParams
 A structure used to represent various parameters for the IDrawable::Paint() method, like which image to draw, the current state of the window, etc. More...
 
class  RotateEffect
 
class  ScrollbarDrawable
 The standard IDrawable for a scrollbar component. More...
 
class  SerializationService
 
struct  SerializedProperty
 
class  Serializer
 
class  SimpleLayout
 
class  SliderDrawable
 The standard IDrawable for a slider component. More...
 
class  SpinnerDrawable
 The standard IDrawable for a spinner component. More...
 
class  SporeAnimatedIconWin
 
class  SporeStdDrawable
 
class  SporeStdDrawableImageInfo
 A structure that represents an state of a SporeStdDrawable. More...
 
class  SporeTooltipWinProc
 
class  StdDrawable
 The standard IDrawable for user interactive components. More...
 
struct  StructSerialization
 
struct  TextChange
 This struct is used in kMsgTextChanged messages to represent the text in a ITextEdit. More...
 
class  TreeNode
 
class  UILayout
 An object used to load and contain user interfaces. More...
 
class  UILayoutObjects
 
class  UIRenderer
 
class  UTFWinObject
 
class  VariableWidthDrawable
 A drawable that completely fills the window of variable width with a graphic without a horizontal stretch. More...
 
class  WinButton
 
class  Window
 
class  WindowChildren
 
class  WindowProcedures
 
class  WinGrid
 
class  WinTreeView
 

Typedefs

typedef InteractiveWinProc Effect
 
typedef intrusive_list< intrusive_list_node > IWindowList_t
 
typedef function< bool(IWindow *, const Message &)> HandleUILambda_t
 
typedef bool(* StructSerializerGetter) (Serializer &dst, void *arg_4, ComponentSerialization &serialization)
 
typedef bool(* Getter) (void *arg_0, void *arg_4, ComponentSerialization &serialization)
 
typedef bool(* Setter) (void *arg_0, void *arg_4, ComponentSerialization &serialization)
 
typedef bool(* SerializerGetter) (Serializer &dst, void *arg_4, ComponentSerialization &serialization)
 
typedef SporeTooltipWinProc Tooltip
 
typedef VariableWidthDrawable ProgressBarDrawable
 

Enumerations

enum  OscillatorTimeFunction : uint32_t { OscillatorTimeFunction::Wave = 1 }
 
enum  EventFlags {
  kEventFlagBasicInput = 0x01, kEventFlagUpdate = 0x02, kEventFlagPaint = 0x04, kEventWindowChanged = 0x08,
  kEventStateChanged = 0x10, kEventRefresh = 0x40, kEventFlagAdvanced = 0x80, kEventFlagLayout = 0x108,
  kEventFlagElement = 0x400
}
 
enum  MessageType {
  kMsgKeyDown = 0x01, kMsgKeyUp = 0x02, kMsgKeyDown2 = 0x03, kMsgKeyUp2 = 0x04,
  kMsgKeyPress = 0x05, kMsgMouseDown = 0x06, kMsgMouseUp = 0x07, kMsgMouseMove = 0x08,
  kMsgMouseWheel = 0x09, kMsgRefresh = 0x0A, kMsgUpdate = 0x0C, kMsgPaint = 0x0D,
  kMsgWindowChanged = 0x0E, kMsgLayout = 0x10, kMsgElementAdded = 0x11, kMsgElementRemoved = 0x12,
  kMsgStateChanged = 0x13, kMsgCollisionDetect = 0x14, kMsgTransformed = 0x15, kMsgButtonClick = 0x17,
  kMsgButtonSelect = 0x18, kMsgMouseEnter = 0x1B, kMsgMouseLeave = 0x1C, kMsgWinProcAdded = 0x1000,
  kMsgWinProcRemoved = 0x1001, kMsgComponentActivated = 0x287259F6, kMsgTextChanged = 0x9B1552DA
}
 
enum  RefreshType { kRefreshMouse = 1, kRefreshKeyboard = 0 }
 
enum  BackgroundTiling : uint32_t { BackgroundTiling::Stretch = 0, BackgroundTiling::Tile = 1, BackgroundTiling::CenterStretch = 2, BackgroundTiling::CenterTile = 3 }
 
enum  TriggerType {
  TriggerType::Visible = 0, TriggerType::Invisible = 1, TriggerType::Enabled = 2, TriggerType::Disabled = 3,
  TriggerType::MouseFocus = 4, TriggerType::KeyboardFocus = 5, TriggerType::AnyFocus = 6, TriggerType::NoMouseFocus = 7,
  TriggerType::NoKeyboardFocus = 8, TriggerType::NoFocus = 9, TriggerType::ButtonSelected = 10, TriggerType::ButtonUnselected = 11
}
 
enum  InterpolationType { InterpolationType::Linear = 0, InterpolationType::EaseInEaseOut = 1, InterpolationType::DampedSpring = 2 }
 
enum  ButtonFlags { kBtnFlagTriggerOnDown = 0x00000001, kBtnFlagFixedWidth = 0x00000002, kBtnFlagFixedHeight = 0x00000004 }
 Flags that can be set to an UTFWin::IButton. More...
 
enum  ButtonStateFlags { kBtnStateSelected = 4 }
 Flags relted to the state of a button that can be set to an UTFWin::IButton. More...
 
enum  ComboBoxFlags { kComboBoxOutline = 0x00000001 }
 
enum  ComboBoxColors {
  ComboBoxColors::Foreground = 0, ComboBoxColors::Background = 1, ComboBoxColors::HighlightedForeground = 2, ComboBoxColors::HighlightedBackground = 3,
  ComboBoxColors::SelectedForeground = 4, ComboBoxColors::SelectedBackground = 5
}
 
enum  Scaling { Scaling::StretchImage = 1, Scaling::StretchCenter = 2, Scaling::TileImage = 3, Scaling::TileCenter = 4 }
 An enumeration used by certain drawables, that determines how to draw the images. More...
 
enum  AlignmentH { AlignmentH::Left = 1, AlignmentH::Right = 2, AlignmentH::Center = 3 }
 
enum  AlignmentV { AlignmentV::Top = 1, AlignmentV::Bottom = 2, AlignmentV::Middle = 3 }
 
enum  FontAlignmentH { FontAlignmentH::Default = 0, FontAlignmentH::Left = 1, FontAlignmentH::Right = 2, FontAlignmentH::Center = 3 }
 
enum  FontAlignmentV { FontAlignmentV::Default = 0, FontAlignmentV::Top = 1, FontAlignmentV::Bottom = 2, FontAlignmentV::Middle = 3 }
 
enum  Orientation { Orientation::Horizontal = 1, Orientation::Vertical = 2 }
 
enum  ButtonTypes { ButtonTypes::Standard = 1, ButtonTypes::Toggle = 2, ButtonTypes::Radio = 3 }
 
enum  StateIndices : uint32_t {
  StateIndices::Normal = 0, StateIndices::Disabled = 1, StateIndices::Highlighted = 2, StateIndices::Active = 3,
  StateIndices::CheckedNormal = 4, StateIndices::CheckedDisabled = 5, StateIndices::CheckedHighlighted = 6, StateIndices::CheckedActive = 7
}
 
enum  ImageTiling { ImageTiling::None = 0, ImageTiling::Standard = 1, ImageTiling::Edge = 2 }
 An enumeration used by ImageDrawable, that determine how the image is tiled. More...
 
enum  TextColors {
  TextColors::Text = 0, TextColors::Background = 1, TextColors::DisabledText = 2, TextColors::DisabledBackground = 3,
  TextColors::SelectedText = 4, TextColors::SelectedBackground = 5, TextColors::Caret = 6, TextColors::CaretBackground = 7
}
 
enum  TextEditWarpMode : uint32_t { TextEditWarpMode::SingleLine = 0, TextEditWarpMode::MultiLine = 1, TextEditWarpMode::MultiLineWordWrap = 2 }
 
enum  ScrollbarEnDis : uint32_t { ScrollbarEnDis::Never = 0, ScrollbarEnDis::AsNeeded = 1, ScrollbarEnDis::Always = 2 }
 
enum  WindowFlags {
  kWinFlagVisible = 0x1, kWinFlagEnabled = 0x2, kWinFlagClickToFront = 0x4, kWinFlagIgnoreMouse = 0x10,
  kWinFlagAlwaysInFront = 0x40, kWinFlagClip = 0x400, kWinFlagIgnoreMouseChildren = 0x1000
}
 
enum  { kStateEnabled = 1, kStateClicked = 2, kStateHover = 8 }
 
enum  LayoutAnchor { kAnchorTop = 1, kAnchorBottom = 2, kAnchorLeft = 4, kAnchorRight = 8 }
 
enum  IconDrawModes : uint32_t { IconDrawModes::ImageSize = 0, IconDrawModes::WindowSize = 1 }
 
enum  ShadowModes : uint32_t { ShadowModes::None = 0, ShadowModes::Full = 1, ShadowModes::Background = 2, ShadowModes::Icon = 3 }
 
enum  TooltipBehaviour : uint32_t { TooltipBehaviour::Default = 0, TooltipBehaviour::UnderWindow = 1, TooltipBehaviour::Offset = 2 }
 

Functions

ICoreAllocatorGetAllocator ()
 
namespace Addresses (UTFWin)
 
namespace Addresses (ButtonDrawableRadio)
 
namespace Addresses (ButtonDrawableStandard)
 
namespace Addresses (CascadeEffect)
 
namespace Addresses (ComboBoxDrawable)
 
EventFlags GetEventFlags (MessageType type)
 
namespace Addresses (cSPUIMessageBox)
 
namespace Addresses (DialogDrawable)
 
namespace Addresses (BiStateEffect)
 
namespace Addresses (FadeEffect)
 
namespace Addresses (FrameDrawable)
 
namespace Addresses (GlideEffect)
 
namespace Addresses (Graphics2D)
 
namespace Addresses (IButton)
 
namespace Addresses (Image)
 
namespace Addresses (ImageDrawable)
 
namespace Addresses (IImageDrawable)
 
namespace Addresses (InflateEffect)
 
namespace Addresses (InteractiveWinProc)
 
namespace Addresses (ITextEdit)
 
IWindowManagerWindowManager ()
 Returns the active window manager. More...
 
namespace Addresses (IWindowManager)
 
namespace Addresses (ModulateEffect)
 
namespace Addresses (PerspectiveEffect)
 
namespace Addresses (ProportionalLayout)
 
namespace Addresses (RotateEffect)
 
namespace Addresses (ScrollbarDrawable)
 
namespace Addresses (SimpleLayout)
 
namespace Addresses (SliderDrawable)
 
namespace Addresses (SpinnerDrawable)
 
namespace Addresses (SporeStdDrawable)
 
namespace Addresses (SporeStdDrawableImageInfo)
 
TooltipCreateTooltip (const wchar_t *pText, const wchar_t *pDetailedText=nullptr, const wchar_t *pLayoutName=L"tooltips", uint32_t controlID=0x3754E6C, uint32_t detailControlID=0x3754E6C)
 Creates an instance of the Tooltip class that can be used to display the given text as a tooltip. More...
 
namespace Addresses (SporeTooltipWinProc)
 
namespace Addresses (StdDrawable)
 
namespace Addresses (TreeNode)
 
namespace Addresses (UILayout)
 
namespace Addresses (UIRenderer)
 
namespace Addresses (VariableWidthDrawable)
 
namespace Addresses (Window)
 

Detailed Description

UTFWin is the user interface system in Spore.

The ModAPI defines some functionalities of this system; although a user interface can be created via coding, it is recommended to use the SPUI Editor in SporeModder instead. The ModAPI can be useful for programatically creating pieces of interfaces (like the editor categories) and listening to UI Events.

The basic unit in UTFWin is the IWindow, an abstract class that defines an area in the screen. All classes whose name start with 'Win...' are IWindows. The basic implementation is Window; there's another class called InteractiveWindow which is prepared to receive events.

Another key piece in UTFWin is IWinProc, 'window procedures'. Window procedures receive events (aka messages) received on windows, therefore they act as event listeners; they are the UI equivalent to IMessageListener.

For rendering windows, the IDrawable interface is used. Windows can only have one (or none) IDrawable object assigned; depending on the window implementation, the drawable might only be used to render certain parts.

Typedef Documentation

◆ Effect

◆ Getter

typedef bool(* UTFWin::Getter) (void *arg_0, void *arg_4, ComponentSerialization &serialization)

◆ HandleUILambda_t

typedef function<bool(IWindow*, const Message&)> UTFWin::HandleUILambda_t

◆ IWindowList_t

typedef intrusive_list<intrusive_list_node> UTFWin::IWindowList_t

◆ ProgressBarDrawable

◆ SerializerGetter

typedef bool(* UTFWin::SerializerGetter) (Serializer &dst, void *arg_4, ComponentSerialization &serialization)

◆ Setter

typedef bool(* UTFWin::Setter) (void *arg_0, void *arg_4, ComponentSerialization &serialization)

◆ StructSerializerGetter

typedef bool(* UTFWin::StructSerializerGetter) (Serializer &dst, void *arg_4, ComponentSerialization &serialization)

◆ Tooltip

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
kStateEnabled 
kStateClicked 
kStateHover 

◆ AlignmentH

enum UTFWin::AlignmentH
strong
Enumerator
Left 
Right 
Center 

◆ AlignmentV

enum UTFWin::AlignmentV
strong
Enumerator
Top 
Bottom 
Middle 

◆ BackgroundTiling

enum UTFWin::BackgroundTiling : uint32_t
strong
Enumerator
Stretch 

Stretches background image.

Tile 

Tiles image.

CenterStretch 

Stretches center of image and tiles edges,.

CenterTile 

Tiles center and edges.

◆ ButtonFlags

Flags that can be set to an UTFWin::IButton.

Enumerator
kBtnFlagTriggerOnDown 

Button considers itself clicked on mouse/key down rather than mouse/key up.

kBtnFlagFixedWidth 

Button is fixed width - this means that you can still resize the window area but the actual button width will remain fixed and and it will be positioned within a given window area. Most often used with radio and check box buttons with caption text positioned to the left or right of the button.

kBtnFlagFixedHeight 

Button is fixed height - this means that you can still resize the window area but the actual button height will remain fixed and and it will be positioned within a given window area. Most often used with radio and check box buttons with caption text positioned to the left or right of the button.

◆ ButtonStateFlags

Flags relted to the state of a button that can be set to an UTFWin::IButton.

Enumerator
kBtnStateSelected 

◆ ButtonTypes

enum UTFWin::ButtonTypes
strong
Enumerator
Standard 
Toggle 
Radio 

◆ ComboBoxColors

Enumerator
Foreground 
Background 
HighlightedForeground 
HighlightedBackground 
SelectedForeground 
SelectedBackground 

◆ ComboBoxFlags

Enumerator
kComboBoxOutline 

An outline is drawn around the control when highlighted.

◆ EventFlags

Enumerator
kEventFlagBasicInput 

A flag to listen to message types 0x01 – 0x09 and 0x17 – 0x1A, that is, all the ones related to keyboard and mouse input.

kEventFlagUpdate 

A flag to listen to the message type kMsgUpdate.

kEventFlagPaint 

A flag to listen to the message type kMsgPaint.

kEventWindowChanged 

A flag to listen to the message type kMsgWindowChanged and 0x0F.

kEventStateChanged 

A flag to listen to the message type kMsgStateChanged.

kEventRefresh 

A flag to listen to the message types kMsgRefresh, kMsgMouseEnter and kMsgMouseLeave.

kEventFlagAdvanced 

A flag to listen to the rest of message tyoes, all the ones above 0x1C.

This does not include the kMsgWinProcAdded and kMsgWinProcRemoved, which are ALWAYS listened.

kEventFlagLayout 

Some flags to listen to the message type kMsgLayout. This is composed of multiple flags.

kEventFlagElement 

A flag to listen to the message types kMsgElementAdded and kMsgElementRemoved.

◆ FontAlignmentH

Enumerator
Default 
Left 
Right 
Center 

◆ FontAlignmentV

Enumerator
Default 
Top 
Bottom 
Middle 

◆ IconDrawModes

enum UTFWin::IconDrawModes : uint32_t
strong
Enumerator
ImageSize 
WindowSize 

◆ ImageTiling

enum UTFWin::ImageTiling
strong

An enumeration used by ImageDrawable, that determine how the image is tiled.

Enumerator
None 

No tiling is used.

Standard 

The entire image is tiled to fill the space.

Edge 

Draws the edges (whcih are considered 1/3 of the space) normally and tiles the rest of the image until it fills all the space.

◆ InterpolationType

Enumerator
Linear 
EaseInEaseOut 
DampedSpring 

◆ LayoutAnchor

Enumerator
kAnchorTop 
kAnchorBottom 
kAnchorLeft 
kAnchorRight 

◆ MessageType

Enumerator
kMsgKeyDown 

Occurs when a key is pressed while the component has focus.

kMsgKeyUp 

Occurs when a key is released while the component has focus.

kMsgKeyDown2 

Occurs when a key is pressed while the component has focus.

kMsgKeyUp2 

Occurs when a key is released while the component has focus.

kMsgKeyPress 

Occurs when a character. space or backspace key is pressed while the control has focus.

kMsgMouseDown 

Occurs when the mouse pointer is over the component and a mouse button is pressed.

kMsgMouseUp 

Occurs when the mouse pointer is over the component and a mouse button is released.

kMsgMouseMove 

Occurs when the mouse pointer is moved over the component.

kMsgMouseWheel 

Occurs when the mouse wheel moves while the component has focus.

kMsgRefresh 

Occurs when the mouse pointer leaves or enters the component.

kMsgUpdate 

Occurs every game loop, not all components receive this message.

kMsgPaint 

Occurs when the component is redrawn.

kMsgWindowChanged 

Occurs when something in the window (caption, flags or drawable) changes.

kMsgLayout 

Occurs every time the window area is changed, when IWindow::Revalidate() is called.

kMsgElementAdded 

Occurs every time a window or procedure is added.

kMsgElementRemoved 

Occurs every time a window is removed.

kMsgStateChanged 

Occurs when the state of a window changes.

kMsgCollisionDetect 

Occurs when a window is checked to see if it contains the mouse pointer.

kMsgTransformed 

Occurs when a transformation is applied to a window.

kMsgButtonClick 

Occurs when a standard button is clicked.

kMsgButtonSelect 

Occurs when a toggle or radio button is selected.

kMsgMouseEnter 

Occurs when the mouse pointer enters the component.

kMsgMouseLeave 

Occurs when the mouse pointer leaves the component.

kMsgWinProcAdded 

Occurs inmediately after a IWinProc is added to a component.

This is called directly on the IWinProc.

kMsgWinProcRemoved 

Occurs inmediately after a IWinProc is removed from a component.

This is called directly on the IWinProc.

kMsgComponentActivated 
kMsgTextChanged 

Occurs when the text inside a ITextEdit is changed.

◆ Orientation

enum UTFWin::Orientation
strong
Enumerator
Horizontal 
Vertical 

◆ OscillatorTimeFunction

enum UTFWin::OscillatorTimeFunction : uint32_t
strong
Enumerator
Wave 

◆ RefreshType

Enumerator
kRefreshMouse 
kRefreshKeyboard 

◆ Scaling

enum UTFWin::Scaling
strong

An enumeration used by certain drawables, that determines how to draw the images.

Enumerator
StretchImage 

Stretch the entire image so it fills all the space.

StretchCenter 

Draw the edges of the image normally and then stretch the center.

TileImage 

Use tiling to fill the space, repeatedly rendering the image.

TileCenter 

Draw the edges of the iamge normally, and then tile the center.

◆ ScrollbarEnDis

enum UTFWin::ScrollbarEnDis : uint32_t
strong
Enumerator
Never 
AsNeeded 
Always 

◆ ShadowModes

enum UTFWin::ShadowModes : uint32_t
strong
Enumerator
None 

Don't use shadows.

Full 

Use shadows for both the background and the icon.

Background 

Only use shadows for the background.

Icon 

Only use shadows for the icon.

◆ StateIndices

enum UTFWin::StateIndices : uint32_t
strong
Enumerator
Normal 
Disabled 
Highlighted 
Active 
CheckedNormal 
CheckedDisabled 
CheckedHighlighted 
CheckedActive 

◆ TextColors

enum UTFWin::TextColors
strong
Enumerator
Text 
Background 
DisabledText 
DisabledBackground 
SelectedText 
SelectedBackground 
Caret 
CaretBackground 

◆ TextEditWarpMode

enum UTFWin::TextEditWarpMode : uint32_t
strong
Enumerator
SingleLine 

All text in one line.

MultiLine 

Wrap on hard linebreaks only.

MultiLineWordWrap 

Multiline with soft wordwrap.

◆ TooltipBehaviour

enum UTFWin::TooltipBehaviour : uint32_t
strong
Enumerator
Default 
UnderWindow 
Offset 

◆ TriggerType

enum UTFWin::TriggerType
strong
Enumerator
Visible 
Invisible 
Enabled 
Disabled 
MouseFocus 
KeyboardFocus 
AnyFocus 
NoMouseFocus 
NoKeyboardFocus 
NoFocus 
ButtonSelected 
ButtonUnselected 

◆ WindowFlags

Enumerator
kWinFlagVisible 

Flag indicating that this window is visible.

kWinFlagEnabled 

Flag to put the window into an interactive state.

kWinFlagClickToFront 

If true, window will move to front when clicked.

kWinFlagIgnoreMouse 

Flag indicating that this window can't recieve mouse events.

kWinFlagAlwaysInFront 

If true, window will always be in front of windows that don't have this flag.

kWinFlagClip 

Flag indicating whether child windows should be clipped.

kWinFlagIgnoreMouseChildren 

Flag indicating that this window's children can't recieve mouse events.

Function Documentation

◆ Addresses() [1/37]

namespace UTFWin::Addresses ( UTFWin  )

◆ Addresses() [2/37]

namespace UTFWin::Addresses ( ITextEdit  )

◆ Addresses() [3/37]

namespace UTFWin::Addresses ( FadeEffect  )

◆ Addresses() [4/37]

namespace UTFWin::Addresses ( UIRenderer  )

◆ Addresses() [5/37]

namespace UTFWin::Addresses ( ProportionalLayout  )

◆ Addresses() [6/37]

namespace UTFWin::Addresses ( IWindowManager  )

◆ Addresses() [7/37]

namespace UTFWin::Addresses ( SimpleLayout  )

◆ Addresses() [8/37]

namespace UTFWin::Addresses ( Graphics2D  )

◆ Addresses() [9/37]

namespace UTFWin::Addresses ( InflateEffect  )

◆ Addresses() [10/37]

namespace UTFWin::Addresses ( PerspectiveEffect  )

◆ Addresses() [11/37]

namespace UTFWin::Addresses ( GlideEffect  )

◆ Addresses() [12/37]

namespace UTFWin::Addresses ( ModulateEffect  )

◆ Addresses() [13/37]

namespace UTFWin::Addresses ( SporeStdDrawable  )

◆ Addresses() [14/37]

namespace UTFWin::Addresses ( VariableWidthDrawable  )

◆ Addresses() [15/37]

namespace UTFWin::Addresses ( ScrollbarDrawable  )

◆ Addresses() [16/37]

namespace UTFWin::Addresses ( SpinnerDrawable  )

◆ Addresses() [17/37]

namespace UTFWin::Addresses ( SliderDrawable  )

◆ Addresses() [18/37]

namespace UTFWin::Addresses ( RotateEffect  )

◆ Addresses() [19/37]

namespace UTFWin::Addresses ( ButtonDrawableStandard  )

◆ Addresses() [20/37]

namespace UTFWin::Addresses ( CascadeEffect  )

◆ Addresses() [21/37]

namespace UTFWin::Addresses ( ButtonDrawableRadio  )

◆ Addresses() [22/37]

namespace UTFWin::Addresses ( ComboBoxDrawable  )

◆ Addresses() [23/37]

namespace UTFWin::Addresses ( TreeNode  )

◆ Addresses() [24/37]

namespace UTFWin::Addresses ( Image  )

◆ Addresses() [25/37]

namespace UTFWin::Addresses ( FrameDrawable  )

◆ Addresses() [26/37]

namespace UTFWin::Addresses ( UILayout  )

◆ Addresses() [27/37]

namespace UTFWin::Addresses ( SporeTooltipWinProc  )

◆ Addresses() [28/37]

namespace UTFWin::Addresses ( cSPUIMessageBox  )

◆ Addresses() [29/37]

namespace UTFWin::Addresses ( SporeStdDrawableImageInfo  )

◆ Addresses() [30/37]

namespace UTFWin::Addresses ( DialogDrawable  )

◆ Addresses() [31/37]

namespace UTFWin::Addresses ( StdDrawable  )

◆ Addresses() [32/37]

namespace UTFWin::Addresses ( BiStateEffect  )

◆ Addresses() [33/37]

namespace UTFWin::Addresses ( InteractiveWinProc  )

◆ Addresses() [34/37]

namespace UTFWin::Addresses ( ImageDrawable  )

◆ Addresses() [35/37]

namespace UTFWin::Addresses ( IImageDrawable  )

◆ Addresses() [36/37]

namespace UTFWin::Addresses ( Window  )

◆ Addresses() [37/37]

namespace UTFWin::Addresses ( IButton  )

◆ CreateTooltip()

Tooltip* UTFWin::CreateTooltip ( const wchar_t *  pText,
const wchar_t *  pDetailedText = nullptr,
const wchar_t *  pLayoutName = L"tooltips",
uint32_t  controlID = 0x3754E6C,
uint32_t  detailControlID = 0x3754E6C 
)
inline

Creates an instance of the Tooltip class that can be used to display the given text as a tooltip.

Tooltips are window procedures, so you can add it to a window with IWindow::AddWinProc().

Parameters
pTextThe text the tooltip displays.
pDetailedText[Optional] The detailed text showed when the mouse has been a while hovering.
pLayoutName[Optional] The name of the UI layout used in the tooltip.
controlID[Optional] The ControlID of the window in the layout that will display the text.
detailControlID[Optional] The ControlID of the window in the layout that will display the detailed text.

◆ GetAllocator()

ICoreAllocator* UTFWin::GetAllocator ( )

◆ GetEventFlags()

EventFlags UTFWin::GetEventFlags ( MessageType  type)

◆ WindowManager()

IWindowManager* UTFWin::WindowManager ( )
inline

Returns the active window manager.

Same as IWindowManager::Get().