score::gfx::OutputNode Class Referenceabstract

Base class for sink nodes (QWindow, spout, syphon, NDI output, ...) More...

Inheritance diagram for score::gfx::OutputNode:
score::gfx::Node Gfx::LibavEncoderNode Gfx::Sh4ltOutputNode Gfx::ShmdataOutputNode Gfx::SpoutNode score::gfx::ScreenNode

Detailed Description

Base class for sink nodes (QWindow, spout, syphon, NDI output, ...)

Classes

struct  Configuration
 

Public Member Functions

virtual void setRenderer (std::shared_ptr< RenderList >)=0
 
virtual RenderListrenderer () const =0
 
OutputNodeRenderercreateRenderer (RenderList &r) const noexcept override=0
 Create a renderer in a given context for this node.
 
virtual void startRendering ()=0
 
virtual void render ()=0
 
virtual void stopRendering ()=0
 
virtual bool canRender () const =0
 
virtual void onRendererChange ()=0
 
virtual void createOutput (GraphicsApi graphicsApi, std::function< void()> onReady, std::function< void()> onUpdate, std::function< void()> onResize)=0
 
virtual void updateGraphicsAPI (GraphicsApi)
 
virtual void destroyOutput ()=0
 
virtual std::shared_ptr< RenderStaterenderState () const =0
 
virtual Configuration configuration () const noexcept=0
 
- Public Member Functions inherited from score::gfx::Node
 Node (const Node &)=delete
 
 Node (Node &&)=delete
 
Nodeoperator= (const Node &)=delete
 
Nodeoperator= (Node &&)=delete
 
virtual void renderedNodesChanged ()
 Whenever render nodes are added / removed.
 
virtual void process (Message &&msg)
 Process a message from the execution engine.
 
virtual void update ()
 

Additional Inherited Members

- Public Attributes inherited from score::gfx::Node
std::vector< Port * > input
 Input ports of that node.
 
ossia::small_pod_vector< Port *, 1 > output
 Output ports of that node. More...
 
ossia::flat_map< RenderList *, score::gfx::NodeRenderer * > renderedNodes
 Map associating each RenderList to a Renderer for this model.
 
int32_t id = -1
 
bool addedToGraph {}
 

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