]> git.vomp.tv Git - vompclient-marten.git/blob - view.cc
Initial import
[vompclient-marten.git] / view.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 "view.h"
22
23 char View::numViews = 0;
24
25 View::View()
26 {
27   height = 0;
28   width = 0;
29   screenX = 0;
30   screenY = 0;
31
32   delSec = 0;
33   delNSec = 0;
34   seconds = 0;
35
36   backgroundR = 0;
37   backgroundG = 0;
38   backgroundB = 0;
39   backgroundA = 0;
40
41   titleBarR = 0;
42   titleBarG = 0;
43   titleBarB = 0;
44   titleBarA = 0;
45
46   titleBarOn = 0;
47   borderOn = 0;
48
49   titleText = NULL;
50
51   numViews++;
52   Log::getInstance()->log("View", Log::DEBUG, "Construct %p, now %u", this, numViews);
53 }
54
55 View::~View()
56 {
57   if (titleText) delete[] titleText;
58
59   numViews--;
60   Log::getInstance()->log("View", Log::DEBUG, "Destruct, now %u", numViews);
61 }
62
63 void View::setTitleText(char* takeText)
64 {
65   int length = strlen(takeText);
66   titleText = new char[length + 1];
67   strcpy(titleText, takeText);
68 }
69
70 void View::draw()
71 {
72
73   if (borderOn)
74   {
75     rectangle(0, 0, width, height, titleBarR, titleBarG, titleBarB, titleBarA);
76     rectangle(5, 5, width-10, height-10, backgroundR, backgroundG, backgroundB, backgroundA);
77   }
78   else
79   {
80     fillColour(backgroundR, backgroundG, backgroundB, backgroundA);
81   }
82
83   if (titleBarOn)
84   {
85     rectangle(0, 0, width, 30, titleBarR, titleBarG, titleBarB, titleBarA);
86     if (titleText) drawText(titleText, 5, 5, 255, 255, 255);
87   }
88 }
89
90 int View::handleCommand(int command)
91 {
92   return 0;
93 }
94
95 void View::processMessage(Message* m)
96 {
97 }
98
99 void View::setBackgroundColour(UCHAR r, UCHAR g, UCHAR b, UCHAR a)
100 {
101   backgroundR = r;
102   backgroundG = g;
103   backgroundB = b;
104   backgroundA = a;
105 }
106
107 void View::setTitleBarColour(UCHAR r, UCHAR g, UCHAR b, UCHAR a)
108 {
109   titleBarR = r;
110   titleBarG = g;
111   titleBarB = b;
112   titleBarA = a;
113 }
114
115 void View::setTitleBarOn(UCHAR on)
116 {
117   titleBarOn = on;
118 }
119
120 void View::setBorderOn(UCHAR on)
121 {
122   borderOn = on;
123 }