yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze_imconfig.h
Go to the documentation of this file.
1// yaze build configuration for Dear ImGui.
2//
3// cmake/dependencies/imgui.cmake passes this file as IMGUI_USER_CONFIG on the
4// ImGui target (PUBLIC), so imgui.h includes it in ImGui itself and in every
5// translation unit that links ImGui. Put yaze-wide ImGui options here instead
6// of defining them per file.
7//
8// Keep this file layout-neutral: nothing here may change the size or members
9// of an ImGui type. src/ios/main.mm is compiled by Xcode without this define,
10// and a layout-changing option (IMGUI_DISABLE_OBSOLETE_FUNCTIONS, ImDrawIdx,
11// ImTextureID) that does not reach every translation unit makes ImGui read
12// mismatched structs. Such options belong in imgui.cmake as PUBLIC definitions
13// and in src/ios/project.yml.
14//
15// IMGUI_ENABLE_TEST_ENGINE is not layout-changing as of 1.93: it adds enum
16// values and hook calls only. It must still be defined when imgui.cpp is
17// compiled for the hooks to fire, so imgui.cmake sets it on the ImGui target.
18
19#ifndef YAZE_APP_GUI_CORE_YAZE_IMCONFIG_H
20#define YAZE_APP_GUI_CORE_YAZE_IMCONFIG_H
21
22// ImVec2/ImVec4 arithmetic operators everywhere. imgui_internal.h requires
23// them, and defining them per file failed whenever imgui.h was reached first
24// through another header.
25#ifndef IMGUI_DEFINE_MATH_OPERATORS
26#define IMGUI_DEFINE_MATH_OPERATORS
27#endif
28
29#endif // YAZE_APP_GUI_CORE_YAZE_IMCONFIG_H