The ImGui IO table holds various I/O related properties and information about the current state of ImGui.
Within an addon, you can access the ImGui IO table via 'imgui.io'.
local io = imgui.io;
Please note! The imgui.io table differs from the main imgui functions! Please be sure to read the following notes carefully!!
The imgui.io table differs from the functions found within the 'imgui' table. The io table is implemented in a different manner and can make use of certain types such as ImVec2, ImVec4, etc. Because of this, things are used a little differently. But it should be straight forward enough.
Here are some examples of how you can make use of the imgui.io table properties:
-- Getting the display size.. (ImVec2) local display_x = imgui.io.DisplaySize.x; local display_y = imgui.io.DisplaySize.y; -- Setting the display size.. (ImVec2) imgui.io.DisplaySize = ImVec2(100, 100); -- Obtaining if the left mouse button is down.. local isMouseDown = imgui.io.MouseDown; -- Setting if the left mouse button is down manually.. local mouseDown = imgui.io.MouseDown; mouseDown = true; imgui.io.MouseDown = mouseDown;
Any property that is within an array must be done in the above manner. You cannot directly index these arrays and set their values.
You must pull the array, edit it, then reset the full array to make changes.
The table holds the following properties: