Lumiera  0.pre.03
»edityourfreedom«
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
display-service.hpp File Reference

Go to the source code of this file.

Description

A public service provided by the GUI, implementing the lumiera::Display facade interface.

It serves two purposes:

  • It maintains a collection of DisplayerSlot objects, which are the actual connection points and allow to receive frames and dispatch them to the GTK main event loop thread. Conceptually, creating such a slot means providing a possible display for output.
  • It provides the actual implementation of the Display facade interface, i.e. the function which is to invoked periodically by the playback processes to dispose a new frame into the display.

This service is the implementation of a layer separation facade interface. This header defines the interface used to provide this service, not to access it. Clients get a specific LumieraDisplaySlot passed as parameter when initiating a playback process from the GUI. Using this LumieraDisplaySlot handle, clients should then use lumiera::DummyPlayer::facade to access an implementation instance of this service in order to push actual frames up.

See also
lumiera::Display
lumiera::DummyPlayer
gui::PlaybackController usage example

Definition in file display-service.hpp.

#include "include/display-facade.h"
#include "common/instancehandle.hpp"
#include "lib/scoped-ptrvect.hpp"
#include "include/logging.h"
#include "lib/nocopy.hpp"
#include <glibmm.h>
#include <sigc++/sigc++.h>
#include <string>
#include <vector>

Classes

class  DisplayerSlot
 Actual implementation of a single displayer slot. More...
 
class  DisplayService
 Actual implementation of the DisplayService. More...
 

Typedefs

typedef lib::ScopedPtrVect
< DisplayerSlot > 
DisplayerTab
 
typedef sigc::slot< void, void * > FrameDestination
 
typedef sigc::signal< void,
void * > 
FrameSignal
 

Namespaces

 gui
 Lumiera GTK UI implementation root.