1#ifndef YAZE_APP_EDITOR_DUNGEON_PANELS_SPRITE_EDITOR_PANEL_H_
2#define YAZE_APP_EDITOR_DUNGEON_PANELS_SPRITE_EDITOR_PANEL_H_
6#include <unordered_map>
22class DungeonCanvasViewer;
23class DungeonRoomStore;
37 std::string
GetId()
const override;
39 std::string
GetIcon()
const override;
44 void Draw(
bool* p_open)
override;
WindowContent for placing and managing dungeon sprites.
std::function< void(const zelda3::Sprite &) sprite_placed_callback_)
workbench::DungeonBrowserState browser_state_
std::string SpriteName(int sprite_id) const
void SetOpenSelectionInspectorCallback(std::function< void()> callback)
void DrawContent(bool show_room_sprites)
void SetCanvasViewer(DungeonCanvasViewer *viewer)
std::unordered_map< int, CachedSpritePreview > sprite_preview_cache_
std::string GetEditorCategory() const override
Editor category this panel belongs to.
DungeonRoomStore * rooms_
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
void Draw(bool *p_open) override
Draw the panel content.
std::string GetWorkflowGroup() const override
Optional workflow group for hack-centric actions.
bool MatchesFilter(int sprite_id) const
DungeonCanvasViewer * canvas_viewer_
void DrawPlacementControls()
std::function< void()> open_selection_inspector_callback_
void DrawSpriteSelector(bool show_room_sprites)
zelda3::SpritePreviewResourceCache sprite_preview_resources_
void SetSpritePlacedCallback(std::function< void(const zelda3::Sprite &)> callback)
const CachedSpritePreview & GetOrCreateSpritePreview(int sprite_id, const zelda3::Room &room)
std::string GetId() const override
Unique identifier for this panel.
uint64_t cached_graphics_revision_
int GetPriority() const override
Get display priority for menu ordering.
SpriteEditorPanel(int *current_room_id, DungeonRoomStore *rooms, DungeonCanvasViewer *canvas_viewer=nullptr)
std::string GetIcon() const override
Material Design icon for this panel.
Base interface for all logical window content components.
A class for managing sprites in the overworld and underworld.
std::vector< uint8_t > pixels