yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
dungeon_workbench_toolbar.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_DUNGEON_WIDGETS_DUNGEON_WORKBENCH_TOOLBAR_H
2#define YAZE_APP_EDITOR_DUNGEON_WIDGETS_DUNGEON_WORKBENCH_TOOLBAR_H
3
4#include <cstddef>
5#include <deque>
6#include <functional>
7
9
10namespace yaze::editor {
11
12class DungeonCanvasViewer;
13
17
18 int* current_room_id = nullptr;
19 int* previous_room_id = nullptr;
20 bool* split_view_enabled = nullptr;
21 int* compare_room_id = nullptr;
22
25
26 std::function<void(int)> on_room_selected;
27 std::function<const std::deque<int>&()> get_recent_rooms;
28 std::function<void(bool)> set_workflow_mode;
29
30 char* compare_search_buf = nullptr;
32};
33
34// Draws the stitched "Workbench" toolbar (room nav + compare + key view
35// toggles). Intended to replace per-canvas header chrome in Workbench mode.
37 public:
38 // Keep adjacency navigation available by default; only hide it when the
39 // stitched toolbar is genuinely too narrow to fit cleanly.
40 static bool ShouldShowInlineRoomNav(float toolbar_width);
41
42 // Returns true when the user requested switching out of Workbench mode.
43 // Caller should apply that mode change after finishing current ImGui scopes.
44 static bool Draw(const DungeonWorkbenchToolbarParams& params);
45};
46
47} // namespace yaze::editor
48
49#endif // YAZE_APP_EDITOR_DUNGEON_WIDGETS_DUNGEON_WORKBENCH_TOOLBAR_H
static bool Draw(const DungeonWorkbenchToolbarParams &params)
static bool ShouldShowInlineRoomNav(float toolbar_width)
Editors are the view controllers for the application.
std::function< const std::deque< int > &()> get_recent_rooms