]> git.vomp.tv Git - vompclient.git/blob - vvolume.cc
Initial import
[vompclient.git] / vvolume.cc
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 #include "vvolume.h"
22
23 VVolume::VVolume()
24 {
25   displayVolume = Audio::getInstance()->getVolume();
26
27   setDimensions(31, 227);
28   setScreenPos(100, 499);
29
30   setBackgroundColour(0, 0, 100, 255);
31 }
32
33 void VVolume::draw()
34 {
35   View::draw();
36
37   WSymbol* w = new WSymbol;
38   w->nextSymbol = WSymbol::VOLUME2;
39   w->setScreenPos(103, 509);
40   w->draw();
41
42   int i = 0;
43
44   for(; i < displayVolume; i++)
45   {
46     w->nextSymbol = WSymbol::VOLBAR;
47     w->setScreenPos(140 + (i * 9), 502);
48     w->draw();
49   }
50
51   for(; i < 20; i++)
52   {
53     w->nextSymbol = WSymbol::VOLDOT;
54     w->setScreenPos(140 + (i * 9), 512);
55     w->draw();
56   }
57
58   delete w;
59 }
60
61 int VVolume::handleCommand(int command)
62 {
63   switch(command)
64   {
65     case Remote::LEFT:
66     {
67       displayVolume = Audio::getInstance()->volumeDown();
68       draw();
69       show();
70       // handled
71       return 2;
72     }
73     case Remote::RIGHT:
74     {
75       displayVolume = Audio::getInstance()->volumeUp();
76       draw();
77       show();
78       // handled
79       return 2;
80     }
81   }
82
83   // allow command to drop through to other views
84   return 0;
85 }