Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
xv-displayer.hpp
Go to the documentation of this file.
1/*
2 XV-DISPLAYER.hpp - XVideo display
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
16
24#ifndef STAGE_OUTPUT_XV_DISPLAYER_H
25#define STAGE_OUTPUT_XV_DISPLAYER_H
26
27
29#include "stage/gtk-base.hpp"
30
31#include <X11/Xlib.h>
32#include <X11/extensions/XShm.h>
33#include <X11/extensions/Xvlib.h>
34
35
36namespace Gtk {
37 class Widget;
38}
39
40namespace stage {
41namespace output {
42
48 : public Displayer
49 {
50 public:
57 XvDisplayer (Gtk::Widget& drawing_area, uint width, uint height);
58
60
61
62 private:
68 void put (void* const image) override;
69
71 bool usable() override;
72
73 DisplayerInput format() override
74 {
76 }
77
78
83 bool gotPort;
84
90
95 Gtk::Widget& drawingArea_;
96
100 Display* display;
101
105 Window window;
106
110 GC gc;
111
115 XvImage* xvImage;
116
121 XShmSegmentInfo shmInfo;
122 };
123
124
125}} // namespace stage::output
126#endif /*STAGE_OUTPUT_XV_DISPLAYER_H*/
A Displayer is a class which is responsible for rendering an image in some way (ie: Xvideo,...
Definition displayer.hpp:62
XvDisplayer is a class which is responsible for rendering a video image via XVideo.
Gtk::Widget & drawingArea_
The widget that video will be drawn into.
void put(void *const image) override
Put an image of a given width and height with the expected input format (as indicated by the format m...
bool usable() override
Indicates if this object can be used to render images on the running system.
DisplayerInput format() override
Indicates the format required by the abstract put method.
bool gotPort
Specifies whether the object is currently attached to an XVideo port.
uint grabbedPort
The current port being used.
GC gc
The graphics context which will be used when rendering video.
XShmSegmentInfo shmInfo
Info about the shared memory segment.
Display * display
The display that video will be drawn into.
Window window
The X11 window that video will be drawn into.
XvImage * xvImage
The shared memory image object which video will be written into.
The Displayer serves as base of all video display implementations.
A set of basic GTK includes for the UI.
unsigned int uint
Definition integral.hpp:29
Lumiera GTK UI implementation root.
Definition guifacade.cpp:37