40#ifndef GEOGRAM_GFX_IMGUI_EXT
41#define GEOGRAM_GFX_IMGUI_EXT
46#ifdef GEO_COMPILER_GCC_FAMILY
47#pragma GCC diagnostic push
48#pragma GCC diagnostic ignored "-Wsign-conversion"
49#ifdef GEO_COMPILER_CLANG
50#pragma GCC diagnostic ignored "-Wunknown-warning-option"
51#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
52#pragma GCC diagnostic ignored "-Wc++98-compat-pedantic"
56#include <geogram_gfx/third_party/imgui/imgui.h>
57#include <geogram_gfx/third_party/imgui/misc/cpp/imgui_stdlib.h>
59#if defined(GEO_COMPILER_GCC_FAMILY)
60#pragma GCC diagnostic pop
75 enum { geo_imgui_string_length = 4096 };
77 namespace FileSystem {
82typedef int ImGuiExtFileDialogFlags;
85enum ImGuiExtFileDialogFlags_ {
86 ImGuiExtFileDialogFlags_Load = 1,
87 ImGuiExtFileDialogFlags_Save = 2
92#define GEOGRAM_GFX_API
125 const char* label,
float color[3]
138 const char* label,
float color[4]
154 const char* extensions,
155 const char* filename,
156 ImGuiExtFileDialogFlags flags,
172 char* filename,
size_t filename_buff_len
205 bool GEOGRAM_GFX_API SimpleButton(
const char* label,
const ImVec2& size);
223 inline bool MenuItem(
224 const std::string& name,
const char* shortcut,
225 bool* p_selected =
nullptr,
bool enabled =
true
227 return ImGui::MenuItem(name.c_str(), shortcut, p_selected, enabled);
233 inline bool MenuItem(
234 const std::string& name,
const char* shortcut =
nullptr,
235 bool selected =
false,
bool enabled =
true
237 return ImGui::MenuItem(name.c_str(), shortcut, selected, enabled);
243 inline bool BeginMenu(
const std::string& name) {
244 return ImGui::BeginMenu(name.c_str());
250 inline bool Button(
const std::string& name) {
251 return ImGui::Button(name.c_str());
257 inline bool SimpleButton(
const std::string& label) {
258 return SimpleButton(label.c_str());
268 inline void Tooltip(
const std::string& s) {
Common include file, providing basic definitions. Should be included before anything else by all head...
#define GEOGRAM_GFX_API
Linkage declaration for geogram symbols.
Global Vorpaline namespace.