1#ifndef YAZE_APP_GUI_CANVAS_CANVAS_MENU_H
2#define YAZE_APP_GUI_CANVAS_CANVAS_MENU_H
9#include "imgui/imgui.h"
78 std::optional<CanvasPopupDefinition>
popup;
94 ImVec4
color = ImVec4(1, 1, 1, 1);
108 std::function<
void()> cb)
113 std::function<
void()> cb,
const std::string& sc)
128 std::function<
void()> cb,
129 std::function<
bool()> condition) {
139 const std::string& popup_id,
140 std::function<
void()> render_callback) {
178 const std::vector<CanvasMenuItem>& its)
183 const std::vector<CanvasMenuItem>& its,
213 void AddItems(
const std::vector<CanvasMenuItem>& items) {
215 section.
items = items;
232 const CanvasMenuItem& item,
233 std::function<
void(
const std::string&, std::function<
void()>)>
234 popup_opened_callback =
nullptr);
245 const CanvasMenuSection& section,
246 std::function<
void(
const std::string&, std::function<
void()>)>
247 popup_opened_callback =
nullptr);
259 const CanvasMenuDefinition& menu,
260 std::function<
void(
const std::string&, std::function<
void()>)>
261 popup_opened_callback =
nullptr);
MenuSectionPriority
Menu section priority for controlling rendering order.
void RenderCanvasMenu(const CanvasMenuDefinition &menu, std::function< void(const std::string &, std::function< void()>)> popup_opened_callback)
Render a complete menu definition.
void RenderMenuSection(const CanvasMenuSection §ion, std::function< void(const std::string &, std::function< void()>)> popup_opened_callback)
Render a menu section.
void RenderMenuItem(const CanvasMenuItem &item, std::function< void(const std::string &, std::function< void()>)> popup_opened_callback)
Render a single menu item.