API for ImGui
For more specific examples on how to use the functions you can look through the Example Plugin
GetTyWindowHandle
Syntax
Return Value
HWND
Returns the current Ty window handle.
It will be a nullptr if the Ty window hasn't shown yet or TygerFramework had a issue getting the handle (most of the time it should be fine).
DrawingGUI
Syntax
Return Value
bool
Returns true if the TygerFramework menu is currently open.
SetImGuiFont
Sets the ImGui font to be the same as TygerFramework's main window
Syntax
Parameters
imguiFont
Type: void*
Your ImGui Font pointer.
SetTygerFrameworkImGuiElements
Doesn't Need ImGui Installed
Sets the elements from the plugin that will be drawn below the plugin section in the TygerFramework ImGui window.
Overwrites the old value if its called again
Syntax
Parameters
elements
Type: std::vector<TygerFrameworkImGuiParam>
All the elements that will be rendered in the TygerFramework ImGui window.
TygerFrameworkImGuiParam
Type: struct
- First element is a
enumfor which element to draw - Second element is a
std::stringfor if the element needs text
Enum values:
CollapsingHeader //Needs text for header nameText //Needs textTextWrapped //Needs textSameLine //No textNewLine //No textSpacing //No textSetTooltip //Needs text for tooltip (Adds a tooltip to the previous element)TreePush //Needs text for tree internal nameTreePop //No text (Make sure to call when done after using TreePush)
Usage Example
void GUI::SetFrameworkImGuiElements()
{
namespace fs = std::filesystem;
//Setting the values for GUI to render on the TygerFramework window
//Only a few basic elements available as its mainly intended to
//just be for adding basic stuff to the TygerFramework window
std::vector<TygerFrameworkImGuiParam> TygerFrameworkImguiElements = {
{CollapsingHeader, "Example Plugin"},
{Text, "Files in Ty Directory Example"},
{SameLine},
{Text, "(?)"},
{SetTooltip, "Just an Example of Iterating and Adding Elements"},
{TreePush, "Example Plugin"} };
//Looping through elements and adding them
//as a example of iterating and adding elements
for (auto&& entry : fs::directory_iterator{ fs::current_path() }) {
auto&& path = entry.path();
TygerFrameworkImguiElements.push_back({ Text, path.filename().string()});
}
TygerFrameworkImguiElements.push_back({ TreePop });
API::SetTygerFrameworkImGuiElements(TygerFrameworkImguiElements);
API::LogPluginMessage("Set TygerFramework ImGui Functions");
}