![]() |
Divide Framework 0.1
A free and open-source 3D Framework under heavy development
|
#include <PlatformContext.h>
Public Types | |
enum class | SystemComponentType : U32 { NONE = 0 , Application = 1 << 1 , GFXDevice = 1 << 2 , SFXDevice = 1 << 3 , PXDevice = 1 << 4 , GUI = 1 << 5 , XMLData = 1 << 6 , Configuration = 1 << 7 , LocalClient = 1 << 8 , DebugInterface = 1 << 9 , Editor = 1 << 10 , InputHandler = 1 << 11 , COUNT = 11 , ALL } |
Public Member Functions | |
PlatformContext (Application &app) | |
~PlatformContext () | |
void | idle (bool fast=true, U64 deltaTimeUSGame=0u, U64 deltaTimeUSApp=0u) |
void | init (Kernel &kernel) |
void | terminate () |
Application & | app () noexcept |
const Application & | app () const noexcept |
GFXDevice & | gfx () noexcept |
const GFXDevice & | gfx () const noexcept |
GUI & | gui () noexcept |
const GUI & | gui () const noexcept |
SFXDevice & | sfx () noexcept |
const SFXDevice & | sfx () const noexcept |
PXDevice & | pfx () noexcept |
const PXDevice & | pfx () const noexcept |
Configuration & | config () noexcept |
const Configuration & | config () const noexcept |
LocalClient & | client () noexcept |
const LocalClient & | client () const noexcept |
Server & | server () noexcept |
const Server & | server () const noexcept |
DebugInterface & | debug () noexcept |
const DebugInterface & | debug () const noexcept |
Editor & | editor () noexcept |
const Editor & | editor () const noexcept |
TaskPool & | taskPool (const TaskPoolType type) noexcept |
const TaskPool & | taskPool (const TaskPoolType type) const noexcept |
Input::InputHandler & | input () noexcept |
const Input::InputHandler & | input () const noexcept |
ParamHandler & | paramHandler () noexcept |
const ParamHandler & | paramHandler () const noexcept |
Kernel & | kernel () noexcept |
const Kernel & | kernel () const noexcept |
DisplayWindow & | mainWindow () noexcept |
const DisplayWindow & | mainWindow () const noexcept |
DisplayWindow & | activeWindow () noexcept |
const DisplayWindow & | activeWindow () const noexcept |
PROPERTY_RW (U32, componentMask, 0u) | |
Protected Member Functions | |
void | onThreadCreated (const TaskPoolType type, const std::thread::id &threadID, bool isMainRenderThread) const |
Private Attributes | |
Application & | _app |
Main application instance. | |
Kernel * | _kernel {nullptr} |
Main app's kernel. | |
std::array< std::unique_ptr< TaskPool >, to_base(TaskPoolType::COUNT)> | _taskPool |
Task pools. | |
std::unique_ptr< ParamHandler > | _paramHandler |
Param handler. | |
std::unique_ptr< Configuration > | _config |
User configured settings. | |
std::unique_ptr< DebugInterface > | _debug |
Debugging interface: read only / editable variables. | |
std::unique_ptr< Input::InputHandler > | _inputHandler |
Input handler. | |
std::unique_ptr< GFXDevice > | _gfx |
Access to the GPU. | |
std::unique_ptr< GUI > | _gui |
The graphical user interface. | |
std::unique_ptr< SFXDevice > | _sfx |
Access to the audio device. | |
std::unique_ptr< PXDevice > | _pfx |
Access to the physics system. | |
std::unique_ptr< LocalClient > | _client |
Networking client. | |
std::unique_ptr< Server > | _server |
Networking server. | |
std::unique_ptr< Editor > | _editor |
Game editor. | |
Friends | |
class | Attorney::PlatformContextKernel |
Additional Inherited Members | |
![]() | |
NonCopyable (const NonCopyable &)=delete | |
NonCopyable & | operator= (const NonCopyable &)=delete |
NonCopyable (NonCopyable &&)=default | |
NonCopyable & | operator= (NonCopyable &&)=default |
NonCopyable ()=default | |
~NonCopyable ()=default | |
![]() | |
NonMovable (NonMovable &&)=delete | |
NonMovable & | operator= (NonMovable &&)=delete |
NonMovable (const NonMovable &)=default | |
NonMovable & | operator= (const NonMovable &)=default |
NonMovable ()=default | |
~NonMovable ()=default | |
Definition at line 70 of file PlatformContext.h.
|
strong |
Enumerator | |
---|---|
NONE | |
Application | |
GFXDevice | |
SFXDevice | |
PXDevice | |
GUI | |
XMLData | |
Configuration | |
LocalClient | |
DebugInterface | |
Editor | |
InputHandler | |
COUNT | |
ALL |
Definition at line 75 of file PlatformContext.h.
|
explicit |
Definition at line 23 of file PlatformContext.cpp.
Divide::PlatformContext::~PlatformContext | ( | ) |
Definition at line 46 of file PlatformContext.cpp.
|
noexcept |
Definition at line 130 of file PlatformContext.cpp.
|
noexcept |
Definition at line 125 of file PlatformContext.cpp.
|
inlinenoexcept |
Definition at line 103 of file PlatformContext.h.
|
inlinenoexcept |
Definition at line 102 of file PlatformContext.h.
|
inlinenoexcept |
Definition at line 121 of file PlatformContext.h.
|
inlinenoexcept |
Definition at line 120 of file PlatformContext.h.
|
inlinenoexcept |
Definition at line 118 of file PlatformContext.h.
|
inlinenoexcept |
Definition at line 117 of file PlatformContext.h.
|
inlinenoexcept |
Definition at line 127 of file PlatformContext.h.
|
inlinenoexcept |
Definition at line 126 of file PlatformContext.h.
|
inlinenoexcept |
Definition at line 130 of file PlatformContext.h.
|
inlinenoexcept |
Definition at line 129 of file PlatformContext.h.
|
inlinenoexcept |
Definition at line 106 of file PlatformContext.h.
|
inlinenoexcept |
Definition at line 105 of file PlatformContext.h.
|
inlinenoexcept |
Definition at line 109 of file PlatformContext.h.
|
inlinenoexcept |
Definition at line 108 of file PlatformContext.h.
void Divide::PlatformContext::idle | ( | bool | fast = true , |
U64 | deltaTimeUSGame = 0u , |
||
U64 | deltaTimeUSApp = 0u |
||
) |
Definition at line 77 of file PlatformContext.cpp.
void Divide::PlatformContext::init | ( | Kernel & | kernel | ) |
Definition at line 51 of file PlatformContext.cpp.
|
inlinenoexcept |
Definition at line 136 of file PlatformContext.h.
|
inlinenoexcept |
Definition at line 135 of file PlatformContext.h.
|
noexcept |
Definition at line 141 of file PlatformContext.cpp.
|
noexcept |
Definition at line 135 of file PlatformContext.cpp.
|
noexcept |
Definition at line 120 of file PlatformContext.cpp.
|
noexcept |
Definition at line 115 of file PlatformContext.cpp.
|
protected |
Definition at line 147 of file PlatformContext.cpp.
|
inlinenoexcept |
Definition at line 139 of file PlatformContext.h.
|
inlinenoexcept |
Definition at line 138 of file PlatformContext.h.
|
inlinenoexcept |
Definition at line 115 of file PlatformContext.h.
|
inlinenoexcept |
Definition at line 114 of file PlatformContext.h.
Divide::PlatformContext::PROPERTY_RW | ( | U32 | , |
componentMask | , | ||
0u | |||
) |
|
inlinenoexcept |
Definition at line 124 of file PlatformContext.h.
|
inlinenoexcept |
Definition at line 123 of file PlatformContext.h.
|
inlinenoexcept |
Definition at line 112 of file PlatformContext.h.
|
inlinenoexcept |
Definition at line 111 of file PlatformContext.h.
|
inlinenoexcept |
Definition at line 133 of file PlatformContext.h.
|
inlinenoexcept |
Definition at line 132 of file PlatformContext.h.
void Divide::PlatformContext::terminate | ( | ) |
Definition at line 66 of file PlatformContext.cpp.
|
friend |
Definition at line 72 of file PlatformContext.h.
|
private |
Main application instance.
Definition at line 157 of file PlatformContext.h.
|
private |
Networking client.
Definition at line 180 of file PlatformContext.h.
|
private |
User configured settings.
Definition at line 166 of file PlatformContext.h.
|
private |
Debugging interface: read only / editable variables.
Definition at line 168 of file PlatformContext.h.
|
private |
Game editor.
Definition at line 184 of file PlatformContext.h.
|
private |
Access to the GPU.
Definition at line 172 of file PlatformContext.h.
|
private |
The graphical user interface.
Definition at line 174 of file PlatformContext.h.
|
private |
Input handler.
Definition at line 170 of file PlatformContext.h.
|
private |
Main app's kernel.
Definition at line 159 of file PlatformContext.h.
|
private |
Param handler.
Definition at line 164 of file PlatformContext.h.
|
private |
Access to the physics system.
Definition at line 178 of file PlatformContext.h.
|
private |
Networking server.
Definition at line 182 of file PlatformContext.h.
|
private |
Access to the audio device.
Definition at line 176 of file PlatformContext.h.
|
private |
Task pools.
Definition at line 162 of file PlatformContext.h.