LkEngine 0.1.2
 
Loading...
Searching...
No Matches
UILayer.h
1#pragma once
2
5#include "LkEngine/Core/LObject/ObjectPtr.h"
7
8#include "LkEngine/Renderer/UI/Property.h"
9#include "LkEngine/Renderer/UI/TreeNode.h"
10#include "LkEngine/Renderer/UI/Table.h"
11
13
14
15namespace LkEngine {
16
17 class LWindow;
18
24 class LUILayer : public LLayer
25 {
26 public:
27 virtual ~LUILayer() = default;
28
29 virtual void Initialize() = 0;
30 virtual void Destroy() = 0;
31
32 virtual void OnAttach() = 0;
33 virtual void OnDetach() = 0;
34
35 virtual void BeginFrame() = 0;
36 virtual void EndFrame() = 0;
37
38 virtual void SetDarkTheme() = 0; /* Remove */
39
40 static TObjectPtr<LUILayer> Create();
41
42 protected:
43 virtual void InitializeFonts() = 0;
44
45 private:
47 };
48
49
50}
Core header.
Editor core.
Base layer.
LObject implementation.
Definition Layer.h:23
Definition UILayer.h:25
virtual void Initialize()=0
Initialize object.
virtual void Destroy()=0
Destroy object, releasing all resources.
Definition ObjectPtr.h:102
#define LCLASS(Class)
Definition CoreMacros.h:226
Definition Asset.h:11