#include "core/fullscreen_window.h"
#include "imgui.h"

bool fullscreen_window_begin(const char* id) {
    const ImGuiViewport* vp = ImGui::GetMainViewport();
    ImGui::SetNextWindowPos(vp->WorkPos);
    ImGui::SetNextWindowSize(vp->WorkSize);
    return ImGui::Begin(id, nullptr,
        ImGuiWindowFlags_NoTitleBar      |
        ImGuiWindowFlags_NoResize        |
        ImGuiWindowFlags_NoMove          |
        ImGuiWindowFlags_NoCollapse      |
        ImGuiWindowFlags_NoBringToFrontOnFocus |
        ImGuiWindowFlags_NoNavFocus      |
        // NoScrollbar evita que aparezca un scrollbar fugaz cuando el
        // contenido excede la ventana por 1-2px, lo que provocaria un
        // reflow del ancho y vibracion visible al redimensionar.
        ImGuiWindowFlags_NoScrollbar     |
        ImGuiWindowFlags_NoScrollWithMouse);
}

void fullscreen_window_end() {
    ImGui::End();
}
