1#ifndef YAZE_APP_EDITOR_OVERWORLD_TILE_PAINTING_MANAGER_H
2#define YAZE_APP_EDITOR_OVERWORLD_TILE_PAINTING_MANAGER_H
12#include "imgui/imgui.h"
27 std::array<gfx::Bitmap, zelda3::kNumOverworldMaps>*
maps_bmp =
nullptr;
42 std::function<void(
int map_id,
int world,
int x,
int y,
int old_tile_id)>
68 const std::vector<uint8_t>& tile_data);
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
Popup window to edit Tile16 data.
Manages tile painting, fill, selection, and eyedropper operations.
void CheckForSelectRectangle()
Draw and create the tile16 IDs that are currently selected.
TilePaintingCallbacks callbacks_
void DrawOverworldEdits()
Handle the actual drawing of a single tile (called by CheckForOverworldEdits when DrawTilemapPainter ...
void CheckForOverworldEdits()
Main entry point: check for tile edits (paint, fill, stamp).
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 ActivateFillTool()
Toggle FILL_TILE mode on/off.
void ToggleBrushTool()
Toggle between DRAW_TILE and MOUSE modes.
TilePaintingManager(const TilePaintingDependencies &deps, const TilePaintingCallbacks &callbacks)
TilePaintingDependencies deps_
Modern, robust canvas for drawing and manipulating graphics.
Represents the full Overworld data, light and dark world.
Callbacks for undo integration and map refresh.
std::function< void(int map_index)> refresh_overworld_map_on_demand
std::function< void()> scroll_blockset_to_current_tile
std::function< void()> finalize_paint_operation
std::function< void()> refresh_overworld_map
std::function< void(int map_id, int world, int x, int y, int old_tile_id)> create_undo_point
Shared state for the tile painting system.
Tile16Editor * tile16_editor
gui::Canvas * ow_map_canvas
zelda3::Overworld * overworld
std::vector< int > * selected_tile16_ids
std::array< gfx::Bitmap, zelda3::kNumOverworldMaps > * maps_bmp
gfx::Tilemap * tile16_blockset
EditingMode * current_mode
Tilemap structure for SNES tile-based graphics management.