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

Manages tile painting, fill, selection, and eyedropper operations. More...

#include <tile_painting_manager.h>

Collaboration diagram for yaze::editor::TilePaintingManager:

Public Member Functions

 TilePaintingManager (const TilePaintingDependencies &deps, const TilePaintingCallbacks &callbacks)
 
void CheckForOverworldEdits ()
 Main entry point: check for tile edits (paint, fill, stamp).
 
void CheckForSelectRectangle ()
 Draw and create the tile16 IDs that are currently selected.
 
void RenderUpdatedMapBitmap (const ImVec2 &click_position, const std::vector< uint8_t > &tile_data)
 Update bitmap pixels after a single tile paint.
 
bool PickTile16FromHoveredCanvas ()
 Eyedropper: pick the tile16 under the hovered canvas position.
 
void ToggleBrushTool ()
 Toggle between DRAW_TILE and MOUSE modes.
 
void ActivateFillTool ()
 Toggle FILL_TILE mode on/off.
 

Private Member Functions

void DrawOverworldEdits ()
 Handle the actual drawing of a single tile (called by CheckForOverworldEdits when DrawTilemapPainter triggers).
 

Private Attributes

TilePaintingDependencies deps_
 
TilePaintingCallbacks callbacks_
 

Detailed Description

Manages tile painting, fill, selection, and eyedropper operations.

Extracted from OverworldEditor to encapsulate the ~349 lines of tile editing logic. Operates on shared state through TilePaintingDependencies and delegates undo/refresh through TilePaintingCallbacks.

Definition at line 55 of file tile_painting_manager.h.

Constructor & Destructor Documentation

◆ TilePaintingManager()

yaze::editor::TilePaintingManager::TilePaintingManager ( const TilePaintingDependencies & deps,
const TilePaintingCallbacks & callbacks )

Definition at line 21 of file tile_painting_manager.cc.

Member Function Documentation

◆ CheckForOverworldEdits()

void yaze::editor::TilePaintingManager::CheckForOverworldEdits ( )

Main entry point: check for tile edits (paint, fill, stamp).

Definition at line 190 of file tile_painting_manager.cc.

References callbacks_, CheckForSelectRectangle(), yaze::editor::TilePaintingCallbacks::create_undo_point, yaze::editor::TilePaintingDependencies::current_map, yaze::editor::TilePaintingDependencies::current_mode, yaze::editor::TilePaintingDependencies::current_tile16, yaze::editor::TilePaintingDependencies::current_world, deps_, yaze::editor::DRAW_TILE, DrawOverworldEdits(), yaze::gui::Canvas::DrawTilemapPainter(), yaze::editor::FILL_TILE, yaze::editor::TilePaintingCallbacks::finalize_paint_operation, yaze::core::FeatureFlags::get(), yaze::zelda3::Overworld::GetTile(), yaze::gfx::GetTilemapData(), yaze::gui::Canvas::global_scale(), yaze::gui::Canvas::hover_mouse_pos(), yaze::gui::Canvas::IsMouseHovering(), yaze::core::FeatureFlags::Flags::Overworld::kEnableSpecialWorldExpansion, yaze::zelda3::kNumOverworldMaps, yaze::editor::kOverworldMapSize, yaze::editor::kTile16Size, LOG_DEBUG, LOG_ERROR, yaze::zelda3::Overworld::mutable_map_tiles(), yaze::editor::TilePaintingDependencies::overworld, yaze::core::FeatureFlags::Flags::overworld, yaze::editor::TilePaintingDependencies::ow_map_canvas, yaze::editor::TilePaintingCallbacks::refresh_overworld_map, yaze::editor::TilePaintingCallbacks::refresh_overworld_map_on_demand, RenderUpdatedMapBitmap(), yaze::editor::TilePaintingDependencies::rom, yaze::gui::Canvas::select_rect_active(), yaze::gui::Canvas::selected_points(), yaze::editor::TilePaintingDependencies::selected_tile16_ids, yaze::zelda3::Overworld::set_current_map(), yaze::zelda3::Overworld::set_current_world(), yaze::Rom::set_dirty(), and yaze::editor::TilePaintingDependencies::tile16_blockset.

◆ CheckForSelectRectangle()

◆ RenderUpdatedMapBitmap()

◆ PickTile16FromHoveredCanvas()

◆ ToggleBrushTool()

void yaze::editor::TilePaintingManager::ToggleBrushTool ( )

◆ ActivateFillTool()

void yaze::editor::TilePaintingManager::ActivateFillTool ( )

◆ DrawOverworldEdits()

Member Data Documentation

◆ deps_

◆ callbacks_

TilePaintingCallbacks yaze::editor::TilePaintingManager::callbacks_
private

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