struct ImGuiPlatformIO

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();
};