]> git.vomp.tv Git - vompclient.git/blob - vvideolivetv.h
Mouse code for windows
[vompclient.git] / vvideolivetv.h
1 /*
2     Copyright 2007 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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
19 */
20
21 #ifndef VVIDEOLIVETV_H
22 #define VVIDEOLIVETV_H
23
24 #include <stdio.h>
25 #include <vector>
26 #include <math.h>
27
28 #include "boxx.h"
29 #include "region.h"
30 #include "wwss.h"
31 #include "vdr.h"
32 #include "wtextbox.h"
33 #include "wselectlist.h"
34 #include "timerreceiver.h"
35
36 class VChannelList;
37 class Video;
38 class VChannelList;
39 class BoxStack;
40 class WTextbox;
41 class PlayerLive;
42 class VAudioSelector;
43
44 class VVideoLiveTV : public Boxx, public TimerReceiver
45 {
46   public:
47     VVideoLiveTV(ChannelList* chanList, ULONG initialChannelNumber, VChannelList* vchannelList);
48     ~VVideoLiveTV();
49     int handleCommand(int command);
50     void processMessage(Message* m);
51
52     void go();
53
54     bool channelChange(UCHAR changeType, UINT newData);
55     // changeType = INDEX = (newData is a channel index in the list)
56     //            = NUMBER = (newData is a real channel number)
57     //            = OFFSET = (newData is UP or DOWN)
58
59     const static UCHAR INDEX = 1;
60     const static UCHAR NUMBER = 2;
61     const static UCHAR OFFSET = 3;
62     const static UCHAR PREVIOUS = 4;
63     const static UCHAR UP = 1;
64     const static UCHAR DOWN = 2;
65
66     void timercall(int ref);
67
68   private:
69     BoxStack* boxstack;
70     VDR* vdr;
71     Video* video;
72     PlayerLive* player;
73     bool playing;
74     ChannelList* chanList;
75     VChannelList* vchannelList;
76     EventList* eventList;
77     int numberWidth;
78     int videoMode;
79     ULONG streamType;
80
81     UINT currentChannelIndex;
82     UINT previousChannelIndex;
83     UINT osdChannelIndex;
84     int keying;
85     int keyingInput[10];
86
87     void doOK();
88     void doLeftRight(bool right);
89     void doUpDown(bool down);
90     void doChanUpDown(int which); // UP or DOWN
91     void doKey(int command);
92     void doEPG();
93     void doSummary();
94     void doAudioSelector();
95     void stop();
96     UINT upChannel(UINT index);
97     UINT downChannel(UINT index);
98     void toggleChopSides();
99
100     void displayOSD(bool newNowNextData);
101     void clearScreen();
102     void setClock();
103     void delData();
104     void setNowNextData();
105     void setSummaryData();
106     
107     VAudioSelector* vas;
108     
109     Wwss wss;
110     Region wssRegion;
111     bool dowss;
112     
113     Boxx osd;
114     WTextbox clock;
115     WTextbox osdChanNum;
116     WTextbox osdChanName;
117     WSelectList sl;
118     Boxx boxRed;
119     Boxx boxGreen;
120     Boxx boxYellow;
121     Boxx boxBlue;
122     WTextbox textRed;
123     WTextbox textGreen;
124     WTextbox textYellow;
125     WTextbox textBlue;
126     
127     Boxx summary;
128     WTextbox textSummary;
129     Boxx summaryBlackLine;
130     
131     Region osdSummaryRegion;
132
133 };
134
135 #endif