1#ifndef YAZE_APP_GUI_CANVAS_CANVAS_MODALS_H
2#define YAZE_APP_GUI_CANVAS_CANVAS_MODALS_H
11#include "imgui/imgui.h"
57 std::string
title =
"Palette Editor";
67 std::string
title =
"Color Analysis";
165 void OpenModal(
const std::string&
id, std::function<
void()> render_func);
170 void RenderMaterialIcon(
const std::string& icon_name,
const ImVec4& color = ImVec4(1, 1, 1, 1));
172 const std::string& icon,
const ImVec4& color = ImVec4(1, 1, 1, 1));
174 float* value,
float min_val,
float max_val,
175 const char* format =
"%.2f");
Represents a bitmap image optimized for SNES ROM hacking.
Represents a palette of colors for the Super Nintendo Entertainment System (SNES).
Modal dialog management for canvas operations.
std::vector< ModalState > active_modals_
bool IsAnyModalOpen() const
Check if any modal is open.
void RenderPerformanceModal(const std::string &canvas_id, const PerformanceOptions &options)
void OpenModal(const std::string &id, std::function< void()> render_func)
void ShowColorAnalysis(const std::string &canvas_id, const ColorAnalysisOptions &options)
Show color analysis modal.
void RenderColorAnalysisModal(const std::string &canvas_id, const ColorAnalysisOptions &options)
void ShowBppConversionDialog(const std::string &canvas_id, const BppConversionOptions &options)
Show BPP format conversion dialog.
void RenderPaletteEditorModal(const std::string &canvas_id, const PaletteEditorOptions &options)
void ShowPerformanceIntegration(const std::string &canvas_id, const PerformanceOptions &options)
Show performance dashboard integration.
void ShowPaletteEditor(const std::string &canvas_id, const PaletteEditorOptions &options)
Show palette editor modal.
void RenderMetricCard(const std::string &title, const std::string &value, const std::string &icon, const ImVec4 &color=ImVec4(1, 1, 1, 1))
bool IsModalOpen(const std::string &id) const
void ShowScalingControls(const std::string &canvas_id, const CanvasConfig &config, const gfx::Bitmap *bitmap=nullptr)
Show scaling controls modal.
void RenderSliderWithIcon(const std::string &label, const std::string &icon, float *value, float min_val, float max_val, const char *format="%.2f")
void RenderAdvancedPropertiesModal(const std::string &canvas_id, CanvasConfig &config, const gfx::Bitmap *bitmap)
void RenderMaterialIcon(const std::string &icon_name, const ImVec4 &color=ImVec4(1, 1, 1, 1))
void RenderBppConversionModal(const std::string &canvas_id, const BppConversionOptions &options)
void Render()
Render all active modals.
void ShowAdvancedProperties(const std::string &canvas_id, const CanvasConfig &config, const gfx::Bitmap *bitmap=nullptr)
Show advanced canvas properties modal.
void CloseModal(const std::string &id)
void RenderScalingControlsModal(const std::string &canvas_id, CanvasConfig &config, const gfx::Bitmap *bitmap)
BppFormat
BPP format enumeration for SNES graphics.
void DispatchConfigCallback(const std::function< void(const CanvasConfig &)> &callback, const CanvasConfig &config)
void DispatchScaleCallback(const std::function< void(const CanvasConfig &)> &callback, const CanvasConfig &config)
Main namespace for the application.
std::function< void(gfx::BppFormat)> on_convert
const gfx::Bitmap * bitmap
const gfx::SnesPalette * palette
Canvas configuration options for modals.
bool enable_custom_labels
std::function< void(const CanvasConfig &)> on_config_changed
std::function< void(const CanvasConfig &)> on_scale_changed
std::function< void()> render_func
const gfx::Bitmap * bitmap
const gfx::SnesPalette * palette
std::function< void()> on_palette_changed
gfx::SnesPalette * palette