[nostalgia/core/studio] Cleanup and decouple main TileSheetEditor drawing from ImGui
This commit is contained in:
@@ -4,9 +4,8 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <imgui.h>
|
||||
|
||||
#include <nostalgia/common/point.hpp>
|
||||
#include <nostalgia/common/vec.hpp>
|
||||
#include <nostalgia/core/gfx.hpp>
|
||||
#include <nostalgia/glutils/glutils.hpp>
|
||||
#include <nostalgia/studio/studio.hpp>
|
||||
@@ -45,7 +44,7 @@ class TileSheetGrid {
|
||||
static constexpr auto GShad = R"glsl(
|
||||
{}
|
||||
layout(points) in;
|
||||
layout(line_strip, max_vertices = 9) out;
|
||||
layout(line_strip, max_vertices = 2) out;
|
||||
in vec3 gColor[];
|
||||
in vec2 gPt2[];
|
||||
out vec3 fColor;
|
||||
@@ -68,17 +67,17 @@ class TileSheetGrid {
|
||||
|
||||
ox::Error buildShader() noexcept;
|
||||
|
||||
void draw(bool update, const ImVec2 &scroll) noexcept;
|
||||
void draw(bool update, const common::Vec2 &scroll) noexcept;
|
||||
|
||||
void initBufferSet(const NostalgiaGraphic &img) noexcept;
|
||||
void initBufferSet(const common::Vec2 &paneSize, const NostalgiaGraphic &img) noexcept;
|
||||
|
||||
private:
|
||||
static void setBufferObject(common::Point pt1, common::Point pt2, Color32 c, float *vbo, const ImVec2 &pixSize) noexcept;
|
||||
static void setBufferObject(common::Point pt1, common::Point pt2, Color32 c, float *vbo, const common::Vec2 &pixSize) noexcept;
|
||||
|
||||
void setBufferObjects(const NostalgiaGraphic &img, glutils::BufferSet *bg) noexcept;
|
||||
void setBufferObjects(const common::Vec2 &paneSize, const NostalgiaGraphic &img, glutils::BufferSet *bg) noexcept;
|
||||
|
||||
[[nodiscard]]
|
||||
class ImVec2 pixelSize(const ImVec2 &paneSize = ImGui::GetContentRegionAvail()) const noexcept;
|
||||
common::Vec2 pixelSize(const common::Vec2 &paneSize) const noexcept;
|
||||
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user