Polyphase Game Engine
Loading...
Searching...
No Matches
Canvas.h
Go to the documentation of this file.
1#pragma once
2
4#include "AssetRef.h"
5
6class UIDocument;
7
9{
10public:
11
13
14 Canvas();
15 virtual ~Canvas();
16
17 virtual void Start() override;
18 virtual void Stop() override;
19 virtual void OnInstanced() override;
20 virtual void Tick(float deltaTime) override;
21 virtual void EditorTick(float deltaTime) override;
22 virtual void GatherProperties(std::vector<Property>& outProps) override;
23
24#if EDITOR
25 virtual bool DrawCustomProperty(Property& prop) override;
26#endif
27
28 void SetUIDocument(UIDocument* doc);
29 UIDocument* GetUIDocument() const;
30 UIDocument* GetRuntimeDocument() const { return mRuntimeDocument; }
31
32 static bool HandlePropChange(Datum* datum, uint32_t index, const void* newValue);
33
34private:
35
36 void DestroyRuntimeDocument();
37 void GenerateEditorPreview();
38 void DestroyEditorPreview();
39 static void DebugDumpWidgetTree(Widget* widget, int depth);
40
41 AssetRef mUIDocumentRef;
42 UIDocument* mRuntimeDocument = nullptr;
43 bool mEditorPreviewActive = false;
44 int32_t mDebugDumpCountdown = -1;
45};
#define POLYPHASE_API
Definition PolyphaseAPI.h:31
Definition AssetRef.h:18
Definition Canvas.h:9
UIDocument * GetRuntimeDocument() const
Definition Canvas.h:30
DECLARE_NODE(Canvas, Widget)
Definition Datum.h:169
virtual void EditorTick(float deltaTime)
Definition Node.cpp:578
virtual void Stop()
Definition Node.cpp:519
virtual void OnInstanced()
Definition Node.cpp:603
virtual void Tick(float deltaTime)
Definition Node.cpp:573
virtual bool DrawCustomProperty(Property &prop)
Definition Object.h:46
Definition Property.h:14
Definition UIDocument.h:16
Definition Widget.h:57
static bool HandlePropChange(Datum *datum, uint32_t index, const void *newValue)
Definition Widget.cpp:50
virtual void GatherProperties(std::vector< Property > &outProps) override
Definition Widget.cpp:121
virtual void Start() override
Definition Widget.cpp:116