17 ImVec2 screenSize = ui::GetIO().DisplaySize;
21 const auto &layout = uiManager.getLayouts()[
"BuildMenuButtons"];
22 const ImVec2 buttonSize(32, 32);
23 const int spacing = 8;
24 ImVec2 windowSize((buttonSize.x + spacing) * 4 + spacing, buttonSize.y + spacing * 2);
25 ImVec2 pos(screenSize.x - windowSize.x, 0);
26 const ImRect bb(ImVec2{0, 0}, ImVec2{0, 0} + windowSize);
30 uint8_t clr, frame, frameShade, bottomFrame, bottomFrameShade;
32 bg = {128, 150, 200, 106, 84};
34 const ImVec2 timeFramePos = bb.Min + ImVec2(spacing, spacing);
36 ui::PushFont(layout.font);
37 ui::PushStyleVar(ImGuiStyleVar_WindowRounding, 0.0f);
38 ui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(0, 0));
39 ui::PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2{0, 0});
41 ui::SetNextWindowPos(pos);
42 ui::SetNextWindowSize(windowSize);
45 ui::Begin(
"##gametimemenu", &open,
46 ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoBackground | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoTitleBar |
47 ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoDecoration);
49 ImGuiWindow *window = ImGui::GetCurrentWindow();
79 ui::SetCursorPos(timeFramePos);
81 auto is_interval = [&](
float val) {
return fabs(speedFactor - val) < 0.1f ? ImGuiButtonFlags_ForcePressed : 0; };
82 if (ui::ButtonCtEx(
"||", buttonSize, is_interval(0.f)))
87 ui::SameLine(0, spacing);
88 if (ui::ButtonCtEx(
">", buttonSize, is_interval(1.f)))
93 ui::SameLine(0, spacing);
94 if (ui::ButtonCtEx(
">>", buttonSize, is_interval(2.f)))
99 ui::SameLine(0, spacing);
100 if (ui::ButtonCtEx(
">>>", buttonSize, is_interval(8.f)))