|
17 | 17 | //#define IM_ASSERT(_EXPR) MyAssert(_EXPR) |
18 | 18 | //#define IM_ASSERT(_EXPR) ((void)(_EXPR)) // Disable asserts |
19 | 19 |
|
20 | | -//---- Define attributes of all API symbols declarations, e.g. for DLL under Windows |
| 20 | +//---- Define attributes of all API symbols declarations, e.g. for DLL under Windows |
21 | 21 | // Using dear imgui via a shared library is not recommended, because of function call overhead and because we don't guarantee backward nor forward ABI compatibility. |
22 | 22 | //#define IMGUI_API __declspec( dllexport ) |
23 | 23 | //#define IMGUI_API __declspec( dllimport ) |
|
34 | 34 | //#define IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS // [Win32] Don't implement default clipboard handler. Won't use and link with OpenClipboard/GetClipboardData/CloseClipboard etc. |
35 | 35 | //#define IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS // [Win32] Don't implement default IME handler. Won't use and link with ImmGetContext/ImmSetCompositionWindow. |
36 | 36 | //#define IMGUI_DISABLE_WIN32_FUNCTIONS // [Win32] Won't use and link with any Win32 function (clipboard, ime). |
37 | | -//#define IMGUI_DISABLE_OSX_FUNCTIONS // [OSX] Won't use and link with any OSX function (clipboard). |
38 | | -//#define IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS // Don't implement ImFormatString/ImFormatStringV so you can implement them yourself if you don't want to link with vsnprintf. |
39 | | -//#define IMGUI_DISABLE_MATH_FUNCTIONS // Don't implement ImFabs/ImSqrt/ImPow/ImFmod/ImCos/ImSin/ImAcos/ImAtan2 wrapper so you can implement them yourself. Declare your prototypes in imconfig.h. |
| 37 | +//#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). |
| 38 | +//#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) |
| 39 | +//#define IMGUI_DISABLE_DEFAULT_MATH_FUNCTIONS // Don't implement ImFabs/ImSqrt/ImPow/ImFmod/ImCos/ImSin/ImAcos/ImAtan2 so you can implement them yourself. |
| 40 | +//#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. |
40 | 41 | //#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(). |
41 | 42 |
|
42 | 43 | //---- Include imgui_user.h at the end of imgui.h as a convenience |
|
64 | 65 | operator MyVec4() const { return MyVec4(x,y,z,w); } |
65 | 66 | */ |
66 | 67 |
|
67 | | -//---- Using 32-bits vertex indices (default is 16-bits) is one way to allow large meshes with more than 64K vertices. |
68 | | -// Your renderer back-end will need to support it (most example renderer back-ends support both 16/32-bits indices). |
69 | | -// Another way to allow large meshes while keeping 16-bits indices is to handle ImDrawCmd::VtxOffset in your renderer. |
| 68 | +//---- Use 32-bit vertex indices (default is 16-bit) is one way to allow large meshes with more than 64K vertices. |
| 69 | +// Your renderer back-end will need to support it (most example renderer back-ends support both 16/32-bit indices). |
| 70 | +// Another way to allow large meshes while keeping 16-bit indices is to handle ImDrawCmd::VtxOffset in your renderer. |
70 | 71 | // Read about ImGuiBackendFlags_RendererHasVtxOffset for details. |
71 | 72 | //#define ImDrawIdx unsigned int |
72 | 73 |
|
|
76 | 77 | //typedef void (*MyImDrawCallback)(const ImDrawList* draw_list, const ImDrawCmd* cmd, void* my_renderer_user_data); |
77 | 78 | //#define ImDrawCallback MyImDrawCallback |
78 | 79 |
|
| 80 | +//---- Debug Tools |
| 81 | +// Use 'Metrics->Tools->Item Picker' to pick widgets with the mouse and break into them for easy debugging. |
| 82 | +//#define IM_DEBUG_BREAK IM_ASSERT(0) |
| 83 | +//#define IM_DEBUG_BREAK __debugbreak() |
| 84 | +// Have the Item Picker break in the ItemAdd() function instead of ItemHoverable() - which is earlier in the code, will catch a few extra items, allow picking items other than Hovered one. |
| 85 | +// This adds a small runtime cost which is why it is not enabled by default. |
| 86 | +//#define IMGUI_DEBUG_TOOL_ITEM_PICKER_EX |
| 87 | + |
79 | 88 | //---- Tip: You can add extra functions within the ImGui:: namespace, here or in your own headers files. |
80 | 89 | /* |
81 | 90 | namespace ImGui |
|
0 commit comments