forked from mirror/OpenTTD
(svn r6562) -Codechange: merged the vehicle list window widget arrays
It made no sense to maintain 8 nearly identically arrays when a single one can do the job Also made the two buttons always use half of the bottom width each, even when resizing
This commit is contained in:
20
misc_gui.c
20
misc_gui.c
@@ -30,6 +30,7 @@
|
||||
#include "tgp.h"
|
||||
#include "settings.h"
|
||||
#include "date.h"
|
||||
#include "resize_window_widgets.h"
|
||||
|
||||
#include "fios.h"
|
||||
/* Variables to display file lists */
|
||||
@@ -1867,3 +1868,22 @@ void ShowCheatWindow(void)
|
||||
|
||||
if (w != NULL) SetWindowDirty(w);
|
||||
}
|
||||
|
||||
/** Resize the widgets in a window
|
||||
* @param *w Window to resize in
|
||||
* @param *resizearray Bytearray of the same length as the window contains widgets. Each byte tells how to move the widget of the same index using the flags in resize_window_widgets.h
|
||||
* @param length Length of the bytearray
|
||||
* @param horizontal Tells how far to the right the widgets should be moved (note: negative moves left)
|
||||
* @param vertical Tells how far down the widgets should be moved (note: negative moves up)
|
||||
*/
|
||||
void ResizeWindowWidgets(Window *w, const byte *resizearray, byte length, byte horizontal, byte vertical)
|
||||
{
|
||||
byte i;
|
||||
|
||||
for (i = 0; i < length; i++) {
|
||||
if (resizearray[i] & WIDGET_DEFINE_MOVE_LEFT) w->widget[i].left += horizontal;
|
||||
if (resizearray[i] & WIDGET_DEFINE_MOVE_RIGHT) w->widget[i].right += horizontal;
|
||||
if (resizearray[i] & WIDGET_DEFINE_MOVE_TOP) w->widget[i].top += vertical;
|
||||
if (resizearray[i] & WIDGET_DEFINE_MOVE_BOTTOM) w->widget[i].bottom += vertical;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user