ginga 1.0
The Ginga iTV middleware
Loading...
Searching...
No Matches
Media.h
1/* Copyright (C) 2006-2018 PUC-Rio/Laboratorio TeleMidia
2
3This file is part of Ginga (Ginga-NCL).
4
5Ginga is free software: you can redistribute it and/or modify it
6under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 2 of the License, or
8(at your option) any later version.
9
10Ginga is distributed in the hope that it will be useful, but WITHOUT
11ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
13License for more details.
14
15You should have received a copy of the GNU General Public License
16along with Ginga. If not, see <https://www.gnu.org/licenses/>. */
17
18#ifndef MEDIA_H
19#define MEDIA_H
20
21#include "Object.h"
22#include "Player.h"
23
24namespace ginga {
25
26class Media : public Object
27{
28public:
29 explicit Media (const string &);
30 virtual ~Media ();
31
32 // Object:
33 string getObjectTypeAsString () override;
34 string toString () override;
35 void setProperty (const string &, const string &, Time dur = 0) override;
36 void sendKey (const string &, bool) override;
37 void sendTick (Time, Time, Time) override;
38 bool beforeTransition (Event *, Event::Transition) override;
39 bool afterTransition (Event *, Event::Transition) override;
40
41 // Media:
42 virtual bool isFocused ();
43 virtual bool getZ (int *, int *);
44 virtual void redraw (cairo_t *);
45
46protected:
47 Player *_player; // underlying player
48
49 void doStop () override;
50};
51
52}
53
54#endif // MEDIA_H
Event state machine.
Definition Event.h:32
Transition
Event state transitions.
Definition Event.h:79
Definition Media.h:27
bool beforeTransition(Event *, Event::Transition) override
Initiates event transition.
Definition Media.cpp:169
bool afterTransition(Event *, Event::Transition) override
Finishes event transition.
Definition Media.cpp:319
Definition Object.h:30
Definition Player.h:29