1#ifndef YAZE_APP_EDITOR_PALETTE_EDITOR_H
2#define YAZE_APP_EDITOR_PALETTE_EDITOR_H
8#include "absl/status/status.h"
14#include "imgui/imgui.h"
30 void RecordChange(
const std::string& group_name,
size_t palette_index,
38 {group_name, palette_index, color_index, original_color, new_color});
43 size_t color_index)
const {
45 if (change.group_name == group_name &&
46 change.palette_index == palette_index &&
47 change.color_index == color_index) {
48 return change.original_color;
86 absl::Status
Update()
override;
88 absl::Status
Cut()
override {
return absl::OkStatus(); }
89 absl::Status
Copy()
override {
return absl::OkStatus(); }
90 absl::Status
Paste()
override {
return absl::OkStatus(); }
91 absl::Status
Undo()
override {
return absl::OkStatus(); }
92 absl::Status
Redo()
override {
return absl::OkStatus(); }
93 absl::Status
Find()
override {
return absl::OkStatus(); }
Manage graphics group configurations in a Rom.
absl::Status DrawPaletteGroup(int category, bool right_side=false)
absl::Status ResetColorToOriginal(gfx::SnesPalette &palette, int index, const gfx::SnesPalette &originalPalette)
std::vector< gfx::SnesColor > custom_palette_
absl::Status Find() override
void DisplayCategoryTable()
ImVec4 saved_palette_[256]
void DrawModifiedColors()
absl::Status Update() override
absl::Status Undo() override
absl::Status Copy() override
absl::Status HandleColorPopup(gfx::SnesPalette &palette, int i, int j, int n)
gfx::SnesColor current_color_
palette_internal::PaletteEditorHistory history_
absl::Status Paste() override
absl::Status Cut() override
GfxGroupEditor gfx_group_editor_
absl::Status Redo() override
absl::Status EditColorInPalette(gfx::SnesPalette &palette, int index)
gfx::SnesColor & GetOriginalColor(size_t index)
gfx::SnesColor RestoreOriginalColor(const std::string &group_name, size_t palette_index, size_t color_index) const
std::deque< PaletteChange > recent_changes_
static const size_t kMaxHistorySize
gfx::SnesColor & GetModifiedColor(size_t index)
void RecordChange(const std::string &group_name, size_t palette_index, size_t color_index, const gfx::SnesColor &original_color, const gfx::SnesColor &new_color)
const std::deque< PaletteChange > & GetRecentChanges() const
Represents a palette of colors for the Super Nintendo Entertainment System (SNES).
Editors are the view controllers for the application.
absl::Status DisplayPalette(gfx::SnesPalette &palette, bool loaded)
Main namespace for the application.
gfx::SnesColor original_color