yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
overworld_toolbar.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_OVERWORLD_OVERWORLD_TOOLBAR_H
2#define YAZE_APP_EDITOR_OVERWORLD_OVERWORLD_TOOLBAR_H
3
4#include <functional>
5#include <string>
6
10#include "imgui/imgui.h"
11#include "rom/rom.h"
13
14namespace yaze::editor {
15
16class PanelManager;
17
20 static constexpr const char* kCanvas = "overworld.canvas";
21 static constexpr const char* kTile16Editor = "overworld.tile16_editor";
22 static constexpr const char* kTile16Selector = "overworld.tile16_selector";
23 static constexpr const char* kTile8Selector = "overworld.tile8_selector";
24 static constexpr const char* kAreaGraphics = "overworld.area_gfx";
25 static constexpr const char* kGfxGroups = "overworld.gfx_groups";
26 static constexpr const char* kUsageStats = "overworld.usage_stats";
27 static constexpr const char* kScratchSpace = "overworld.scratch";
28 static constexpr const char* kMapProperties = "overworld.properties";
29 static constexpr const char* kV3Settings = "overworld.v3_settings";
30 static constexpr const char* kDebugWindow = "overworld.debug_window";
31};
32
34 public:
35 OverworldToolbar() = default;
36
37 void Draw(int& current_world, int& current_map, bool& current_map_lock,
38 EditingMode& current_mode, EntityEditMode& entity_edit_mode,
39 PanelManager* panel_manager, bool has_selection,
40 bool scratch_has_data, Rom* rom, zelda3::Overworld* overworld);
41
42 // Callback for when properties change
43 std::function<void()> on_property_changed;
44 std::function<void()> on_refresh_graphics;
45 std::function<void()> on_refresh_palette;
46 std::function<void()> on_refresh_map;
47
48 // Scratch space callbacks
49 std::function<void()> on_save_to_scratch;
50 std::function<void()> on_load_from_scratch;
51
52 // ROM version upgrade callback
53 std::function<void(int)> on_upgrade_rom_version;
54};
55
56} // namespace yaze::editor
57
58#endif // YAZE_APP_EDITOR_OVERWORLD_OVERWORLD_TOOLBAR_H
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
Definition rom.h:24
std::function< void()> on_refresh_map
void Draw(int &current_world, int &current_map, bool &current_map_lock, EditingMode &current_mode, EntityEditMode &entity_edit_mode, PanelManager *panel_manager, bool has_selection, bool scratch_has_data, Rom *rom, zelda3::Overworld *overworld)
std::function< void()> on_property_changed
std::function< void()> on_refresh_graphics
std::function< void()> on_load_from_scratch
std::function< void()> on_save_to_scratch
std::function< void(int)> on_upgrade_rom_version
std::function< void()> on_refresh_palette
Central registry for all editor cards with session awareness and dependency injection.
Represents the full Overworld data, light and dark world.
Definition overworld.h:217
Editors are the view controllers for the application.
Definition agent_chat.cc:23
Panel IDs for overworld editor panels.
static constexpr const char * kMapProperties
static constexpr const char * kTile8Selector
static constexpr const char * kAreaGraphics
static constexpr const char * kV3Settings
static constexpr const char * kScratchSpace
static constexpr const char * kTile16Editor
static constexpr const char * kTile16Selector
static constexpr const char * kCanvas
static constexpr const char * kDebugWindow
static constexpr const char * kGfxGroups
static constexpr const char * kUsageStats