Castor3D 0.16.0
Multiplatform 3D engine
Classes | Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
castor3d::DoubleBufferedResourceT< ResourceT, PointerT > Class Template Referenceabstract

#include <FontTexture.hpp>

Inheritance diagram for castor3d::DoubleBufferedResourceT< ResourceT, PointerT >:
Inheritance graph
[legend]
Collaboration diagram for castor3d::DoubleBufferedResourceT< ResourceT, PointerT >:
Collaboration graph
[legend]

Classes

struct  Resource
 

Public Types

using ResourcePtrT = PointerT< ResourceT >
 
using OnChangedFunction = castor::Function< void( DoubleBufferedResourceT const & ) >
 
using OnChanged = castor::SignalT< OnChangedFunction >
 

Public Member Functions

void update (bool clean)
 Updates the resource.
 
Resource const & getResource () const
 
- Public Member Functions inherited from castor::OwnedBy< Engine >
Engine * getOwner () const
 

Public Attributes

OnChanged onResourceChanged
 

Protected Member Functions

 DoubleBufferedResourceT (Engine &parent, ResourcePtrT back, ResourcePtrT front)
 
virtual C3D_API ~DoubleBufferedResourceT () noexcept=default
 
void doInitialise (RenderDevice const &device, QueueData const &queueData)
 Initialises the texture.
 
void doCleanup ()
 Flushes the teture.
 
void doRefresh (bool clean, bool front)
 Orders events to refresh the resource.
 
ResourcedoGetResource ()
 
- Protected Member Functions inherited from castor::OwnedBy< Engine >
 OwnedBy (Engine &owner)
 Constructor.
 

Protected Attributes

Resource m_back
 
Resource m_front
 

Member Typedef Documentation

◆ OnChanged

template<typename ResourceT , template< typename ResT > typename PointerT>
using castor3d::DoubleBufferedResourceT< ResourceT, PointerT >::OnChanged = castor::SignalT< OnChangedFunction >

◆ OnChangedFunction

template<typename ResourceT , template< typename ResT > typename PointerT>
using castor3d::DoubleBufferedResourceT< ResourceT, PointerT >::OnChangedFunction = castor::Function< void( DoubleBufferedResourceT const & ) >

◆ ResourcePtrT

template<typename ResourceT , template< typename ResT > typename PointerT>
using castor3d::DoubleBufferedResourceT< ResourceT, PointerT >::ResourcePtrT = PointerT< ResourceT >

Constructor & Destructor Documentation

◆ DoubleBufferedResourceT()

template<typename ResourceT , template< typename ResT > typename PointerT>
castor3d::DoubleBufferedResourceT< ResourceT, PointerT >::DoubleBufferedResourceT ( Engine & parent,
ResourcePtrT back,
ResourcePtrT front )
inlineprotected

◆ ~DoubleBufferedResourceT()

template<typename ResourceT , template< typename ResT > typename PointerT>
virtual C3D_API castor3d::DoubleBufferedResourceT< ResourceT, PointerT >::~DoubleBufferedResourceT ( )
protectedvirtualdefaultnoexcept

Member Function Documentation

◆ doCleanup()

template<typename ResourceT , template< typename ResT > typename PointerT>
void castor3d::DoubleBufferedResourceT< ResourceT, PointerT >::doCleanup ( )
inlineprotected

◆ doGetResource()

template<typename ResourceT , template< typename ResT > typename PointerT>
Resource & castor3d::DoubleBufferedResourceT< ResourceT, PointerT >::doGetResource ( )
inlineprotected

◆ doInitialise()

template<typename ResourceT , template< typename ResT > typename PointerT>
void castor3d::DoubleBufferedResourceT< ResourceT, PointerT >::doInitialise ( RenderDevice const & device,
QueueData const & queueData )
inlineprotected

Initialises the texture.

Parameters
[in]deviceThe GPU device.
[in]queueDataThe queue receiving the GPU commands.

References castor3d::DoubleBufferedResourceT< ResourceT, PointerT >::m_back, and castor3d::DoubleBufferedResourceT< ResourceT, PointerT >::m_front.

◆ doRefresh()

template<typename ResourceT , template< typename ResT > typename PointerT>
void castor3d::DoubleBufferedResourceT< ResourceT, PointerT >::doRefresh ( bool clean,
bool front )
inlineprotected

◆ getResource()

template<typename ResourceT , template< typename ResT > typename PointerT>
Resource const & castor3d::DoubleBufferedResourceT< ResourceT, PointerT >::getResource ( ) const
inline

References castor3d::DoubleBufferedResourceT< ResourceT, PointerT >::m_front.

Referenced by castor3d::FontTexture::getTexture().

Here is the caller graph for this function:

◆ update()

template<typename ResourceT , template< typename ResT > typename PointerT>
void castor3d::DoubleBufferedResourceT< ResourceT, PointerT >::update ( bool clean)
inline

Updates the resource.

References castor3d::DoubleBufferedResourceT< ResourceT, PointerT >::doRefresh().

Here is the call graph for this function:

Member Data Documentation

◆ m_back

template<typename ResourceT , template< typename ResT > typename PointerT>
Resource castor3d::DoubleBufferedResourceT< ResourceT, PointerT >::m_back
protected

◆ m_front

template<typename ResourceT , template< typename ResT > typename PointerT>
Resource castor3d::DoubleBufferedResourceT< ResourceT, PointerT >::m_front
protected

◆ onResourceChanged

template<typename ResourceT , template< typename ResT > typename PointerT>
OnChanged castor3d::DoubleBufferedResourceT< ResourceT, PointerT >::onResourceChanged

The signal used to notify clients that this resource has changed.

Referenced by castor3d::DoubleBufferedResourceT< ResourceT, PointerT >::doRefresh().


The documentation for this class was generated from the following file: