Overview
TheIUiBuilder interface represents the Dalamud UI that is drawn on top of the game. It can be used to draw custom windows and overlays using ImGui.
Namespace: Dalamud.Interface
Assembly: Dalamud.dll
Events
The event that gets called when Dalamud is ready to draw your windows or overlays. When it is called, you can use static ImGui calls.
The event that is called when the game’s DirectX device is requesting you to resize your buffers.
Event that is fired when the plugin should open its configuration interface.This event is triggered when users click on the plugin’s settings button in the plugin installer.
Event that is fired when the plugin should open its main interface.This event is triggered when users click on the plugin in the plugin installer.
An action that is called when plugin UI or interface modifications are supposed to be shown. These may be fired consecutively.
An action that is called when plugin UI or interface modifications are supposed to be hidden. These may be fired consecutively.
Event fired when the default global scale changes.
Event fired when the default font changes.
Event fired when the default style changes.
Properties
Font Handles
Gets the handle to the default Dalamud font - supporting all game languages and icons.
Gets the default Dalamud icon font based on FontAwesome 5 Free solid.
Gets the default Dalamud monospaced font based on Inconsolata Regular.
Gets the default Dalamud icon font based on FontAwesome 5 free solid with a fixed width and vertically centered glyphs.
Font Properties
Gets the default font specifications.
Gets the default Dalamud font size in points.
Gets the default Dalamud font size in pixels.
Gets the default Dalamud font - supporting all game languages and icons.
Gets the default Dalamud icon font based on FontAwesome 5 Free solid.
Gets the default Dalamud monospaced font based on Inconsolata Regular.
Device and Window
Gets the game’s active Direct3D device.Returns a pointer to the instance of
IUnknown that the game is using and should be containing an ID3D11Device, or 0 if it is not available yet.Use QueryInterface with IID of IID_ID3D11Device if you want to ensure that the interface type contained within is indeed an instance of ID3D11Device.Gets the game’s main window handle.Returns the HWND of the main game window, or
0 if it is not available yet.UI Visibility Settings
Gets or sets a value indicating whether this plugin should hide its UI automatically when the game’s UI is hidden.Default:
falseGets or sets a value indicating whether this plugin should hide its UI automatically when the user toggles the UI.Default:
falseGets or sets a value indicating whether this plugin should hide its UI automatically during cutscenes.Default:
falseGets or sets a value indicating whether this plugin should hide its UI automatically while gpose is active.Default:
falseGets or sets a value indicating whether the game’s cursor should be overridden with the ImGui cursor.Default:
falseState Properties
Gets the count of Draw calls made since plugin creation.
Gets a value indicating whether a cutscene is playing.
Gets a value indicating whether this plugin should modify the game’s interface at this time.
Gets a value indicating whether UI functions can be used.
Gets the plugin-private font atlas.
Gets a value indicating whether to use “reduced motion”. This usually means that you should use less intrusive animations, or disable them entirely.
Gets a value indicating whether the user has enabled the “Enable sound effects for plugin windows” setting.This setting is effected by the in-game “System Sounds” option and volume.
Methods
Loads an ULD file that can load textures containing multiple icons in a single texture.Parameters:
uldPath(string) - The path of the requested ULD file.
Waits for UI to become available for use.Returns: A task that completes when the game’s Present has been called at least once.
Waits for UI to become available for use, then runs a function.Parameters:
func(Func<T> or Func<Task<T>>) - Function to call.runInFrameworkThread(bool) - Specifies whether to call the function from the framework thread. Default:false
Creates an isolated
IFontAtlas.Parameters:autoRebuildMode(FontAtlasAutoRebuildMode) - Specify when and how to rebuild this atlas.isGlobalScaled(bool) - Whether the fonts in the atlas is global scaled. Default:truedebugName(string?) - Name for debugging purposes. Default:null
IFontAtlas.Use this to create extra font atlases, if you want to create and dispose fonts without having to rebuild all other fonts together.If autoRebuildMode is not FontAtlasAutoRebuildMode.OnNewFrame, the font rebuilding functions must be called manually.Usage Example
See Also
- IFontHandle - Font handle interface
- ITextureProvider - Texture provider service
- ImGui Documentation - ImGui library reference