Lumiera  0.pre.03
»edit your freedom«
DisplayService Class Reference

#include "stage/display-service.hpp"

Description

Actual implementation of the DisplayService.

Creating an instance of this class automatically registers the interface lumieraorg_Display with the Lumiera Interface/Plugin system and creates a forwarding proxy within the application core to route calls through this interface.

In addition to the Display interface, this class implements an additional service for the GUI, allowing actually to set up display slots, which then can be handed out to client code in the course of the play process for outputting frames.

Definition at line 120 of file display-service.hpp.

Public Member Functions

void allocate (LumieraDisplaySlot, bool doAllocate)
 prepare and the given slot for output More...
 
DisplayerSlotresolve (LumieraDisplaySlot)
 resolve the given display slot handle to yield a ref to an actual implementation object. More...
 

Static Public Member Functions

static LumieraDisplaySlot setUp (FrameDestination const &)
 open a new display, sending frames to the given output destination More...
 

Private Types

typedef lumiera::InstanceHandle< LUMIERA_INTERFACE_INAME(lumieraorg_Display, 0), lumiera::DisplayServiceInstanceHandle
 

Private Attributes

string error_
 
ServiceInstanceHandle serviceInstance_
 
DisplayerTab slots_
 

Additional Inherited Members

- Private Member Functions inherited from NonCopyable
 NonCopyable (NonCopyable const &)=delete
 
NonCopyableoperator= (NonCopyable const &)=delete
 

Member Function Documentation

◆ setUp()

LumieraDisplaySlot setUp ( FrameDestination const &  outputDestination)
static

open a new display, sending frames to the given output destination

Returns
handle for this slot, can be used to start a play process. NULL handle in case of any error.

Definition at line 178 of file display-service.cpp.

References stage::anonymous_namespace{display-service.cpp}::_instance, and ScopedPtrVect< T >::manage().

+ Here is the call graph for this function:

◆ allocate()

void allocate ( LumieraDisplaySlot  handle,
bool  doAllocate 
)

prepare and the given slot for output

Parameters
doAllocateallocate when true, else release it
Exceptions
lumiera::error::Logicwhen already in use

Definition at line 187 of file display-service.cpp.

◆ resolve()

DisplayerSlot & resolve ( LumieraDisplaySlot  handle)

resolve the given display slot handle to yield a ref to an actual implementation object.

In order to be resolvable, the DisplayerSlot needs to be locked (=allocated) for output use.

Definition at line 208 of file display-service.cpp.

References DisplayerSlot::displayCurrentFrame().

+ Here is the call graph for this function:
+ Inheritance diagram for DisplayService:
+ Collaboration diagram for DisplayService:

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