Open Source Tomb Raider Engine
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

imconfig.h 2.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. #pragma once
  7. //---- Define your own ImVector<> type if you don't want to use the provided implementation defined in imgui.h
  8. //#include <vector>
  9. //#define ImVector std::vector
  10. //#define ImVector MyVector
  11. //---- Define assertion handler. Defaults to calling assert().
  12. #include "global.h"
  13. #define IM_ASSERT(_EXPR) assert(_EXPR)
  14. //---- Don't implement default clipboard handlers for Windows (so as not to link with OpenClipboard() and others Win32 functions)
  15. //#define IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCS
  16. //---- Include imgui_user.inl at the end of imgui.cpp so you can include code that extends ImGui using its private data/functions.
  17. //#define IMGUI_INCLUDE_IMGUI_USER_INL
  18. //---- Include imgui_user.h at the end of imgui.h
  19. //#define IMGUI_INCLUDE_IMGUI_USER_H
  20. //---- Define implicit cast operators to convert back<>forth from your math types and ImVec2/ImVec4.
  21. /*
  22. #define IM_VEC2_CLASS_EXTRA \
  23. ImVec2(const MyVec2& f) { x = f.x; y = f.y; } \
  24. operator MyVec2() const { return MyVec2(x,y); }
  25. #define IM_VEC4_CLASS_EXTRA \
  26. ImVec4(const MyVec4& f) { x = f.x; y = f.y; z = f.z; w = f.w; } \
  27. operator MyVec4() const { return MyVec4(x,y,z,w); }
  28. */
  29. //---- Freely implement extra functions within the ImGui:: namespace.
  30. //---- Declare helpers or widgets implemented in imgui_user.inl or elsewhere, so end-user doesn't need to include multiple files.
  31. //---- e.g. you can create variants of the ImGui::Value() helper for your low-level math types.
  32. /*
  33. namespace ImGui
  34. {
  35. void Value(const char* prefix, const MyVec2& v, const char* float_format = NULL);
  36. void Value(const char* prefix, const MyVec4& v, const char* float_format = NULL);
  37. }
  38. */