ImVec2 siz = ImGui::GetWindowSize();
ImVec2 pos = ImGui::GetWindowPos();
ImDrawList* windowDrawList = ImGui::GetWindowDrawList();
static float rainbow;
rainbow += 0.00200f;
if (rainbow > 1.f) {
rainbow = 0.f;
}
for (int i = 0; i < siz.x; i++)
{
float flvalue = (1.f / (float)siz.x) * i;
flvalue -= rainbow;
if (flvalue < 0.f)
flvalue += 1.f;
windowDrawList->AddRectFilled(ImVec2(pos.x + i, pos.y), ImVec2(pos.x + siz.x, pos.y + 22), ImColor().HSV(flvalue, 1.f, 1.f));
}