commit cd98f86005db84851ded69f11adad529147ff951 Author: Sebastian Date: Fri Mar 17 23:22:13 2017 +0000 Initial commit: - License file and initial readme file. - Plugin and module base configuration. - Repository configuration. diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a87ab9a --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/Binaries/ +/Intermediate/ diff --git a/ImGui.uplugin b/ImGui.uplugin new file mode 100644 index 0000000..5c515ae --- /dev/null +++ b/ImGui.uplugin @@ -0,0 +1,23 @@ +{ + "FileVersion": 3, + "Version": 1, + "VersionName": "1.0", + "FriendlyName": "ImGui", + "Description": "", + "Category": "Debug", + "CreatedBy": "", + "CreatedByURL": "", + "DocsURL": "", + "MarketplaceURL": "", + "SupportURL": "", + "CanContainContent": true, + "IsBetaVersion": false, + "Installed": false, + "Modules": [ + { + "Name": "ImGui", + "Type": "RuntimeNoCommandlet", + "LoadingPhase": "PreDefault" + } + ] +} \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..7b036cf --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2017 Sebastian Gross + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..42eebd8 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +Unreal Engine plugin integrating Omar Cornut's Dear ImGui framework (https://github.com/ocornut/imgui). diff --git a/Resources/Icon128.png b/Resources/Icon128.png new file mode 100644 index 0000000..1231d4a Binary files /dev/null and b/Resources/Icon128.png differ diff --git a/Source/ImGui/ImGui.Build.cs b/Source/ImGui/ImGui.Build.cs new file mode 100644 index 0000000..7209250 --- /dev/null +++ b/Source/ImGui/ImGui.Build.cs @@ -0,0 +1,51 @@ +// Distributed under the MIT License (MIT) (see accompanying LICENSE file) + +using UnrealBuildTool; + +public class ImGui : ModuleRules +{ + public ImGui(TargetInfo Target) + { + + PublicIncludePaths.AddRange( + new string[] { + "ImGui/Public" + // ... add public include paths required here ... + } + ); + + + PrivateIncludePaths.AddRange( + new string[] { + "ImGui/Private" + // ... add other private include paths required here ... + } + ); + + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + "Projects" + // ... add other public dependencies that you statically link with here ... + } + ); + + + PrivateDependencyModuleNames.AddRange( + new string[] + { + // ... add private dependencies that you statically link with here ... + } + ); + + + DynamicallyLoadedModuleNames.AddRange( + new string[] + { + // ... add any modules that your module loads dynamically here ... + } + ); + } +} diff --git a/Source/ImGui/Private/ImGuiModule.cpp b/Source/ImGui/Private/ImGuiModule.cpp new file mode 100644 index 0000000..583abc8 --- /dev/null +++ b/Source/ImGui/Private/ImGuiModule.cpp @@ -0,0 +1,23 @@ +// Distributed under the MIT License (MIT) (see accompanying LICENSE file) + +#include "ImGuiPrivatePCH.h" + +#include + + +#define LOCTEXT_NAMESPACE "FImGuiModule" + +void FImGuiModule::StartupModule() +{ + // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module +} + +void FImGuiModule::ShutdownModule() +{ + // This function may be called during shutdown to clean up your module. For modules that support dynamic reloading, + // we call this function before unloading the module. +} + +#undef LOCTEXT_NAMESPACE + +IMPLEMENT_MODULE(FImGuiModule, ImGui) diff --git a/Source/ImGui/Private/ImGuiPrivatePCH.h b/Source/ImGui/Private/ImGuiPrivatePCH.h new file mode 100644 index 0000000..3ab684f --- /dev/null +++ b/Source/ImGui/Private/ImGuiPrivatePCH.h @@ -0,0 +1,10 @@ +// Distributed under the MIT License (MIT) (see accompanying LICENSE file) + +// Module +#include "ImGuiModule.h" + +// Engine +#include + +// 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. diff --git a/Source/ImGui/Public/ImGuiModule.h b/Source/ImGui/Public/ImGuiModule.h new file mode 100644 index 0000000..58cdf01 --- /dev/null +++ b/Source/ImGui/Public/ImGuiModule.h @@ -0,0 +1,15 @@ +// Distributed under the MIT License (MIT) (see accompanying LICENSE file) + +#pragma once + +#include + + +class FImGuiModule : public IModuleInterface +{ +public: + + /** IModuleInterface implementation */ + virtual void StartupModule() override; + virtual void ShutdownModule() override; +};