Nebula
Toggle main menu visibility
Loading...
Searching...
No Matches
frameserver.h
Go to the documentation of this file.
1
#pragma once
2
//------------------------------------------------------------------------------
13
//------------------------------------------------------------------------------
14
#include "
core/refcounted.h
"
15
#include "
core/singleton.h
"
16
#include "
framescript.h
"
17
#include "
io/uri.h
"
18
namespace
Frame
19
{
20
class
FrameServer
:
public
Core::RefCounted
21
{
22
__DeclareClass
(
FrameServer
);
23
__DeclareSingleton
(
FrameServer
);
24
public
:
26
FrameServer
();
28
virtual
~FrameServer
();
29
31
void
Open
();
33
bool
IsOpen
()
const
;
35
void
Close
();
37
void
OnWindowResize
();
39
void
RebuildScripts
();
40
42
Ptr<FrameScript>
LoadFrameScript
(
const
Resources::ResourceName
& name,
const
IO::URI
& path,
const
CoreGraphics::WindowId
window);
44
const
Ptr<FrameScript>
&
GetFrameScript
(
const
Resources::ResourceName
& name);
46
void
UnloadFrameScript
(
const
Resources::ResourceName
& name);
47
48
private
:
49
Util::Dictionary<Resources::ResourceName, Ptr<FrameScript>
>
frameScripts
;
50
CoreGraphics::TextureId
windowTexture
;
51
bool
isOpen
;
52
};
53
54
//------------------------------------------------------------------------------
57
inline
const
Ptr<Frame::FrameScript>
&
58
FrameServer::GetFrameScript
(
const
Util::StringAtom
& name)
59
{
60
return
this->
frameScripts
[name];
61
}
62
63
//------------------------------------------------------------------------------
66
inline
bool
67
FrameServer::IsOpen
()
const
68
{
69
return
this->
isOpen
;
70
}
71
72
}
// namespace Frame2
Core::RefCounted
The common base class of Nebula.
Definition
refcounted.h:38
Frame::FrameServer::__DeclareClass
__DeclareClass(FrameServer)
Frame::FrameServer::LoadFrameScript
Ptr< FrameScript > LoadFrameScript(const Resources::ResourceName &name, const IO::URI &path, const CoreGraphics::WindowId window)
load frame script and save with name
Definition
frameserver.cc:82
Frame::FrameServer::isOpen
bool isOpen
Definition
frameserver.h:51
Frame::FrameServer::frameScripts
Util::Dictionary< Resources::ResourceName, Ptr< FrameScript > > frameScripts
Definition
frameserver.h:49
Frame::FrameServer::Close
void Close()
close server, discards all remaining scripts
Definition
frameserver.cc:48
Frame::FrameServer::Open
void Open()
open server
Definition
frameserver.cc:36
Frame::FrameServer::UnloadFrameScript
void UnloadFrameScript(const Resources::ResourceName &name)
unload frame script
Definition
frameserver.cc:96
Frame::FrameServer::windowTexture
CoreGraphics::TextureId windowTexture
Definition
frameserver.h:50
Frame::FrameServer::GetFrameScript
const Ptr< FrameScript > & GetFrameScript(const Resources::ResourceName &name)
get script by name
Definition
frameserver.h:58
Frame::FrameServer::~FrameServer
virtual ~FrameServer()
destructor
Definition
frameserver.cc:27
Frame::FrameServer::OnWindowResize
void OnWindowResize()
propagate resize to all in all scripts
Definition
frameserver.cc:58
Frame::FrameServer::RebuildScripts
void RebuildScripts()
Rebuild all frame scripts.
Definition
frameserver.cc:70
Frame::FrameServer::IsOpen
bool IsOpen() const
returns true if open
Definition
frameserver.h:67
Frame::FrameServer::__DeclareSingleton
__DeclareSingleton(FrameServer)
Frame::FrameServer::FrameServer
FrameServer()
constructor
Definition
frameserver.cc:18
IO::URI
An URI object can split a Uniform Resource Identifier string into its components or build a string fr...
Definition
uri.h:67
Ptr
Nebula's smart pointer class which manages the life time of RefCounted objects.
Definition
ptr.h:38
Util::Dictionary
A collection of key/value pairs with quick value retrieval by key at roughly O(log n).
Definition
dictionary.h:35
Util::StringAtom
A StringAtom.
Definition
stringatom.h:22
framescript.h
Frame
ImGUI debug interface for inspecting frame scripts.
Definition
shaderserverbase.h:52
Resources::ResourceName
Util::StringAtom ResourceName
Definition
resourceid.h:33
refcounted.h
singleton.h
CoreGraphics::TextureId
texture type
Definition
texture.h:25
CoreGraphics::WindowId
Definition
window.h:25
uri.h
code
render
frame
frameserver.h
Generated on
for Nebula. Dark theme by
Tilen Majerle
. All rights reserved.