2 Copyright 2007 Chris Tallon
4 This file is part of VOMP.
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.
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.
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.
21 #ifndef VVIDEOLIVETV_H
22 #define VVIDEOLIVETV_H
32 #include "wselectlist.h"
33 #include "timerreceiver.h"
35 #include "wprogressbar.h"
36 #include "osdreceiver.h"
51 class VVideoLiveTV : public Boxx, public TimerReceiver, public OSDReceiver
54 VVideoLiveTV(ChannelList* chanList, ULONG initialChannelNumber, VChannelList* vchannelList);
55 virtual ~VVideoLiveTV();
57 int handleCommand(int command);
58 void processMessage(Message* m);
62 bool channelChange(UCHAR changeType, UINT newData);
63 // changeType = INDEX = (newData is a channel index in the list)
64 // = NUMBER = (newData is a real channel number)
65 // = OFFSET = (newData is UP or DOWN)
67 const static UCHAR INDEX = 1;
68 const static UCHAR NUMBER = 2;
69 const static UCHAR OFFSET = 3;
70 const static UCHAR PREVIOUS = 4;
71 const static UCHAR UP = 1;
72 const static UCHAR DOWN = 2;
74 void timercall(int ref);
76 void drawOSDBitmap(UINT posX, UINT posY, const Bitmap&, const DisplayRegion& region);
78 void clearOSDArea(UINT posX, UINT posY, UINT width, UINT height, const DisplayRegion& region);
86 ChannelList* chanList;
87 VChannelList* vchannelList;
94 UINT currentChannelIndex;
95 UINT previousChannelIndex;
101 void doLeftRight(bool right);
102 void doUpDown(bool down);
103 void doChanUpDown(int which); // UP or DOWN
104 void doKey(int command);
107 void doAudioSelector();
108 void doTeletext(bool subtitle=false);
110 UINT upChannel(UINT index);
111 UINT downChannel(UINT index);
112 void toggleChopSides();
114 void displayOSD(bool newNowNextData);
118 void setNowNextData();
119 void setSummaryData();
120 void doAudioChannelSymbol();
121 void showUnavailable();
133 WTextbox osdChanName;
143 WSymbol sAspectRatio;
144 WProgressBar bufferBar;
145 WSymbol sAudioChannels;
146 WTextbox textUnavailable;
149 WTextbox textSummary;
150 Boxx summaryBlackLine;
153 Region osdSummaryRegion;