author | truelight |
Fri, 22 Jun 2007 10:57:53 +0000 | |
changeset 7009 | 9992ccf17e58 |
parent 7006 | bfa3974da32b |
child 7284 | d7903fff2d0b |
permissions | -rw-r--r-- |
2186 | 1 |
/* $Id$ */ |
2 |
||
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
3 |
/** @file window.h regroups declarations for all windowing system, as well as a few helper functions */ |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
4 |
|
0 | 5 |
#ifndef WINDOW_H |
6 |
#define WINDOW_H |
|
7 |
||
4692
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
8 |
#include "macros.h" |
4299
91f5d2bedcff
(svn r5944) -Merge TGP (r5578, r5579, r5724, r5726): -Feature: filter for textboxes to only
truelight
parents:
4266
diff
changeset
|
9 |
#include "string.h" |
4712
4335ad42e163
(svn r6624) -Feature: added ability to add refit commands to vehicle orders (can only be done in goto depot orders)
bjarni
parents:
4695
diff
changeset
|
10 |
#include "order.h" |
5587
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
11 |
#include "rail.h" |
6666
41ceafa4c85e
(svn r9897) -Codechange: prepare the toolbar for more road types.
rubidium
parents:
6643
diff
changeset
|
12 |
#include "road.h" |
5587
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
13 |
#include "airport.h" |
6638
09c5d7bf69a5
(svn r9869) -Codechange: replace some bytes with VehicleType, i.e. more type strictness.
rubidium
parents:
6531
diff
changeset
|
14 |
#include "vehicle.h" |
4299
91f5d2bedcff
(svn r5944) -Merge TGP (r5578, r5579, r5724, r5726): -Feature: filter for textboxes to only
truelight
parents:
4266
diff
changeset
|
15 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
16 |
struct WindowEvent; |
0 | 17 |
|
18 |
typedef void WindowProc(Window *w, WindowEvent *e); |
|
19 |
||
867
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
20 |
/* How the resize system works: |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
21 |
First, you need to add a WWT_RESIZEBOX to the widgets, and you need |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
22 |
to add the flag WDF_RESIZABLE to the window. Now the window is ready |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
23 |
to resize itself. |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
24 |
As you may have noticed, all widgets have a RESIZE_XXX in their line. |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
25 |
This lines controls how the widgets behave on resize. RESIZE_NONE means |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
26 |
it doesn't do anything. Any other option let's one of the borders |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
27 |
move with the changed width/height. So if a widget has |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
28 |
RESIZE_RIGHT, and the window is made 5 pixels wider by the user, |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
29 |
the right of the window will also be made 5 pixels wider. |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
30 |
Now, what if you want to clamp a widget to the bottom? Give it the flag |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
31 |
RESIZE_TB. This is RESIZE_TOP + RESIZE_BOTTOM. Now if the window gets |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
32 |
5 pixels bigger, both the top and bottom gets 5 bigger, so the whole |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
33 |
widgets moves downwards without resizing, and appears to be clamped |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
34 |
to the bottom. Nice aint it? |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
35 |
You should know one more thing about this system. Most windows can't |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
36 |
handle an increase of 1 pixel. So there is a step function, which |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
37 |
let the windowsize only be changed by X pixels. You configure this |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
38 |
after making the window, like this: |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
39 |
w->resize.step_height = 10; |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
40 |
Now the window will only change in height in steps of 10. |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
41 |
You can also give a minimum width and height. The default value is |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
42 |
the default height/width of the window itself. You can change this |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
43 |
AFTER window-creation, with: |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
44 |
w->resize.width or w->resize.height. |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
45 |
That was all.. good luck, and enjoy :) -- TrueLight */ |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
46 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
47 |
enum ResizeFlag { |
6179
d19b0137d8e4
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6117
diff
changeset
|
48 |
RESIZE_NONE = 0, ///< no resize required |
867
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
49 |
|
6179
d19b0137d8e4
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6117
diff
changeset
|
50 |
RESIZE_LEFT = 1, ///< left resize flag |
d19b0137d8e4
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6117
diff
changeset
|
51 |
RESIZE_RIGHT = 2, ///< rigth resize flag |
d19b0137d8e4
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6117
diff
changeset
|
52 |
RESIZE_TOP = 4, ///< top resize flag |
d19b0137d8e4
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6117
diff
changeset
|
53 |
RESIZE_BOTTOM = 8, ///< bottom resize flag |
867
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
54 |
|
6179
d19b0137d8e4
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6117
diff
changeset
|
55 |
RESIZE_LR = RESIZE_LEFT | RESIZE_RIGHT, ///< combination of left and right resize flags |
d19b0137d8e4
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6117
diff
changeset
|
56 |
RESIZE_RB = RESIZE_RIGHT | RESIZE_BOTTOM, ///< combination of right and bottom resize flags |
d19b0137d8e4
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6117
diff
changeset
|
57 |
RESIZE_TB = RESIZE_TOP | RESIZE_BOTTOM, ///< combination of top and bottom resize flags |
d19b0137d8e4
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6117
diff
changeset
|
58 |
RESIZE_LRB = RESIZE_LEFT | RESIZE_RIGHT | RESIZE_BOTTOM, ///< combination of left, right and bottom resize flags |
d19b0137d8e4
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6117
diff
changeset
|
59 |
RESIZE_LRTB = RESIZE_LEFT | RESIZE_RIGHT | RESIZE_TOP | RESIZE_BOTTOM, ///< combination of all resize flags |
d19b0137d8e4
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6117
diff
changeset
|
60 |
RESIZE_RTB = RESIZE_RIGHT | RESIZE_TOP | RESIZE_BOTTOM, ///< combination of right, top and bottom resize flag |
4749
65a49cfc922d
(svn r6661) Feature: Windows are not restricted to 32 widget items anymore.
belugas
parents:
4739
diff
changeset
|
61 |
|
65a49cfc922d
(svn r6661) Feature: Windows are not restricted to 32 widget items anymore.
belugas
parents:
4739
diff
changeset
|
62 |
/* The following flags are used by the system to specify what is disabled, hidden, or clicked |
65a49cfc922d
(svn r6661) Feature: Windows are not restricted to 32 widget items anymore.
belugas
parents:
4739
diff
changeset
|
63 |
* They are used in the same place as the above RESIZE_x flags, Widget visual_flags. |
65a49cfc922d
(svn r6661) Feature: Windows are not restricted to 32 widget items anymore.
belugas
parents:
4739
diff
changeset
|
64 |
* These states are used in exceptions. If nothing is specified, they will indicate |
65a49cfc922d
(svn r6661) Feature: Windows are not restricted to 32 widget items anymore.
belugas
parents:
4739
diff
changeset
|
65 |
* Enabled, visible or unclicked widgets*/ |
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
66 |
WIDG_DISABLED = 4, ///< widget is greyed out, not available |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
67 |
WIDG_HIDDEN = 5, ///< widget is made invisible |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
68 |
WIDG_LOWERED = 6, ///< widget is paint lowered, a pressed button in fact |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
69 |
}; |
867
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
70 |
|
4755
9ebcb0db6c06
(svn r6669) -Add: vararg functions to set hidden/disabled/lowered state of multiple widgets in one call
glx
parents:
4749
diff
changeset
|
71 |
enum { |
6179
d19b0137d8e4
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6117
diff
changeset
|
72 |
WIDGET_LIST_END = -1, ///< indicate the end of widgets' list for vararg functions |
4755
9ebcb0db6c06
(svn r6669) -Add: vararg functions to set hidden/disabled/lowered state of multiple widgets in one call
glx
parents:
4749
diff
changeset
|
73 |
}; |
9ebcb0db6c06
(svn r6669) -Add: vararg functions to set hidden/disabled/lowered state of multiple widgets in one call
glx
parents:
4749
diff
changeset
|
74 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
75 |
struct Widget { |
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
76 |
byte type; ///< Widget type, see WindowWidgetTypes |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
77 |
byte display_flags; ///< Resize direction, alignment, etc. during resizing, see ResizeFlags |
4547
d37c2d172ad4
(svn r6379) -Codechange: cast 'remove babel' on widget's unkA and rename it to 'data'.
Darkvater
parents:
4542
diff
changeset
|
78 |
byte color; ///< Widget colour, see docs/ottd-colourtext-palette.png |
5973
b371612e3dbf
(svn r8662) -Fix r8661: don't try to put negative values in unsigned vars
bjarni
parents:
5944
diff
changeset
|
79 |
int16 left, right, top, bottom; ///< The position offsets inside the window |
4547
d37c2d172ad4
(svn r6379) -Codechange: cast 'remove babel' on widget's unkA and rename it to 'data'.
Darkvater
parents:
4542
diff
changeset
|
80 |
uint16 data; ///< The String/Image or special code (list-matrixes) of a widget |
d37c2d172ad4
(svn r6379) -Codechange: cast 'remove babel' on widget's unkA and rename it to 'data'.
Darkvater
parents:
4542
diff
changeset
|
81 |
StringID tooltips; ///< Tooltips that are shown when rightclicking on a widget |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
82 |
}; |
0 | 83 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
84 |
enum FrameFlags { |
5587
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
85 |
FR_NONE = 0x00, |
1938
70baf462aff1
(svn r2444) - CodeChange: Add an enum for demagicifying the values of the 'flags' parameter of DrawFrameRect(). (_Abraxa_)
hackykid
parents:
1648
diff
changeset
|
86 |
FR_TRANSPARENT = 0x01, ///< Makes the background transparent if set |
70baf462aff1
(svn r2444) - CodeChange: Add an enum for demagicifying the values of the 'flags' parameter of DrawFrameRect(). (_Abraxa_)
hackykid
parents:
1648
diff
changeset
|
87 |
FR_BORDERONLY = 0x10, ///< Draw border only, no background |
70baf462aff1
(svn r2444) - CodeChange: Add an enum for demagicifying the values of the 'flags' parameter of DrawFrameRect(). (_Abraxa_)
hackykid
parents:
1648
diff
changeset
|
88 |
FR_LOWERED = 0x20, ///< If set the frame is lowered and the background color brighter (ie. buttons when pressed) |
70baf462aff1
(svn r2444) - CodeChange: Add an enum for demagicifying the values of the 'flags' parameter of DrawFrameRect(). (_Abraxa_)
hackykid
parents:
1648
diff
changeset
|
89 |
FR_DARKENED = 0x40, ///< If set the background is darker, allows for lowered frames with normal background color when used with FR_LOWERED (ie. dropdown boxes) |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
90 |
}; |
4437
49e79e135539
(svn r6209) Move DrawFrameRect() out of gfx.[ch], because it uses data (_color_list) which the renderer shouldn't have know about
tron
parents:
4434
diff
changeset
|
91 |
|
5587
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
92 |
DECLARE_ENUM_AS_BIT_SET(FrameFlags); |
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
93 |
|
4437
49e79e135539
(svn r6209) Move DrawFrameRect() out of gfx.[ch], because it uses data (_color_list) which the renderer shouldn't have know about
tron
parents:
4434
diff
changeset
|
94 |
void DrawFrameRect(int left, int top, int right, int bottom, int color, FrameFlags flags); |
1938
70baf462aff1
(svn r2444) - CodeChange: Add an enum for demagicifying the values of the 'flags' parameter of DrawFrameRect(). (_Abraxa_)
hackykid
parents:
1648
diff
changeset
|
95 |
|
4634
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
96 |
enum WindowEventCodes { |
5413 | 97 |
WE_CREATE, |
98 |
WE_DESTROY, |
|
99 |
WE_PAINT, |
|
100 |
WE_KEYPRESS, |
|
101 |
WE_CLICK, |
|
7009
9992ccf17e58
(svn r10265) -Feature: allow double-clicking on certain places: build-vehicle and town-action
truelight
parents:
7006
diff
changeset
|
102 |
WE_DOUBLE_CLICK, |
5413 | 103 |
WE_RCLICK, |
104 |
WE_MOUSEOVER, |
|
105 |
WE_MOUSELOOP, |
|
106 |
WE_MOUSEWHEEL, |
|
107 |
WE_TICK, |
|
108 |
WE_4, |
|
109 |
WE_TIMEOUT, |
|
110 |
WE_PLACE_OBJ, |
|
111 |
WE_ABORT_PLACE_OBJ, |
|
112 |
WE_ON_EDIT_TEXT, |
|
113 |
WE_ON_EDIT_TEXT_CANCEL, |
|
114 |
WE_POPUPMENU_SELECT, |
|
115 |
WE_POPUPMENU_OVER, |
|
116 |
WE_DRAGDROP, |
|
117 |
WE_PLACE_DRAG, |
|
118 |
WE_PLACE_MOUSEUP, |
|
119 |
WE_PLACE_PRESIZE, |
|
120 |
WE_DROPDOWN_SELECT, |
|
121 |
WE_RESIZE, |
|
122 |
WE_MESSAGE, |
|
123 |
WE_SCROLL, |
|
124 |
WE_INVALIDATE_DATA, |
|
4634
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
125 |
}; |
0 | 126 |
|
4634
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
127 |
struct WindowEvent { |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
128 |
byte event; |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
129 |
union { |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
130 |
struct{ |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
131 |
Point pt; |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
132 |
int widget; |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
133 |
} click; |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
424
diff
changeset
|
134 |
|
4634
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
135 |
struct { |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
136 |
Point pt; |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
137 |
TileIndex tile; |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
138 |
TileIndex starttile; |
6669
bb48a810a509
(svn r9900) -Codechange: Separate the variables for how to highlight a land area and what to do with it afterwards.
maedhros
parents:
6666
diff
changeset
|
139 |
byte select_method; |
bb48a810a509
(svn r9900) -Codechange: Separate the variables for how to highlight a land area and what to do with it afterwards.
maedhros
parents:
6666
diff
changeset
|
140 |
byte select_proc; |
4634
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
141 |
} place; |
1648
41c3d5de9994
(svn r2152) - Fix: Chatbar in MP games is now on-top of the news window.
darkvater
parents:
1570
diff
changeset
|
142 |
|
4634
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
143 |
struct { |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
144 |
Point pt; |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
145 |
int widget; |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
146 |
} dragdrop; |
4335
02934874f33d
(svn r6036) -Codechange: do not handle SCROLL in a central function, but let windows handle them theirself. Added WE_SCROLL for this.
truelight
parents:
4318
diff
changeset
|
147 |
|
4634
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
148 |
struct { |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
149 |
Point size; |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
150 |
Point diff; |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
151 |
} sizing; |
4337
e705eef174bf
(svn r6038) -Codechange: move mousewheel code to event WE_MOUSEWHEEL instead of a general function that handles that
truelight
parents:
4335
diff
changeset
|
152 |
|
4634
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
153 |
struct { |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
154 |
char *str; |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
155 |
} edittext; |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
156 |
|
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
157 |
struct { |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
158 |
Point pt; |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
159 |
} popupmenu; |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
160 |
|
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
161 |
struct { |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
162 |
int button; |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
163 |
int index; |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
164 |
} dropdown; |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
165 |
|
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
166 |
struct { |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
167 |
Point pt; |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
168 |
int widget; |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
169 |
} mouseover; |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
170 |
|
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
171 |
struct { |
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
172 |
bool cont; ///< continue the search? (default true) |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
173 |
uint16 key; ///< 16-bit Unicode value of the key |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
174 |
uint16 keycode; ///< untranslated key (including shift-state) |
4634
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
175 |
} keypress; |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
176 |
|
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
177 |
struct { |
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
178 |
int msg; ///< message to be sent |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
179 |
int wparam; ///< additional message-specific information |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
180 |
int lparam; ///< additional message-specific information |
4634
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
181 |
} message; |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
182 |
|
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
183 |
struct { |
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
184 |
Point delta; ///< delta position against position of last call |
4634
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
185 |
} scroll; |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
186 |
|
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
187 |
struct { |
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
188 |
int wheel; ///< how much was 'wheel'd' |
4634
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
189 |
} wheel; |
07699ac2bf37
(svn r6499) -Codechange: Finally, got "byte event" outside of the union WindowEvent, which is now a struct
belugas
parents:
4547
diff
changeset
|
190 |
} we; |
0 | 191 |
}; |
192 |
||
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
193 |
struct WindowDesc { |
0 | 194 |
int16 left, top, width, height; |
2788
0187c588107e
(svn r3336) byte -> WindowClass, uint16 -> WindowNumber
tron
parents:
2757
diff
changeset
|
195 |
WindowClass cls; |
0187c588107e
(svn r3336) byte -> WindowClass, uint16 -> WindowNumber
tron
parents:
2757
diff
changeset
|
196 |
WindowClass parent_cls; |
0 | 197 |
uint32 flags; |
198 |
const Widget *widgets; |
|
199 |
WindowProc *proc; |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
200 |
}; |
0 | 201 |
|
5413 | 202 |
enum WindowDefaultFlag { |
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
203 |
WDF_STD_TOOLTIPS = 1, ///< use standard routine when displaying tooltips |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
204 |
WDF_DEF_WIDGET = 2, ///< default widget control for some widgets in the on click event |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
205 |
WDF_STD_BTN = 4, ///< default handling for close and drag widgets (widget no 0 and 1) |
2064
e6a2b42d0b15
(svn r2573) Codechange: Removed WDF_RESTORE_DPARAM, it's not needed with the new string system.
ludde
parents:
2021
diff
changeset
|
206 |
|
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
207 |
WDF_UNCLICK_BUTTONS = 16, ///< Unclick buttons when the window event times out */ |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
208 |
WDF_STICKY_BUTTON = 32, ///< Set window to sticky mode; they are not closed unless closed with 'X' (widget 2) |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
209 |
WDF_RESIZABLE = 64, ///< A window can be resized |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
210 |
WDF_MODAL = 128, ///< The window is a modal child of some other window, meaning the parent is 'inactive' |
0 | 211 |
}; |
212 |
||
213 |
/* can be used as x or y coordinates to cause a specific placement */ |
|
5413 | 214 |
enum WindowDefaultPosition { |
5072
69195f96a23a
(svn r7130) -Codechange: Handle the positioning of windows through the desc->left/top settings with
Darkvater
parents:
5071
diff
changeset
|
215 |
WDP_AUTO = -1, ///< Find a place automatically |
69195f96a23a
(svn r7130) -Codechange: Handle the positioning of windows through the desc->left/top settings with
Darkvater
parents:
5071
diff
changeset
|
216 |
WDP_CENTER = -2, ///< Center the window (left/right or top/bottom) |
69195f96a23a
(svn r7130) -Codechange: Handle the positioning of windows through the desc->left/top settings with
Darkvater
parents:
5071
diff
changeset
|
217 |
WDP_ALIGN_TBR = -3, ///< Align the right side of the window with the right side of the main toolbar |
69195f96a23a
(svn r7130) -Codechange: Handle the positioning of windows through the desc->left/top settings with
Darkvater
parents:
5071
diff
changeset
|
218 |
WDP_ALIGN_TBL = -4, ///< Align the left side of the window with the left side of the main toolbar |
0 | 219 |
}; |
220 |
||
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
221 |
struct Textbuf { |
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
222 |
char *buf; ///< buffer in which text is saved |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
223 |
uint16 maxlength, maxwidth; ///< the maximum size of the buffer. Maxwidth specifies screensize in pixels, maxlength is in bytes |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
224 |
uint16 length, width; ///< the current size of the string. Width specifies screensize in pixels, length is in bytes |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
225 |
bool caret; ///< is the caret ("_") visible or not |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
226 |
uint16 caretpos; ///< the current position of the caret in the buffer, in bytes |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
227 |
uint16 caretxoffs; ///< the current position of the caret in pixels |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
228 |
}; |
1390
e7cdf3ce0fb6
(svn r1894) - Codechange: cleaned up the console a bit, wholly unified handling of text with that of editboxes
Darkvater
parents:
1386
diff
changeset
|
229 |
|
0 | 230 |
#define WP(ptr,str) (*(str*)(ptr)->custom) |
2906
ac54fefb84e7
(svn r3461) - Fix: Increase window-size as for 64-bit machines it wasn't enough
Darkvater
parents:
2888
diff
changeset
|
231 |
/* You cannot 100% reliably calculate the biggest custom struct as |
ac54fefb84e7
(svn r3461) - Fix: Increase window-size as for 64-bit machines it wasn't enough
Darkvater
parents:
2888
diff
changeset
|
232 |
* the number of pointers in it and alignment will have a huge impact. |
4299
91f5d2bedcff
(svn r5944) -Merge TGP (r5578, r5579, r5724, r5726): -Feature: filter for textboxes to only
truelight
parents:
4266
diff
changeset
|
233 |
* 96 is the largest window-size for 64-bit machines currently */ |
91f5d2bedcff
(svn r5944) -Merge TGP (r5578, r5579, r5724, r5726): -Feature: filter for textboxes to only
truelight
parents:
4266
diff
changeset
|
234 |
#define WINDOW_CUSTOM_SIZE 96 |
0 | 235 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
236 |
struct Scrollbar { |
62
2bdd81b8adcc
(svn r63) Fix: [ 1009385 ] Too many save games prevented loading
dominik
parents:
0
diff
changeset
|
237 |
uint16 count, cap, pos; |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
238 |
}; |
0 | 239 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
240 |
struct ResizeInfo { |
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
241 |
uint width; ///< Minimum width and height |
867
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
242 |
uint height; |
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
243 |
uint step_width; ///< In how big steps the width and height go |
867
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
244 |
uint step_height; |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
245 |
}; |
867
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
246 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
247 |
struct WindowMessage { |
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
248 |
int msg; |
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
249 |
int wparam; |
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
250 |
int lparam; |
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
251 |
}; |
1648
41c3d5de9994
(svn r2152) - Fix: Chatbar in MP games is now on-top of the news window.
darkvater
parents:
1570
diff
changeset
|
252 |
|
0 | 253 |
struct Window { |
254 |
uint16 flags4; |
|
255 |
WindowClass window_class; |
|
256 |
WindowNumber window_number; |
|
257 |
||
867
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
258 |
int left, top; |
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
259 |
int width, height; |
0 | 260 |
|
842 | 261 |
Scrollbar hscroll, vscroll, vscroll2; |
867
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
262 |
ResizeInfo resize; |
0 | 263 |
|
264 |
byte caption_color; |
|
265 |
||
266 |
WindowProc *wndproc; |
|
267 |
ViewPort *viewport; |
|
867
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
268 |
const Widget *original_widget; |
4077
d4d440dd8925
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
tron
parents:
3812
diff
changeset
|
269 |
Widget *widget; |
5232
d099cc0d7961
(svn r7352) -Codechange: add widget_count parameter to the window.
rubidium
parents:
5199
diff
changeset
|
270 |
uint widget_count; |
0 | 271 |
uint32 desc_flags; |
272 |
||
2622
73167d7e30c7
(svn r3162) -Fix: renamed 'Message' to 'WindowMessage', a struct named 'Message' already
truelight
parents:
2596
diff
changeset
|
273 |
WindowMessage message; |
5415
60e096e4818d
(svn r7618) -Feature: Add support for a parent<>child relationship in Window terms. A child
Darkvater
parents:
5413
diff
changeset
|
274 |
Window *parent; |
158
b1a821f84250
(svn r159) -Fix: w->custom[] was too small for 64bit pointers
truelight
parents:
129
diff
changeset
|
275 |
byte custom[WINDOW_CUSTOM_SIZE]; |
0 | 276 |
}; |
277 |
||
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
278 |
struct querystr_d { |
4299
91f5d2bedcff
(svn r5944) -Merge TGP (r5578, r5579, r5724, r5726): -Feature: filter for textboxes to only
truelight
parents:
4266
diff
changeset
|
279 |
StringID caption; |
91f5d2bedcff
(svn r5944) -Merge TGP (r5578, r5579, r5724, r5726): -Feature: filter for textboxes to only
truelight
parents:
4266
diff
changeset
|
280 |
Textbuf text; |
91f5d2bedcff
(svn r5944) -Merge TGP (r5578, r5579, r5724, r5726): -Feature: filter for textboxes to only
truelight
parents:
4266
diff
changeset
|
281 |
const char *orig; |
91f5d2bedcff
(svn r5944) -Merge TGP (r5578, r5579, r5724, r5726): -Feature: filter for textboxes to only
truelight
parents:
4266
diff
changeset
|
282 |
CharSetFilter afilter; |
5431
6e56b4f13dd7
(svn r7637) -Codechange: Change ShowQueryString to use a window pointer as a parent. If the
Darkvater
parents:
5418
diff
changeset
|
283 |
bool handled; |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
284 |
}; |
4299
91f5d2bedcff
(svn r5944) -Merge TGP (r5578, r5579, r5724, r5726): -Feature: filter for textboxes to only
truelight
parents:
4266
diff
changeset
|
285 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(querystr_d)); |
91f5d2bedcff
(svn r5944) -Merge TGP (r5578, r5579, r5724, r5726): -Feature: filter for textboxes to only
truelight
parents:
4266
diff
changeset
|
286 |
|
6531
4445b25832c4
(svn r9719) -Fix: in-game private messages did not work for clients with a Client ID > 255.
rubidium
parents:
6432
diff
changeset
|
287 |
struct chatquerystr_d : public querystr_d { |
4445b25832c4
(svn r9719) -Fix: in-game private messages did not work for clients with a Client ID > 255.
rubidium
parents:
6432
diff
changeset
|
288 |
int dest; |
4445b25832c4
(svn r9719) -Fix: in-game private messages did not work for clients with a Client ID > 255.
rubidium
parents:
6432
diff
changeset
|
289 |
}; |
4445b25832c4
(svn r9719) -Fix: in-game private messages did not work for clients with a Client ID > 255.
rubidium
parents:
6432
diff
changeset
|
290 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(chatquerystr_d)); |
4445b25832c4
(svn r9719) -Fix: in-game private messages did not work for clients with a Client ID > 255.
rubidium
parents:
6432
diff
changeset
|
291 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
292 |
struct menu_d { |
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
293 |
byte item_count; ///< follow_vehicle |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
294 |
byte sel_index; ///< scrollpos_x |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
295 |
byte main_button; ///< scrollpos_y |
0 | 296 |
byte action_id; |
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
297 |
StringID string_id; ///< unk30 |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
298 |
uint16 checked_items; ///< unk32 |
2216
cdedee39cc2b
(svn r2734) -Feature: The Main Toolbar Dropdown Menu can now display disabled items
celestar
parents:
2187
diff
changeset
|
299 |
byte disabled_items; |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
300 |
}; |
1004 | 301 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(menu_d)); |
0 | 302 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
303 |
struct def_d { |
0 | 304 |
int16 data_1, data_2, data_3; |
305 |
int16 data_4, data_5; |
|
2596 | 306 |
bool close; |
0 | 307 |
byte byte_1; |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
308 |
}; |
1004 | 309 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(def_d)); |
0 | 310 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
311 |
struct void_d { |
0 | 312 |
void *data; |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
313 |
}; |
1004 | 314 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(void_d)); |
0 | 315 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
316 |
struct tree_d { |
2596 | 317 |
uint16 base; |
318 |
uint16 count; |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
319 |
}; |
1004 | 320 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(tree_d)); |
0 | 321 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
322 |
struct tooltips_d { |
0 | 323 |
StringID string_id; |
4834
3c6e8a547174
(svn r6758) -Feature: Add a measurement tool that will show dimensions and height
Darkvater
parents:
4800
diff
changeset
|
324 |
byte paramcount; |
7006
bfa3974da32b
(svn r10262) -Fix (r10258): some places that needed to be changed to uint64 were hidden/forgotten, which caused memory corruptions and that in caused all kinds of assertions to trigger.
rubidium
parents:
6730
diff
changeset
|
325 |
uint64 params[5]; |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
326 |
}; |
1004 | 327 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(tooltips_d)); |
0 | 328 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
329 |
struct buildvehicle_d { |
6638
09c5d7bf69a5
(svn r9869) -Codechange: replace some bytes with VehicleType, i.e. more type strictness.
rubidium
parents:
6531
diff
changeset
|
330 |
VehicleType vehicle_type; |
5187
12dc9dfa6af6
(svn r7299) -CodeChange: Train and Aircraft Build window GUI code simplified a bit:
KUDr
parents:
5124
diff
changeset
|
331 |
union { |
5587
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
332 |
RailTypeByte railtype; |
6024 | 333 |
AirportFTAClass::Flags flags; |
6666
41ceafa4c85e
(svn r9897) -Codechange: prepare the toolbar for more road types.
rubidium
parents:
6643
diff
changeset
|
334 |
RoadTypes roadtypes; |
5187
12dc9dfa6af6
(svn r7299) -CodeChange: Train and Aircraft Build window GUI code simplified a bit:
KUDr
parents:
5124
diff
changeset
|
335 |
} filter; |
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
336 |
byte sel_index; ///< deprecated value, used for 'unified' ship and road |
5187
12dc9dfa6af6
(svn r7299) -CodeChange: Train and Aircraft Build window GUI code simplified a bit:
KUDr
parents:
5124
diff
changeset
|
337 |
bool descending_sort_order; |
4770
7092e6b90693
(svn r6684) -Feature: [train build window] added sorting options for the engines
bjarni
parents:
4766
diff
changeset
|
338 |
byte sort_criteria; |
5781
404262bfa03d
(svn r8333) -Codechange: when invalidating a build window list, set a flag instead of rebuilding the list and then rebuild it the next time it's redrawn
bjarni
parents:
5587
diff
changeset
|
339 |
bool regenerate_list; |
2498
3ed05caa4449
(svn r3024) -Codechange: Another batch of replacements of int/uint/int16/byte/-1 with proper types and constants
tron
parents:
2448
diff
changeset
|
340 |
EngineID sel_engine; |
3ed05caa4449
(svn r3024) -Codechange: Another batch of replacements of int/uint/int16/byte/-1 with proper types and constants
tron
parents:
2448
diff
changeset
|
341 |
EngineID rename_engine; |
5187
12dc9dfa6af6
(svn r7299) -CodeChange: Train and Aircraft Build window GUI code simplified a bit:
KUDr
parents:
5124
diff
changeset
|
342 |
EngineList eng_list; |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
343 |
}; |
4790
69e0d03632c9
(svn r6712) -Code cleanup: renamed buildtrain_d to buildvehicle_d as it's used for all vehicle types
bjarni
parents:
4786
diff
changeset
|
344 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(buildvehicle_d)); |
0 | 345 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
346 |
struct replaceveh_d { |
842 | 347 |
byte sel_index[2]; |
2746
47c6e734556e
(svn r3291) - Codechange, Autoreplace: Replace int with EngineID and -1 with INVALID_ENGINE, as appropriate.
peter1138
parents:
2683
diff
changeset
|
348 |
EngineID sel_engine[2]; |
842 | 349 |
uint16 count[2]; |
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
350 |
bool wagon_btnstate; ///< true means engine is selected |
5944
6d059cc8662b
(svn r8610) -Codechange/Feature: rewrote the list handling in the autoreplace window
bjarni
parents:
5824
diff
changeset
|
351 |
EngineList list[2]; |
6d059cc8662b
(svn r8610) -Codechange/Feature: rewrote the list handling in the autoreplace window
bjarni
parents:
5824
diff
changeset
|
352 |
bool update_left; |
6d059cc8662b
(svn r8610) -Codechange/Feature: rewrote the list handling in the autoreplace window
bjarni
parents:
5824
diff
changeset
|
353 |
bool update_right; |
6d059cc8662b
(svn r8610) -Codechange/Feature: rewrote the list handling in the autoreplace window
bjarni
parents:
5824
diff
changeset
|
354 |
bool init_lists; |
6643
f81bee57bc09
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
6638
diff
changeset
|
355 |
GroupID sel_group; |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
356 |
}; |
1004 | 357 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(replaceveh_d)); |
842 | 358 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
359 |
struct depot_d { |
0 | 360 |
VehicleID sel; |
6638
09c5d7bf69a5
(svn r9869) -Codechange: replace some bytes with VehicleType, i.e. more type strictness.
rubidium
parents:
6531
diff
changeset
|
361 |
VehicleType type; |
4739
e626ef1b522e
(svn r6651) -Coding feature: added the windowevent WE_INVALIDATE_DATA
bjarni
parents:
4730
diff
changeset
|
362 |
bool generate_list; |
4635
1b35cdc018ee
(svn r6503) -Codechange: added a function to tell what vehicles a depot contains
bjarni
parents:
4634
diff
changeset
|
363 |
uint16 engine_list_length; |
1b35cdc018ee
(svn r6503) -Codechange: added a function to tell what vehicles a depot contains
bjarni
parents:
4634
diff
changeset
|
364 |
uint16 wagon_list_length; |
1b35cdc018ee
(svn r6503) -Codechange: added a function to tell what vehicles a depot contains
bjarni
parents:
4634
diff
changeset
|
365 |
uint16 engine_count; |
1b35cdc018ee
(svn r6503) -Codechange: added a function to tell what vehicles a depot contains
bjarni
parents:
4634
diff
changeset
|
366 |
uint16 wagon_count; |
1b35cdc018ee
(svn r6503) -Codechange: added a function to tell what vehicles a depot contains
bjarni
parents:
4634
diff
changeset
|
367 |
Vehicle **vehicle_list; |
1b35cdc018ee
(svn r6503) -Codechange: added a function to tell what vehicles a depot contains
bjarni
parents:
4634
diff
changeset
|
368 |
Vehicle **wagon_list; |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
369 |
}; |
4638
05955c6cb536
(svn r6513) -Codechange: unified the code to draw depot windows
bjarni
parents:
4635
diff
changeset
|
370 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(depot_d)); |
0 | 371 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
372 |
struct order_d { |
0 | 373 |
int sel; |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
374 |
}; |
1004 | 375 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(order_d)); |
0 | 376 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
377 |
struct traindetails_d { |
0 | 378 |
byte tab; |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
379 |
}; |
1004 | 380 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(traindetails_d)); |
0 | 381 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
382 |
struct smallmap_d { |
849
c3407041774f
(svn r1330) Increase size of some vars from int16 to int32 to guard against future overflows
tron
parents:
842
diff
changeset
|
383 |
int32 scroll_x; |
c3407041774f
(svn r1330) Increase size of some vars from int16 to int32 to guard against future overflows
tron
parents:
842
diff
changeset
|
384 |
int32 scroll_y; |
c3407041774f
(svn r1330) Increase size of some vars from int16 to int32 to guard against future overflows
tron
parents:
842
diff
changeset
|
385 |
int32 subscroll; |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
386 |
}; |
4318
8ca2db000c2a
(svn r5971) -Fix: wrong struct in assert_compile (thomasdev)
truelight
parents:
4300
diff
changeset
|
387 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(smallmap_d)); |
0 | 388 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
389 |
struct facesel_d { |
0 | 390 |
uint32 face; |
391 |
byte gender; |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
392 |
}; |
1004 | 393 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(facesel_d)); |
0 | 394 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
395 |
struct refit_d { |
0 | 396 |
int sel; |
4695
3a5bf7ff066b
(svn r6602) - Feature: we now support NewGRF livery refits, as used by DBsetXL, amongst others. This requires a savegame bump to save the cargo subtype.
peter1138
parents:
4694
diff
changeset
|
397 |
struct RefitOption *cargo; |
4694
c917a3ad0dd2
(svn r6601) - Codechange: Support cargo subtypes in the refit window. The refit window has been altered to support resizing and scrolling. Note that the cargo subtype isn't yet passed for actual refitting yet. (Based on mart3p's patch)
peter1138
parents:
4692
diff
changeset
|
398 |
struct RefitList *list; |
c917a3ad0dd2
(svn r6601) - Codechange: Support cargo subtypes in the refit window. The refit window has been altered to support resizing and scrolling. Note that the cargo subtype isn't yet passed for actual refitting yet. (Based on mart3p's patch)
peter1138
parents:
4692
diff
changeset
|
399 |
uint length; |
4712
4335ad42e163
(svn r6624) -Feature: added ability to add refit commands to vehicle orders (can only be done in goto depot orders)
bjarni
parents:
4695
diff
changeset
|
400 |
VehicleOrderID order; |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
401 |
}; |
1004 | 402 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(refit_d)); |
0 | 403 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
404 |
struct vp_d { |
2116 | 405 |
VehicleID follow_vehicle; |
849
c3407041774f
(svn r1330) Increase size of some vars from int16 to int32 to guard against future overflows
tron
parents:
842
diff
changeset
|
406 |
int32 scrollpos_x; |
c3407041774f
(svn r1330) Increase size of some vars from int16 to int32 to guard against future overflows
tron
parents:
842
diff
changeset
|
407 |
int32 scrollpos_y; |
6730
9311a208f8f7
(svn r9962) -Feature: Add smooth viewport scrolling. This must be enabled with patch setting 'smooth_scroll'
peter1138
parents:
6669
diff
changeset
|
408 |
int32 dest_scrollpos_x; |
9311a208f8f7
(svn r9962) -Feature: Add smooth viewport scrolling. This must be enabled with patch setting 'smooth_scroll'
peter1138
parents:
6669
diff
changeset
|
409 |
int32 dest_scrollpos_y; |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
410 |
}; |
5123
291651cb3a18
(svn r7203) -Cleanup: Donnu what Miham was smoking there, but removed it (assert_compile + 3)
Darkvater
parents:
5120
diff
changeset
|
411 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(vp_d)); |
1004 | 412 |
|
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
413 |
/* vp2_d is the same as vp_d, except for the data_# values.. */ |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
414 |
struct vp2_d { |
5123
291651cb3a18
(svn r7203) -Cleanup: Donnu what Miham was smoking there, but removed it (assert_compile + 3)
Darkvater
parents:
5120
diff
changeset
|
415 |
VehicleID follow_vehicle; |
1004 | 416 |
int32 scrollpos_x; |
417 |
int32 scrollpos_y; |
|
6730
9311a208f8f7
(svn r9962) -Feature: Add smooth viewport scrolling. This must be enabled with patch setting 'smooth_scroll'
peter1138
parents:
6669
diff
changeset
|
418 |
int32 dest_scrollpos_x; |
9311a208f8f7
(svn r9962) -Feature: Add smooth viewport scrolling. This must be enabled with patch setting 'smooth_scroll'
peter1138
parents:
6669
diff
changeset
|
419 |
int32 dest_scrollpos_y; |
1004 | 420 |
byte data_1; |
421 |
byte data_2; |
|
422 |
byte data_3; |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
423 |
}; |
1004 | 424 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(vp2_d)); |
0 | 425 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
426 |
struct news_d { |
0 | 427 |
uint16 follow_vehicle; |
849
c3407041774f
(svn r1330) Increase size of some vars from int16 to int32 to guard against future overflows
tron
parents:
842
diff
changeset
|
428 |
int32 scrollpos_x; |
c3407041774f
(svn r1330) Increase size of some vars from int16 to int32 to guard against future overflows
tron
parents:
842
diff
changeset
|
429 |
int32 scrollpos_y; |
6730
9311a208f8f7
(svn r9962) -Feature: Add smooth viewport scrolling. This must be enabled with patch setting 'smooth_scroll'
peter1138
parents:
6669
diff
changeset
|
430 |
int32 dest_scrollpos_x; |
9311a208f8f7
(svn r9962) -Feature: Add smooth viewport scrolling. This must be enabled with patch setting 'smooth_scroll'
peter1138
parents:
6669
diff
changeset
|
431 |
int32 dest_scrollpos_y; |
0 | 432 |
NewsItem *ni; |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
433 |
}; |
1004 | 434 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(news_d)); |
0 | 435 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
436 |
struct highscore_d { |
998
c90459c24842
(svn r1496) -Fix: highscore no longer crashes in network games with a dedicated server. At the end of the game (can only be set by the server) the highscore is shown for the top5 companies of that game
darkvater
parents:
983
diff
changeset
|
437 |
uint32 background_img; |
c90459c24842
(svn r1496) -Fix: highscore no longer crashes in network games with a dedicated server. At the end of the game (can only be set by the server) the highscore is shown for the top5 companies of that game
darkvater
parents:
983
diff
changeset
|
438 |
int8 rank; |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
439 |
}; |
1004 | 440 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(highscore_d)); |
998
c90459c24842
(svn r1496) -Fix: highscore no longer crashes in network games with a dedicated server. At the end of the game (can only be set by the server) the highscore is shown for the top5 companies of that game
darkvater
parents:
983
diff
changeset
|
441 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
442 |
struct scroller_d { |
998
c90459c24842
(svn r1496) -Fix: highscore no longer crashes in network games with a dedicated server. At the end of the game (can only be set by the server) the highscore is shown for the top5 companies of that game
darkvater
parents:
983
diff
changeset
|
443 |
int height; |
c90459c24842
(svn r1496) -Fix: highscore no longer crashes in network games with a dedicated server. At the end of the game (can only be set by the server) the highscore is shown for the top5 companies of that game
darkvater
parents:
983
diff
changeset
|
444 |
uint16 counter; |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
445 |
}; |
1004 | 446 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(scroller_d)); |
859
611a03925f9a
(svn r1340) -Feature: scrolling credits list...finally! Hope nobody gets offended if I forgot them.
darkvater
parents:
849
diff
changeset
|
447 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
448 |
enum SortListFlags { |
6179
d19b0137d8e4
(svn r8950) -Cleanup: doxygen changes. Mostly @files missing tags and a few comments style.
belugas
parents:
6117
diff
changeset
|
449 |
VL_NONE = 0x00, ///< no sort |
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
450 |
VL_DESC = 0x01, ///< sort descending or ascending |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
451 |
VL_RESORT = 0x02, ///< instruct the code to resort the list in the next loop |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
452 |
VL_REBUILD = 0x04, ///< create sort-listing to use for qsort and friends |
5587
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
453 |
VL_END = 0x08 |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
454 |
}; |
588 | 455 |
|
5587
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
456 |
DECLARE_ENUM_AS_BIT_SET(SortListFlags); |
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
457 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
458 |
struct Listing { |
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
459 |
bool order; ///< Ascending/descending |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
460 |
byte criteria; ///< Sorting criteria |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
461 |
}; |
588 | 462 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
463 |
struct list_d { |
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
464 |
uint16 list_length; ///< length of the list being sorted |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
465 |
byte sort_type; ///< what criteria to sort on |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
466 |
SortListFlags flags; ///< used to control sorting/resorting/etc. |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
467 |
uint16 resort_timer; ///< resort list after a given amount of ticks if set |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
468 |
}; |
2888
79da960a5372
(svn r3441) - Feature: Allow the network game list to be sorted (by name/clients/compatibility ascending/descending)
Darkvater
parents:
2887
diff
changeset
|
469 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(list_d)); |
79da960a5372
(svn r3441) - Feature: Allow the network game list to be sorted (by name/clients/compatibility ascending/descending)
Darkvater
parents:
2887
diff
changeset
|
470 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
471 |
struct message_d { |
1648
41c3d5de9994
(svn r2152) - Fix: Chatbar in MP games is now on-top of the news window.
darkvater
parents:
1570
diff
changeset
|
472 |
int msg; |
41c3d5de9994
(svn r2152) - Fix: Chatbar in MP games is now on-top of the news window.
darkvater
parents:
1570
diff
changeset
|
473 |
int wparam; |
41c3d5de9994
(svn r2152) - Fix: Chatbar in MP games is now on-top of the news window.
darkvater
parents:
1570
diff
changeset
|
474 |
int lparam; |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
475 |
}; |
1648
41c3d5de9994
(svn r2152) - Fix: Chatbar in MP games is now on-top of the news window.
darkvater
parents:
1570
diff
changeset
|
476 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(message_d)); |
41c3d5de9994
(svn r2152) - Fix: Chatbar in MP games is now on-top of the news window.
darkvater
parents:
1570
diff
changeset
|
477 |
|
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
478 |
struct dropdown_d { |
2683
ca9645a21734
(svn r3225) - Fix for "[ 1359165 ] Autoreplace problem with r3171 and later" -- Move the disabled/hidden bits to custom data in window struct.
peter1138
parents:
2636
diff
changeset
|
479 |
uint32 disabled_state; |
ca9645a21734
(svn r3225) - Fix for "[ 1359165 ] Autoreplace problem with r3171 and later" -- Move the disabled/hidden bits to custom data in window struct.
peter1138
parents:
2636
diff
changeset
|
480 |
uint32 hidden_state; |
2636
bdff7da76aa2
(svn r3178) - Codechange: move static _dropdown_* vars into the window custom data, giving var1 and var2 more meaningful names.
peter1138
parents:
2634
diff
changeset
|
481 |
WindowClass parent_wnd_class; |
bdff7da76aa2
(svn r3178) - Codechange: move static _dropdown_* vars into the window custom data, giving var1 and var2 more meaningful names.
peter1138
parents:
2634
diff
changeset
|
482 |
WindowNumber parent_wnd_num; |
bdff7da76aa2
(svn r3178) - Codechange: move static _dropdown_* vars into the window custom data, giving var1 and var2 more meaningful names.
peter1138
parents:
2634
diff
changeset
|
483 |
byte parent_button; |
bdff7da76aa2
(svn r3178) - Codechange: move static _dropdown_* vars into the window custom data, giving var1 and var2 more meaningful names.
peter1138
parents:
2634
diff
changeset
|
484 |
byte num_items; |
bdff7da76aa2
(svn r3178) - Codechange: move static _dropdown_* vars into the window custom data, giving var1 and var2 more meaningful names.
peter1138
parents:
2634
diff
changeset
|
485 |
byte selected_index; |
bdff7da76aa2
(svn r3178) - Codechange: move static _dropdown_* vars into the window custom data, giving var1 and var2 more meaningful names.
peter1138
parents:
2634
diff
changeset
|
486 |
const StringID *items; |
bdff7da76aa2
(svn r3178) - Codechange: move static _dropdown_* vars into the window custom data, giving var1 and var2 more meaningful names.
peter1138
parents:
2634
diff
changeset
|
487 |
byte click_delay; |
bdff7da76aa2
(svn r3178) - Codechange: move static _dropdown_* vars into the window custom data, giving var1 and var2 more meaningful names.
peter1138
parents:
2634
diff
changeset
|
488 |
bool drag_mode; |
6248
e4a2ed7e5613
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
6247
diff
changeset
|
489 |
}; |
2636
bdff7da76aa2
(svn r3178) - Codechange: move static _dropdown_* vars into the window custom data, giving var1 and var2 more meaningful names.
peter1138
parents:
2634
diff
changeset
|
490 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(dropdown_d)); |
bdff7da76aa2
(svn r3178) - Codechange: move static _dropdown_* vars into the window custom data, giving var1 and var2 more meaningful names.
peter1138
parents:
2634
diff
changeset
|
491 |
|
6643
f81bee57bc09
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
6638
diff
changeset
|
492 |
struct vehiclelist_d { |
f81bee57bc09
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
6638
diff
changeset
|
493 |
const Vehicle** sort_list; // List of vehicles (sorted) |
f81bee57bc09
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
6638
diff
changeset
|
494 |
Listing *_sorting; // pointer to the appropiate subcategory of _sorting |
f81bee57bc09
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
6638
diff
changeset
|
495 |
uint16 length_of_sort_list; // Keeps track of how many vehicle pointers sort list got space for |
f81bee57bc09
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
6638
diff
changeset
|
496 |
VehicleType vehicle_type; // The vehicle type that is sorted |
f81bee57bc09
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
6638
diff
changeset
|
497 |
list_d l; // General list struct |
f81bee57bc09
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
6638
diff
changeset
|
498 |
}; |
f81bee57bc09
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
6638
diff
changeset
|
499 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(vehiclelist_d)); |
f81bee57bc09
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
6638
diff
changeset
|
500 |
|
f81bee57bc09
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
6638
diff
changeset
|
501 |
struct grouplist_d { |
f81bee57bc09
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
6638
diff
changeset
|
502 |
const Group **sort_list; |
f81bee57bc09
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
6638
diff
changeset
|
503 |
list_d l; // General list struct |
f81bee57bc09
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
6638
diff
changeset
|
504 |
}; |
f81bee57bc09
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
6638
diff
changeset
|
505 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(grouplist_d)); |
f81bee57bc09
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
6638
diff
changeset
|
506 |
|
f81bee57bc09
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
6638
diff
changeset
|
507 |
struct groupveh_d : vehiclelist_d { |
f81bee57bc09
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
6638
diff
changeset
|
508 |
GroupID group_sel; |
f81bee57bc09
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
6638
diff
changeset
|
509 |
VehicleID vehicle_sel; |
f81bee57bc09
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
6638
diff
changeset
|
510 |
|
f81bee57bc09
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
6638
diff
changeset
|
511 |
grouplist_d gl; |
f81bee57bc09
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
6638
diff
changeset
|
512 |
}; |
f81bee57bc09
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
rubidium
parents:
6638
diff
changeset
|
513 |
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(groupveh_d)); |
0 | 514 |
|
515 |
/****************** THESE ARE NOT WIDGET TYPES!!!!! *******************/ |
|
516 |
enum WindowWidgetBehaviours { |
|
4344
7e123fec5b0b
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
517 |
WWB_PUSHBUTTON = 1 << 5, |
4938
0447845fd1b3
(svn r6925) -Codechange: Be more strict with widget distinctions. WWT_PANEL is only plain panel,
Darkvater
parents:
4884
diff
changeset
|
518 |
|
0447845fd1b3
(svn r6925) -Codechange: Be more strict with widget distinctions. WWT_PANEL is only plain panel,
Darkvater
parents:
4884
diff
changeset
|
519 |
WWB_MASK = 0xE0, |
0 | 520 |
}; |
521 |
||
522 |
||
523 |
enum WindowWidgetTypes { |
|
4939
bef7c24a6027
(svn r6926) -Codechange: Rename WWT_4 to WWT_TEXTBTN_2 and WWT_6 to WWT_INSET (credits to peter1138
Darkvater
parents:
4938
diff
changeset
|
524 |
WWT_EMPTY, |
158
b1a821f84250
(svn r159) -Fix: w->custom[] was too small for 64bit pointers
truelight
parents:
129
diff
changeset
|
525 |
|
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
526 |
WWT_PANEL, ///< simple depressed panel |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
527 |
WWT_INSET, ///< pressed (inset) panel, most commonly used as combo box _text_ area |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
528 |
WWT_IMGBTN, ///< button with image |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
529 |
WWT_IMGBTN_2, ///< button with diff image when clicked |
4938
0447845fd1b3
(svn r6925) -Codechange: Be more strict with widget distinctions. WWT_PANEL is only plain panel,
Darkvater
parents:
4884
diff
changeset
|
530 |
|
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
531 |
WWT_TEXTBTN, ///< button with text |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
532 |
WWT_TEXTBTN_2, ///< button with diff text when clicked |
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
533 |
WWT_LABEL, ///< centered label |
6278
f4d4b7c1c886
(svn r9088) -Add : a new type of widget, called WWT_TEXT. It is a simple truncated string. It will be usefull on windows where lot of simple text is always drawn on the WE_PAINT event, making the code clearer. For now, left, right (total size of the window), top, color and data are necessary to use it. Maybe more features will be available soon.
belugas
parents:
6248
diff
changeset
|
534 |
WWT_TEXT, ///< pure simple text |
4939
bef7c24a6027
(svn r6926) -Codechange: Rename WWT_4 to WWT_TEXTBTN_2 and WWT_6 to WWT_INSET (credits to peter1138
Darkvater
parents:
4938
diff
changeset
|
535 |
WWT_MATRIX, |
bef7c24a6027
(svn r6926) -Codechange: Rename WWT_4 to WWT_TEXTBTN_2 and WWT_6 to WWT_INSET (credits to peter1138
Darkvater
parents:
4938
diff
changeset
|
536 |
WWT_SCROLLBAR, |
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
537 |
WWT_FRAME, ///< frame |
4939
bef7c24a6027
(svn r6926) -Codechange: Rename WWT_4 to WWT_TEXTBTN_2 and WWT_6 to WWT_INSET (credits to peter1138
Darkvater
parents:
4938
diff
changeset
|
538 |
WWT_CAPTION, |
0 | 539 |
|
4939
bef7c24a6027
(svn r6926) -Codechange: Rename WWT_4 to WWT_TEXTBTN_2 and WWT_6 to WWT_INSET (credits to peter1138
Darkvater
parents:
4938
diff
changeset
|
540 |
WWT_HSCROLLBAR, |
bef7c24a6027
(svn r6926) -Codechange: Rename WWT_4 to WWT_TEXTBTN_2 and WWT_6 to WWT_INSET (credits to peter1138
Darkvater
parents:
4938
diff
changeset
|
541 |
WWT_STICKYBOX, |
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
542 |
WWT_SCROLL2BAR, ///< 2nd vertical scrollbar |
4939
bef7c24a6027
(svn r6926) -Codechange: Rename WWT_4 to WWT_TEXTBTN_2 and WWT_6 to WWT_INSET (credits to peter1138
Darkvater
parents:
4938
diff
changeset
|
543 |
WWT_RESIZEBOX, |
bef7c24a6027
(svn r6926) -Codechange: Rename WWT_4 to WWT_TEXTBTN_2 and WWT_6 to WWT_INSET (credits to peter1138
Darkvater
parents:
4938
diff
changeset
|
544 |
WWT_CLOSEBOX, |
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
545 |
WWT_LAST, ///< Last Item. use WIDGETS_END to fill up padding!! |
4939
bef7c24a6027
(svn r6926) -Codechange: Rename WWT_4 to WWT_TEXTBTN_2 and WWT_6 to WWT_INSET (credits to peter1138
Darkvater
parents:
4938
diff
changeset
|
546 |
|
bef7c24a6027
(svn r6926) -Codechange: Rename WWT_4 to WWT_TEXTBTN_2 and WWT_6 to WWT_INSET (credits to peter1138
Darkvater
parents:
4938
diff
changeset
|
547 |
WWT_MASK = 0x1F, |
0 | 548 |
|
4938
0447845fd1b3
(svn r6925) -Codechange: Be more strict with widget distinctions. WWT_PANEL is only plain panel,
Darkvater
parents:
4884
diff
changeset
|
549 |
WWT_PUSHBTN = WWT_PANEL | WWB_PUSHBUTTON, |
4434
a08cb4b5c179
(svn r6204) -Cleanup: replace non-indentation with spaces; like '}<TAB>else {' -> '} else {', tabs between code and comment, etc.
rubidium
parents:
4345
diff
changeset
|
550 |
WWT_PUSHTXTBTN = WWT_TEXTBTN | WWB_PUSHBUTTON, |
a08cb4b5c179
(svn r6204) -Cleanup: replace non-indentation with spaces; like '}<TAB>else {' -> '} else {', tabs between code and comment, etc.
rubidium
parents:
4345
diff
changeset
|
551 |
WWT_PUSHIMGBTN = WWT_IMGBTN | WWB_PUSHBUTTON, |
0 | 552 |
}; |
553 |
||
867
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
554 |
#define WIDGETS_END WWT_LAST, RESIZE_NONE, 0, 0, 0, 0, 0, 0, STR_NULL |
176
84990c4b9212
(svn r177) -Fix: padded out Widget code to solve warnings on C99 compiler (Tron)
darkvater
parents:
164
diff
changeset
|
555 |
|
0 | 556 |
enum WindowFlags { |
4344
7e123fec5b0b
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
557 |
WF_TIMEOUT_SHL = 0, |
7e123fec5b0b
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
558 |
WF_TIMEOUT_MASK = 7, |
7e123fec5b0b
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
559 |
WF_DRAGGING = 1 << 3, |
7e123fec5b0b
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
560 |
WF_SCROLL_UP = 1 << 4, |
7e123fec5b0b
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
561 |
WF_SCROLL_DOWN = 1 << 5, |
7e123fec5b0b
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
562 |
WF_SCROLL_MIDDLE = 1 << 6, |
7e123fec5b0b
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
563 |
WF_HSCROLL = 1 << 7, |
7e123fec5b0b
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
564 |
WF_SIZING = 1 << 8, |
7e123fec5b0b
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
565 |
WF_STICKY = 1 << 9, |
867
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
566 |
|
0 | 567 |
WF_DISABLE_VP_SCROLL = 1 << 10, |
568 |
||
4344
7e123fec5b0b
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
569 |
WF_WHITE_BORDER_ONE = 1 << 11, |
5416
b9a3326da943
(svn r7619) -Feature (Internal): Add support for modal children. It's a window-child that
Darkvater
parents:
5415
diff
changeset
|
570 |
WF_WHITE_BORDER_MASK = 1 << 12 | WF_WHITE_BORDER_ONE, |
4344
7e123fec5b0b
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
571 |
WF_SCROLL2 = 1 << 13, |
0 | 572 |
}; |
573 |
||
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
574 |
/* window.cpp */ |
0 | 575 |
void CallWindowEventNP(Window *w, int event); |
6247 | 576 |
void CallWindowTickEvent(); |
4171 | 577 |
void SetWindowDirty(const Window *w); |
5587
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
578 |
void SendWindowMessage(WindowClass wnd_class, WindowNumber wnd_num, int msg, int wparam, int lparam); |
167d9a91ef02
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5475
diff
changeset
|
579 |
void SendWindowMessageClass(WindowClass wnd_class, int msg, int wparam, int lparam); |
0 | 580 |
|
581 |
Window *FindWindowById(WindowClass cls, WindowNumber number); |
|
582 |
void DeleteWindow(Window *w); |
|
5077
5a601eb01735
(svn r7138) -Fix: [vehicle list windows] fixed a rare crash where having some (not all) vehicle list windows open for a player, that goes bankrupt would crash the game
bjarni
parents:
5072
diff
changeset
|
583 |
void DeletePlayerWindows(PlayerID pi); |
5a601eb01735
(svn r7138) -Fix: [vehicle list windows] fixed a rare crash where having some (not all) vehicle list windows open for a player, that goes bankrupt would crash the game
bjarni
parents:
5072
diff
changeset
|
584 |
void ChangeWindowOwner(PlayerID old_player, PlayerID new_player); |
0 | 585 |
Window *BringWindowToFrontById(WindowClass cls, WindowNumber number); |
586 |
Window *FindWindowFromPt(int x, int y); |
|
587 |
||
4171 | 588 |
bool IsWindowOfPrototype(const Window *w, const Widget *widget); |
867
dffd33233237
(svn r1348) -Feature: resizable windows. Read the comment in window.h to find out
truelight
parents:
859
diff
changeset
|
589 |
void AssignWidgetToWindow(Window *w, const Widget *widget); |
0 | 590 |
Window *AllocateWindow( |
591 |
int x, |
|
592 |
int y, |
|
593 |
int width, |
|
594 |
int height, |
|
158
b1a821f84250
(svn r159) -Fix: w->custom[] was too small for 64bit pointers
truelight
parents:
129
diff
changeset
|
595 |
WindowProc *proc, |
0 | 596 |
WindowClass cls, |
597 |
const Widget *widget); |
|
598 |
||
599 |
Window *AllocateWindowDesc(const WindowDesc *desc); |
|
4520
98f1b167d0ca
(svn r6345) -Codechange: AllocateWindowDescFront() now ensures that window_number is set before calling the WE_CREATE event
bjarni
parents:
4438
diff
changeset
|
600 |
Window *AllocateWindowDescFront(const WindowDesc *desc, int window_number); |
0 | 601 |
|
5120
1ff65e874ce3
(svn r7200) -Codechange: remove unneeded redraw (console.c), coding style, use FindWindowById
Darkvater
parents:
5108
diff
changeset
|
602 |
void DrawWindowViewport(const Window *w); |
5268
e2625c661000
(svn r7409) -Codechange: Make the ResizeWindow function also available outside of window.c. This makes
Darkvater
parents:
5236
diff
changeset
|
603 |
void ResizeWindow(Window *w, int x, int y); |
0 | 604 |
|
4692
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
605 |
/** |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
606 |
* Sets the enabled/disabled status of a widget. |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
607 |
* By default, widgets are enabled. |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
608 |
* On certain conditions, they have to be disabled. |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
609 |
* @param w : Window on which the widget is located |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
610 |
* @param widget_index : index of this widget in the window |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
611 |
* @param disab_stat : status to use ie: disabled = true, enabled = false |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
612 |
*/ |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
613 |
static inline void SetWindowWidgetDisabledState(Window *w, byte widget_index, bool disab_stat) |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
614 |
{ |
5232
d099cc0d7961
(svn r7352) -Codechange: add widget_count parameter to the window.
rubidium
parents:
5199
diff
changeset
|
615 |
assert(widget_index < w->widget_count); |
4749
65a49cfc922d
(svn r6661) Feature: Windows are not restricted to 32 widget items anymore.
belugas
parents:
4739
diff
changeset
|
616 |
SB(w->widget[widget_index].display_flags, WIDG_DISABLED, 1, !!disab_stat); |
4692
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
617 |
} |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
618 |
|
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
619 |
/** |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
620 |
* Sets a widget to disabled. |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
621 |
* @param w : Window on which the widget is located |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
622 |
* @param widget_index : index of this widget in the window |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
623 |
*/ |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
624 |
static inline void DisableWindowWidget(Window *w, byte widget_index) |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
625 |
{ |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
626 |
SetWindowWidgetDisabledState(w, widget_index, true); |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
627 |
} |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
628 |
|
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
629 |
/** |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
630 |
* Sets a widget to Enabled. |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
631 |
* @param w : Window on which the widget is located |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
632 |
* @param widget_index : index of this widget in the window |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
633 |
*/ |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
634 |
static inline void EnableWindowWidget(Window *w, byte widget_index) |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
635 |
{ |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
636 |
SetWindowWidgetDisabledState(w, widget_index, false); |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
637 |
} |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
638 |
|
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
639 |
/** |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
640 |
* Gets the enabled/disabled status of a widget. |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
641 |
* @param w : Window on which the widget is located |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
642 |
* @param widget_index : index of this widget in the window |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
643 |
* @return status of the widget ie: disabled = true, enabled = false |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
644 |
*/ |
5233
b2d0c1be98ad
(svn r7353) -Codechange: constify Window* in IsWindowWidget(Lowered|Hidden|Disabled)
rubidium
parents:
5232
diff
changeset
|
645 |
static inline bool IsWindowWidgetDisabled(const Window *w, byte widget_index) |
4692
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
646 |
{ |
5232
d099cc0d7961
(svn r7352) -Codechange: add widget_count parameter to the window.
rubidium
parents:
5199
diff
changeset
|
647 |
assert(widget_index < w->widget_count); |
5236
4c1289d5e45a
(svn r7356) -Codechange: replace 'for (i = 0, wi = w->widget; wi->type != WWT_LAST; i++, wi++)' type for loops with 'for (i = 0; i < w->window_count; i++) { wi = &w->widget[i];'-type for loops for better readability.
rubidium
parents:
5233
diff
changeset
|
648 |
return HASBIT(w->widget[widget_index].display_flags, WIDG_DISABLED); |
4692
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
649 |
} |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
650 |
|
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
651 |
/** |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
652 |
* Sets the hidden/shown status of a widget. |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
653 |
* By default, widgets are visible. |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
654 |
* On certain conditions, they have to be hidden. |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
655 |
* @param w Window on which the widget is located |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
656 |
* @param widget_index index of this widget in the window |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
657 |
* @param hidden_stat status to use ie. hidden = true, visible = false |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
658 |
*/ |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
659 |
static inline void SetWindowWidgetHiddenState(Window *w, byte widget_index, bool hidden_stat) |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
660 |
{ |
5232
d099cc0d7961
(svn r7352) -Codechange: add widget_count parameter to the window.
rubidium
parents:
5199
diff
changeset
|
661 |
assert(widget_index < w->widget_count); |
4749
65a49cfc922d
(svn r6661) Feature: Windows are not restricted to 32 widget items anymore.
belugas
parents:
4739
diff
changeset
|
662 |
SB(w->widget[widget_index].display_flags, WIDG_HIDDEN, 1, !!hidden_stat); |
4692
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
663 |
} |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
664 |
|
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
665 |
/** |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
666 |
* Sets a widget hidden. |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
667 |
* @param w : Window on which the widget is located |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
668 |
* @param widget_index : index of this widget in the window |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
669 |
*/ |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
670 |
static inline void HideWindowWidget(Window *w, byte widget_index) |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
671 |
{ |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
672 |
SetWindowWidgetHiddenState(w, widget_index, true); |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
673 |
} |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
674 |
|
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
675 |
/** |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
676 |
* Sets a widget visible. |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
677 |
* @param w : Window on which the widget is located |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
678 |
* @param widget_index : index of this widget in the window |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
679 |
*/ |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
680 |
static inline void ShowWindowWidget(Window *w, byte widget_index) |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
681 |
{ |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
682 |
SetWindowWidgetHiddenState(w, widget_index, false); |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
683 |
} |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
684 |
|
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
685 |
/** |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
686 |
* Gets the visibility of a widget. |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
687 |
* @param w : Window on which the widget is located |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
688 |
* @param widget_index : index of this widget in the window |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
689 |
* @return status of the widget ie: hidden = true, visible = false |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
690 |
*/ |
5233
b2d0c1be98ad
(svn r7353) -Codechange: constify Window* in IsWindowWidget(Lowered|Hidden|Disabled)
rubidium
parents:
5232
diff
changeset
|
691 |
static inline bool IsWindowWidgetHidden(const Window *w, byte widget_index) |
4692
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
692 |
{ |
5232
d099cc0d7961
(svn r7352) -Codechange: add widget_count parameter to the window.
rubidium
parents:
5199
diff
changeset
|
693 |
assert(widget_index < w->widget_count); |
5236
4c1289d5e45a
(svn r7356) -Codechange: replace 'for (i = 0, wi = w->widget; wi->type != WWT_LAST; i++, wi++)' type for loops with 'for (i = 0; i < w->window_count; i++) { wi = &w->widget[i];'-type for loops for better readability.
rubidium
parents:
5233
diff
changeset
|
694 |
return HASBIT(w->widget[widget_index].display_flags, WIDG_HIDDEN); |
4692
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
695 |
} |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
696 |
|
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
697 |
/** |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
698 |
* Sets the lowered/raised status of a widget. |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
699 |
* @param w : Window on which the widget is located |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
700 |
* @param widget_index : index of this widget in the window |
6432
226650eb2ef3
(svn r9568) -Documentation: doxygen and comment changes: Root of src is finally done. Now, time to start clearing as much as possible
belugas
parents:
6278
diff
changeset
|
701 |
* @param lowered_stat : status to use ie: lowered = true, raised = false |
4692
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
702 |
*/ |
4727
6819acce7c57
(svn r6639) -CodeChange : Conversion of SetWidgetLoweredState to SetWindowWidgetLoweredState, in order to follow pre-established standard
belugas
parents:
4719
diff
changeset
|
703 |
static inline void SetWindowWidgetLoweredState(Window *w, byte widget_index, bool lowered_stat) |
4692
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
704 |
{ |
5232
d099cc0d7961
(svn r7352) -Codechange: add widget_count parameter to the window.
rubidium
parents:
5199
diff
changeset
|
705 |
assert(widget_index < w->widget_count); |
4749
65a49cfc922d
(svn r6661) Feature: Windows are not restricted to 32 widget items anymore.
belugas
parents:
4739
diff
changeset
|
706 |
SB(w->widget[widget_index].display_flags, WIDG_LOWERED, 1, !!lowered_stat); |
4692
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
707 |
} |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
708 |
|
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
709 |
/** |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
710 |
* Invert the lowered/raised status of a widget. |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
711 |
* @param w : Window on which the widget is located |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
712 |
* @param widget_index : index of this widget in the window |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
713 |
*/ |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
714 |
static inline void ToggleWidgetLoweredState(Window *w, byte widget_index) |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
715 |
{ |
5232
d099cc0d7961
(svn r7352) -Codechange: add widget_count parameter to the window.
rubidium
parents:
5199
diff
changeset
|
716 |
assert(widget_index < w->widget_count); |
4749
65a49cfc922d
(svn r6661) Feature: Windows are not restricted to 32 widget items anymore.
belugas
parents:
4739
diff
changeset
|
717 |
TOGGLEBIT(w->widget[widget_index].display_flags, WIDG_LOWERED); |
4692
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
718 |
} |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
719 |
|
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
720 |
/** |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
721 |
* Marks a widget as lowered. |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
722 |
* @param w : Window on which the widget is located |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
723 |
* @param widget_index : index of this widget in the window |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
724 |
*/ |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
725 |
static inline void LowerWindowWidget(Window *w, byte widget_index) |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
726 |
{ |
4730 | 727 |
SetWindowWidgetLoweredState(w, widget_index, true); |
4692
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
728 |
} |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
729 |
|
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
730 |
/** |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
731 |
* Marks a widget as raised. |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
732 |
* @param w : Window on which the widget is located |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
733 |
* @param widget_index : index of this widget in the window |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
734 |
*/ |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
735 |
static inline void RaiseWindowWidget(Window *w, byte widget_index) |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
736 |
{ |
4730 | 737 |
SetWindowWidgetLoweredState(w, widget_index, false); |
4692
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
738 |
} |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
739 |
|
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
740 |
/** |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
741 |
* Gets the lowered state of a widget. |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
742 |
* @param w : Window on which the widget is located |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
743 |
* @param widget_index : index of this widget in the window |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
744 |
* @return status of the widget ie: lowered = true, raised= false |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
745 |
*/ |
5233
b2d0c1be98ad
(svn r7353) -Codechange: constify Window* in IsWindowWidget(Lowered|Hidden|Disabled)
rubidium
parents:
5232
diff
changeset
|
746 |
static inline bool IsWindowWidgetLowered(const Window *w, byte widget_index) |
4692
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
747 |
{ |
5232
d099cc0d7961
(svn r7352) -Codechange: add widget_count parameter to the window.
rubidium
parents:
5199
diff
changeset
|
748 |
assert(widget_index < w->widget_count); |
4749
65a49cfc922d
(svn r6661) Feature: Windows are not restricted to 32 widget items anymore.
belugas
parents:
4739
diff
changeset
|
749 |
return HASBIT(w->widget[widget_index].display_flags, WIDG_LOWERED); |
4692
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
750 |
} |
1712d668700f
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
belugas
parents:
4638
diff
changeset
|
751 |
|
6247 | 752 |
void InitWindowSystem(); |
753 |
void UnInitWindowSystem(); |
|
754 |
void ResetWindowSystem(); |
|
2436
7d5df545bd5d
(svn r2962) - const correctness for all Get* functions and most Draw* functions that don't change their pointer parameters
Darkvater
parents:
2216
diff
changeset
|
755 |
int GetMenuItemIndex(const Window *w, int x, int y); |
6247 | 756 |
void InputLoop(); |
4171 | 757 |
void InvalidateWidget(const Window *w, byte widget_index); |
4766
aa276d0ec2eb
(svn r6680) -Codechange r6679: [train build window] only generate the list when the window data is invalidated or the window is generated, not on each redraw
bjarni
parents:
4765
diff
changeset
|
758 |
void InvalidateThisWindowData(Window *w); |
4739
e626ef1b522e
(svn r6651) -Coding feature: added the windowevent WE_INVALIDATE_DATA
bjarni
parents:
4730
diff
changeset
|
759 |
void InvalidateWindowData(WindowClass cls, WindowNumber number); |
4719
fc6e14219f72
(svn r6631) -Codechange: Use accessors for click_state.
belugas
parents:
4712
diff
changeset
|
760 |
void RaiseWindowButtons(Window *w); |
0 | 761 |
void RelocateAllWindows(int neww, int newh); |
380 | 762 |
int PositionMainToolbar(Window *w); |
4755
9ebcb0db6c06
(svn r6669) -Add: vararg functions to set hidden/disabled/lowered state of multiple widgets in one call
glx
parents:
4749
diff
changeset
|
763 |
void CDECL SetWindowWidgetsDisabledState(Window *w, bool disab_stat, int widgets, ...); |
9ebcb0db6c06
(svn r6669) -Add: vararg functions to set hidden/disabled/lowered state of multiple widgets in one call
glx
parents:
4749
diff
changeset
|
764 |
void CDECL SetWindowWidgetsHiddenState(Window *w, bool hidden_stat, int widgets, ...); |
9ebcb0db6c06
(svn r6669) -Add: vararg functions to set hidden/disabled/lowered state of multiple widgets in one call
glx
parents:
4749
diff
changeset
|
765 |
void CDECL SetWindowWidgetsLoweredState(Window *w, bool lowered_stat, int widgets, ...); |
0 | 766 |
|
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
767 |
/* misc_gui.cpp */ |
7006
bfa3974da32b
(svn r10262) -Fix (r10258): some places that needed to be changed to uint64 were hidden/forgotten, which caused memory corruptions and that in caused all kinds of assertions to trigger.
rubidium
parents:
6730
diff
changeset
|
768 |
void GuiShowTooltipsWithArgs(StringID str, uint paramcount, const uint64 params[]); |
4834
3c6e8a547174
(svn r6758) -Feature: Add a measurement tool that will show dimensions and height
Darkvater
parents:
4800
diff
changeset
|
769 |
static inline void GuiShowTooltips(StringID str) |
3c6e8a547174
(svn r6758) -Feature: Add a measurement tool that will show dimensions and height
Darkvater
parents:
4800
diff
changeset
|
770 |
{ |
3c6e8a547174
(svn r6758) -Feature: Add a measurement tool that will show dimensions and height
Darkvater
parents:
4800
diff
changeset
|
771 |
GuiShowTooltipsWithArgs(str, 0, NULL); |
3c6e8a547174
(svn r6758) -Feature: Add a measurement tool that will show dimensions and height
Darkvater
parents:
4800
diff
changeset
|
772 |
} |
4719
fc6e14219f72
(svn r6631) -Codechange: Use accessors for click_state.
belugas
parents:
4712
diff
changeset
|
773 |
|
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
774 |
/* widget.cpp */ |
2436
7d5df545bd5d
(svn r2962) - const correctness for all Get* functions and most Draw* functions that don't change their pointer parameters
Darkvater
parents:
2216
diff
changeset
|
775 |
int GetWidgetFromPos(const Window *w, int x, int y); |
7d5df545bd5d
(svn r2962) - const correctness for all Get* functions and most Draw* functions that don't change their pointer parameters
Darkvater
parents:
2216
diff
changeset
|
776 |
void DrawWindowWidgets(const Window *w); |
2448
1a07657c9f9a
(svn r2974) -Fix: Drag and drop selection on drop down boxes didn't select correct item when some items were hidden.
peter1138
parents:
2436
diff
changeset
|
777 |
void ShowDropDownMenu(Window *w, const StringID *strings, int selected, int button, uint32 disabled_mask, uint32 hidden_mask); |
0 | 778 |
|
779 |
void HandleButtonClick(Window *w, byte widget); |
|
780 |
||
6247 | 781 |
Window *GetCallbackWnd(); |
782 |
void DeleteNonVitalWindows(); |
|
783 |
void DeleteAllNonVitalWindows(); |
|
784 |
void HideVitalWindows(); |
|
785 |
void ShowVitalWindows(); |
|
5124
2ca62776430e
(svn r7205) -Fix [FS#350, SF#1560913]: Window allocation and deletion messed with the actual window
Darkvater
parents:
5123
diff
changeset
|
786 |
Window **FindWindowZPosition(const Window *w); |
0 | 787 |
|
6117
6507b2a7e71d
(svn r8853) -Cleanup: doxygen changes. Correct forgotten c files to cpp files with the @file tag as well as a few general comments style
belugas
parents:
6024
diff
changeset
|
788 |
/* window.cpp */ |
5124
2ca62776430e
(svn r7205) -Fix [FS#350, SF#1560913]: Window allocation and deletion messed with the actual window
Darkvater
parents:
5123
diff
changeset
|
789 |
extern Window *_z_windows[]; |
2ca62776430e
(svn r7205) -Fix [FS#350, SF#1560913]: Window allocation and deletion messed with the actual window
Darkvater
parents:
5123
diff
changeset
|
790 |
extern Window **_last_z_window; |
2ca62776430e
(svn r7205) -Fix [FS#350, SF#1560913]: Window allocation and deletion messed with the actual window
Darkvater
parents:
5123
diff
changeset
|
791 |
#define FOR_ALL_WINDOWS(wz) for (wz = _z_windows; wz != _last_z_window; wz++) |
0 | 792 |
|
793 |
VARDEF Point _cursorpos_drag_start; |
|
794 |
||
795 |
VARDEF int _scrollbar_start_pos; |
|
796 |
VARDEF int _scrollbar_size; |
|
797 |
VARDEF byte _scroller_click_timeout; |
|
798 |
||
799 |
VARDEF bool _scrolling_scrollbar; |
|
800 |
VARDEF bool _scrolling_viewport; |
|
801 |
VARDEF bool _popup_menu_active; |
|
802 |
||
803 |
VARDEF byte _special_mouse_mode; |
|
804 |
enum SpecialMouseMode { |
|
4344
7e123fec5b0b
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
805 |
WSM_NONE = 0, |
0 | 806 |
WSM_DRAGDROP = 1, |
4344
7e123fec5b0b
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
807 |
WSM_SIZING = 2, |
7e123fec5b0b
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
rubidium
parents:
4337
diff
changeset
|
808 |
WSM_PRESIZE = 3, |
0 | 809 |
}; |
810 |
||
811 |
void ScrollbarClickHandler(Window *w, const Widget *wi, int x, int y); |
|
812 |
||
5822
f71317de4ab6
(svn r8384) -Codechange: [GUI] instead of writing a resize button function for each window, a global ResizeButtons() is added
bjarni
parents:
5781
diff
changeset
|
813 |
/** Evenly distribute some widgets when resizing horizontally (often a button row) |
5824
8398b44ad3bc
(svn r8390) -Codechange (r8384): Rewrote ResizeButtons()
bjarni
parents:
5822
diff
changeset
|
814 |
* The widgets are presumed to be in a line and numberef from left to right (without gaps) |
5822
f71317de4ab6
(svn r8384) -Codechange: [GUI] instead of writing a resize button function for each window, a global ResizeButtons() is added
bjarni
parents:
5781
diff
changeset
|
815 |
* @param w widow to modify |
f71317de4ab6
(svn r8384) -Codechange: [GUI] instead of writing a resize button function for each window, a global ResizeButtons() is added
bjarni
parents:
5781
diff
changeset
|
816 |
* @param left The leftmost widget to resize |
5824
8398b44ad3bc
(svn r8390) -Codechange (r8384): Rewrote ResizeButtons()
bjarni
parents:
5822
diff
changeset
|
817 |
* @param right The rightmost widget to resize. Since right side of it is used, remember to set it to RESIZE_RIGHT |
5822
f71317de4ab6
(svn r8384) -Codechange: [GUI] instead of writing a resize button function for each window, a global ResizeButtons() is added
bjarni
parents:
5781
diff
changeset
|
818 |
*/ |
f71317de4ab6
(svn r8384) -Codechange: [GUI] instead of writing a resize button function for each window, a global ResizeButtons() is added
bjarni
parents:
5781
diff
changeset
|
819 |
void ResizeButtons(Window *w, byte left, byte right); |
f71317de4ab6
(svn r8384) -Codechange: [GUI] instead of writing a resize button function for each window, a global ResizeButtons() is added
bjarni
parents:
5781
diff
changeset
|
820 |
|
0 | 821 |
#endif /* WINDOW_H */ |