1 //-----------------------------------------------------------------------------
2 // USER IMPLEMENTATION
3 // This file contains compile-time options for ImGui.
4 // Other options (memory allocation overrides, callbacks, etc.) can be set at runtime via the ImGuiIO structure - ImGui::GetIO().
5 //-----------------------------------------------------------------------------
6 
7 #pragma once
8 
9 //---- Define assertion handler. Defaults to calling assert().
10 //#define IM_ASSERT(_EXPR)  MyAssert(_EXPR)
11 
12 //---- Define attributes of all API symbols declarations, e.g. for DLL under Windows.
13 //#define IMGUI_API __declspec( dllexport )
14 //#define IMGUI_API __declspec( dllimport )
15 
16 //---- Include imgui_user.h at the end of imgui.h
17 //#define IMGUI_INCLUDE_IMGUI_USER_H
18 
19 //---- Don't implement default handlers for Windows (so as not to link with OpenClipboard() and others Win32 functions)
20 //#define IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCS
21 //#define IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCS
22 
23 //---- Don't implement help and test window functionality (ShowUserGuide()/ShowStyleEditor()/ShowTestWindow() methods will be empty)
24 //#define IMGUI_DISABLE_TEST_WINDOWS
25 
26 //---- Don't define obsolete functions names
27 //#define IMGUI_DISABLE_OBSOLETE_FUNCTIONS
28 
29 //---- Implement STB libraries in a namespace to avoid conflicts
30 //#define IMGUI_STB_NAMESPACE     ImGuiStb
31 
32 //---- Define constructor and implicit cast operators to convert back<>forth from your math types and ImVec2/ImVec4.
33 #include <Box2D/Common/b2Math.h>
34 #define IM_VEC2_CLASS_EXTRA                                                 \
35         ImVec2(const b2Vec2& f) { x = f.x; y = f.y; }                       \
36         operator b2Vec2() const { return b2Vec2(x,y); }
37 
38 /*
39 #define IM_VEC4_CLASS_EXTRA                                                 \
40         ImVec4(const MyVec4& f) { x = f.x; y = f.y; z = f.z; w = f.w; }     \
41         operator MyVec4() const { return MyVec4(x,y,z,w); }
42 */
43 
44 //---- Tip: You can add extra functions within the ImGui:: namespace, here or in your own headers files.
45 //---- e.g. create variants of the ImGui::Value() helper for your low-level math types, or your own widgets/helpers.
46 /*
47 namespace ImGui
48 {
49     void    Value(const char* prefix, const MyMatrix44& v, const char* float_format = NULL);
50 }
51 */
52 
53