yaze 0.2.0
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
editor.h
Go to the documentation of this file.
1#ifndef YAZE_APP_CORE_EDITOR_H
2#define YAZE_APP_CORE_EDITOR_H
3
4#include "absl/status/status.h"
5
6namespace yaze {
7namespace app {
8
13namespace editor {
14
15enum class EditorType {
19 kMusic,
22 kScreen,
23 kSprite,
26};
27
28constexpr std::array<const char*, 10> kEditorNames = {
29 "Assembly", "Dungeon", "Graphics", "Music", "Overworld",
30 "Palette", "Screen", "Sprite", "Message", "Settings",
31};
32
39class Editor {
40 public:
41 Editor() = default;
42 virtual ~Editor() = default;
43
44 virtual absl::Status Cut() = 0;
45 virtual absl::Status Copy() = 0;
46 virtual absl::Status Paste() = 0;
47
48 virtual absl::Status Undo() = 0;
49 virtual absl::Status Redo() = 0;
50
51 virtual absl::Status Update() = 0;
52
53 virtual absl::Status Find() = 0;
54
55 EditorType type() const { return type_; }
56
57 protected:
59};
60
61} // namespace editor
62} // namespace app
63} // namespace yaze
64
65#endif // YAZE_APP_CORE_EDITOR_H
Interface for editor classes.
Definition editor.h:39
virtual absl::Status Cut()=0
virtual absl::Status Undo()=0
virtual absl::Status Update()=0
virtual absl::Status Find()=0
virtual absl::Status Redo()=0
virtual absl::Status Copy()=0
virtual absl::Status Paste()=0
virtual ~Editor()=default
EditorType type() const
Definition editor.h:55
constexpr std::array< const char *, 10 > kEditorNames
Definition editor.h:28
Definition common.cc:21