diff options
Diffstat (limited to 'editor/imgui.cpp')
| -rw-r--r-- | editor/imgui.cpp | 103 |
1 files changed, 1 insertions, 102 deletions
diff --git a/editor/imgui.cpp b/editor/imgui.cpp index d7df452d..6a700c33 100644 --- a/editor/imgui.cpp +++ b/editor/imgui.cpp @@ -1,14 +1,10 @@ #include "app.hpp" #include "floormat/main.hpp" #include "compat/format.hpp" -#include "imgui-raii.hpp" #include "src/world.hpp" #include "src/anim-atlas.hpp" -#include "floormat/main.hpp" #include "main/clickable.hpp" -#include <Corrade/Containers/Optional.h> -#include <Magnum/Math/Color.h> -#include <imgui.h> +#include "imgui-raii.hpp" namespace floormat { @@ -37,16 +33,6 @@ float app::draw_main_menu() ImGui::SetWindowFontScale(M->dpi_scale().min()); if (auto b = begin_menu("File")) { -#if 0 - ImGui::MenuItem("Open", "Ctrl+O"); - ImGui::MenuItem("Recent"); - ImGui::Separator(); - ImGui::MenuItem("Save", "Ctrl+S"); - ImGui::MenuItem("Save as...", "Ctrl+Shift+S"); - ImGui::Separator(); - ImGui::MenuItem("Close"); - ImGui::Separator(); -#endif bool do_new = false, do_quickload = false, do_quit = false; ImGui::MenuItem("New", nullptr, &do_new); ImGui::Separator(); @@ -117,47 +103,6 @@ void app::draw_ui() ImGui::EndFrame(); } -void app::draw_fps() -{ - const auto dpi = M->dpi_scale(); - const auto frame_time = M->smoothed_dt(); - char buf[16]; - const double hz = frame_time > 1e-6f ? (int)std::round(10./(double)frame_time + .05) * .1 : 9999; - snformat(buf, "{:.1f} FPS"_cf, hz); - const ImVec2 size = ImGui::CalcTextSize(buf); - ImDrawList& draw = *ImGui::GetForegroundDrawList(); - draw.AddText(nullptr, ImGui::GetCurrentContext()->FontSize, - {M->window_size()[0] - size.x - 3.5f*dpi[0], 3*dpi[1]}, ImGui::ColorConvertFloat4ToU32({0, 1, 0, 1}), buf); -#if 0 - static auto timer = fm_begin( Timeline t; t.start(); return t; ); - if (timer.currentFrameDuration() >= 2) - { - timer.start(); - std::printf("FPS %f\n", (double)(frame_time > 1e-6f ? 1/frame_time : 0)); - std::fflush(stdout); - } -#endif -} - -void app::draw_tile_under_cursor() -{ - if (!cursor.tile) - return; - - const auto dpi = M->dpi_scale(); - char buf[64]; - const auto coord = *cursor.tile; - const auto chunk = coord.chunk(); - const auto local = coord.local(); - snformat(buf, "{}:{} - {}:{}"_cf, chunk.x, chunk.y, local.x, local.y); - const auto size = ImGui::CalcTextSize(buf); - const auto window_size = M->window_size(); - - ImDrawList& draw = *ImGui::GetForegroundDrawList(); - draw.AddText(nullptr, ImGui::GetCurrentContext()->FontSize, - {window_size[0]*.5f - size.x/2, 3*dpi[1]}, (unsigned)-1, buf); -} - void app::draw_clickables() { ImDrawList& draw = *ImGui::GetForegroundDrawList(); @@ -172,52 +117,6 @@ void app::draw_clickables() } } -void app::draw_editor_pane(float main_menu_height) -{ - auto* ed = _editor.current_tile_editor(); - auto* sc = _editor.current_scenery_editor(); - fm_assert(!ed || !sc); - - const auto window_size = M->window_size(); - const auto dpi = M->dpi_scale(); - - if (const bool active = M->is_text_input_active(); - ImGui::GetIO().WantTextInput != active) - active ? M->start_text_input() : M->stop_text_input(); - - [[maybe_unused]] const raii_wrapper vars[] = { - push_style_var(ImGuiStyleVar_WindowPadding, {8*dpi[0], 8*dpi[1]}), - push_style_var(ImGuiStyleVar_WindowBorderSize, 0), - push_style_var(ImGuiStyleVar_FramePadding, {4*dpi[0], 4*dpi[1]}), - push_style_color(ImGuiCol_WindowBg, {0, 0, 0, .5}), - push_style_color(ImGuiCol_FrameBg, {0, 0, 0, 0}), - }; - - const auto& style = ImGui::GetStyle(); - - if (main_menu_height > 0) - { - const auto b = push_id("editor"); - - ImGui::SetNextWindowPos({0, main_menu_height+style.WindowPadding.y}); - ImGui::SetNextFrameWantCaptureKeyboard(false); - ImGui::SetNextWindowSize({425 * dpi[0], window_size[1] - main_menu_height - style.WindowPadding.y}); - if (const auto flags = ImGuiWindowFlags_(ImGuiWindowFlags_NoDecoration | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoSavedSettings); - auto b = begin_window({}, nullptr, flags)) - { - const auto b2 = push_id("editor-pane"); - if (auto b3 = begin_list_box("##atlases", {-FLT_MIN, -1})) - { - if (ed) - for (const auto& [k, v] : *ed) - draw_editor_tile_pane_atlas(*ed, k, v); - else if (sc) - draw_editor_scenery_pane(*sc); - } - } - } -} - const StringView app::SCENERY_POPUP_NAME = "##scenery-popup"_s; void app::do_open_popup() |
