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;
97 ImVec4
color = ImVec4(1, 1, 1, 1);
111 std::function<
void()> cb)
116 std::function<
void()> cb,
const std::string& sc)
131 std::function<
void()> cb,
132 std::function<
bool()> condition) {
142 const std::string& popup_id,
143 std::function<
void()> render_callback) {
181 const std::vector<CanvasMenuItem>& its)
186 const std::vector<CanvasMenuItem>& its,
216 void AddItems(
const std::vector<CanvasMenuItem>& items) {
218 section.
items = items;
235 const CanvasMenuItem& item,
236 std::function<
void(
const std::string&, std::function<
void()>)>
237 popup_opened_callback =
nullptr);
248 const CanvasMenuSection& section,
249 std::function<
void(
const std::string&, std::function<
void()>)>
250 popup_opened_callback =
nullptr);
262 const CanvasMenuDefinition& menu,
263 std::function<
void(
const std::string&, std::function<
void()>)>
264 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.