EditorPanel for displaying room graphics blocks. More...
#include <dungeon_room_graphics_panel.h>


Public Member Functions | |
| DungeonRoomGraphicsPanel (int *current_room_id, std::array< zelda3::Room, 0x128 > *rooms, gfx::IRenderer *renderer=nullptr) | |
| void | SetCurrentPaletteGroup (const gfx::PaletteGroup &group) |
| Set the current palette group for graphics rendering. | |
| std::string | GetId () const override |
| Unique identifier for this panel. | |
| std::string | GetDisplayName () const override |
| Human-readable name shown in menus and title bars. | |
| std::string | GetIcon () const override |
| Material Design icon for this panel. | |
| std::string | GetEditorCategory () const override |
| Editor category this panel belongs to. | |
| int | GetPriority () const override |
| Get display priority for menu ordering. | |
| void | Draw (bool *p_open) override |
| Draw the panel content. | |
Public Member Functions inherited from yaze::editor::EditorPanel | |
| virtual | ~EditorPanel ()=default |
| virtual void | OnOpen () |
| Called when panel becomes visible. | |
| virtual void | OnClose () |
| Called when panel is hidden. | |
| virtual void | OnFocus () |
| Called when panel receives focus. | |
| virtual PanelCategory | GetPanelCategory () const |
| Get the lifecycle category for this panel. | |
| virtual bool | IsEnabled () const |
| Check if this panel is currently enabled. | |
| virtual std::string | GetDisabledTooltip () const |
| Get tooltip text when panel is disabled. | |
| virtual std::string | GetShortcutHint () const |
| Get keyboard shortcut hint for display. | |
| virtual float | GetPreferredWidth () const |
| Get preferred width for this panel (optional) | |
| virtual bool | IsVisibleByDefault () const |
| Whether this panel should be visible by default. | |
| virtual std::string | GetParentPanelId () const |
| Get parent panel ID for cascade behavior. | |
| virtual bool | CascadeCloseChildren () const |
| Whether closing this panel should close child panels. | |
Private Attributes | |
| int * | current_room_id_ = nullptr |
| std::array< zelda3::Room, 0x128 > * | rooms_ = nullptr |
| gfx::IRenderer * | renderer_ = nullptr |
| gui::Canvas | room_gfx_canvas_ |
| gfx::PaletteGroup | current_palette_group_ |
| bool | palette_dirty_ = true |
EditorPanel for displaying room graphics blocks.
This panel shows the graphics blocks used by the current room, displaying a 2x8 grid of 128x32 graphics blocks.
Definition at line 27 of file dungeon_room_graphics_panel.h.
|
inline |
Definition at line 29 of file dungeon_room_graphics_panel.h.
|
inline |
Set the current palette group for graphics rendering.
| group | The palette group from the current room |
Definition at line 41 of file dungeon_room_graphics_panel.h.
References current_palette_group_, and palette_dirty_.
Referenced by yaze::editor::DungeonEditorV2::OnRoomSelected().
|
inlineoverridevirtual |
Unique identifier for this panel.
IDs should be:
Implements yaze::editor::EditorPanel.
Definition at line 50 of file dungeon_room_graphics_panel.h.
|
inlineoverridevirtual |
Human-readable name shown in menus and title bars.
Implements yaze::editor::EditorPanel.
Definition at line 51 of file dungeon_room_graphics_panel.h.
|
inlineoverridevirtual |
Material Design icon for this panel.
Implements yaze::editor::EditorPanel.
Definition at line 52 of file dungeon_room_graphics_panel.h.
References ICON_MD_IMAGE.
|
inlineoverridevirtual |
Editor category this panel belongs to.
Implements yaze::editor::EditorPanel.
Definition at line 53 of file dungeon_room_graphics_panel.h.
|
inlineoverridevirtual |
Get display priority for menu ordering.
Reimplemented from yaze::editor::EditorPanel.
Definition at line 54 of file dungeon_room_graphics_panel.h.
|
inlineoverridevirtual |
Draw the panel content.
| p_open | Pointer to visibility flag (nullptr if not closable) |
Called by PanelManager when the panel is visible. Do NOT call ImGui::Begin/End - the PanelWindow wrapper handles that. Just draw your content directly.
Implements yaze::editor::EditorPanel.
Definition at line 60 of file dungeon_room_graphics_panel.h.
References yaze::gui::Canvas::AddImageAt(), yaze::gui::Canvas::AddRectFilledAt(), yaze::gui::Canvas::AddTextAt(), yaze::gfx::Arena::CREATE, current_palette_group_, current_room_id_, yaze::gui::CanvasFrameOptions::draw_grid, yaze::gui::Canvas::DrawTileSelector(), yaze::gfx::Arena::Get(), yaze::gfx::Arena::gfx_sheets(), yaze::gui::CanvasFrameOptions::grid_step, palette_dirty_, yaze::gfx::Arena::ProcessTextureQueue(), yaze::gfx::Arena::QueueTextureCommand(), yaze::gui::CanvasFrameOptions::render_popups, renderer_, room_gfx_canvas_, rooms_, yaze::gfx::PaletteGroup::size(), and yaze::gfx::Arena::UPDATE.
|
private |
Definition at line 155 of file dungeon_room_graphics_panel.h.
Referenced by Draw().
|
private |
Definition at line 156 of file dungeon_room_graphics_panel.h.
Referenced by Draw().
|
private |
Definition at line 157 of file dungeon_room_graphics_panel.h.
Referenced by Draw().
|
private |
Definition at line 158 of file dungeon_room_graphics_panel.h.
Referenced by Draw().
|
private |
Definition at line 161 of file dungeon_room_graphics_panel.h.
Referenced by Draw(), and SetCurrentPaletteGroup().
|
private |
Definition at line 162 of file dungeon_room_graphics_panel.h.
Referenced by Draw(), and SetCurrentPaletteGroup().