(svn r11551) -Codechange: Introduction of widget control members on struct Window. These "new" members have the exact same functionalities as their pure functions "genitors"

Ex: "Window::SetWidgetLoweredState(byte widget_index, bool lowered_stat)"  is the member corresponding to "SetWindowWidgetLoweredState(Window *w, byte widget_index, bool lowered_stat)"
This commit is contained in:
belugas
2007-12-02 00:59:48 +00:00
parent 7be55559b8
commit e2b4afaa4b
2 changed files with 216 additions and 0 deletions

View File

@@ -80,6 +80,70 @@ void RaiseWindowButtons(Window *w)
}
}
void CDECL Window::SetWidgetsDisabledState(bool disab_stat, int widgets, ...)
{
va_list wdg_list;
va_start(wdg_list, widgets);
while (widgets != WIDGET_LIST_END) {
SetWidgetDisabledState(widgets, disab_stat);
widgets = va_arg(wdg_list, int);
}
va_end(wdg_list);
}
void CDECL Window::SetWidgetsHiddenState(bool hidden_stat, int widgets, ...)
{
va_list wdg_list;
va_start(wdg_list, widgets);
while (widgets != WIDGET_LIST_END) {
SetWidgetHiddenState(widgets, hidden_stat);
widgets = va_arg(wdg_list, int);
}
va_end(wdg_list);
}
void CDECL Window::SetWidgetsLoweredState(bool lowered_stat, int widgets, ...)
{
va_list wdg_list;
va_start(wdg_list, widgets);
while (widgets != WIDGET_LIST_END) {
SetWidgetLoweredState(widgets, lowered_stat);
widgets = va_arg(wdg_list, int);
}
va_end(wdg_list);
}
void Window::RaiseButtons()
{
uint i;
for (i = 0; i < this->widget_count; i++) {
if (IsWidgetLowered(i)) {
RaiseWidget(i);
InvalidateWidget(i);
}
}
}
void Window::InvalidateWidget(byte widget_index)
{
const Widget *wi = &this->widget[widget_index];
/* Don't redraw the window if the widget is invisible or of no-type */
if (wi->type == WWT_EMPTY || IsWidgetHidden(widget_index)) return;
SetDirtyBlocks(this->left + wi->left, this->top + wi->top, this->left + wi->right + 1, this->top + wi->bottom + 1);
}
void HandleButtonClick(Window *w, byte widget)
{
LowerWindowWidget(w, widget);