| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | // This file is part of INSTINCT, the INS Toolkit for Integrated | ||
| 2 | // Navigation Concepts and Training by the Institute of Navigation of | ||
| 3 | // the University of Stuttgart, Germany. | ||
| 4 | // | ||
| 5 | // This Source Code Form is subject to the terms of the Mozilla Public | ||
| 6 | // License, v. 2.0. If a copy of the MPL was not distributed with this | ||
| 7 | // file, You can obtain one at https://mozilla.org/MPL/2.0/. | ||
| 8 | |||
| 9 | #include "Splitter.hpp" | ||
| 10 | |||
| 11 | #include <imgui.h> | ||
| 12 | #include <imgui_internal.h> | ||
| 13 | |||
| 14 | #include <string> | ||
| 15 | |||
| 16 | ✗ | bool NAV::gui::widgets::Splitter(const char* str_id, bool split_vertically, float thickness, | |
| 17 | float* size1, float* size2, | ||
| 18 | float min_size1, float min_size2, | ||
| 19 | float splitter_long_axis_size /* = -1.0F */) | ||
| 20 | { | ||
| 21 | ✗ | const ImGuiContext& g = *GImGui; | |
| 22 | ✗ | ImGuiWindow* window = g.CurrentWindow; | |
| 23 | ✗ | ImGuiID id = window->GetID(("##Splitter" + std::string(str_id)).c_str()); | |
| 24 | ✗ | ImRect bb; | |
| 25 | ✗ | bb.Min = window->DC.CursorPos + (split_vertically ? ImVec2(*size1, 0.0F) : ImVec2(0.0F, *size1)); | |
| 26 | ✗ | bb.Max = bb.Min + ImGui::CalcItemSize(split_vertically ? ImVec2(thickness, splitter_long_axis_size) : ImVec2(splitter_long_axis_size, thickness), 0.0F, 0.0F); | |
| 27 | ✗ | return ImGui::SplitterBehavior(bb, id, split_vertically ? ImGuiAxis_X : ImGuiAxis_Y, size1, size2, min_size1, min_size2, 0.0F); | |
| 28 | } | ||
| 29 |