void ImDrawRectRainbow(int x, int y, int width, int height, float flSpeed, float &flRainbow)
{
ImDrawList* windowDrawList = ImGui::GetWindowDrawList();
Color colColor(0, 0, 0, 255);
flRainbow += flSpeed;
if (flRainbow > 1.f) flRainbow = 0.f;//1 0
for (int i = 0; i < width; i = i + 1)
{
float hue = (1.f / (float)width) * i;
hue -= flRainbow;
if (hue < 0.f) hue += 1.f;
Color colRainbow = colColor.FromHSB(hue, 1.f, 1.f);
windowDrawList->AddRectFilled(ImVec2(x + i, y), ImVec2(width, height), colRainbow.GetU32());
}
}