1#ifndef YAZE_APP_GUI_CANVAS_CANVAS_MENU_H
2#define YAZE_APP_GUI_CANVAS_CANVAS_MENU_H
9#include "imgui/imgui.h"
77 std::optional<CanvasPopupDefinition>
popup;
89 ImVec4
color = ImVec4(1, 1, 1, 1);
103 std::function<
void()> cb)
108 std::function<
void()> cb,
const std::string& sc)
121 std::function<
void()> cb,
122 std::function<
bool()> condition) {
132 const std::string& popup_id,
133 std::function<
void()> render_callback) {
204 void AddItems(
const std::vector<CanvasMenuItem>& items) {
206 section.
items = items;
223 std::function<
void(
const std::string&, std::function<
void()>)>
224 popup_opened_callback =
nullptr);
235 std::function<
void(
const std::string&, std::function<
void()>)>
236 popup_opened_callback =
nullptr);
248 std::function<
void(
const std::string&, std::function<
void()>)>
249 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.
Main namespace for the application.