Plasma Engine  2.0
Loading...
Searching...
No Matches
ActorPluginWindow.h
1#pragma once
2
3#include <Core/ActorSystem/ActorPlugin.h>
4
5#include <Core/GameApplication/WindowOutputTargetBase.h>
6#include <Core/System/Window.h>
7
8class plActor;
10class plWindowBase;
11
12class PL_CORE_DLL plActorPluginWindow : public plActorPlugin
13{
14 PL_ADD_DYNAMIC_REFLECTION(plActorPluginWindow, plActorPlugin);
15
16public:
17 virtual plWindowBase* GetWindow() const = 0;
18 virtual plWindowOutputTargetBase* GetOutputTarget() const = 0;
19
20protected:
21 virtual void Update() override;
22};
23
25{
26 PL_ADD_DYNAMIC_REFLECTION(plActorPluginWindowOwner, plActorPluginWindow);
27
28public:
30 virtual plWindowBase* GetWindow() const override;
31 virtual plWindowOutputTargetBase* GetOutputTarget() const override;
32
34 plUniquePtr<plWindowOutputTargetBase> m_pWindowOutputTarget;
35};
36
38{
39 PL_ADD_DYNAMIC_REFLECTION(plActorPluginWindowShared, plActorPluginWindow);
40
41public:
42 virtual plWindowBase* GetWindow() const override;
43 virtual plWindowOutputTargetBase* GetOutputTarget() const override;
44
45 plWindowBase* m_pWindow = nullptr;
46 plWindowOutputTargetBase* m_pWindowOutputTarget = nullptr;
47};
Definition Actor.h:9
Definition ActorPlugin.h:9
Definition ActorPluginWindow.h:13
Definition ActorPluginWindow.h:25
Definition ActorPluginWindow.h:38
A Unique ptr manages an object and destroys that object when it goes out of scope....
Definition UniquePtr.h:10
Base class of all window classes that have a client area and a native window handle.
Definition Window.h:134
Base class for window output targets.
Definition WindowOutputTargetBase.h:16