浏览代码

Forward declare struct in imgui.cpp. Removed two forward declarations leaking in imgui.h

ocornut 10 年之前
父节点
当前提交
849c72c5c3
共有 2 个文件被更改,包括 19 次插入13 次删除
  1. 9 2
      imgui.cpp
  2. 10 11
      imgui.h

+ 9 - 2
imgui.cpp

@@ -392,8 +392,8 @@ namespace IMGUI_STB_NAMESPACE
 #endif
 #include "stb_truetype.h"
 
-#define STB_TEXTEDIT_STRING ImGuiTextEditState
-#define STB_TEXTEDIT_CHARTYPE ImWchar
+#define STB_TEXTEDIT_STRING    ImGuiTextEditState
+#define STB_TEXTEDIT_CHARTYPE  ImWchar
 #include "stb_textedit.h"
 
 #ifdef __clang__
@@ -409,7 +409,14 @@ using namespace IMGUI_STB_NAMESPACE;
 // Forward Declarations
 //-------------------------------------------------------------------------
 
+struct ImGuiColMod;
+struct ImGuiStyleMod;
 struct ImGuiAabb;
+struct ImGuiDrawContext;
+struct ImGuiTextEditState;
+struct ImGuiIniData;
+struct ImGuiState;
+struct ImGuiWindow;
 
 static bool         ButtonBehaviour(const ImGuiAabb& bb, const ImGuiID& id, bool* out_hovered, bool* out_held, bool allow_key_modifiers, bool repeat = false, bool pressed_on_click = false);
 static void         LogText(const ImVec2& ref_pos, const char* text, const char* text_end = NULL);

+ 10 - 11
imgui.h

@@ -6,17 +6,7 @@
 
 #pragma once
 
-struct ImDrawCmd;
-struct ImDrawList;
-struct ImFont;
-struct ImFontAtlas;
-struct ImGuiAabb;
-struct ImGuiIO;
-struct ImGuiStorage;
-struct ImGuiStyle;
-struct ImGuiWindow;
-
-#include "imconfig.h"
+#include "imconfig.h"       // User-editable configuration file
 #include <float.h>          // FLT_MAX
 #include <stdarg.h>         // va_list
 #include <stddef.h>         // ptrdiff_t
@@ -34,6 +24,15 @@ struct ImGuiWindow;
 #define IMGUI_API
 #endif
 
+// Forward declarations
+struct ImDrawCmd;
+struct ImDrawList;
+struct ImFont;
+struct ImFontAtlas;
+struct ImGuiIO;
+struct ImGuiStorage;
+struct ImGuiStyle;
+
 typedef unsigned int ImU32;
 typedef unsigned short ImWchar;     // character for display
 typedef void* ImTextureID;          // user data to refer to a texture (e.g. store your texture handle/id)