Compare commits

...

2 Commits

8 changed files with 181 additions and 15 deletions

View File

@@ -1,6 +1,7 @@
#include "AppLayer.h"
#include "Application.h"
#include "Layer.h"
#include "TestLayer.h"
#include "imgui.h"
AppLayer::AppLayer() : Layer("AppLayer", true) {}
@@ -16,4 +17,10 @@ void AppLayer::OnImGuiRender() {
Application::Get().SetRunningState(false);
}
ImGui::End();
ImGui::Begin("To TestLayer Transition");
if (ImGui::Button("Transition")) {
TransitionTo<TestLayer>();
}
ImGui::End();
}

24
SakuraVNE/src/Overlay.cpp Normal file
View File

@@ -0,0 +1,24 @@
#include "Overlay.h"
#include "AppLayer.h"
#include "Application.h"
#include "Layer.h"
#include "TestLayer.h"
#include "imgui.h"
Overlay::Overlay() : Layer("Overlay", true) {}
void Overlay::OnImGuiRender() {
ImGuiIO &io = ImGui::GetIO();
ImGui::Begin("Overlay Transition");
if (ImGui::Button("Overlay Transition")) {
auto testLayer = Application::Get().GetLayer<TestLayer>();
if (testLayer) {
testLayer->TransitionTo<AppLayer>();
} else {
auto appLayer = Application::Get().GetLayer<AppLayer>();
appLayer->TransitionTo<TestLayer>();
}
}
ImGui::End();
}

11
SakuraVNE/src/Overlay.h Normal file
View File

@@ -0,0 +1,11 @@
#pragma once
#include "Layer.h"
class Overlay : public SakuraVNE::Layer {
public:
Overlay();
virtual ~Overlay() = default;
virtual void OnImGuiRender() override;
};

View File

@@ -0,0 +1,16 @@
#include "TestLayer.h"
#include "AppLayer.h"
#include "Layer.h"
#include "imgui.h"
TestLayer::TestLayer() : Layer("TestLayer", true) {}
void TestLayer::OnImGuiRender() {
ImGuiIO &io = ImGui::GetIO();
ImGui::Begin("To AppLayer Transition");
if (ImGui::Button("Transition")) {
TransitionTo<AppLayer>();
}
ImGui::End();
}

11
SakuraVNE/src/TestLayer.h Normal file
View File

@@ -0,0 +1,11 @@
#pragma once
#include "Layer.h"
class TestLayer : public SakuraVNE::Layer {
public:
TestLayer();
virtual ~TestLayer() = default;
virtual void OnImGuiRender() override;
};

View File

@@ -1,5 +1,6 @@
#include "AppLayer.h"
#include "Application.h"
#include "Overlay.h"
int main(int argc, char *argv[]) {
AppData appData;
@@ -10,6 +11,7 @@ int main(int argc, char *argv[]) {
Application app(appData);
app.PushLayer<AppLayer>();
app.PushOverlay<Overlay>();
app.Run();
return 0;

123
imgui.ini
View File

@@ -9,10 +9,10 @@ Size=311,180
Collapsed=0
[Window][Dear ImGui Demo]
Pos=730,0
Size=550,720
Pos=592,0
Size=688,720
Collapsed=0
DockId=0x00000007,0
DockId=0x00000006,0
[Window][Test window]
Size=618,101
@@ -36,18 +36,113 @@ Collapsed=0
[Window][Framerate]
Pos=0,0
Size=442,720
Size=590,364
Collapsed=0
DockId=0x00000006,0
DockId=0x00000009,0
[Window][Layer Transition]
Pos=0,362
Size=590,358
Collapsed=0
DockId=0x00000008,0
[Window][Overlay Transition]
Pos=506,251
Size=365,165
Collapsed=0
[Window][To TestLayer Transition]
Pos=0,366
Size=590,354
Collapsed=0
DockId=0x0000000A,0
[Window][To AppLayer Transition]
Pos=0,0
Size=1280,720
Collapsed=0
DockId=0x00000009,0
[Table][0x51D6F5EA,3]
Column 0 Weight=1.0000
Column 1 Weight=1.0000
Column 2 Weight=1.0000
[Table][0xE102187A,3]
RefScale=13
Column 0 Width=63
Column 1 Width=63
Column 2 Width=63
[Table][0xF1421304,3]
RefScale=13
Column 0 Width=63
Column 1 Width=63
Column 2 Weight=1.0000
[Table][0xE212E0F0,6]
RefScale=13
Column 0 Width=63
Column 1 Width=63
Column 2 Width=-1
Column 3 Weight=1.0000
Column 4 Weight=1.0000
Column 5 Weight=-1.0000
[Table][0x86C9FC97,3]
Column 0 Weight=1.0000
Column 1 Weight=1.0000
Column 2 Weight=1.0000
[Table][0x95990F63,3]
RefScale=13
Column 0 Width=63
Column 1 Width=63
Column 2 Width=63
[Table][0x603C335E,2]
Column 0 Weight=1.0000
Column 1 Weight=1.0000
[Table][0xA6C6558A,2]
Column 0 Weight=1.0000
Column 1 Weight=1.0000
[Table][0x3A20F3F3,3]
RefScale=13
Column 0 Width=56
Column 1 Width=56
Column 2 Width=56
[Table][0xEA44DE71,3]
RefScale=13
Column 0 Weight=1.0000
Column 1 Width=84
Column 2 Width=126
[Table][0x29CD9FF7,3]
[Table][0x369EB90F,3]
Column 0 Weight=1.0000
Column 1 Weight=1.0000
Column 2 Weight=1.0000
[Table][0x2ACCE68A,3]
RefScale=13
Column 0 Width=86
Column 1 Width=86
Column 2 Width=86
[Docking][Data]
DockSpace ID=0x08BD597D Window=0x1BBC0F80 Pos=0,0 Size=1280,720 Split=Y
DockNode ID=0x00000003 Parent=0x08BD597D SizeRef=1280,101 Split=X Selected=0xAA1D0058
DockNode ID=0x00000001 Parent=0x00000003 SizeRef=618,101 Selected=0xAA1D0058
DockNode ID=0x00000002 Parent=0x00000003 SizeRef=660,101 Selected=0x561EDE67
DockNode ID=0x00000004 Parent=0x08BD597D SizeRef=1280,617 Split=X
DockNode ID=0x00000005 Parent=0x00000004 SizeRef=728,720 Split=X
DockNode ID=0x00000006 Parent=0x00000005 SizeRef=442,617 Selected=0x0FC82981
DockNode ID=0x00000008 Parent=0x00000005 SizeRef=284,617 CentralNode=1
DockNode ID=0x00000007 Parent=0x00000004 SizeRef=550,720 Selected=0x5E5F7166
DockSpace ID=0x08BD597D Window=0x1BBC0F80 Pos=0,0 Size=1280,720 Split=Y
DockNode ID=0x00000003 Parent=0x08BD597D SizeRef=1280,101 Split=X Selected=0xAA1D0058
DockNode ID=0x00000001 Parent=0x00000003 SizeRef=618,101 Selected=0xAA1D0058
DockNode ID=0x00000002 Parent=0x00000003 SizeRef=660,101 Selected=0x561EDE67
DockNode ID=0x00000004 Parent=0x08BD597D SizeRef=1280,617 Split=X
DockNode ID=0x00000005 Parent=0x00000004 SizeRef=590,724 Split=Y Selected=0x0FC82981
DockNode ID=0x00000007 Parent=0x00000005 SizeRef=590,360 Split=Y Selected=0x0FC82981
DockNode ID=0x00000009 Parent=0x00000007 SizeRef=590,364 CentralNode=1 Selected=0xB300D6F1
DockNode ID=0x0000000A Parent=0x00000007 SizeRef=590,354 Selected=0x4443B0A2
DockNode ID=0x00000008 Parent=0x00000005 SizeRef=590,358 Selected=0x5259B841
DockNode ID=0x00000006 Parent=0x00000004 SizeRef=688,724 Selected=0x5E5F7166