1#ifndef YAZE_APP_EDITOR_DUNGEON_PANELS_OBJECT_TILE_EDITOR_PANEL_H_
2#define YAZE_APP_EDITOR_DUNGEON_PANELS_OBJECT_TILE_EDITOR_PANEL_H_
23struct ObjectTileEditorPanelTestAccess;
39 std::string
GetId()
const override {
return "dungeon.object_tile_editor"; }
46 void Draw(
bool* p_open)
override;
50 int16_t object_id,
int room_id,
59 std::function<
void(
int,
const std::string&)> cb) {
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
Panel for editing the tile8 composition of dungeon objects.
void ClearRenderedBitmaps()
void ApplyChanges(bool confirm_shared=true)
void DrawTileProperties()
void SetCurrentPaletteGroup(const gfx::PaletteGroup &group)
int GetPriority() const override
Get display priority for menu ordering.
ObjectTileEditorPanel(gfx::IRenderer *renderer, Rom *rom)
void OpenForObject(int16_t object_id, int room_id, DungeonRoomStore *rooms)
gfx::PaletteGroup current_palette_group_
void SetObjectCreatedCallback(std::function< void(int, const std::string &)> cb)
ActionStatusTone action_status_tone_
std::string BuildWindowTitle() const
std::unique_ptr< zelda3::ObjectTileEditor > tile_editor_
void ResetTransientState()
bool HasRenderableRoomContext() const
std::function< void(int, const std::string &) on_object_created_)
void RenderObjectPreview()
int16_t current_object_id_
float GetPreferredWidth() const override
Get preferred width for this panel (optional)
void RefreshRenderedViewsFromCurrentRoom()
friend struct ObjectTileEditorPanelTestAccess
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
std::string GetEditorCategory() const override
Editor category this panel belongs to.
gfx::Bitmap object_preview_bmp_
void HandleKeyboardShortcuts()
zelda3::ObjectTileLayout current_layout_
int shared_tile_data_usage_override_
void SyncSourceSelectionFromSelectedCell()
std::string GetIcon() const override
Material Design icon for this panel.
bool HasSharedTileDataConflict() const
gfx::IRenderer * renderer_
std::string action_status_message_
int selected_source_tile_
void Draw(bool *p_open) override
Draw the panel content.
bool show_shared_confirm_
gfx::Bitmap tile8_atlas_bmp_
void OpenForNewObject(int width, int height, const std::string &filename, int16_t object_id, int room_id, DungeonRoomStore *rooms)
gui::Canvas tile_grid_canvas_
gui::Canvas source_sheet_canvas_
void SelectFirstCellIfAvailable()
std::string GetId() const override
Unique identifier for this panel.
int GetSharedTileDataUsageCount() const
DungeonRoomStore * rooms_
void SetActionStatus(ActionStatusTone tone, std::string message)
Base interface for all logical window content components.
Represents a bitmap image optimized for SNES ROM hacking.
Defines an abstract interface for all rendering operations.
Modern, robust canvas for drawing and manipulating graphics.
Represents a group of palettes.
Editable tile8 layout captured from an object's draw trace.