工作中遇到要在一系列固定位置上绘制text的情况,之前采用每个text放到一个window里,通过SetWindowPos来固定位置,在实际使用时发现新增固定位置的text后会出现显示不全的问题,后经查看imgui源码,找到一个内部接口,可以在指定位置绘制text,参考代码示例如下:
// 包含其他必要头文件
#include "imgui_internal.h"
void fun(void)
{
ImGui::Begin("test", NULL, ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoBackground);
ImGui::SetWindowPos(ImVec2(100, 100), ImGuiCond_Always);
ImGui::SetWindowSize(ImVec2(500, 200), ImGuiCond_Always);
ImGui::Text("this is test");
ImGui::RenderText(ImVec2(200, 550), " helllllllo"); // 这里指定在 (200,550)处绘制text
ImGui::End();
}