Skip to main content
Version: 1.0.0-preview.42

Velaptor.NativeInterop.ImGui.IImGuiInvoker

Velaptor​

Velaptor.NativeInterop.ImGui​

IImGuiInvoker Interface​

Invokes ImGuiNET.ImGui functions.

public interface IImGuiInvoker

Derived
↳ ImGuiInvoker

Methods​

ArrowButton(string, ImGuiDir)​

Creates an arrow button.

bool ArrowButton(string str_id, ImGuiNET.ImGuiDir dir);

Parameters​

str_id System.String

The id of the button.

dir ImGuiNET.ImGuiDir

The direction of the text relative to the button.

Returns​

System.Boolean
True if the button has been clicked.

Begin(string, ImGuiWindowFlags)​

Creates a new window.

bool Begin(string name, ImGuiNET.ImGuiWindowFlags flags);

Parameters​

name System.String

The name of the window which becomes the title.

flags ImGuiNET.ImGuiWindowFlags

Various window options.

Returns​

System.Boolean
True if the window is currently open.

Remarks​

Make sure to invoke the End() method after creating a window.

BeginCombo(string, string, ImGuiComboFlags)​

Creates a combo box control.

bool BeginCombo(string label, string preview_value, ImGuiNET.ImGuiComboFlags flags);

Parameters​

label System.String

The label of the combo box.

preview_value System.String

The preview value of the selected item.

flags ImGuiNET.ImGuiComboFlags

The combobox options.

Returns​

System.Boolean
True if an item was chosen.

Button(string)​

Creates a button with the given label.

void Button(string label);

Parameters​

label System.String

The button label.

CalcTextSize(string)​

Calculates the size of the given text.

System.Numerics.Vector2 CalcTextSize(string text);

Parameters​

text System.String

The text to measure.

Returns​

System.Numerics.Vector2
The size of the text described by the X representing the width and the Y representing the height.

Checkbox(string, bool)​

Creates a checkbox with the given label.

bool Checkbox(string label, ref bool v);

Parameters​

label System.String

The checkbox label.

v System.Boolean

The state of the checkbox.

Returns​

System.Boolean
True if the checkbox state was changed.

End()​

Signifies the end of the creation of a window.

void End();

EndCombo()​

Signifies the end of the creation of a combo box.

void EndCombo();

Remarks​

This method should be called after BeginCombo(string, string, ImGuiComboFlags) if and only if BeginCombo(string, string, ImGuiComboFlags) returns true.

GetCursorPos()​

Gets the current position of the cursor.

System.Numerics.Vector2 GetCursorPos();

Returns​

System.Numerics.Vector2
The cursor position.

GetFrameHeightWithSpacing()​

Gets the current frame height with spacing.

float GetFrameHeightWithSpacing();

Returns​

System.Single
The frame height.

GetIO()​

Gets the IO object for system and ImGuiNET.ImGui related settings and information.

ImGuiNET.ImGuiIOPtr GetIO();

Returns​

ImGuiNET.ImGuiIOPtr
The config/settings/info object.

GetStyle()​

Gets the style object for ImGui.

ImGuiNET.ImGuiStylePtr GetStyle();

Returns​

ImGuiNET.ImGuiStylePtr
The style object.

GetWindowPos()​

Gets the position of a window.

System.Numerics.Vector2 GetWindowPos();

Returns​

System.Numerics.Vector2
The window position.

GetWindowSize()​

Gets the size of a window.

System.Numerics.Vector2 GetWindowSize();

Returns​

System.Numerics.Vector2
The size.

Remarks​

The size of the text described by the X representing the width and the Y representing the height.

IsItemHovered()​

Returns a value indicating whether the mouse is hovering over an item.

bool IsItemHovered();

Returns​

System.Boolean
True if the mouse is hovering over the item.

IsMouseDown(ImGuiMouseButton)​

Returns a value indicating whether the given mouse button is in the down state.

bool IsMouseDown(ImGuiNET.ImGuiMouseButton button);

Parameters​

button ImGuiNET.ImGuiMouseButton

The button to check.

Returns​

System.Boolean
True if the mouse is in the down state.

IsMouseDragging(ImGuiMouseButton)​

Gets a value indicating whether a window is being dragged by the given mouse button.

bool IsMouseDragging(ImGuiNET.ImGuiMouseButton button);

Parameters​

button ImGuiNET.ImGuiMouseButton

The mouse button.

Returns​

System.Boolean
True if the window is being dragged.

IsMouseReleased(ImGuiMouseButton)​

Returns a value indicating whether the given mouse button is in the released state.

bool IsMouseReleased(ImGuiNET.ImGuiMouseButton button);

Parameters​

button ImGuiNET.ImGuiMouseButton

The button to check.

Returns​

System.Boolean
True if the mouse is in the up state.

IsWindowFocused()​

Gets a value indicating whether a window is focused.

bool IsWindowFocused();

Returns​

System.Boolean
True if the window is in focus.

PopButtonRepeat()​

Stops the button from firing repeatedly when held down.

void PopButtonRepeat();

PopID()​

Ends the current scoped ID.

void PopID();

PopStyleColor()​

Pops the most recent style color.

void PopStyleColor();

PopStyleColor(int)​

Pops the most recent style colors a total number of times by the given count.

void PopStyleColor(int count);

Parameters​

count System.Int32

The total number of recent style color pushes to pop.

PopStyleVar(int)​

Restores previous updated styles back to their original values.

void PopStyleVar(int count);

Parameters​

count System.Int32

The number of previous applied styles to restore.

PushButtonRepeat(bool)​

Sets up a button to fire repeatedly when held down.

void PushButtonRepeat(bool repeat);

Parameters​

repeat System.Boolean

True to set the button to repeat.

PushID(string)​

Creates a new scoped ID for further control operations.

void PushID(string str_id);

Parameters​

str_id System.String

The id of the scope.

PushStyleColor(ImGuiCol, Vector4)​

Pushes the color using the given col to the current style described by the given idx.

void PushStyleColor(ImGuiNET.ImGuiCol idx, System.Numerics.Vector4 col);

Parameters​

idx ImGuiNET.ImGuiCol

The type of area of the style to push the color.

col System.Numerics.Vector4

The color to push.

PushStyleVar(ImGuiStyleVar, float)​

Temporarily modifies the style of ImGuiNET.ImGui by applying a style to a part of
the GUI dictated by the given idx with the given val.

void PushStyleVar(ImGuiNET.ImGuiStyleVar idx, float val);

Parameters​

idx ImGuiNET.ImGuiStyleVar

The style to update.

val System.Single

The value to apply.

Remarks​

Remains in effect until the PopStyleVar(int) is invoked.

SameLine()​

Sets the next control to be on the same line as the previous control.

void SameLine();

SameLine(float, float)​

Sets the next control to be on the same line as the previous control.

void SameLine(float offset_from_start_x, float spacing);

Parameters​

offset_from_start_x System.Single

The horizontal offset from the start of the previous control.

spacing System.Single

The amount of spacing between the controls.

Selectable(string, bool)​

Returns a value indicating whether the given item label is selectable.

bool Selectable(string label, bool selected);

Parameters​

label System.String

The text to be displayed for the item in the combo box.

selected System.Boolean

Determines whether the item is selected when the combo box is first displayed.

Returns​

System.Boolean
True if the item is selected.

SetCursorPos(Vector2)​

Sets the position of the cursor.

void SetCursorPos(System.Numerics.Vector2 local_pos);

Parameters​

local_pos System.Numerics.Vector2

The position of where to set the cursor.

SetItemDefaultFocus()​

Sets the default keyboard focus to the item that was previously added.

void SetItemDefaultFocus();

Remarks​

This method is typically used in conjunction with combo boxes or list boxes.

SetNextItemWidth(float)​

Sets the width of the next item.

void SetNextItemWidth(float item_width);

Parameters​

item_width System.Single

The width.

SetWindowPos(Vector2)​

Sets the position of the window.

void SetWindowPos(System.Numerics.Vector2 pos);

Parameters​

pos System.Numerics.Vector2

The position.

SetWindowSize(Vector2)​

Sets the size of the window.

void SetWindowSize(System.Numerics.Vector2 size);

Parameters​

size System.Numerics.Vector2

The window size.

Remarks​

The size of the text described by the X representing the width and the Y representing the height.

SliderFloat(string, float, float, float)​

Creates a slider scope with a float value.

bool SliderFloat(string label, ref float v, float v_min, float v_max);

Parameters​

label System.String

The label of the control.

v System.Single

The value of the control.

v_min System.Single

The minimum value.

v_max System.Single

The maximum value.

Returns​

System.Boolean
True if the button has been clicked.

Text(string)​

Creates a test control.

void Text(string fmt);

Parameters​

fmt System.String

The text to display.

Remarks​

The fmt can take syntax for formatting values such as:

  • Numerical Formatting
    You can control how numeric values are displayed, including the number of decimal places,
    whether to use scientific notation, whether to include a thousand separator, and more.
    For example, {0:F2} formats the number with two decimal places.
  • Date and Time Formatting
    You can control how DateTime values are displayed, including the date format, time format, and more.
    For example, {0:yyyy-MM-dd} formats the date as year-month-day.
  • String Padding
    You can control the width of the field in which the string is printed, and whether it’s aligned to
    the left or right. For example, {0,10} prints the string in a field of width 10, right-aligned,
    while {0,-10} prints it left-aligned.
  • Custom Formatting
    You can define your own format strings to control how certain types of objects are displayed.
    can escape a brace by adding another brace.
    ple: {{ and }} will display as { and }.