Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
displayer.hpp
Go to the documentation of this file.
1/*
2 DISPLAYER.hpp - base class for displaying video
3
4 Copyright (C)
5 2000, Arne Schirmacher <arne@schirmacher.de>
6 2001-2007, Dan Dennedy <dan@dennedy.org>
7 2008, Joel Holdsworth <joel@airwebreathe.org.uk>
8
9  **Lumiera** is free software; you can redistribute it and/or modify it
10  under the terms of the GNU General Public License as published by the
11  Free Software Foundation; either version 2 of the License, or (at your
12  option) any later version. See the file COPYING for further details.
13
14*/
15
26#ifndef STAGE_OUTPUT_DISPLAYER_H
27#define STAGE_OUTPUT_DISPLAYER_H
28
29
30#include "lib/nocopy.hpp"
32
33namespace stage {
34namespace output {
35
37
38
62 {
63 protected:
66
67 public:
68 virtual ~Displayer() { }
69
71 : videoWidth{w}
72 , videoHeight{h}
73 { }
74
75
77 virtual bool usable() =0;
78
82 virtual DisplayerInput format();
83
88 virtual void put (void* const) =0;
89
90
91 protected:
103 void calculateVideoLayout(int widgetWidth
104 ,int widgetHeight
105 ,int& imgOrg_x
106 ,int& imgOrg_y
107 ,int& imgWidth
108 ,int& imgHeight
109 );
110 };
111
112
113
114}} // namespace stage::output
115#endif /*STAGE_OUTPUT_DISPLAYER_H*/
A Displayer is a class which is responsible for rendering an image in some way (ie: Xvideo,...
Definition displayer.hpp:62
virtual DisplayerInput format()
Indicates the format required by the abstract put method.
Definition displayer.cpp:39
virtual void put(void *const)=0
Put an image of a given width and height with the expected input format (as indicated by the format m...
void calculateVideoLayout(int widgetWidth, int widgetHeight, int &imgOrg_x, int &imgOrg_y, int &imgWidth, int &imgHeight)
Calculates the coordinates for placing a video image inside a widget.
Definition displayer.cpp:45
virtual bool usable()=0
Indicates if this object can be used to render images on the running system.
Displayer(uint w, uint h)
Definition displayer.hpp:70
Any copy and copy construction prohibited.
Definition nocopy.hpp:38
unsigned int uint
Definition integral.hpp:29
DisplayerInput
Supported Displayer formats.
Lumiera GTK UI implementation root.
Definition guifacade.cpp:37
Mix-Ins to allow or prohibit various degrees of copying and cloning.