21 const float font_bar =
22 ImGui::GetFontSize() + ImGui::GetStyle().FramePadding.y * 2.0f;
30 "##DungeonStatusBar", ImVec2(-1, bar_height),
false,
31 ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoScrollWithMouse);
33 const float spacing = ImGui::GetStyle().ItemSpacing.x;
36 ImGui::AlignTextToFramePadding();
38 ImGui::SameLine(0, 4);
40 ImGui::SameLine(0, spacing * 2);
43 ImGui::TextDisabled(
"|");
44 ImGui::SameLine(0, spacing * 2);
49 ImGui::BeginDisabled();
53 snprintf(undo_tip,
sizeof(undo_tip),
"Undo%s%s",
62 ImGui::SameLine(0, 4);
65 ImGui::BeginDisabled();
69 snprintf(redo_tip,
sizeof(redo_tip),
"Redo%s%s",
80 ImGui::SameLine(0, 4);
84 ImGui::SameLine(0, spacing * 2);
87 ImGui::TextDisabled(
"|");
88 ImGui::SameLine(0, spacing * 2);
93 ImGui::SameLine(0, 4);
101 ImGui::TextDisabled(
"No selection");
103 ImGui::SameLine(0, spacing * 2);
106 ImGui::TextDisabled(
"|");
107 ImGui::SameLine(0, spacing * 2);
111 ImGui::SameLine(0, 4);
113 ImGui::SameLine(0, spacing * 2);
116 ImGui::TextDisabled(
"|");
117 ImGui::SameLine(0, spacing * 2);
122 ImGui::SameLine(0, 4);
133 snprintf(right_text,
sizeof(right_text),
ICON_MD_CIRCLE " Room 0x%03X",
136 snprintf(right_text,
sizeof(right_text),
"Room 0x%03X", state.
room_id);
139 snprintf(right_text,
sizeof(right_text),
"No room");
142 const float text_width = ImGui::CalcTextSize(right_text).x;
143 const float right_x = ImGui::GetWindowWidth() - text_width -
144 ImGui::GetStyle().WindowPadding.x;
146 ImGui::SameLine(std::max(ImGui::GetCursorPosX(), right_x));
151 if (ImGui::IsItemHovered()) {
152 ImGui::SetTooltip(
"Room has unsaved changes");
155 ImGui::TextDisabled(
"%s", right_text);