Overview
#include <imgui.h>
struct ImGuiPlatformIO
{
// fields
const char*(* Platform_GetClipboardTextFn)(ImGuiContext *ctx);
void(* Platform_SetClipboardTextFn)(ImGuiContext *ctx, const char *text);
void* Platform_ClipboardUserData;
bool(* Platform_OpenInShellFn)(ImGuiContext *ctx, const char *path);
void* Platform_OpenInShellUserData;
void(* Platform_SetImeDataFn)(ImGuiContext *ctx, ImGuiViewport *viewport, ImGuiPlatformImeData *data);
void* Platform_ImeUserData;
ImWchar Platform_LocaleDecimalPoint;
int Renderer_TextureMaxWidth;
int Renderer_TextureMaxHeight;
void* Renderer_RenderState;
void(* Platform_CreateWindow)(ImGuiViewport *vp);
void(* Platform_DestroyWindow)(ImGuiViewport *vp);
void(* Platform_ShowWindow)(ImGuiViewport *vp);
void(* Platform_SetWindowPos)(ImGuiViewport *vp, ImVec2 pos);
ImVec2(* Platform_GetWindowPos)(ImGuiViewport *vp);
void(* Platform_SetWindowSize)(ImGuiViewport *vp, ImVec2 size);
ImVec2(* Platform_GetWindowSize)(ImGuiViewport *vp);
ImVec2(* Platform_GetWindowFramebufferScale)(ImGuiViewport *vp);
void(* Platform_SetWindowFocus)(ImGuiViewport *vp);
bool(* Platform_GetWindowFocus)(ImGuiViewport *vp);
bool(* Platform_GetWindowMinimized)(ImGuiViewport *vp);
void(* Platform_SetWindowTitle)(ImGuiViewport *vp, const char *str);
void(* Platform_SetWindowAlpha)(ImGuiViewport *vp, float alpha);
void(* Platform_UpdateWindow)(ImGuiViewport *vp);
void(* Platform_RenderWindow)(ImGuiViewport *vp, void *render_arg);
void(* Platform_SwapBuffers)(ImGuiViewport *vp, void *render_arg);
float(* Platform_GetWindowDpiScale)(ImGuiViewport *vp);
void(* Platform_OnChangedViewport)(ImGuiViewport *vp);
ImVec4(* Platform_GetWindowWorkAreaInsets)(ImGuiViewport *vp);
int(* Platform_CreateVkSurface)(ImGuiViewport *vp, ImU64 vk_inst, const void *vk_allocators, ImU64 *out_vk_surface);
void(* Renderer_CreateWindow)(ImGuiViewport *vp);
void(* Renderer_DestroyWindow)(ImGuiViewport *vp);
void(* Renderer_SetWindowSize)(ImGuiViewport *vp, ImVec2 size);
void(* Renderer_RenderWindow)(ImGuiViewport *vp, void *render_arg);
void(* Renderer_SwapBuffers)(ImGuiViewport *vp, void *render_arg);
ImVector<ImGuiPlatformMonitor> Monitors;
ImVector<ImTextureData*> Textures;
ImVector<ImGuiViewport*> Viewports;
// methods
IMGUI_API void ClearPlatformHandlers();
IMGUI_API void ClearRendererHandlers();
};