]> git.vomp.tv Git - vompclient.git/blob - vlivebanner.h
Changes for demuxer. New mutex code
[vompclient.git] / vlivebanner.h
1 /*
2     Copyright 2004-2005 Chris Tallon
3
4     This file is part of VOMP.
5
6     VOMP is free software; you can redistribute it and/or modify
7     it under the terms of the GNU General Public License as published by
8     the Free Software Foundation; either version 2 of the License, or
9     (at your option) any later version.
10
11     VOMP is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14     GNU General Public License for more details.
15
16     You should have received a copy of the GNU General Public License
17     along with VOMP; if not, write to the Free Software
18     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19 */
20
21 #ifndef VLIVEBANNER_H
22 #define VLIVEBANNER_H
23
24 #include <stdio.h>
25 #include <string.h>
26 #include <vector>
27 #include <algorithm>
28
29 #include "view.h"
30 #include "remote.h"
31 #include "vdr.h"
32 #include "wselectlist.h"
33 #include "colour.h"
34 #include "video.h"
35 #include "event.h"
36 #include "vinfo.h"
37 #include "viewman.h"
38 #include "i18n.h"
39 #include "timerreceiver.h"
40 #include "timers.h"
41 //#include "vvideolive.h"
42
43 class VVideoLive;
44
45 class VLiveBanner : public View, public TimerReceiver
46 {
47   public:
48     VLiveBanner(VVideoLive* tvvideoLive, Channel* channel, bool bannerTakesCommands);
49     ~VLiveBanner();
50     static VLiveBanner* getInstance();
51     void delData();
52
53     void setChannel(Channel* channel);
54
55     int handleCommand(int command);
56     void draw();
57     void timercall(int clientReference);
58
59   private:
60     static VLiveBanner* instance;
61     VVideoLive* vvideoLive;
62     WSelectList sl;
63     Channel* currentChannel;
64     EventList* eventList;
65     bool takeCommands;
66     void drawClock();
67     Region clockRegion;
68 };
69
70 #endif