Browse Source

Added IMGUI_USER_CONFIG to define a custom configuration filename. (#255, #1573, #1144, #41)

omar 7 years ago
parent
commit
94090eb08f
2 changed files with 12 additions and 4 deletions
  1. 6 3
      imconfig.h
  2. 6 1
      imgui.h

+ 6 - 3
imconfig.h

@@ -1,7 +1,10 @@
 //-----------------------------------------------------------------------------
-// USER IMPLEMENTATION
-// This file contains compile-time options for ImGui.
-// Other options (memory allocation overrides, callbacks, etc.) can be set at runtime via the ImGuiIO structure - ImGui::GetIO().
+// COMPILE-TIME OPTIONS FOR DEAR IMGUI
+// Most options (memory allocation, clipboard callbacks, etc.) can be set at runtime via the ImGuiIO structure - ImGui::GetIO().
+//-----------------------------------------------------------------------------
+// A) You may edit imconfig.h (and not overwrite it when updating imgui, or maintain a patch/branch with your modifications to imconfig.h)
+// B) or add configuration directives in your own file and compile with #define IMGUI_USER_CONFIG "myfilename.h" 
+// Note that options such as IMGUI_API, IM_VEC2_CLASS_EXTRA or ImDrawIdx needs to be defined consistently everywhere you include imgui.h, not only for the imgui*.cpp compilation units.
 //-----------------------------------------------------------------------------
 
 #pragma once

+ 6 - 1
imgui.h

@@ -8,9 +8,14 @@
 
 #pragma once
 
+// User-editable configuration files (edit stock imconfig.h or define IMGUI_USER_CONFIG to your own filename)
+#ifdef IMGUI_USER_CONFIG
+#include IMGUI_USER_CONFIG
+#endif
 #if !defined(IMGUI_DISABLE_INCLUDE_IMCONFIG_H) || defined(IMGUI_INCLUDE_IMCONFIG_H)
-#include "imconfig.h"       // User-editable configuration file
+#include "imconfig.h"
 #endif
+
 #include <float.h>          // FLT_MAX
 #include <stdarg.h>         // va_list
 #include <stddef.h>         // ptrdiff_t, NULL