Free Electron
|
Base class for Viewer Systems. More...
#include <ViewerSystem.h>
Public Member Functions | |
virtual void | draw (Record viewportRecord)=0 |
Draw stuff into the viewport. More... | |
void | updateViewports (const t_note_id ¬e_id) |
Updates the Viewer records. More... | |
void | perform (const t_note_id &a_note_id) override |
Perform processing due to having been signaled. More... | |
void | connectOrchestrator (sp< OrchestratorI > orchestrator) override |
Callback for the System to register itself to the orchestrator. More... | |
Public Member Functions inherited from fe::Component | |
const String & | name (void) const |
Return the components chosen name. More... | |
const String | verboseName (void) const |
Return the annotated chosen name. More... | |
void | setName (const String &name) |
Rename the component to anything you want. More... | |
hp< Registry > | registry (void) const |
Get the Registry that created this component. More... | |
void | adjoin (sp< Component > spComponent) |
Tie this component's lifetime to another. More... | |
sp< Component > | create (const String &implementation, BWORD quiet=FALSE) const |
Convienience function to registry()->create() More... | |
void | disjoin (void) |
Untie component from Hub, if connected. More... | |
String | factoryName (void) |
void | setLibrary (sp< Library > spLibrary) |
Store a reference to the library used to instantiate this component. More... | |
sp< Library > | library (void) |
Get the library that created the component. More... | |
void | setFactoryIndex (I32 a_factoryIndex) |
Set the library's factory index. More... | |
I32 | factoryIndex (void) |
Get the library's factory index. More... | |
void | setSingleton (BWORD set) |
Specify whether component is a singleton. More... | |
BWORD | isSingleton (void) |
Return whether component is a singleton. More... | |
virtual void | acquire (void) |
Specialized reference increment. More... | |
virtual void | release (void) |
Specialized reference decrement. More... | |
Public Member Functions inherited from fe::Handled< Component > | |
const hp< Component > & | getHandle (void) const |
Get a safe handle to this object. More... | |
Public Member Functions inherited from fe::Protectable | |
virtual I32 | protection (void) const |
virtual void | protect (void) |
virtual void | unprotect (void) |
virtual Protectable * | clone (Protectable *pInstance=NULL) |
Public Member Functions inherited from fe::Counted | |
virtual void | acquire (int &rCount) |
Increment the reference count (and get the count) More... | |
virtual void | abandon (void) |
Decrement the reference count. More... | |
int | count (void) const |
Return the count of references. More... | |
void | setName (const String &) |
void | trackReference (void *pReference, String what) |
void | untrackReference (void *pReference) |
void | registerRegion (void *pT, U32 bytes) |
Public Member Functions inherited from fe::Initialized | |
void | initializeAll (void) |
void | setActive (bool a_active) |
Protected Attributes | |
sp< RecordGroup > | m_dataset |
t_note_id | m_drawNote |
ID of the draw note. More... | |
AsViewport | m_viewportAccessorSet |
Accessors for viewport data. More... | |
std::map< std::thread::id, Record > | m_viewportRecords |
Available viewports. More... | |
Mutex | m_viewportRecordsMutex |
Mutex for viewportRecords. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from fe::Counted | |
static String | reportTracker (void) |
static U32 | trackerCount (void) |
Protected Types inherited from fe::Initialized | |
typedef void(* | InitializeFunction) (Initialized *) |
Protected Member Functions inherited from fe::Handled< Component > | |
void | abandonHandle (void) |
Protected Member Functions inherited from fe::Counted | |
int | releaseInternal (void) |
Decrement the reference count. More... | |
void | suppressReport (void) |
Protected Member Functions inherited from fe::Initialized | |
void | addInitializer (InitializeFunction function) |
Related Functions inherited from fe::Component | |
FE_DL_EXPORT void FE_CDECL | checkUnload (sp< Library > &pLibrary, Component *pComponent=NULL) |
Delete the component and unload libraries where appropriate. More... | |
Base class for Viewer Systems.
A Viewer System is a System that reacts to draw notes. It is unique in that it is aware of the thread it is being performed on. It delegates draw calls to different viewports based on the current thread id.
|
inlineoverridevirtual |
Callback for the System to register itself to the orchestrator.
This allows you to specify which ticks you'd like to react to.
a_spOrchestrator | Orchestrator for you to connect to. |
Implements fe::ext::SystemI.
Referenced by fe::ext::BoxViewerSystem::connectOrchestrator().
|
pure virtual |
Draw stuff into the viewport.
Should be overriden by final classes.
viewportRecord | The viewport on this thread. |
Implemented in fe::ext::BoxViewerSystem, and fe::ext::OriginViewerSystem.
Referenced by perform().
|
overridevirtual |
Perform processing due to having been signaled.
This will delegate drawing to different viewports based on the current thread id.
Reimplemented from fe::ext::SystemI.
References draw(), m_drawNote, m_viewportRecords, and m_viewportRecordsMutex.
void fe::ext::ViewerSystem::updateViewports | ( | const t_note_id & | note_id | ) |
Updates the Viewer records.
References m_viewportAccessorSet, m_viewportRecords, m_viewportRecordsMutex, and fe::ext::AsViewport::threadId.
|
protected |
ID of the draw note.
Referenced by perform().
|
protected |
Accessors for viewport data.
Referenced by fe::ext::OriginViewerSystem::draw(), fe::ext::BoxViewerSystem::draw(), and updateViewports().
|
protected |
Available viewports.
Referenced by perform(), and updateViewports().
|
protected |
Mutex for viewportRecords.
It is needed since this system has multiple threads performing different notes.
Referenced by perform(), and updateViewports().