author | belugas |
Sun, 04 Nov 2007 00:08:57 +0000 | |
changeset 8320 | 6ffad7a5d242 |
parent 8177 | f0bcc8e149f3 |
child 8609 | 8c0c3e9dd6a0 |
permissions | -rw-r--r-- |
2186 | 1 |
/* $Id$ */ |
2 |
||
6505
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6472
diff
changeset
|
3 |
/** @file gfx.h */ |
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6472
diff
changeset
|
4 |
|
8041
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
5 |
/** |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
6 |
* @defgroup dirty Dirty |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
7 |
* |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
8 |
* Handles the repaint of some part of the screen. |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
9 |
* |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
10 |
* Some places in the code are called functions which makes something "dirty". |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
11 |
* This has nothing to do with making a Tile or Window darker or less visible. |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
12 |
* This term comes from memory caching and is used to define an object must |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
13 |
* be repaint. If some data of an object (like a Tile, Window, Vehicle, whatever) |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
14 |
* are changed which are so extensive the object must be repaint its marked |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
15 |
* as "dirty". The video driver repaint this object instead of the whole screen |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
16 |
* (this is btw. also possible if needed). This is used to avoid a |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
17 |
* flickering of the screen by the video driver constantly repainting it. |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
18 |
* |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
19 |
* This whole mechanism is controlled by an rectangle defined in #_invalid_rect. This |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
20 |
* rectangle defines the area on the screen which must be repaint. If a new object |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
21 |
* needs to be repainted this rectangle is extended to 'catch' the object on the |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
22 |
* screen. At some point (which is normaly uninteressted for patch writers) this |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
23 |
* rectangle is send to the video drivers method |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
24 |
* VideoDriver::MakeDirty and it is truncated back to an empty rectangle. At some |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
25 |
* later point (which is uninteressted, too) the video driver |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
26 |
* repaints all these saved rectangle instead of the whole screen and drop the |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
27 |
* rectangle informations. Then a new round begins by marking objects "dirty". |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
28 |
* |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
29 |
* @see VideoDriver::MakeDirty |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
30 |
* @see _invalid_rect |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
31 |
* @see _screen |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
32 |
*/ |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
33 |
|
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
34 |
|
0 | 35 |
#ifndef GFX_H |
36 |
#define GFX_H |
|
37 |
||
6615
96d30d65ed35
(svn r9111) -Feature: [OSX] mighty mice and touchpads can now scroll the map (in all directions)
bjarni
parents:
6574
diff
changeset
|
38 |
#include "openttd.h" |
7120
e31767effc16
(svn r9844) -Codechange: replace zoomlevel with an enum
truelight
parents:
6703
diff
changeset
|
39 |
#include "zoom.hpp" |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
40 |
|
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
41 |
enum WindowKeyCodes { |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
42 |
WKC_SHIFT = 0x8000, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
43 |
WKC_CTRL = 0x4000, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
44 |
WKC_ALT = 0x2000, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
45 |
WKC_META = 0x1000, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
46 |
|
6505
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6472
diff
changeset
|
47 |
/* Special ones */ |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
48 |
WKC_NONE = 0, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
49 |
WKC_ESC = 1, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
50 |
WKC_BACKSPACE = 2, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
51 |
WKC_INSERT = 3, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
52 |
WKC_DELETE = 4, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
53 |
|
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
54 |
WKC_PAGEUP = 5, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
55 |
WKC_PAGEDOWN = 6, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
56 |
WKC_END = 7, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
57 |
WKC_HOME = 8, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
58 |
|
6505
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6472
diff
changeset
|
59 |
/* Arrow keys */ |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
60 |
WKC_LEFT = 9, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
61 |
WKC_UP = 10, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
62 |
WKC_RIGHT = 11, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
63 |
WKC_DOWN = 12, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
64 |
|
6505
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6472
diff
changeset
|
65 |
/* Return & tab */ |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
66 |
WKC_RETURN = 13, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
67 |
WKC_TAB = 14, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
68 |
|
6505
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6472
diff
changeset
|
69 |
/* Space */ |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
70 |
WKC_SPACE = 32, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
71 |
|
6505
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6472
diff
changeset
|
72 |
/* Function keys */ |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
73 |
WKC_F1 = 33, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
74 |
WKC_F2 = 34, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
75 |
WKC_F3 = 35, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
76 |
WKC_F4 = 36, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
77 |
WKC_F5 = 37, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
78 |
WKC_F6 = 38, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
79 |
WKC_F7 = 39, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
80 |
WKC_F8 = 40, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
81 |
WKC_F9 = 41, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
82 |
WKC_F10 = 42, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
83 |
WKC_F11 = 43, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
84 |
WKC_F12 = 44, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
85 |
|
7807
81a0f019daa2
(svn r10663) -Fix r10662: bad me, didn't comply with coding style, as penalty I updated the surrounding code to comply with coding style too; I will never do it again (I hope :p)
truelight
parents:
7806
diff
changeset
|
86 |
/* Backquote is the key left of "1" |
6505
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6472
diff
changeset
|
87 |
* we only store this key here, no matter what character is really mapped to it |
7225
e83351234693
(svn r9961) -Fix (r7182): some file were still in iso8859-15 instead of utf8.
rubidium
parents:
7201
diff
changeset
|
88 |
* on a particular keyboard. (US keyboard: ` and ~ ; German keyboard: ^ and °) */ |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
89 |
WKC_BACKQUOTE = 45, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
90 |
WKC_PAUSE = 46, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
91 |
|
6505
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6472
diff
changeset
|
92 |
/* 0-9 are mapped to 48-57 |
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6472
diff
changeset
|
93 |
* A-Z are mapped to 65-90 |
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6472
diff
changeset
|
94 |
* a-z are mapped to 97-122 */ |
7806
65bd17ca1609
(svn r10662) -Add: added 'V' as new shortcut for new viewport (bilbo)
truelight
parents:
7495
diff
changeset
|
95 |
|
8037
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
96 |
/* Numerical keyboard */ |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
97 |
WKC_NUM_0 = 128, |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
98 |
WKC_NUM_1 = 129, |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
99 |
WKC_NUM_2 = 130, |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
100 |
WKC_NUM_3 = 131, |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
101 |
WKC_NUM_4 = 132, |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
102 |
WKC_NUM_5 = 133, |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
103 |
WKC_NUM_6 = 134, |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
104 |
WKC_NUM_7 = 135, |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
105 |
WKC_NUM_8 = 136, |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
106 |
WKC_NUM_9 = 137, |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
107 |
WKC_NUM_DIV = 138, |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
108 |
WKC_NUM_MUL = 139, |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
109 |
WKC_NUM_MINUS = 140, |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
110 |
WKC_NUM_PLUS = 141, |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
111 |
WKC_NUM_ENTER = 142, |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
112 |
WKC_NUM_DECIMAL = 143, |
7806
65bd17ca1609
(svn r10662) -Add: added 'V' as new shortcut for new viewport (bilbo)
truelight
parents:
7495
diff
changeset
|
113 |
|
8037
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
114 |
/* Other keys */ |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
115 |
WKC_SLASH = 144, ///< / Forward slash |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
116 |
WKC_SEMICOLON = 145, ///< ; Semicolon |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
117 |
WKC_EQUALS = 146, ///< = Equals |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
118 |
WKC_L_BRACKET = 147, ///< [ Left square bracket |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
119 |
WKC_BACKSLASH = 148, ///< \ Backslash |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
120 |
WKC_R_BRACKET = 149, ///< ] Right square bracket |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
121 |
WKC_SINGLEQUOTE = 150, ///< ' Single quote |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
122 |
WKC_COMMA = 151, ///< , Comma |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
123 |
WKC_PERIOD = 152, ///< . Period |
3b28308ccda7
(svn r11061) -Fix [FS#1086]: [win32] some keys were handled twice
glx
parents:
7950
diff
changeset
|
124 |
WKC_MINUS = 153, ///< - Minus |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
125 |
}; |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
126 |
|
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
127 |
enum GameModes { |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
128 |
GM_MENU, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
129 |
GM_NORMAL, |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
130 |
GM_EDITOR |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
131 |
}; |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
132 |
|
6573 | 133 |
void GameLoop(); |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
134 |
|
6573 | 135 |
void CreateConsole(); |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
136 |
|
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
137 |
typedef int32 CursorID; |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
138 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
139 |
struct Point { |
7814
fe643468ad64
(svn r10673) -Cleanup: some assorted style cleanups. Primarily type* var -> type *var.
rubidium
parents:
7807
diff
changeset
|
140 |
int x, y; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
141 |
}; |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
142 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
143 |
struct Rect { |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
144 |
int left,top,right,bottom; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
145 |
}; |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
146 |
|
6464
1c3515433409
(svn r8880) -Codechange: make anim cursors an array of structs.
rubidium
parents:
6192
diff
changeset
|
147 |
/** A single sprite of a list of animated cursors */ |
1c3515433409
(svn r8880) -Codechange: make anim cursors an array of structs.
rubidium
parents:
6192
diff
changeset
|
148 |
struct AnimCursor { |
6472
ba7633d318bb
(svn r8889) -Fix (r8880): a CursorID is not a SpriteID.
rubidium
parents:
6464
diff
changeset
|
149 |
static const CursorID LAST = MAX_UVALUE(CursorID); |
6464
1c3515433409
(svn r8880) -Codechange: make anim cursors an array of structs.
rubidium
parents:
6192
diff
changeset
|
150 |
CursorID sprite; ///< Must be set to LAST_ANIM when it is the last sprite of the loop |
1c3515433409
(svn r8880) -Codechange: make anim cursors an array of structs.
rubidium
parents:
6192
diff
changeset
|
151 |
byte display_time; ///< Amount of ticks this sprite will be shown |
1c3515433409
(svn r8880) -Codechange: make anim cursors an array of structs.
rubidium
parents:
6192
diff
changeset
|
152 |
}; |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
153 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
154 |
struct CursorVars { |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
155 |
Point pos, size, offs, delta; ///< position, size, offset from top-left, and movement |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
156 |
Point draw_pos, draw_size; ///< position and size bounding-box for drawing |
5919
2b58160d667d
(svn r8128) -Codechange: Split sprite and palette remap into separate 32 bit values.
peter1138
parents:
5887
diff
changeset
|
157 |
SpriteID sprite; ///< current image of cursor |
2b58160d667d
(svn r8128) -Codechange: Split sprite and palette remap into separate 32 bit values.
peter1138
parents:
5887
diff
changeset
|
158 |
SpriteID pal; |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
159 |
|
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
160 |
int wheel; ///< mouse wheel movement |
6615
96d30d65ed35
(svn r9111) -Feature: [OSX] mighty mice and touchpads can now scroll the map (in all directions)
bjarni
parents:
6574
diff
changeset
|
161 |
|
96d30d65ed35
(svn r9111) -Feature: [OSX] mighty mice and touchpads can now scroll the map (in all directions)
bjarni
parents:
6574
diff
changeset
|
162 |
/* We need two different vars to keep track of how far the scrollwheel moved. |
96d30d65ed35
(svn r9111) -Feature: [OSX] mighty mice and touchpads can now scroll the map (in all directions)
bjarni
parents:
6574
diff
changeset
|
163 |
* OSX uses this for scrolling around the map. */ |
96d30d65ed35
(svn r9111) -Feature: [OSX] mighty mice and touchpads can now scroll the map (in all directions)
bjarni
parents:
6574
diff
changeset
|
164 |
int v_wheel; |
96d30d65ed35
(svn r9111) -Feature: [OSX] mighty mice and touchpads can now scroll the map (in all directions)
bjarni
parents:
6574
diff
changeset
|
165 |
int h_wheel; |
96d30d65ed35
(svn r9111) -Feature: [OSX] mighty mice and touchpads can now scroll the map (in all directions)
bjarni
parents:
6574
diff
changeset
|
166 |
|
6464
1c3515433409
(svn r8880) -Codechange: make anim cursors an array of structs.
rubidium
parents:
6192
diff
changeset
|
167 |
const AnimCursor *animate_list; ///< in case of animated cursor, list of frames |
1c3515433409
(svn r8880) -Codechange: make anim cursors an array of structs.
rubidium
parents:
6192
diff
changeset
|
168 |
const AnimCursor *animate_cur; ///< in case of animated cursor, current frame |
1c3515433409
(svn r8880) -Codechange: make anim cursors an array of structs.
rubidium
parents:
6192
diff
changeset
|
169 |
uint animate_timeout; ///< in case of animated cursor, number of ticks to show the current cursor |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
170 |
|
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
171 |
bool visible; ///< cursor is visible |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
172 |
bool dirty; ///< the rect occupied by the mouse is dirty (redraw) |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
173 |
bool fix_at; ///< mouse is moving, but cursor is not (used for scrolling) |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
174 |
bool in_window; ///< mouse inside this window, determines drawing logic |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
175 |
}; |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
176 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
177 |
struct DrawPixelInfo { |
7374
54c06f06ecc8
(svn r10121) -Codechange: split renderer from rest of code; no longer any code directly accesses the video-buffer
truelight
parents:
7225
diff
changeset
|
178 |
void *dst_ptr; |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
179 |
int left, top, width, height; |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
180 |
int pitch; |
7120
e31767effc16
(svn r9844) -Codechange: replace zoomlevel with an enum
truelight
parents:
6703
diff
changeset
|
181 |
ZoomLevel zoom; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
182 |
}; |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
183 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
184 |
struct Colour { |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
185 |
byte r; |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
186 |
byte g; |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
187 |
byte b; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
188 |
}; |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
189 |
|
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
190 |
|
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
191 |
|
6505
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6472
diff
changeset
|
192 |
extern byte _dirkeys; ///< 1 = left, 2 = up, 4 = right, 8 = down |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
193 |
extern bool _fullscreen; |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
194 |
extern CursorVars _cursor; |
6505
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6472
diff
changeset
|
195 |
extern bool _ctrl_pressed; ///< Is Ctrl pressed? |
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6472
diff
changeset
|
196 |
extern bool _shift_pressed; ///< Is Shift pressed? |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
197 |
extern byte _fast_forward; |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
198 |
|
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
199 |
extern bool _left_button_down; |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
200 |
extern bool _left_button_clicked; |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
201 |
extern bool _right_button_down; |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
202 |
extern bool _right_button_clicked; |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
203 |
|
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
204 |
extern DrawPixelInfo _screen; |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
205 |
extern bool _exit_game; |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
206 |
extern bool _networking; ///< are we in networking mode? |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
207 |
extern byte _game_mode; |
6557
8381016f71f3
(svn r9034) -Codechange: renamed _pause to _pause_game, as some targets already have
truelight
parents:
6505
diff
changeset
|
208 |
extern byte _pause_game; |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
209 |
|
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
210 |
extern int _pal_first_dirty; |
7456
0c0636370335
(svn r10216) -Fix: palette animation always redid all palette entries, where in fact only a few indexes were needed
truelight
parents:
7433
diff
changeset
|
211 |
extern int _pal_count_dirty; |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
212 |
extern int _num_resolutions; |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
213 |
extern uint16 _resolutions[32][2]; |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
214 |
extern uint16 _cur_resolution[2]; |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
215 |
extern Colour _cur_palette[256]; |
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
216 |
|
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
217 |
void HandleKeypress(uint32 key); |
6573 | 218 |
void HandleMouseEvents(); |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
219 |
void CSleep(int milliseconds); |
6573 | 220 |
void UpdateWindows(); |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
221 |
|
6573 | 222 |
uint32 InteractiveRandom(); //< Used for random sequences that are not the same on the other end of the multiplayer link |
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
223 |
uint InteractiveRandomRange(uint max); |
7950
3d3ed007127a
(svn r10932) -Codechange: replace "text" with "chat" for the chat related function and variables.
rubidium
parents:
7814
diff
changeset
|
224 |
void DrawChatMessage(); |
6573 | 225 |
void DrawMouseCursor(); |
226 |
void ScreenSizeChanged(); |
|
227 |
void HandleExitGameRequest(); |
|
228 |
void GameSizeChanged(); |
|
229 |
void UndrawMouseCursor(); |
|
5887
063ca43b682c
(svn r8095) -Codechange: stuff that is not related to HAL moved from hal.h to gfx.h
KUDr
parents:
5838
diff
changeset
|
230 |
|
5838
9c3129cb019b
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5726
diff
changeset
|
231 |
#include "helpers.hpp" |
0 | 232 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
233 |
enum FontSize { |
3798
37a2090eac94
(svn r4802) - Codechange: replace _stringwidth_base and associated magic numbers with a FontSize enum, using the numbers (which are SpriteIDs) in only the places needed.
peter1138
parents:
3312
diff
changeset
|
234 |
FS_NORMAL, |
37a2090eac94
(svn r4802) - Codechange: replace _stringwidth_base and associated magic numbers with a FontSize enum, using the numbers (which are SpriteIDs) in only the places needed.
peter1138
parents:
3312
diff
changeset
|
235 |
FS_SMALL, |
37a2090eac94
(svn r4802) - Codechange: replace _stringwidth_base and associated magic numbers with a FontSize enum, using the numbers (which are SpriteIDs) in only the places needed.
peter1138
parents:
3312
diff
changeset
|
236 |
FS_LARGE, |
37a2090eac94
(svn r4802) - Codechange: replace _stringwidth_base and associated magic numbers with a FontSize enum, using the numbers (which are SpriteIDs) in only the places needed.
peter1138
parents:
3312
diff
changeset
|
237 |
FS_END, |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
238 |
}; |
3798
37a2090eac94
(svn r4802) - Codechange: replace _stringwidth_base and associated magic numbers with a FontSize enum, using the numbers (which are SpriteIDs) in only the places needed.
peter1138
parents:
3312
diff
changeset
|
239 |
|
5838
9c3129cb019b
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5726
diff
changeset
|
240 |
DECLARE_POSTFIX_INCREMENT(FontSize); |
3798
37a2090eac94
(svn r4802) - Codechange: replace _stringwidth_base and associated magic numbers with a FontSize enum, using the numbers (which are SpriteIDs) in only the places needed.
peter1138
parents:
3312
diff
changeset
|
241 |
|
0 | 242 |
void RedrawScreenRect(int left, int top, int right, int bottom); |
243 |
void GfxScroll(int left, int top, int width, int height, int xo, int yo); |
|
2097
82b1e11883fd
(svn r2607) - Feature: add support for truncating strings to a given (pixel) length. Function courtesy of Ludde.
Darkvater
parents:
2062
diff
changeset
|
244 |
|
8177
f0bcc8e149f3
(svn r11212) -Codechange: add support for drawing parts of sprites. Patch by frosch.
rubidium
parents:
8139
diff
changeset
|
245 |
/** |
f0bcc8e149f3
(svn r11212) -Codechange: add support for drawing parts of sprites. Patch by frosch.
rubidium
parents:
8139
diff
changeset
|
246 |
* Used to only draw a part of the sprite. |
f0bcc8e149f3
(svn r11212) -Codechange: add support for drawing parts of sprites. Patch by frosch.
rubidium
parents:
8139
diff
changeset
|
247 |
* Draw the subsprite in the rect (sprite_x_offset + left, sprite_y_offset + top) to (sprite_x_offset + right, sprite_y_offset + bottom). |
f0bcc8e149f3
(svn r11212) -Codechange: add support for drawing parts of sprites. Patch by frosch.
rubidium
parents:
8139
diff
changeset
|
248 |
* Both corners are included in the drawing area. |
f0bcc8e149f3
(svn r11212) -Codechange: add support for drawing parts of sprites. Patch by frosch.
rubidium
parents:
8139
diff
changeset
|
249 |
*/ |
f0bcc8e149f3
(svn r11212) -Codechange: add support for drawing parts of sprites. Patch by frosch.
rubidium
parents:
8139
diff
changeset
|
250 |
struct SubSprite { |
f0bcc8e149f3
(svn r11212) -Codechange: add support for drawing parts of sprites. Patch by frosch.
rubidium
parents:
8139
diff
changeset
|
251 |
int left, top, right, bottom; |
f0bcc8e149f3
(svn r11212) -Codechange: add support for drawing parts of sprites. Patch by frosch.
rubidium
parents:
8139
diff
changeset
|
252 |
}; |
f0bcc8e149f3
(svn r11212) -Codechange: add support for drawing parts of sprites. Patch by frosch.
rubidium
parents:
8139
diff
changeset
|
253 |
|
f0bcc8e149f3
(svn r11212) -Codechange: add support for drawing parts of sprites. Patch by frosch.
rubidium
parents:
8139
diff
changeset
|
254 |
void DrawSprite(SpriteID img, SpriteID pal, int x, int y, const SubSprite *sub = NULL); |
2406
be5cfb8cd20d
(svn r2932) Give the strings consisting of an up/a down arrow symbolic names
tron
parents:
2187
diff
changeset
|
255 |
|
6505
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6472
diff
changeset
|
256 |
/* XXX doesn't really belong here, but the only |
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6472
diff
changeset
|
257 |
* consumers always use it in conjunction with DoDrawString() */ |
5108
dc67d70b5a45
(svn r7182) -Feature: Merge utf8 branch. This brings us support for Unicode/UTF-8 and the option for fonts rendered by FreeType. Language changes to come.
peter1138
parents:
4954
diff
changeset
|
258 |
#define UPARROW "\xEE\x8A\x80" |
dc67d70b5a45
(svn r7182) -Feature: Merge utf8 branch. This brings us support for Unicode/UTF-8 and the option for fonts rendered by FreeType. Language changes to come.
peter1138
parents:
4954
diff
changeset
|
259 |
#define DOWNARROW "\xEE\x8A\xAA" |
2406
be5cfb8cd20d
(svn r2932) Give the strings consisting of an up/a down arrow symbolic names
tron
parents:
2187
diff
changeset
|
260 |
|
be5cfb8cd20d
(svn r2932) Give the strings consisting of an up/a down arrow symbolic names
tron
parents:
2187
diff
changeset
|
261 |
|
2097
82b1e11883fd
(svn r2607) - Feature: add support for truncating strings to a given (pixel) length. Function courtesy of Ludde.
Darkvater
parents:
2062
diff
changeset
|
262 |
int DrawStringCentered(int x, int y, StringID str, uint16 color); |
2113
f228b399da01
(svn r2623) - CodeChange: rework DrawStringCenteredTruncated() a bit. Instead of giving center + width you give the coordinates of the bounding box (left, right) it has to fit in (ludde)
Darkvater
parents:
2097
diff
changeset
|
263 |
int DrawStringCenteredTruncated(int xl, int xr, int y, StringID str, uint16 color); |
2134 | 264 |
int DoDrawStringCentered(int x, int y, const char *str, uint16 color); |
2097
82b1e11883fd
(svn r2607) - Feature: add support for truncating strings to a given (pixel) length. Function courtesy of Ludde.
Darkvater
parents:
2062
diff
changeset
|
265 |
|
82b1e11883fd
(svn r2607) - Feature: add support for truncating strings to a given (pixel) length. Function courtesy of Ludde.
Darkvater
parents:
2062
diff
changeset
|
266 |
int DrawString(int x, int y, StringID str, uint16 color); |
82b1e11883fd
(svn r2607) - Feature: add support for truncating strings to a given (pixel) length. Function courtesy of Ludde.
Darkvater
parents:
2062
diff
changeset
|
267 |
int DrawStringTruncated(int x, int y, StringID str, uint16 color, uint maxw); |
82b1e11883fd
(svn r2607) - Feature: add support for truncating strings to a given (pixel) length. Function courtesy of Ludde.
Darkvater
parents:
2062
diff
changeset
|
268 |
|
1323
41397685320a
(svn r1827) Next iteration of the byte -> char transition: some string drawing functions and buffers
tron
parents:
1093
diff
changeset
|
269 |
int DoDrawString(const char *string, int x, int y, uint16 color); |
2097
82b1e11883fd
(svn r2607) - Feature: add support for truncating strings to a given (pixel) length. Function courtesy of Ludde.
Darkvater
parents:
2062
diff
changeset
|
270 |
int DoDrawStringTruncated(const char *str, int x, int y, uint16 color, uint maxw); |
82b1e11883fd
(svn r2607) - Feature: add support for truncating strings to a given (pixel) length. Function courtesy of Ludde.
Darkvater
parents:
2062
diff
changeset
|
271 |
|
82b1e11883fd
(svn r2607) - Feature: add support for truncating strings to a given (pixel) length. Function courtesy of Ludde.
Darkvater
parents:
2062
diff
changeset
|
272 |
void DrawStringCenterUnderline(int x, int y, StringID str, uint16 color); |
2113
f228b399da01
(svn r2623) - CodeChange: rework DrawStringCenteredTruncated() a bit. Instead of giving center + width you give the coordinates of the bounding box (left, right) it has to fit in (ludde)
Darkvater
parents:
2097
diff
changeset
|
273 |
void DrawStringCenterUnderlineTruncated(int xl, int xr, int y, StringID str, uint16 color); |
2097
82b1e11883fd
(svn r2607) - Feature: add support for truncating strings to a given (pixel) length. Function courtesy of Ludde.
Darkvater
parents:
2062
diff
changeset
|
274 |
|
4314
c7ded7546e7f
(svn r5967) -Change: use right alignment for the year in the player's balance window instead of centering (about) 'string width' / 2 from the right edge
rubidium
parents:
3798
diff
changeset
|
275 |
int DrawStringRightAligned(int x, int y, StringID str, uint16 color); |
2097
82b1e11883fd
(svn r2607) - Feature: add support for truncating strings to a given (pixel) length. Function courtesy of Ludde.
Darkvater
parents:
2062
diff
changeset
|
276 |
void DrawStringRightAlignedTruncated(int x, int y, StringID str, uint16 color, uint maxw); |
4314
c7ded7546e7f
(svn r5967) -Change: use right alignment for the year in the player's balance window instead of centering (about) 'string width' / 2 from the right edge
rubidium
parents:
3798
diff
changeset
|
277 |
void DrawStringRightAlignedUnderline(int x, int y, StringID str, uint16 color); |
2097
82b1e11883fd
(svn r2607) - Feature: add support for truncating strings to a given (pixel) length. Function courtesy of Ludde.
Darkvater
parents:
2062
diff
changeset
|
278 |
|
193
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
0
diff
changeset
|
279 |
void GfxFillRect(int left, int top, int right, int bottom, int color); |
0a7025304867
(svn r194) -Codechange: stripping trailing-spaces. Please keep this that way!
truelight
parents:
0
diff
changeset
|
280 |
void GfxDrawLine(int left, int top, int right, int bottom, int color); |
8139
16ad832aa538
(svn r11174) -Codechange: add possibility to show the bounding boxes of sprites using CTRL-B so one can get a better understanding of the used bounding boxes to fix the glitches that still exist. Patch by frosch.
rubidium
parents:
8041
diff
changeset
|
281 |
void DrawBox(int x, int y, int dx1, int dy1, int dx2, int dy2, int dx3, int dy3); |
0 | 282 |
|
4609
6c337b3fbf4b
(svn r6462) -Codechange: Have GetStringWidth() return width as well as the height bounding
Darkvater
parents:
4444
diff
changeset
|
283 |
BoundingRect GetStringBoundingBox(const char *str); |
4954
d773d01b35f5
(svn r6953) -Codechange: Change FormatStringLinebreaks in such a way that if no whitespace was seen
Darkvater
parents:
4928
diff
changeset
|
284 |
uint32 FormatStringLinebreaks(char *str, int maxw); |
6573 | 285 |
void LoadStringWidthTable(); |
2634
16334e1a4862
(svn r3176) Use proper types, not some variants of int
tron
parents:
2548
diff
changeset
|
286 |
void DrawStringMultiCenter(int x, int y, StringID str, int maxw); |
6703
9ddfcb1849e4
(svn r9449) -Fix: Truncate the newgrf information text in the newgrf gui if it's too long.
maedhros
parents:
6615
diff
changeset
|
287 |
uint DrawStringMultiLine(int x, int y, StringID str, int maxw, int maxh = -1); |
8041
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
288 |
|
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
289 |
/** |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
290 |
* Let the dirty blocks repainting by the video driver. |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
291 |
* |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
292 |
* @ingroup dirty |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
293 |
*/ |
6573 | 294 |
void DrawDirtyBlocks(); |
8041
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
295 |
|
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
296 |
/** |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
297 |
* Set a new dirty block. |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
298 |
* |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
299 |
* @ingroup dirty |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
300 |
*/ |
0 | 301 |
void SetDirtyBlocks(int left, int top, int right, int bottom); |
8041
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
302 |
|
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
303 |
/** |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
304 |
* Marks the whole screen as dirty. |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
305 |
* |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
306 |
* @ingroup dirty |
63e760418a15
(svn r11065) -Documentation [FS#1186]: of the dirty marking/repainting subsystem. Patch by Progman.
rubidium
parents:
8037
diff
changeset
|
307 |
*/ |
6573 | 308 |
void MarkWholeScreenDirty(); |
0 | 309 |
|
6573 | 310 |
void GfxInitPalettes(); |
0 | 311 |
|
4429
1bb01569940c
(svn r6184) Remove the unused (because it was NULL in all callers) second parameter of FillDrawPixelInfo() and simplify some expressions
tron
parents:
4428
diff
changeset
|
312 |
bool FillDrawPixelInfo(DrawPixelInfo* n, int left, int top, int width, int height); |
0 | 313 |
|
6505
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6472
diff
changeset
|
314 |
/* window.cpp */ |
0 | 315 |
void DrawOverlappedWindowForAll(int left, int top, int right, int bottom); |
316 |
||
5919
2b58160d667d
(svn r8128) -Codechange: Split sprite and palette remap into separate 32 bit values.
peter1138
parents:
5887
diff
changeset
|
317 |
void SetMouseCursor(SpriteID sprite, SpriteID pal); |
6464
1c3515433409
(svn r8880) -Codechange: make anim cursors an array of structs.
rubidium
parents:
6192
diff
changeset
|
318 |
void SetAnimatedMouseCursor(const AnimCursor *table); |
6573 | 319 |
void CursorTick(); |
320 |
void DrawMouseCursor(); |
|
321 |
void ScreenSizeChanged(); |
|
322 |
void UndrawMouseCursor(); |
|
0 | 323 |
bool ChangeResInGame(int w, int h); |
1806
75dc9c737892
(svn r2310) - Fix: Game would crash if you full-screened with the 'fullscreen' button than chose a resolution from the dropdown box that was no longer valid. Big thanks to DaleStan for track down the crashing bug.
Darkvater
parents:
1391
diff
changeset
|
324 |
void SortResolutions(int count); |
6192
c6adfc929c6b
(svn r8605) -Codechange: [OSX] changed all objective C to objective C++
bjarni
parents:
5919
diff
changeset
|
325 |
void ToggleFullScreen(bool fs); |
0 | 326 |
|
6505
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6472
diff
changeset
|
327 |
/* gfx.cpp */ |
1390
53a5713cf3f9
(svn r1894) - Codechange: cleaned up the console a bit, wholly unified handling of text with that of editboxes
Darkvater
parents:
1350
diff
changeset
|
328 |
#define ASCII_LETTERSTART 32 |
3798
37a2090eac94
(svn r4802) - Codechange: replace _stringwidth_base and associated magic numbers with a FontSize enum, using the numbers (which are SpriteIDs) in only the places needed.
peter1138
parents:
3312
diff
changeset
|
329 |
extern FontSize _cur_fontsize; |
37a2090eac94
(svn r4802) - Codechange: replace _stringwidth_base and associated magic numbers with a FontSize enum, using the numbers (which are SpriteIDs) in only the places needed.
peter1138
parents:
3312
diff
changeset
|
330 |
|
5108
dc67d70b5a45
(svn r7182) -Feature: Merge utf8 branch. This brings us support for Unicode/UTF-8 and the option for fonts rendered by FreeType. Language changes to come.
peter1138
parents:
4954
diff
changeset
|
331 |
byte GetCharacterWidth(FontSize size, uint32 key); |
3798
37a2090eac94
(svn r4802) - Codechange: replace _stringwidth_base and associated magic numbers with a FontSize enum, using the numbers (which are SpriteIDs) in only the places needed.
peter1138
parents:
3312
diff
changeset
|
332 |
|
37a2090eac94
(svn r4802) - Codechange: replace _stringwidth_base and associated magic numbers with a FontSize enum, using the numbers (which are SpriteIDs) in only the places needed.
peter1138
parents:
3312
diff
changeset
|
333 |
static inline byte GetCharacterHeight(FontSize size) |
37a2090eac94
(svn r4802) - Codechange: replace _stringwidth_base and associated magic numbers with a FontSize enum, using the numbers (which are SpriteIDs) in only the places needed.
peter1138
parents:
3312
diff
changeset
|
334 |
{ |
37a2090eac94
(svn r4802) - Codechange: replace _stringwidth_base and associated magic numbers with a FontSize enum, using the numbers (which are SpriteIDs) in only the places needed.
peter1138
parents:
3312
diff
changeset
|
335 |
switch (size) { |
37a2090eac94
(svn r4802) - Codechange: replace _stringwidth_base and associated magic numbers with a FontSize enum, using the numbers (which are SpriteIDs) in only the places needed.
peter1138
parents:
3312
diff
changeset
|
336 |
default: NOT_REACHED(); |
37a2090eac94
(svn r4802) - Codechange: replace _stringwidth_base and associated magic numbers with a FontSize enum, using the numbers (which are SpriteIDs) in only the places needed.
peter1138
parents:
3312
diff
changeset
|
337 |
case FS_NORMAL: return 10; |
37a2090eac94
(svn r4802) - Codechange: replace _stringwidth_base and associated magic numbers with a FontSize enum, using the numbers (which are SpriteIDs) in only the places needed.
peter1138
parents:
3312
diff
changeset
|
338 |
case FS_SMALL: return 6; |
37a2090eac94
(svn r4802) - Codechange: replace _stringwidth_base and associated magic numbers with a FontSize enum, using the numbers (which are SpriteIDs) in only the places needed.
peter1138
parents:
3312
diff
changeset
|
339 |
case FS_LARGE: return 18; |
37a2090eac94
(svn r4802) - Codechange: replace _stringwidth_base and associated magic numbers with a FontSize enum, using the numbers (which are SpriteIDs) in only the places needed.
peter1138
parents:
3312
diff
changeset
|
340 |
} |
1391
1325047def14
(svn r1895) - Fix: add assert for charwidth getter just in case
Darkvater
parents:
1390
diff
changeset
|
341 |
} |
0 | 342 |
|
343 |
VARDEF DrawPixelInfo *_cur_dpi; |
|
344 |
||
4444
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
345 |
enum { |
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
346 |
COLOUR_DARK_BLUE, |
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
347 |
COLOUR_PALE_GREEN, |
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
348 |
COLOUR_PINK, |
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
349 |
COLOUR_YELLOW, |
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
350 |
COLOUR_RED, |
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
351 |
COLOUR_LIGHT_BLUE, |
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
352 |
COLOUR_GREEN, |
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
353 |
COLOUR_DARK_GREEN, |
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
354 |
COLOUR_BLUE, |
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
355 |
COLOUR_CREAM, |
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
356 |
COLOUR_MAUVE, |
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
357 |
COLOUR_PURPLE, |
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
358 |
COLOUR_ORANGE, |
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
359 |
COLOUR_BROWN, |
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
360 |
COLOUR_GREY, |
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
361 |
COLOUR_WHITE |
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
362 |
}; |
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
363 |
|
8320
6ffad7a5d242
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas
parents:
8177
diff
changeset
|
364 |
/** Colour of the strings, see _string_colormap in table/palettes.h or docs/ottd-colourtext-palette.png */ |
6ffad7a5d242
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas
parents:
8177
diff
changeset
|
365 |
enum TextColour { |
6ffad7a5d242
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas
parents:
8177
diff
changeset
|
366 |
TC_FROMSTRING = 0x00, |
6ffad7a5d242
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas
parents:
8177
diff
changeset
|
367 |
TC_BLUE = 0x00, |
6ffad7a5d242
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas
parents:
8177
diff
changeset
|
368 |
TC_SILVER = 0x01, |
6ffad7a5d242
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas
parents:
8177
diff
changeset
|
369 |
TC_GOLD = 0x02, |
6ffad7a5d242
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas
parents:
8177
diff
changeset
|
370 |
TC_RED = 0x03, |
6ffad7a5d242
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas
parents:
8177
diff
changeset
|
371 |
TC_PURPLE = 0x04, |
6ffad7a5d242
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas
parents:
8177
diff
changeset
|
372 |
TC_LIGHT_BROWN = 0x05, |
6ffad7a5d242
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas
parents:
8177
diff
changeset
|
373 |
TC_ORANGE = 0x06, |
6ffad7a5d242
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas
parents:
8177
diff
changeset
|
374 |
TC_GREEN = 0x07, |
6ffad7a5d242
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas
parents:
8177
diff
changeset
|
375 |
TC_YELLOW = 0x08, |
6ffad7a5d242
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas
parents:
8177
diff
changeset
|
376 |
TC_DARK_GREEN = 0x09, |
6ffad7a5d242
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas
parents:
8177
diff
changeset
|
377 |
TC_CREAM = 0x0A, |
6ffad7a5d242
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas
parents:
8177
diff
changeset
|
378 |
TC_BROWN = 0x0B, |
6ffad7a5d242
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas
parents:
8177
diff
changeset
|
379 |
TC_WHITE = 0x0C, |
6ffad7a5d242
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas
parents:
8177
diff
changeset
|
380 |
TC_LIGHT_BLUE = 0x0D, |
6ffad7a5d242
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas
parents:
8177
diff
changeset
|
381 |
TC_GREY = 0x0E, |
6ffad7a5d242
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas
parents:
8177
diff
changeset
|
382 |
TC_DARK_BLUE = 0x0F, |
6ffad7a5d242
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas
parents:
8177
diff
changeset
|
383 |
TC_BLACK = 0x10, |
6ffad7a5d242
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas
parents:
8177
diff
changeset
|
384 |
}; |
6ffad7a5d242
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
belugas
parents:
8177
diff
changeset
|
385 |
|
4444
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
386 |
/** |
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
387 |
* All 16 colour gradients |
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
388 |
* 8 colours per gradient from darkest (0) to lightest (7) |
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
389 |
*/ |
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
390 |
VARDEF byte _colour_gradient[16][8]; |
9c9c7f962482
(svn r6222) Remove struct ColorList, because the names of its attributes are plain confusing
tron
parents:
4437
diff
changeset
|
391 |
|
614
e016770cb781
(svn r1038) Feature: OpenTTD runs with the grf files of the DOS version
dominik
parents:
543
diff
changeset
|
392 |
VARDEF bool _use_dos_palette; |
e016770cb781
(svn r1038) Feature: OpenTTD runs with the grf files of the DOS version
dominik
parents:
543
diff
changeset
|
393 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
394 |
enum StringColorFlags { |
6505
abcb0580d976
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6472
diff
changeset
|
395 |
IS_PALETTE_COLOR = 0x100, ///< color value is already a real palette color index, not an index of a StringColor |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6573
diff
changeset
|
396 |
}; |
657
40a9032b454b
(svn r1091) Fix: Finally station names use 100% the correct color in transparent mode
dominik
parents:
614
diff
changeset
|
397 |
|
2436
177cb6a8339f
(svn r2962) - const correctness for all Get* functions and most Draw* functions that don't change their pointer parameters
Darkvater
parents:
2407
diff
changeset
|
398 |
#endif /* GFX_H */ |