1#ifndef YAZE_APP_EDITOR_OVERWORLD_TILE16_UNDO_ACTIONS_H_
2#define YAZE_APP_EDITOR_OVERWORLD_TILE16_UNDO_ACTIONS_H_
10#include "absl/status/status.h"
11#include "absl/strings/str_format.h"
55 absl::Status
Undo()
override {
57 return absl::OkStatus();
60 absl::Status
Redo()
override {
62 return absl::OkStatus();
Undoable action for edits to a single Tile16.
absl::Status Redo() override
bool CanMergeWith(const UndoAction &) const override
std::string Description() const override
Human-readable description (e.g., "Paint 12 tiles on map 5")
Tile16EditAction(Tile16Snapshot before, Tile16Snapshot after, RestoreFn restore)
absl::Status Undo() override
size_t MemoryUsage() const override
Approximate memory footprint for budget enforcement.
std::function< void(const Tile16Snapshot &)> RestoreFn
Abstract base for all undoable actions (Command pattern)
Represents a palette of colors for the Super Nintendo Entertainment System (SNES).
Tile composition of four 8x8 tiles.
Snapshot of a Tile16's editable state for undo/redo.
std::vector< uint8_t > bitmap_data
gfx::SnesPalette bitmap_palette