author | KUDr |
Mon, 26 Mar 2007 21:00:16 +0000 | |
branch | cpp_gui |
changeset 6301 | e0251f797d59 |
parent 6295 | a88d8c2cff6e |
permissions | -rw-r--r-- |
6258
a2f86b8fd99b
(svn r8801) [cpp_gui] -Codechange: few changes towards OO GUI:
KUDr
parents:
diff
changeset
|
1 |
/* $Id$ */ |
a2f86b8fd99b
(svn r8801) [cpp_gui] -Codechange: few changes towards OO GUI:
KUDr
parents:
diff
changeset
|
2 |
|
a2f86b8fd99b
(svn r8801) [cpp_gui] -Codechange: few changes towards OO GUI:
KUDr
parents:
diff
changeset
|
3 |
#include "../stdafx.h" |
a2f86b8fd99b
(svn r8801) [cpp_gui] -Codechange: few changes towards OO GUI:
KUDr
parents:
diff
changeset
|
4 |
#include <stdarg.h> |
a2f86b8fd99b
(svn r8801) [cpp_gui] -Codechange: few changes towards OO GUI:
KUDr
parents:
diff
changeset
|
5 |
#include "../openttd.h" |
a2f86b8fd99b
(svn r8801) [cpp_gui] -Codechange: few changes towards OO GUI:
KUDr
parents:
diff
changeset
|
6 |
#include "../debug.h" |
a2f86b8fd99b
(svn r8801) [cpp_gui] -Codechange: few changes towards OO GUI:
KUDr
parents:
diff
changeset
|
7 |
#include "../functions.h" |
a2f86b8fd99b
(svn r8801) [cpp_gui] -Codechange: few changes towards OO GUI:
KUDr
parents:
diff
changeset
|
8 |
#include "../map.h" |
a2f86b8fd99b
(svn r8801) [cpp_gui] -Codechange: few changes towards OO GUI:
KUDr
parents:
diff
changeset
|
9 |
#include "../player.h" |
a2f86b8fd99b
(svn r8801) [cpp_gui] -Codechange: few changes towards OO GUI:
KUDr
parents:
diff
changeset
|
10 |
#include "../window.h" |
a2f86b8fd99b
(svn r8801) [cpp_gui] -Codechange: few changes towards OO GUI:
KUDr
parents:
diff
changeset
|
11 |
#include "../gfx.h" |
a2f86b8fd99b
(svn r8801) [cpp_gui] -Codechange: few changes towards OO GUI:
KUDr
parents:
diff
changeset
|
12 |
#include "../viewport.h" |
a2f86b8fd99b
(svn r8801) [cpp_gui] -Codechange: few changes towards OO GUI:
KUDr
parents:
diff
changeset
|
13 |
#include "../console.h" |
a2f86b8fd99b
(svn r8801) [cpp_gui] -Codechange: few changes towards OO GUI:
KUDr
parents:
diff
changeset
|
14 |
#include "../variables.h" |
a2f86b8fd99b
(svn r8801) [cpp_gui] -Codechange: few changes towards OO GUI:
KUDr
parents:
diff
changeset
|
15 |
#include "../table/sprites.h" |
a2f86b8fd99b
(svn r8801) [cpp_gui] -Codechange: few changes towards OO GUI:
KUDr
parents:
diff
changeset
|
16 |
#include "../genworld.h" |
a2f86b8fd99b
(svn r8801) [cpp_gui] -Codechange: few changes towards OO GUI:
KUDr
parents:
diff
changeset
|
17 |
#include "../helpers.hpp" |
6264
9fc3b5467396
(svn r8931) [cpp_gui] -Add: first OO widget type (TextButton) added only with basic functionality
KUDr
parents:
6258
diff
changeset
|
18 |
#include "window_events.hpp" |
6289 | 19 |
#include "widget_types.h" |
6264
9fc3b5467396
(svn r8931) [cpp_gui] -Add: first OO widget type (TextButton) added only with basic functionality
KUDr
parents:
6258
diff
changeset
|
20 |
|
9fc3b5467396
(svn r8931) [cpp_gui] -Add: first OO widget type (TextButton) added only with basic functionality
KUDr
parents:
6258
diff
changeset
|
21 |
namespace gui { |
9fc3b5467396
(svn r8931) [cpp_gui] -Add: first OO widget type (TextButton) added only with basic functionality
KUDr
parents:
6258
diff
changeset
|
22 |
|
6301
e0251f797d59
(svn r9484) [cpp_gui] -Add: Auto layout/resize ability of widgets.
KUDr
parents:
6295
diff
changeset
|
23 |
StringID TextButton::GetTextId() |
e0251f797d59
(svn r9484) [cpp_gui] -Add: Auto layout/resize ability of widgets.
KUDr
parents:
6295
diff
changeset
|
24 |
{ |
e0251f797d59
(svn r9484) [cpp_gui] -Add: Auto layout/resize ability of widgets.
KUDr
parents:
6295
diff
changeset
|
25 |
if (m_text_id != STR_NULL) return m_text_id; |
e0251f797d59
(svn r9484) [cpp_gui] -Add: Auto layout/resize ability of widgets.
KUDr
parents:
6295
diff
changeset
|
26 |
StringID temp_id = BindCString(m_text.c_str()); |
e0251f797d59
(svn r9484) [cpp_gui] -Add: Auto layout/resize ability of widgets.
KUDr
parents:
6295
diff
changeset
|
27 |
return temp_id; |
e0251f797d59
(svn r9484) [cpp_gui] -Add: Auto layout/resize ability of widgets.
KUDr
parents:
6295
diff
changeset
|
28 |
} |
e0251f797d59
(svn r9484) [cpp_gui] -Add: Auto layout/resize ability of widgets.
KUDr
parents:
6295
diff
changeset
|
29 |
|
e0251f797d59
(svn r9484) [cpp_gui] -Add: Auto layout/resize ability of widgets.
KUDr
parents:
6295
diff
changeset
|
30 |
/*virtual*/ void TextButton::QuerySizes() |
e0251f797d59
(svn r9484) [cpp_gui] -Add: Auto layout/resize ability of widgets.
KUDr
parents:
6295
diff
changeset
|
31 |
{ |
e0251f797d59
(svn r9484) [cpp_gui] -Add: Auto layout/resize ability of widgets.
KUDr
parents:
6295
diff
changeset
|
32 |
static Point16 border_size(6, 2); |
e0251f797d59
(svn r9484) [cpp_gui] -Add: Auto layout/resize ability of widgets.
KUDr
parents:
6295
diff
changeset
|
33 |
StringID text_id = GetTextId(); |
e0251f797d59
(svn r9484) [cpp_gui] -Add: Auto layout/resize ability of widgets.
KUDr
parents:
6295
diff
changeset
|
34 |
m_min_size = GetStringSize(text_id) + border_size; |
e0251f797d59
(svn r9484) [cpp_gui] -Add: Auto layout/resize ability of widgets.
KUDr
parents:
6295
diff
changeset
|
35 |
} |
e0251f797d59
(svn r9484) [cpp_gui] -Add: Auto layout/resize ability of widgets.
KUDr
parents:
6295
diff
changeset
|
36 |
|
6264
9fc3b5467396
(svn r8931) [cpp_gui] -Add: first OO widget type (TextButton) added only with basic functionality
KUDr
parents:
6258
diff
changeset
|
37 |
/*virtual*/ void TextButton::OnPaint(EvtPaint &ev) |
9fc3b5467396
(svn r8931) [cpp_gui] -Add: first OO widget type (TextButton) added only with basic functionality
KUDr
parents:
6258
diff
changeset
|
38 |
{ |
9fc3b5467396
(svn r8931) [cpp_gui] -Add: first OO widget type (TextButton) added only with basic functionality
KUDr
parents:
6258
diff
changeset
|
39 |
DrawBackground(ev); |
6301
e0251f797d59
(svn r9484) [cpp_gui] -Add: Auto layout/resize ability of widgets.
KUDr
parents:
6295
diff
changeset
|
40 |
Point center = GetSize() / 2; |
6264
9fc3b5467396
(svn r8931) [cpp_gui] -Add: first OO widget type (TextButton) added only with basic functionality
KUDr
parents:
6258
diff
changeset
|
41 |
if (m_pushed) center += Point(1, 1); |
6301
e0251f797d59
(svn r9484) [cpp_gui] -Add: Auto layout/resize ability of widgets.
KUDr
parents:
6295
diff
changeset
|
42 |
StringID text_id = GetTextId(); |
e0251f797d59
(svn r9484) [cpp_gui] -Add: Auto layout/resize ability of widgets.
KUDr
parents:
6295
diff
changeset
|
43 |
DrawStringCentered(center.x, center.y - 5, text_id, 16); |
6264
9fc3b5467396
(svn r8931) [cpp_gui] -Add: first OO widget type (TextButton) added only with basic functionality
KUDr
parents:
6258
diff
changeset
|
44 |
ev.SetHandled(); |
9fc3b5467396
(svn r8931) [cpp_gui] -Add: first OO widget type (TextButton) added only with basic functionality
KUDr
parents:
6258
diff
changeset
|
45 |
} |
6258
a2f86b8fd99b
(svn r8801) [cpp_gui] -Codechange: few changes towards OO GUI:
KUDr
parents:
diff
changeset
|
46 |
|
a2f86b8fd99b
(svn r8801) [cpp_gui] -Codechange: few changes towards OO GUI:
KUDr
parents:
diff
changeset
|
47 |
|
6264
9fc3b5467396
(svn r8931) [cpp_gui] -Add: first OO widget type (TextButton) added only with basic functionality
KUDr
parents:
6258
diff
changeset
|
48 |
}; // namespace gui |