1#ifndef YAZE_APP_EDITOR_OVERWORLD_OVERWORLD_CANVAS_RENDERER_H
2#define YAZE_APP_EDITOR_OVERWORLD_OVERWORLD_CANVAS_RENDERER_H
5#include <unordered_map>
7#include "absl/status/status.h"
10#include "imgui/imgui.h"
Handles all canvas drawing and panel rendering for the overworld editor.
absl::Status DrawTile16Selector()
Draw the tile16 selector panel.
gui::AdaptiveSheetScaleMode area_graphics_scale_mode_
OverworldCanvasRenderer(OverworldEditor *editor)
absl::Status DrawAreaGraphics()
Draw the area graphics panel.
void DrawMapProperties()
Draw the map properties panel (sidebar-based)
void DrawOverworldProperties()
Draw the overworld properties grid (debug/info view)
void FilterHoveredEntityByMode()
In an entity mode only that entity type responds to hover/drag/menu.
OverworldEditor * editor_
Non-owning pointer to the parent editor.
gui::AdaptiveSheetScaleMode tile16_scale_mode_
void DrawOverworldCanvas()
Draw the main overworld canvas with toolbar, maps, and entities. This is the primary entry point call...
bool PrepareContextMenu(const ImVec2 &screen_position)
OverlayLayer * EnsureOverlayLayer(int map_index)
void DrawV3Settings()
Draw the v3 settings panel.
void DrawMapWithAreaLayers(int map_index, int map_x, int map_y, float scale)
std::unordered_map< int, OverlayLayer > overlay_layers_
void DrawTile8Selector()
Draw the tile8 selector panel (graphics bin)
void DrawOverworldMaps()
Render the 64 overworld map bitmaps to the canvas.
Main UI class for editing overworld maps in A Link to the Past.
Represents a bitmap image optimized for SNES ROM hacking.