]> git.vomp.tv Git - vompclient.git/blob - wbutton.cc
Switch trunk code to new boxes
[vompclient.git] / wbutton.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 "wbutton.h"
22
23 #include "colour.h"
24
25 WButton::WButton()
26 {
27   int fontHeight = Surface::getFontHeight();
28   setSize(70, fontHeight);
29
30   mytext = NULL;
31   active = 0;
32   tag = 0;
33   dimmed = false;
34 }
35
36 WButton::~WButton()
37 {
38   if (mytext) delete[] mytext;
39 }
40
41 void WButton::setText(const char* takeText)
42 {
43   int length = strlen(takeText);
44   mytext = new char[length + 1];
45   strcpy(mytext, takeText);
46 }
47
48 void WButton::setActive(UCHAR tactive)
49 {
50   dimmed = false;
51   active = tactive;
52 }
53
54 void WButton::dim()
55 {
56   // a bolt on for now - an active but dimmed state
57   dimmed = true;
58   active = false;
59 }
60
61 void WButton::draw()
62 {
63   if (dimmed)
64   {
65     fillColour(Colour::BLACK);
66     drawText(mytext, 0, 0, Colour::SELECTHIGHLIGHT);
67   }
68   else if (active)
69   {
70     fillColour(Colour::SELECTHIGHLIGHT);
71     drawText(mytext, 0, 0, Colour::DARKTEXT);
72   }
73   else
74   {
75     fillColour(Colour::BUTTONBACKGROUND);
76     drawText(mytext, 0, 0, Colour::LIGHTTEXT);
77   }
78 }
79
80 void WButton::setTag(int newTag)
81 {
82   tag = newTag;
83 }
84
85 int WButton::getTag()
86 {
87   return tag;
88 }
89
90 // Sorry, I've broken these in the boxx upgrade - chris
91
92 bool WButton::mouseMove(int x, int y)
93 {
94 /*
95   if ((x-offsetX)>=area.x && (y-offsetY)>=area.y
96     && (x-offsetX)<=area.w && (y-offsetY)<=area.h && !active)
97   {
98     setActive(1);
99     return true;
100   }
101 */
102   return false;
103 }
104
105 bool WButton::mouseLBDOWN(int x, int y)
106 {
107 /*
108   if ((x-offsetX)>=area.x && (y-offsetY)>=area.y
109     && (x-offsetX)<=area.w && (y-offsetY)<=area.h && active)
110   {
111     return true;
112   }
113 */
114   return false;
115 }