yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::editor::DungeonRoomGraphicsPanel Class Reference

EditorPanel for displaying room graphics blocks. More...

#include <dungeon_room_graphics_panel.h>

Inheritance diagram for yaze::editor::DungeonRoomGraphicsPanel:
Collaboration diagram for yaze::editor::DungeonRoomGraphicsPanel:

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::IRendererrenderer_ = nullptr
 
gui::Canvas room_gfx_canvas_
 
gfx::PaletteGroup current_palette_group_
 
bool palette_dirty_ = true
 

Detailed Description

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.

See also
EditorPanel - Base interface

Definition at line 27 of file dungeon_room_graphics_panel.h.

Constructor & Destructor Documentation

◆ DungeonRoomGraphicsPanel()

yaze::editor::DungeonRoomGraphicsPanel::DungeonRoomGraphicsPanel ( int * current_room_id,
std::array< zelda3::Room, 0x128 > * rooms,
gfx::IRenderer * renderer = nullptr )
inline

Definition at line 29 of file dungeon_room_graphics_panel.h.

Member Function Documentation

◆ SetCurrentPaletteGroup()

void yaze::editor::DungeonRoomGraphicsPanel::SetCurrentPaletteGroup ( const gfx::PaletteGroup & group)
inline

Set the current palette group for graphics rendering.

Parameters
groupThe 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().

◆ GetId()

std::string yaze::editor::DungeonRoomGraphicsPanel::GetId ( ) const
inlineoverridevirtual

Unique identifier for this panel.

Returns
Panel ID in format "{category}.{name}" (e.g., "dungeon.room_selector")

IDs should be:

  • Lowercase with underscores
  • Prefixed with editor category
  • Unique across all panels

Implements yaze::editor::EditorPanel.

Definition at line 50 of file dungeon_room_graphics_panel.h.

◆ GetDisplayName()

std::string yaze::editor::DungeonRoomGraphicsPanel::GetDisplayName ( ) const
inlineoverridevirtual

Human-readable name shown in menus and title bars.

Returns
Display name (e.g., "Room Selector")

Implements yaze::editor::EditorPanel.

Definition at line 51 of file dungeon_room_graphics_panel.h.

◆ GetIcon()

std::string yaze::editor::DungeonRoomGraphicsPanel::GetIcon ( ) const
inlineoverridevirtual

Material Design icon for this panel.

Returns
Icon constant (e.g., ICON_MD_LIST)

Implements yaze::editor::EditorPanel.

Definition at line 52 of file dungeon_room_graphics_panel.h.

References ICON_MD_IMAGE.

◆ GetEditorCategory()

std::string yaze::editor::DungeonRoomGraphicsPanel::GetEditorCategory ( ) const
inlineoverridevirtual

Editor category this panel belongs to.

Returns
Category name matching EditorType (e.g., "Dungeon", "Overworld")

Implements yaze::editor::EditorPanel.

Definition at line 53 of file dungeon_room_graphics_panel.h.

◆ GetPriority()

int yaze::editor::DungeonRoomGraphicsPanel::GetPriority ( ) const
inlineoverridevirtual

Get display priority for menu ordering.

Returns
Priority value (lower = higher in list, default 50)

Reimplemented from yaze::editor::EditorPanel.

Definition at line 54 of file dungeon_room_graphics_panel.h.

◆ Draw()

void yaze::editor::DungeonRoomGraphicsPanel::Draw ( bool * p_open)
inlineoverridevirtual

Member Data Documentation

◆ current_room_id_

int* yaze::editor::DungeonRoomGraphicsPanel::current_room_id_ = nullptr
private

Definition at line 155 of file dungeon_room_graphics_panel.h.

Referenced by Draw().

◆ rooms_

std::array<zelda3::Room, 0x128>* yaze::editor::DungeonRoomGraphicsPanel::rooms_ = nullptr
private

Definition at line 156 of file dungeon_room_graphics_panel.h.

Referenced by Draw().

◆ renderer_

gfx::IRenderer* yaze::editor::DungeonRoomGraphicsPanel::renderer_ = nullptr
private

Definition at line 157 of file dungeon_room_graphics_panel.h.

Referenced by Draw().

◆ room_gfx_canvas_

gui::Canvas yaze::editor::DungeonRoomGraphicsPanel::room_gfx_canvas_
private

Definition at line 158 of file dungeon_room_graphics_panel.h.

Referenced by Draw().

◆ current_palette_group_

gfx::PaletteGroup yaze::editor::DungeonRoomGraphicsPanel::current_palette_group_
private

Definition at line 161 of file dungeon_room_graphics_panel.h.

Referenced by Draw(), and SetCurrentPaletteGroup().

◆ palette_dirty_

bool yaze::editor::DungeonRoomGraphicsPanel::palette_dirty_ = true
private

Definition at line 162 of file dungeon_room_graphics_panel.h.

Referenced by Draw(), and SetCurrentPaletteGroup().


The documentation for this class was generated from the following file: