38//---- Define attributes of all API symbols declarations, e.g. for DLL under Windows
39// Using dear imgui via a shared library is not recommended, because of function call overhead and
40// because we don't guarantee backward nor forward ABI compatibility.
41//#define IMGUI_API __declspec( dllexport )
42//#define IMGUI_API __declspec( dllimport )
43
44//---- Don't define obsolete functions/enums/behaviors. Consider enabling from time to time after updating to avoid using soon-to-be obsolete function/names.
45//#define IMGUI_DISABLE_OBSOLETE_FUNCTIONS
46
47//---- Disable all of Dear ImGui or don't implement standard windows.
48// It is very strongly recommended to NOT disable the demo windows during development. Please read
49// comments in imgui_demo.cpp.
50//#define IMGUI_DISABLE // Disable everything: all headers and source files will be empty.
51//#define IMGUI_DISABLE_DEMO_WINDOWS // Disable demo windows: ShowDemoWindow()/ShowStyleEditor() will be empty. Not recommended.
52//#define IMGUI_DISABLE_METRICS_WINDOW // Disable debug/metrics window: ShowMetricsWindow() will be empty.
53
54//---- Don't implement some functions to reduce linkage requirements.
55//#define IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS // [Win32] Don't implement default clipboard handler. Won't use and link with OpenClipboard/GetClipboardData/CloseClipboard etc.
56//#define IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS // [Win32] Don't implement default IME handler. Won't use and link with ImmGetContext/ImmSetCompositionWindow.
57//#define IMGUI_DISABLE_WIN32_FUNCTIONS // [Win32] Won't use and link with any Win32 function (clipboard, ime).
58//#define IMGUI_ENABLE_OSX_DEFAULT_CLIPBOARD_FUNCTIONS // [OSX] Implement default OSX clipboard handler (need to link with '-framework ApplicationServices', this is why this is not the default).
59//#define IMGUI_DISABLE_DEFAULT_FORMAT_FUNCTIONS // Don't implement ImFormatString/ImFormatStringV so you can implement them yourself (e.g. if you don't want to link with vsnprintf)
60//#define IMGUI_DISABLE_DEFAULT_MATH_FUNCTIONS // Don't implement ImFabs/ImSqrt/ImPow/ImFmod/ImCos/ImSin/ImAcos/ImAtan2 so you can implement them yourself.
61//#define IMGUI_DISABLE_DEFAULT_FILE_FUNCTIONS // Don't implement ImFileOpen/ImFileClose/ImFileRead/ImFileWrite so you can implement them yourself if you don't want to link with fopen/fclose/fread/fwrite. This will also disable the LogToTTY() function.
62//#define IMGUI_DISABLE_DEFAULT_ALLOCATORS // Don't implement default allocators calling malloc()/free() to avoid linking with them. You will need to call ImGui::SetAllocatorFunctions().
63
64//---- Include imgui_user.h at the end of imgui.h as a convenience
65//#define IMGUI_INCLUDE_IMGUI_USER_H
66
67//---- Pack colors to BGRA8 instead of RGBA8 (to avoid converting from one to another)
68//#define IMGUI_USE_BGRA_PACKED_COLOR
69
70//---- Use 32-bit for ImWchar (default is 16-bit) to support full unicode code points.
71//#define IMGUI_USE_WCHAR32
72
73//---- Avoid multiple STB libraries implementations, or redefine path/filenames to prioritize another version
74// By default the embedded implementations are declared static and not available outside of imgui