mirror of
				https://github.com/kevinporetti/UnrealImGui.git
				synced 2025-11-04 07:33:18 +00:00 
			
		
		
		
	Removed dependency on headers included in the PCH and fixed any non-unity issues.
This commit is contained in:
		
							parent
							
								
									bbd2c01071
								
							
						
					
					
						commit
						04e6f9d844
					
				@ -8,6 +8,7 @@ Change History
 | 
				
			|||||||
Version: 1.20 (2020/06)
 | 
					Version: 1.20 (2020/06)
 | 
				
			||||||
Transition to IWYU and maintenence:
 | 
					Transition to IWYU and maintenence:
 | 
				
			||||||
- Replaced includes of monolithic headers.
 | 
					- Replaced includes of monolithic headers.
 | 
				
			||||||
 | 
					- Removed dependency on core, engine and ImGui module headers includes in the PCH.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Version: 1.19 (2020/03-06)
 | 
					Version: 1.19 (2020/03-06)
 | 
				
			||||||
- Integrated fix for issue with ImGui popup/modal windows not being able to be closed in transparent mouse input mode. 
 | 
					- Integrated fix for issue with ImGui popup/modal windows not being able to be closed in transparent mouse input mode. 
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@
 | 
				
			|||||||
#include "ImGuiModuleSettings.h"
 | 
					#include "ImGuiModuleSettings.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <ISettingsModule.h>
 | 
					#include <ISettingsModule.h>
 | 
				
			||||||
 | 
					#include <Modules/ModuleManager.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define LOCTEXT_NAMESPACE "ImGuiEditor"
 | 
					#define LOCTEXT_NAMESPACE "ImGuiEditor"
 | 
				
			||||||
 | 
				
			|||||||
@ -4,6 +4,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#if WITH_EDITOR
 | 
					#if WITH_EDITOR
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <Delegates/IDelegateInstance.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Registers module's settings in editor (due to a small size of this code we don't use a separate editor module).
 | 
					// Registers module's settings in editor (due to a small size of this code we don't use a separate editor module).
 | 
				
			||||||
class FImGuiEditor
 | 
					class FImGuiEditor
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
				
			|||||||
@ -9,7 +9,8 @@
 | 
				
			|||||||
#include "ImGuiInteroperability.h"
 | 
					#include "ImGuiInteroperability.h"
 | 
				
			||||||
#include "Utilities/Arrays.h"
 | 
					#include "Utilities/Arrays.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <Runtime/Launch/Resources/Version.h>
 | 
					#include <GenericPlatform/GenericPlatformFile.h>
 | 
				
			||||||
 | 
					#include <Misc/Paths.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static constexpr float DEFAULT_CANVAS_WIDTH = 3840.f;
 | 
					static constexpr float DEFAULT_CANVAS_WIDTH = 3840.f;
 | 
				
			||||||
 | 
				
			|||||||
@ -5,6 +5,8 @@
 | 
				
			|||||||
#include "ImGuiDelegates.h"
 | 
					#include "ImGuiDelegates.h"
 | 
				
			||||||
#include "ImGuiDelegatesContainer.h"
 | 
					#include "ImGuiDelegatesContainer.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <Engine/World.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
FSimpleMulticastDelegate& FImGuiDelegates::OnWorldEarlyDebug()
 | 
					FSimpleMulticastDelegate& FImGuiDelegates::OnWorldEarlyDebug()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
				
			|||||||
@ -3,9 +3,10 @@
 | 
				
			|||||||
#include "ImGuiPrivatePCH.h"
 | 
					#include "ImGuiPrivatePCH.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "ImGuiDemo.h"
 | 
					#include "ImGuiDemo.h"
 | 
				
			||||||
 | 
					 | 
				
			||||||
#include "ImGuiModuleProperties.h"
 | 
					#include "ImGuiModuleProperties.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <CoreGlobals.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Demo copied (with minor modifications) from ImGui examples. See https://github.com/ocornut/imgui.
 | 
					// Demo copied (with minor modifications) from ImGui examples. See https://github.com/ocornut/imgui.
 | 
				
			||||||
void FImGuiDemo::DrawControls(int32 ContextIndex)
 | 
					void FImGuiDemo::DrawControls(int32 ContextIndex)
 | 
				
			||||||
 | 
				
			|||||||
@ -15,7 +15,13 @@
 | 
				
			|||||||
#define IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS
 | 
					#define IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS
 | 
				
			||||||
#endif // PLATFORM_XBOXONE
 | 
					#endif // PLATFORM_XBOXONE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if PLATFORM_WINDOWS
 | 
				
			||||||
 | 
					#include <Windows/AllowWindowsPlatformTypes.h>
 | 
				
			||||||
 | 
					#endif // PLATFORM_WINDOWS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if WITH_EDITOR
 | 
					#if WITH_EDITOR
 | 
				
			||||||
 | 
					#include "imgui.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Global ImGui context pointer.
 | 
					// Global ImGui context pointer.
 | 
				
			||||||
ImGuiContext* GImGuiContextPtr = nullptr;
 | 
					ImGuiContext* GImGuiContextPtr = nullptr;
 | 
				
			||||||
// Handle to the global ImGui context pointer.
 | 
					// Handle to the global ImGui context pointer.
 | 
				
			||||||
@ -24,10 +30,6 @@ ImGuiContext** GImGuiContextPtrHandle = &GImGuiContextPtr;
 | 
				
			|||||||
#define GImGui (*GImGuiContextPtrHandle)
 | 
					#define GImGui (*GImGuiContextPtrHandle)
 | 
				
			||||||
#endif // WITH_EDITOR
 | 
					#endif // WITH_EDITOR
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if PLATFORM_WINDOWS
 | 
					 | 
				
			||||||
#include <Windows/AllowWindowsPlatformTypes.h>
 | 
					 | 
				
			||||||
#endif // PLATFORM_WINDOWS
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include "imgui.cpp"
 | 
					#include "imgui.cpp"
 | 
				
			||||||
#include "imgui_demo.cpp"
 | 
					#include "imgui_demo.cpp"
 | 
				
			||||||
#include "imgui_draw.cpp"
 | 
					#include "imgui_draw.cpp"
 | 
				
			||||||
 | 
				
			|||||||
@ -10,6 +10,7 @@
 | 
				
			|||||||
#include "ImGuiModuleSettings.h"
 | 
					#include "ImGuiModuleSettings.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <Engine/Console.h>
 | 
					#include <Engine/Console.h>
 | 
				
			||||||
 | 
					#include <Framework/Application/SlateApplication.h>
 | 
				
			||||||
#include <GameFramework/InputSettings.h>
 | 
					#include <GameFramework/InputSettings.h>
 | 
				
			||||||
#include <Input/Events.h>
 | 
					#include <Input/Events.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -3,9 +3,10 @@
 | 
				
			|||||||
#include "ImGuiPrivatePCH.h"
 | 
					#include "ImGuiPrivatePCH.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "ImGuiInputHandlerFactory.h"
 | 
					#include "ImGuiInputHandlerFactory.h"
 | 
				
			||||||
 | 
					 | 
				
			||||||
#include "ImGuiInputHandler.h"
 | 
					#include "ImGuiInputHandler.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <Engine/GameViewportClient.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
UImGuiInputHandler* FImGuiInputHandlerFactory::NewHandler(const FStringClassReference& HandlerClassReference, FImGuiModuleManager* ModuleManager, UGameViewportClient* GameViewport, int32 ContextIndex)
 | 
					UImGuiInputHandler* FImGuiInputHandlerFactory::NewHandler(const FStringClassReference& HandlerClassReference, FImGuiModuleManager* ModuleManager, UGameViewportClient* GameViewport, int32 ContextIndex)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
				
			|||||||
@ -2,6 +2,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "ImGuiModuleSettings.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class FImGuiModuleManager;
 | 
					class FImGuiModuleManager;
 | 
				
			||||||
class UGameViewportClient;
 | 
					class UGameViewportClient;
 | 
				
			||||||
class UImGuiInputHandler;
 | 
					class UImGuiInputHandler;
 | 
				
			||||||
 | 
				
			|||||||
@ -5,6 +5,7 @@
 | 
				
			|||||||
#include "TextureManager.h"
 | 
					#include "TextureManager.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <GenericPlatform/ICursor.h>
 | 
					#include <GenericPlatform/ICursor.h>
 | 
				
			||||||
 | 
					#include <Input/Events.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <imgui.h>
 | 
					#include <imgui.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -2,10 +2,10 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include "ImGuiPrivatePCH.h"
 | 
					#include "ImGuiPrivatePCH.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "ImGuiModuleManager.h"
 | 
					#include "ImGuiModule.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "ImGuiDelegatesContainer.h"
 | 
					#include "ImGuiDelegatesContainer.h"
 | 
				
			||||||
#include "ImGuiTextureHandle.h"
 | 
					#include "ImGuiModuleManager.h"
 | 
				
			||||||
#include "TextureManager.h"
 | 
					#include "TextureManager.h"
 | 
				
			||||||
#include "Utilities/WorldContext.h"
 | 
					#include "Utilities/WorldContext.h"
 | 
				
			||||||
#include "Utilities/WorldContextIndex.h"
 | 
					#include "Utilities/WorldContextIndex.h"
 | 
				
			||||||
 | 
				
			|||||||
@ -3,6 +3,7 @@
 | 
				
			|||||||
#include "ImGuiPrivatePCH.h"
 | 
					#include "ImGuiPrivatePCH.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "ImGuiModuleCommands.h"
 | 
					#include "ImGuiModuleCommands.h"
 | 
				
			||||||
 | 
					#include "ImGuiModuleProperties.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "Utilities/DebugExecBindings.h"
 | 
					#include "Utilities/DebugExecBindings.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -7,6 +7,7 @@
 | 
				
			|||||||
#include "ImGuiInteroperability.h"
 | 
					#include "ImGuiInteroperability.h"
 | 
				
			||||||
#include "Utilities/WorldContextIndex.h"
 | 
					#include "Utilities/WorldContextIndex.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <Framework/Application/SlateApplication.h>
 | 
				
			||||||
#include <Modules/ModuleManager.h>
 | 
					#include <Modules/ModuleManager.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <imgui.h>
 | 
					#include <imgui.h>
 | 
				
			||||||
 | 
				
			|||||||
@ -7,6 +7,8 @@
 | 
				
			|||||||
#include "ImGuiModuleCommands.h"
 | 
					#include "ImGuiModuleCommands.h"
 | 
				
			||||||
#include "ImGuiModuleProperties.h"
 | 
					#include "ImGuiModuleProperties.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <ConfigCacheIni.h>
 | 
				
			||||||
 | 
					#include <Engine/Engine.h>
 | 
				
			||||||
#include <GameFramework/GameUserSettings.h>
 | 
					#include <GameFramework/GameUserSettings.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -2,11 +2,21 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "VersionCompatibility.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <SlateTypes.h>
 | 
					#include <SlateTypes.h>
 | 
				
			||||||
#include <Curves/CurveFloat.h>
 | 
					#include <Curves/CurveFloat.h>
 | 
				
			||||||
#include <Delegates/Delegate.h>
 | 
					#include <Delegates/Delegate.h>
 | 
				
			||||||
#include <UObject/Object.h>
 | 
					#include <UObject/Object.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// We use FStringClassReference, which is supported by older and newer engine versions. Starting from 4.18, it is
 | 
				
			||||||
 | 
					// a typedef of FSoftClassPath, which is also recognized by UHT.
 | 
				
			||||||
 | 
					#if ENGINE_COMPATIBILITY_LEGACY_STRING_CLASS_REF
 | 
				
			||||||
 | 
					#include <StringClassReference.h>
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					#include <UObject/SoftObjectPath.h>
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "ImGuiModuleSettings.generated.h"
 | 
					#include "ImGuiModuleSettings.generated.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -11,13 +11,5 @@
 | 
				
			|||||||
#include <CoreMinimal.h>
 | 
					#include <CoreMinimal.h>
 | 
				
			||||||
#include <Engine/Engine.h>
 | 
					#include <Engine/Engine.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// For backward compatibility we will use FStringClassReference which in newer engine versions is a typedef for
 | 
					 | 
				
			||||||
// FSoftClassPath. Include right soft class reference header to avoid warnings in newer engine version.
 | 
					 | 
				
			||||||
#if ENGINE_COMPATIBILITY_LEGACY_STRING_CLASS_REF
 | 
					 | 
				
			||||||
#include <StringClassReference.h>
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
#include <UObject/SoftObjectPath.h>
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// You should place include statements to your module's private header files here.  You only need to
 | 
					// You should place include statements to your module's private header files here.  You only need to
 | 
				
			||||||
// add includes for headers that are used in most of your module's source files though.
 | 
					// add includes for headers that are used in most of your module's source files though.
 | 
				
			||||||
 | 
				
			|||||||
@ -4,6 +4,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include "TextureManager.h"
 | 
					#include "TextureManager.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <Engine/Texture2D.h>
 | 
				
			||||||
 | 
					#include <Framework/Application/SlateApplication.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <algorithm>
 | 
					#include <algorithm>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -6,6 +6,8 @@
 | 
				
			|||||||
#include <Textures/SlateShaderResource.h>
 | 
					#include <Textures/SlateShaderResource.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class UTexture2D;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Index type to be used as a texture handle.
 | 
					// Index type to be used as a texture handle.
 | 
				
			||||||
using TextureIndex = int32;
 | 
					using TextureIndex = int32;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -4,6 +4,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include "SImGuiCanvasControl.h"
 | 
					#include "SImGuiCanvasControl.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <Rendering/DrawElements.h>
 | 
				
			||||||
#include <SlateOptMacros.h>
 | 
					#include <SlateOptMacros.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -19,6 +19,7 @@
 | 
				
			|||||||
#include <Engine/Console.h>
 | 
					#include <Engine/Console.h>
 | 
				
			||||||
#include <Engine/GameViewportClient.h>
 | 
					#include <Engine/GameViewportClient.h>
 | 
				
			||||||
#include <Engine/LocalPlayer.h>
 | 
					#include <Engine/LocalPlayer.h>
 | 
				
			||||||
 | 
					#include <Framework/Application/SlateApplication.h>
 | 
				
			||||||
#include <GameFramework/GameUserSettings.h>
 | 
					#include <GameFramework/GameUserSettings.h>
 | 
				
			||||||
#include <SlateOptMacros.h>
 | 
					#include <SlateOptMacros.h>
 | 
				
			||||||
#include <Widgets/SViewport.h>
 | 
					#include <Widgets/SViewport.h>
 | 
				
			||||||
 | 
				
			|||||||
@ -5,6 +5,7 @@
 | 
				
			|||||||
#include "ImGuiModuleDebug.h"
 | 
					#include "ImGuiModuleDebug.h"
 | 
				
			||||||
#include "ImGuiModuleSettings.h"
 | 
					#include "ImGuiModuleSettings.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <Rendering/RenderingCommon.h>
 | 
				
			||||||
#include <Widgets/DeclarativeSyntaxSupport.h>
 | 
					#include <Widgets/DeclarativeSyntaxSupport.h>
 | 
				
			||||||
#include <Widgets/SCompoundWidget.h>
 | 
					#include <Widgets/SCompoundWidget.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -16,6 +17,9 @@ class FImGuiModuleManager;
 | 
				
			|||||||
class SImGuiCanvasControl;
 | 
					class SImGuiCanvasControl;
 | 
				
			||||||
class UImGuiInputHandler;
 | 
					class UImGuiInputHandler;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class UGameViewportClient;
 | 
				
			||||||
 | 
					class ULocalPlayer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Slate widget for rendering ImGui output and storing Slate inputs.
 | 
					// Slate widget for rendering ImGui output and storing Slate inputs.
 | 
				
			||||||
class SImGuiWidget : public SCompoundWidget
 | 
					class SImGuiWidget : public SCompoundWidget
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
				
			|||||||
@ -3,6 +3,7 @@
 | 
				
			|||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <CoreMinimal.h>
 | 
					#include <CoreMinimal.h>
 | 
				
			||||||
 | 
					#include <Input/Reply.h>
 | 
				
			||||||
#include <UObject/Object.h>
 | 
					#include <UObject/Object.h>
 | 
				
			||||||
#include <UObject/WeakObjectPtr.h>
 | 
					#include <UObject/WeakObjectPtr.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user