44 lines
1.0 KiB
C++
44 lines
1.0 KiB
C++
// =============================================
|
|
// Aster: gui.h
|
|
// Copyright (c) 2020-2025 Anish Bhobe
|
|
// =============================================
|
|
|
|
#pragma once
|
|
|
|
#include "aster/aster.h"
|
|
#include "aster/core/device.h"
|
|
|
|
#include <imgui.h>
|
|
|
|
struct Device;
|
|
struct Instance;
|
|
struct Window;
|
|
struct Swapchain;
|
|
|
|
namespace systems
|
|
{
|
|
class Device;
|
|
class GraphicsContext;
|
|
struct Frame;
|
|
}
|
|
|
|
// ReSharper disable once CppInconsistentNaming
|
|
namespace ImGui
|
|
{
|
|
void Init(systems::Device &device, Window &window);
|
|
void Init(const Instance *context, const Device *device, const Window *window, vk::Format attachmentFormat,
|
|
u32 imageCount, u32 queueFamily, vk::Queue queue);
|
|
void Destroy(const systems::Device &device);
|
|
void Destroy(const Device *device);
|
|
|
|
void Recreate();
|
|
void StartBuild();
|
|
void EndBuild();
|
|
void Draw(vk::CommandBuffer commandBuffer, vk::Extent2D extent, vk::ImageView view);
|
|
void Draw(systems::Frame &frame, systems::GraphicsContext &context);
|
|
|
|
void PushDisable();
|
|
void PopDisable();
|
|
} // namespace ImGui
|
|
|
|
namespace gui = ImGui; |