The Utility
interface provides utility functions. It
looks like this:
class UIMGUI_PUBLIC_API Utility
{
public:
static void sanitiseFilepath(FString& str) noexcept;
static void keyToText(FString& text, const uint16_t& key, bool bLong) noexcept;
static FString keyToText(const uint16_t& key, bool bLong) noexcept;
static void keyToText(FString& text, const InputAction& action, bool bLong) noexcept;
static FString keyToText(const InputAction& action, bool bLong) noexcept;
// DO NOT USE THIS, THIS IS ONLY HERE FOR INTERNAL REASONS!!! REALLY KNOW WHAT YOU'RE DOING WHEN USING THIS
static Global& getGlobal() noexcept;
static void removeConsole() noexcept;
static FString toLower(String str) noexcept;
static void toLower(FString& str) noexcept;
static FString toUpper(String str) noexcept;
static void toUpper(FString& str) noexcept;
static TVector<FString> splitString(const FString& str, String token) noexcept;
static void sleep(uint64_t milliseconds) noexcept;
static KeyStringsArrType& getKeyStrings() noexcept;
};
Reference for the functions:
toUpper
- Converts a string to all uppercase characterstoLower
- Converts a string to all lowercase characterssplitString
- Splits a stringremoveConsole
- Removes the console window on WindowsgetGlobal
- Returns a reference to the internal global class, DO NOT TOUCH!!!keyToText
- Converts a key code to text in short or long form for usage in UIsanitizeFilepath
- Sanitizes file paths, such as replacing\
with/
on Windowssleep
- Puts the current thread to sleep for X millisecondsgetKeyStrings
- Returns the internal string table for each keyboard key. Don't use manually, instead use one of thekeyToText
functions
Event safety
The whole interface is flagged as event safe at
Any time
.
C API
The C API is severely downsized, by removing most string operation functions. It uses the standard C API development rules as defined here. It looks like this:
// Event Safety - Any time
(UImGui_String str);
UIMGUI_PUBLIC_API UImGui_String UImGui_Utility_sanitiseFilepath
// Event Safety - Any time
(uint16_t key, bool bLong);
UIMGUI_PUBLIC_API UImGui_String UImGui_Utility_keyToText
// Event Safety - Any time
(UImGui_CInputAction* action, bool bLong);
UIMGUI_PUBLIC_API UImGui_String UImGui_Utility_keyToTextInputAction
// Event Safety - Any time
void UImGui_Utility_removeConsole();
UIMGUI_PUBLIC_API
// Event Safety - Any time
// Sleep for X milliseconds
void UImGui_Utility_sleep(uint64_t milliseconds);
UIMGUI_PUBLIC_API
void UImGui_Utility_loadContext(void* context);
UIMGUI_PUBLIC_API
(char* str);
UIMGUI_PUBLIC_API UImGui_String UImGui_Utility_toLower(char* str);
UIMGUI_PUBLIC_API UImGui_String UImGui_Utility_toUpper
// Event Safety - Any time
* UImGui_Global_get(UImGui_CGlobal* parent); UIMGUI_PUBLIC_API UImGui_CGlobal
Most functions in the C API are available, except for some that are considered internal and are not needed.
- Home
- Beginner content
- Install guide
- Creating and using the UI components
- The Instance
- The Init Info struct
- Building better titlebar menus
- Textures
- Logging
- Unicode support
- Additional features
- Client-side bar
- Custom type definitions
- Memory management
- C API development
- Config files and Folders
- Interfaces
- Internal Event safety
- Customising the build system
- Modules system
- Collaborating with others
- Advanced content
- Developer and contributor resources
- Misc