]> git.vomp.tv Git - vompclient.git/blob - tbboxx.cc
1a39b9717b7467a863f67a3464e062d86742100e
[vompclient.git] / tbboxx.cc
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 #include "tbboxx.h"
22
23 #include "log.h"
24
25 TBBoxx::TBBoxx()
26 {
27   titleBarOn = 0;
28   borderOn = 0;
29   titleText = NULL;
30   titleBarTextWidth = 0;
31 }
32
33 TBBoxx::~TBBoxx()
34 {
35   if (titleText) delete[] titleText;
36 }
37
38 void TBBoxx::setTitleText(const char* takeText, int width)
39 {
40   int length = strlen(takeText);
41   titleText = new char[length + 1];
42   strcpy(titleText, takeText);
43   titleBarTextWidth = width;
44 }
45
46 void TBBoxx::draw()
47 {
48   //Log::getInstance()->log("TBBoxx", Log::DEBUG, "Draw: %d",this);
49   
50   fillColour(DrawStyle::VIEWBACKGROUND);
51
52   if (borderOn)
53   {
54     rectangle(0, 0, area.w, area.h, titleBarColour);
55     rectangle(5, 5, area.w-10, area.h-10, DrawStyle::VIEWBACKGROUND);
56   }
57
58   if (titleBarOn)
59   {
60     rectangle(0, 0, area.w, 30, titleBarColour);
61     if (titleText)
62     {
63       if (titleBarTextWidth) drawText(titleText, 5, 5, titleBarTextWidth, DrawStyle::LIGHTTEXT);
64       else drawText(titleText, 5, 5, DrawStyle::LIGHTTEXT);
65     }
66   }
67
68   Boxx::draw();  
69 }
70
71 void TBBoxx::setTitleBarColour(const DrawStyle& Tcolour)
72 {
73   titleBarColour = Tcolour;
74 }
75
76 void TBBoxx::setTitleBarOn(UCHAR on)
77 {
78   titleBarOn = on;
79 }
80
81 void TBBoxx::setBorderOn(UCHAR on)
82 {
83   borderOn = on;
84 }