mirror of
				https://github.com/kevinporetti/UnrealImGui.git
				synced 2025-11-03 23:33:16 +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)
 | 
			
		||||
Transition to IWYU and maintenence:
 | 
			
		||||
- Replaced includes of monolithic headers.
 | 
			
		||||
- Removed dependency on core, engine and ImGui module headers includes in the PCH.
 | 
			
		||||
 | 
			
		||||
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. 
 | 
			
		||||
 | 
			
		||||
@ -11,6 +11,7 @@
 | 
			
		||||
#include "ImGuiModuleSettings.h"
 | 
			
		||||
 | 
			
		||||
#include <ISettingsModule.h>
 | 
			
		||||
#include <Modules/ModuleManager.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define LOCTEXT_NAMESPACE "ImGuiEditor"
 | 
			
		||||
 | 
			
		||||
@ -4,6 +4,9 @@
 | 
			
		||||
 | 
			
		||||
#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).
 | 
			
		||||
class FImGuiEditor
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -9,7 +9,8 @@
 | 
			
		||||
#include "ImGuiInteroperability.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;
 | 
			
		||||
 | 
			
		||||
@ -5,6 +5,8 @@
 | 
			
		||||
#include "ImGuiDelegates.h"
 | 
			
		||||
#include "ImGuiDelegatesContainer.h"
 | 
			
		||||
 | 
			
		||||
#include <Engine/World.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
FSimpleMulticastDelegate& FImGuiDelegates::OnWorldEarlyDebug()
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -3,9 +3,10 @@
 | 
			
		||||
#include "ImGuiPrivatePCH.h"
 | 
			
		||||
 | 
			
		||||
#include "ImGuiDemo.h"
 | 
			
		||||
 | 
			
		||||
#include "ImGuiModuleProperties.h"
 | 
			
		||||
 | 
			
		||||
#include <CoreGlobals.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Demo copied (with minor modifications) from ImGui examples. See https://github.com/ocornut/imgui.
 | 
			
		||||
void FImGuiDemo::DrawControls(int32 ContextIndex)
 | 
			
		||||
 | 
			
		||||
@ -15,7 +15,13 @@
 | 
			
		||||
#define IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS
 | 
			
		||||
#endif // PLATFORM_XBOXONE
 | 
			
		||||
 | 
			
		||||
#if PLATFORM_WINDOWS
 | 
			
		||||
#include <Windows/AllowWindowsPlatformTypes.h>
 | 
			
		||||
#endif // PLATFORM_WINDOWS
 | 
			
		||||
 | 
			
		||||
#if WITH_EDITOR
 | 
			
		||||
#include "imgui.h"
 | 
			
		||||
 | 
			
		||||
// Global ImGui context pointer.
 | 
			
		||||
ImGuiContext* GImGuiContextPtr = nullptr;
 | 
			
		||||
// Handle to the global ImGui context pointer.
 | 
			
		||||
@ -24,10 +30,6 @@ ImGuiContext** GImGuiContextPtrHandle = &GImGuiContextPtr;
 | 
			
		||||
#define GImGui (*GImGuiContextPtrHandle)
 | 
			
		||||
#endif // WITH_EDITOR
 | 
			
		||||
 | 
			
		||||
#if PLATFORM_WINDOWS
 | 
			
		||||
#include <Windows/AllowWindowsPlatformTypes.h>
 | 
			
		||||
#endif // PLATFORM_WINDOWS
 | 
			
		||||
 | 
			
		||||
#include "imgui.cpp"
 | 
			
		||||
#include "imgui_demo.cpp"
 | 
			
		||||
#include "imgui_draw.cpp"
 | 
			
		||||
 | 
			
		||||
@ -10,6 +10,7 @@
 | 
			
		||||
#include "ImGuiModuleSettings.h"
 | 
			
		||||
 | 
			
		||||
#include <Engine/Console.h>
 | 
			
		||||
#include <Framework/Application/SlateApplication.h>
 | 
			
		||||
#include <GameFramework/InputSettings.h>
 | 
			
		||||
#include <Input/Events.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -3,9 +3,10 @@
 | 
			
		||||
#include "ImGuiPrivatePCH.h"
 | 
			
		||||
 | 
			
		||||
#include "ImGuiInputHandlerFactory.h"
 | 
			
		||||
 | 
			
		||||
#include "ImGuiInputHandler.h"
 | 
			
		||||
 | 
			
		||||
#include <Engine/GameViewportClient.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
UImGuiInputHandler* FImGuiInputHandlerFactory::NewHandler(const FStringClassReference& HandlerClassReference, FImGuiModuleManager* ModuleManager, UGameViewportClient* GameViewport, int32 ContextIndex)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -2,6 +2,9 @@
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "ImGuiModuleSettings.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class FImGuiModuleManager;
 | 
			
		||||
class UGameViewportClient;
 | 
			
		||||
class UImGuiInputHandler;
 | 
			
		||||
 | 
			
		||||
@ -5,6 +5,7 @@
 | 
			
		||||
#include "TextureManager.h"
 | 
			
		||||
 | 
			
		||||
#include <GenericPlatform/ICursor.h>
 | 
			
		||||
#include <Input/Events.h>
 | 
			
		||||
 | 
			
		||||
#include <imgui.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -2,10 +2,10 @@
 | 
			
		||||
 | 
			
		||||
#include "ImGuiPrivatePCH.h"
 | 
			
		||||
 | 
			
		||||
#include "ImGuiModuleManager.h"
 | 
			
		||||
#include "ImGuiModule.h"
 | 
			
		||||
 | 
			
		||||
#include "ImGuiDelegatesContainer.h"
 | 
			
		||||
#include "ImGuiTextureHandle.h"
 | 
			
		||||
#include "ImGuiModuleManager.h"
 | 
			
		||||
#include "TextureManager.h"
 | 
			
		||||
#include "Utilities/WorldContext.h"
 | 
			
		||||
#include "Utilities/WorldContextIndex.h"
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,7 @@
 | 
			
		||||
#include "ImGuiPrivatePCH.h"
 | 
			
		||||
 | 
			
		||||
#include "ImGuiModuleCommands.h"
 | 
			
		||||
#include "ImGuiModuleProperties.h"
 | 
			
		||||
 | 
			
		||||
#include "Utilities/DebugExecBindings.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -7,6 +7,7 @@
 | 
			
		||||
#include "ImGuiInteroperability.h"
 | 
			
		||||
#include "Utilities/WorldContextIndex.h"
 | 
			
		||||
 | 
			
		||||
#include <Framework/Application/SlateApplication.h>
 | 
			
		||||
#include <Modules/ModuleManager.h>
 | 
			
		||||
 | 
			
		||||
#include <imgui.h>
 | 
			
		||||
 | 
			
		||||
@ -7,6 +7,8 @@
 | 
			
		||||
#include "ImGuiModuleCommands.h"
 | 
			
		||||
#include "ImGuiModuleProperties.h"
 | 
			
		||||
 | 
			
		||||
#include <ConfigCacheIni.h>
 | 
			
		||||
#include <Engine/Engine.h>
 | 
			
		||||
#include <GameFramework/GameUserSettings.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -2,11 +2,21 @@
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "VersionCompatibility.h"
 | 
			
		||||
 | 
			
		||||
#include <SlateTypes.h>
 | 
			
		||||
#include <Curves/CurveFloat.h>
 | 
			
		||||
#include <Delegates/Delegate.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"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -11,13 +11,5 @@
 | 
			
		||||
#include <CoreMinimal.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
 | 
			
		||||
// add includes for headers that are used in most of your module's source files though.
 | 
			
		||||
 | 
			
		||||
@ -4,6 +4,9 @@
 | 
			
		||||
 | 
			
		||||
#include "TextureManager.h"
 | 
			
		||||
 | 
			
		||||
#include <Engine/Texture2D.h>
 | 
			
		||||
#include <Framework/Application/SlateApplication.h>
 | 
			
		||||
 | 
			
		||||
#include <algorithm>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -6,6 +6,8 @@
 | 
			
		||||
#include <Textures/SlateShaderResource.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class UTexture2D;
 | 
			
		||||
 | 
			
		||||
// Index type to be used as a texture handle.
 | 
			
		||||
using TextureIndex = int32;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -4,6 +4,7 @@
 | 
			
		||||
 | 
			
		||||
#include "SImGuiCanvasControl.h"
 | 
			
		||||
 | 
			
		||||
#include <Rendering/DrawElements.h>
 | 
			
		||||
#include <SlateOptMacros.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -19,6 +19,7 @@
 | 
			
		||||
#include <Engine/Console.h>
 | 
			
		||||
#include <Engine/GameViewportClient.h>
 | 
			
		||||
#include <Engine/LocalPlayer.h>
 | 
			
		||||
#include <Framework/Application/SlateApplication.h>
 | 
			
		||||
#include <GameFramework/GameUserSettings.h>
 | 
			
		||||
#include <SlateOptMacros.h>
 | 
			
		||||
#include <Widgets/SViewport.h>
 | 
			
		||||
 | 
			
		||||
@ -5,6 +5,7 @@
 | 
			
		||||
#include "ImGuiModuleDebug.h"
 | 
			
		||||
#include "ImGuiModuleSettings.h"
 | 
			
		||||
 | 
			
		||||
#include <Rendering/RenderingCommon.h>
 | 
			
		||||
#include <Widgets/DeclarativeSyntaxSupport.h>
 | 
			
		||||
#include <Widgets/SCompoundWidget.h>
 | 
			
		||||
 | 
			
		||||
@ -16,6 +17,9 @@ class FImGuiModuleManager;
 | 
			
		||||
class SImGuiCanvasControl;
 | 
			
		||||
class UImGuiInputHandler;
 | 
			
		||||
 | 
			
		||||
class UGameViewportClient;
 | 
			
		||||
class ULocalPlayer;
 | 
			
		||||
 | 
			
		||||
// Slate widget for rendering ImGui output and storing Slate inputs.
 | 
			
		||||
class SImGuiWidget : public SCompoundWidget
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,7 @@
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include <CoreMinimal.h>
 | 
			
		||||
#include <Input/Reply.h>
 | 
			
		||||
#include <UObject/Object.h>
 | 
			
		||||
#include <UObject/WeakObjectPtr.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user