misc_gui.c
changeset 4668 8b6035c51188
parent 4634 897461a3e9ca
child 4672 1ef34405eaf5
--- a/misc_gui.c	Thu Sep 28 19:56:29 2006 +0000
+++ b/misc_gui.c	Thu Sep 28 23:05:03 2006 +0000
@@ -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 @@
 
 	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;
+	}
+}