update UI effect on the sample
@@ -80,6 +80,8 @@ void UCogWindow::Render(float DeltaTime)
|
|||||||
RenderContent();
|
RenderContent();
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PostRender();
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
#include "CogImguiModule.h"
|
#include "CogImguiModule.h"
|
||||||
#include "CogImguiWidget.h"
|
#include "CogImguiWidget.h"
|
||||||
#include "CogWindowWidgets.h"
|
#include "CogWindowWidgets.h"
|
||||||
|
#include "CogWindow_Spacing.h"
|
||||||
#include "Engine/Engine.h"
|
#include "Engine/Engine.h"
|
||||||
#include "imgui_internal.h"
|
#include "imgui_internal.h"
|
||||||
|
|
||||||
@@ -27,6 +28,11 @@ void UCogWindowManager::Initialize(UWorld* InWorld, TSharedPtr<SCogImguiWidget>
|
|||||||
IniHandler.WriteAllFn = UCogWindowManager::SettingsHandler_WriteAll;
|
IniHandler.WriteAllFn = UCogWindowManager::SettingsHandler_WriteAll;
|
||||||
IniHandler.UserData = this;
|
IniHandler.UserData = this;
|
||||||
ImGui::AddSettingsHandler(&IniHandler);
|
ImGui::AddSettingsHandler(&IniHandler);
|
||||||
|
|
||||||
|
SpaceWindows.Add(CreateWindow<UCogWindow_Spacing>("Space 1", false));
|
||||||
|
SpaceWindows.Add(CreateWindow<UCogWindow_Spacing>("Space 2", false));
|
||||||
|
SpaceWindows.Add(CreateWindow<UCogWindow_Spacing>("Space 3", false));
|
||||||
|
SpaceWindows.Add(CreateWindow<UCogWindow_Spacing>("Space 4", false));
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------------------------------
|
||||||
@@ -66,7 +72,9 @@ void UCogWindowManager::Tick(float DeltaTime)
|
|||||||
//--------------------------------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------------------------------
|
||||||
void UCogWindowManager::Render(float DeltaTime)
|
void UCogWindowManager::Render(float DeltaTime)
|
||||||
{
|
{
|
||||||
ImGui::DockSpaceOverViewport(0, ImGuiDockNodeFlags_PassthruCentralNode | ImGuiDockNodeFlags_NoDockingInCentralNode);
|
ImGui::PushStyleColor(ImGuiCol_WindowBg, ImVec4(0, 0, 0, 0));
|
||||||
|
ImGui::DockSpaceOverViewport(0, ImGuiDockNodeFlags_PassthruCentralNode | ImGuiDockNodeFlags_NoDockingInCentralNode | ImGuiDockNodeFlags_AutoHideTabBar);
|
||||||
|
ImGui::PopStyleColor(1);
|
||||||
|
|
||||||
bool bCompactSaved = bCompactMode;
|
bool bCompactSaved = bCompactMode;
|
||||||
if (bCompactSaved)
|
if (bCompactSaved)
|
||||||
@@ -92,6 +100,8 @@ void UCogWindowManager::Render(float DeltaTime)
|
|||||||
{
|
{
|
||||||
ImGui::SetNextWindowBgAlpha(0.35f);
|
ImGui::SetNextWindowBgAlpha(0.35f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ImGui::DockSpaceOverViewport(0, ImGuiDockNodeFlags_PassthruCentralNode | ImGuiDockNodeFlags_NoDockingInCentralNode | ImGuiDockNodeFlags_AutoHideTabBar);
|
||||||
Window->Render(DeltaTime);
|
Window->Render(DeltaTime);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -277,6 +287,21 @@ void UCogWindowManager::DrawMainMenu()
|
|||||||
|
|
||||||
ImGui::Separator();
|
ImGui::Separator();
|
||||||
|
|
||||||
|
if (ImGui::BeginMenu("Spacing"))
|
||||||
|
{
|
||||||
|
for (UCogWindow* SpaceWindow : SpaceWindows)
|
||||||
|
{
|
||||||
|
bool bSpaceVisible = SpaceWindow->GetIsVisible();
|
||||||
|
if (ImGui::MenuItem(TCHAR_TO_ANSI(*SpaceWindow->GetName()), nullptr, &bSpaceVisible))
|
||||||
|
{
|
||||||
|
SpaceWindow->SetIsVisible(bSpaceVisible);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ImGui::EndMenu();
|
||||||
|
}
|
||||||
|
|
||||||
|
ImGui::Separator();
|
||||||
|
|
||||||
ImGui::MenuItem("Compact Mode", nullptr, &bCompactMode);
|
ImGui::MenuItem("Compact Mode", nullptr, &bCompactMode);
|
||||||
|
|
||||||
ImGui::Text("DPI Scale");
|
ImGui::Text("DPI Scale");
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#include "CogWindow_Spacing.h"
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------------------------------
|
||||||
|
void UCogWindow_Spacing::PreRender(ImGuiWindowFlags& WindowFlags)
|
||||||
|
{
|
||||||
|
ImGui::PushStyleColor(ImGuiCol_WindowBg, ImVec4(0, 0, 0, 0));
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------------------------------
|
||||||
|
void UCogWindow_Spacing::PostRender()
|
||||||
|
{
|
||||||
|
ImGui::PopStyleColor(1);
|
||||||
|
}
|
||||||
@@ -63,6 +63,8 @@ protected:
|
|||||||
|
|
||||||
virtual void PreRender(ImGuiWindowFlags& WindowFlags) {}
|
virtual void PreRender(ImGuiWindowFlags& WindowFlags) {}
|
||||||
|
|
||||||
|
virtual void PostRender() {}
|
||||||
|
|
||||||
virtual void RenderContent() {}
|
virtual void RenderContent() {}
|
||||||
|
|
||||||
virtual bool CheckEditorVisibility();
|
virtual bool CheckEditorVisibility();
|
||||||
|
|||||||
@@ -89,6 +89,9 @@ private:
|
|||||||
UPROPERTY()
|
UPROPERTY()
|
||||||
TArray<UCogWindow*> Windows;
|
TArray<UCogWindow*> Windows;
|
||||||
|
|
||||||
|
UPROPERTY()
|
||||||
|
TArray<UCogWindow*> SpaceWindows;
|
||||||
|
|
||||||
UPROPERTY()
|
UPROPERTY()
|
||||||
TArray<UCogWindow*> MainMenuWidgets;
|
TArray<UCogWindow*> MainMenuWidgets;
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "CoreMinimal.h"
|
||||||
|
#include "CogWindow.h"
|
||||||
|
#include "CogWindow_Spacing.generated.h"
|
||||||
|
|
||||||
|
UCLASS()
|
||||||
|
class COGWINDOW_API UCogWindow_Spacing : public UCogWindow
|
||||||
|
{
|
||||||
|
GENERATED_BODY()
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
virtual void PreRender(ImGuiWindowFlags& WindowFlags) override;
|
||||||
|
|
||||||
|
virtual void PostRender() override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
};
|
||||||
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 4.9 KiB |
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 3.6 KiB |