#pragma once

#include <Windows.h>
#include <d3d11.h>

#include "application/contracts/IImGuiClient.h"

namespace ta::adapters::windows::rendering::imgui_host
{
    bool init(HWND window, ID3D11Device* device, ID3D11DeviceContext* context, ta::application::IImGuiClient& client) noexcept;
    void new_frame() noexcept;
    void draw() noexcept;
    void render_draw_data() noexcept;
    void shutdown() noexcept;
    [[nodiscard]] bool initialized() noexcept;
    [[nodiscard]] bool menu_active() noexcept;
}
