1#ifndef YAZE_APP_EDITOR_DUNGEON_WORKSPACE_ROOM_GRAPHICS_CONTENT_H_
2#define YAZE_APP_EDITOR_DUNGEON_WORKSPACE_ROOM_GRAPHICS_CONTENT_H_
19#include "imgui/imgui.h"
67 std::function<absl::StatusOr<zelda3::RoomsetUsageReport>(
int)>;
78 std::string
GetId()
const override {
return "dungeon.room_graphics"; }
90 void Draw(
bool* p_open)
override;
WindowContent for displaying room graphics blocks.
void ClearPickerPreviews()
float GetPreferredWidth() const override
Get preferred width for this panel (optional)
std::array< uint8_t, 16 > preview_block_ids_
std::string assignment_error_
void DrawSharedUsage(int roomset)
void RefreshSheetPreviews(const zelda3::Room &room)
std::string GetEditorCategory() const override
Editor category this panel belongs to.
std::string GetIcon() const override
Material Design icon for this panel.
AssignmentCallback assignment_callback_
void SetAssignmentCallback(AssignmentCallback callback)
std::string GetId() const override
Unique identifier for this panel.
std::map< int, gfx::Bitmap > picker_previews_
void SetUsageCallback(UsageCallback callback)
void DetachRuntimeContext()
UsageCallback usage_callback_
void DrawAssignmentControls(const zelda3::Room &room)
void DrawAssignmentPicker(const zelda3::Room &room)
void Draw(bool *p_open) override
Draw the panel content.
std::function< absl::StatusOr< zelda3::RoomsetUsageReport >(int)> UsageCallback
gfx::IRenderer * renderer_
gui::AdaptiveSheetScaleMode sheet_scale_mode_
gfx::PaletteGroup current_palette_group_
int GetPriority() const override
Get display priority for menu ordering.
RoomGraphicsContent(int *current_room_id, DungeonRoomStore *rooms, gfx::IRenderer *renderer=nullptr)
std::function< absl::Status(int, int, int)> AssignmentCallback
bool preview_cache_valid_
~RoomGraphicsContent() override
void SetCurrentPaletteGroup(const gfx::PaletteGroup &group)
Set the current palette group for graphics rendering.
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
std::array< gfx::Bitmap, 16 > sheet_previews_
uint64_t preview_graphics_revision_
std::string GetWorkflowGroup() const override
Optional workflow group for hack-centric actions.
std::array< SheetPreviewMetadata, 16 > sheet_preview_metadata_
DungeonRoomStore * rooms_
friend struct RoomGraphicsContentTestAccess
gui::Canvas room_gfx_canvas_
Base interface for all logical window content components.
Defines an abstract interface for all rendering operations.
Modern, robust canvas for drawing and manipulating graphics.
Which graphics sheets exist, which tables use them, and which 16x16 blocks are free.
Represents a group of palettes.