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