Photon Editor Library 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
Platform.h
Go to the documentation of this file.
1#pragma once
2
3#include <Utility/INoCopyAndMove.h>
4#include <Common/primitive_type.h>
5#include <Common/exceptions.h>
6
7namespace ph::editor
8{
9
10class Editor;
11class PlatformInput;
12class PlatformDisplay;
13
14class PlatformException : public RuntimeException
15{
16public:
17 using RuntimeException::RuntimeException;
18};
19
26class Platform : private INoCopyAndMove
27{
28public:
29 explicit Platform(Editor& editor);
30 virtual ~Platform();
31
32 virtual void update(float64 deltaS) = 0;
33 virtual const PlatformInput& getInput() const = 0;
34 virtual const PlatformDisplay& getDisplay() const = 0;
35
37 const Editor& getEditor() const;
38
39private:
40 Editor& m_editor;
41};
42
44{
45 return m_editor;
46}
47
48inline const Editor& Platform::getEditor() const
49{
50 return m_editor;
51}
52
53}// end namespace ph::editor
Definition Editor.h:45
Platform display abstraction.
Definition PlatformDisplay.h:23
Definition Platform.h:15
Platform abstraction. An abstraction layer for the underlying hardware the application is running on....
Definition Platform.h:27
virtual void update(float64 deltaS)=0
Editor & getEditor()
Definition Platform.h:43
Platform(Editor &editor)
Definition Platform.cpp:6
virtual const PlatformInput & getInput() const =0
virtual const PlatformDisplay & getDisplay() const =0
Platform input abstraction.
Definition PlatformInput.h:18
Definition ph_editor.h:10