imgui

2023-04-06  本文已影响0人  赵海洋

图像加载和显示

参考: 加载和显示图像的示例
ImTextureID在不同项目中指向不同的实际结构,需要Imgui用户自己加载图像。

有了ImTextureID之后,如果想在Imgui的弹出窗口外绘制前景和背景图,代码及效果如下。

if (draw_bg)
                ImGui::GetBackgroundDrawList()->AddCircle(window_center, window_size.x * 0.6f, IM_COL32(255, 0, 0, 200), 0, 10 + 4);
            if (draw_fg)
                ImGui::GetForegroundDrawList()->AddCircle(window_center, window_size.y * 0.6f, IM_COL32(0, 255, 0, 200), 0, 10);
效果图

按键

ImGuiIO::KeysDown[512] 数组储存了当前按键状态,ImGuiIO::KeyMap[ImGuiKey_COUNT]数组储存了预定义的宏ImGuiKey到KeysDown索引的映射关系,也可以使用下面函数来读取映射关系。

// 使用此函数来返回一个imgui定义的key到ImGuiIO.KeysDown的索引
IMGUI_API int GetKeyIndex(ImGuiKey imgui_key);

然后ImGuiIO::KeysDown[512] 是需要调用者自己根据当前平台及引擎自己填充,比如Reshade是使用windows消息来填充,并且索引为windows的VK_xxx。

上一篇 下一篇

猜你喜欢

热点阅读