Changeset - r4692:b4568f9a45bc
[Not reviewed]
master
0 1 0
belugas - 18 years ago 2006-10-01 01:32:07
belugas@openttd.org
(svn r6599) -Codechange: Add accessors around the members click/disabled/hidden_state of Window
This is the first step toward merging XTDwidget.
1 file changed with 141 insertions and 0 deletions:
window.h
141
0 comments (0 inline, 0 general)
window.h
Show inline comments
 
@@ -3,6 +3,7 @@
 
#ifndef WINDOW_H
 
#define WINDOW_H
 

	
 
#include "macros.h"
 
#include "string.h"
 

	
 
typedef struct WindowEvent WindowEvent;
 
@@ -596,6 +597,146 @@ Window *AllocateWindowDescFront(const Wi
 

	
 
void DrawWindowViewport(Window *w);
 

	
 
/**
 
 * Sets the enabled/disabled status of a widget.
 
 * By default, widgets are enabled.
 
 * On certain conditions, they have to be disabled.
 
 * @param w : Window on which the widget is located
 
 * @param widget_index : index of this widget in the window
 
 * @param disab_stat : status to use ie: disabled = true, enabled = false
 
 */
 
static inline void SetWindowWidgetDisabledState(Window *w, byte widget_index, bool disab_stat)
 
{
 
	SB(w->disabled_state, widget_index, 1, !!disab_stat);
 
}
 

	
 
/**
 
 * Sets a widget to disabled.
 
 * @param w : Window on which the widget is located
 
 * @param widget_index : index of this widget in the window
 
 */
 
static inline void DisableWindowWidget(Window *w, byte widget_index)
 
{
 
	SetWindowWidgetDisabledState(w, widget_index, true);
 
}
 

	
 
/**
 
 * Sets a widget to Enabled.
 
 * @param w : Window on which the widget is located
 
 * @param widget_index : index of this widget in the window
 
 */
 
static inline void EnableWindowWidget(Window *w, byte widget_index)
 
{
 
	SetWindowWidgetDisabledState(w, widget_index, false);
 
}
 

	
 
/**
 
 * Gets the enabled/disabled status of a widget.
 
 * @param w : Window on which the widget is located
 
 * @param widget_index : index of this widget in the window
 
 * @return status of the widget ie: disabled = true, enabled = false
 
 */
 
static inline bool IsWindowWidgetDisabled(Window *w, byte widget_index)
 
{
 
	return HASBIT(w->disabled_state, widget_index);
 
}
 

	
 
/**
 
 * Sets the hidden/shown status of a widget.
 
 * By default, widgets are visible.
 
 * On certain conditions, they have to be hidden.
 
 * @param w Window on which the widget is located
 
 * @param widget_index index of this widget in the window
 
 * @param hidden_stat status to use ie. hidden = true, visible = false
 
 */
 
static inline void SetWindowWidgetHiddenState(Window *w, byte widget_index, bool hidden_stat)
 
{
 
	SB(w->hidden_state, widget_index, 1, !!hidden_stat);
 
}
 

	
 
/**
 
 * Sets a widget hidden.
 
 * @param w : Window on which the widget is located
 
 * @param widget_index : index of this widget in the window
 
 */
 
static inline void HideWindowWidget(Window *w, byte widget_index)
 
{
 
	SetWindowWidgetHiddenState(w, widget_index, true);
 
}
 

	
 
/**
 
 * Sets a widget visible.
 
 * @param w : Window on which the widget is located
 
 * @param widget_index : index of this widget in the window
 
 */
 
static inline void ShowWindowWidget(Window *w, byte widget_index)
 
{
 
	SetWindowWidgetHiddenState(w, widget_index, false);
 
}
 

	
 
/**
 
 * Gets the visibility of a widget.
 
 * @param w : Window on which the widget is located
 
 * @param widget_index : index of this widget in the window
 
 * @return status of the widget ie: hidden = true, visible = false
 
 */
 
static inline bool IsWindowWidgetHidden(Window *w, byte widget_index)
 
{
 
	return HASBIT(w->hidden_state, widget_index);
 
}
 

	
 
/**
 
 * Sets the lowered/raised status of a widget.
 
 * @param w : Window on which the widget is located
 
 * @param widget_index : index of this widget in the window
 
 * @param hidden_stat : status to use ie: lowered = true, raised = false
 
 */
 
static inline void SetWidgetLoweredState(Window *w, byte widget_index, bool lowered_stat)
 
{
 
	SB(w->click_state, widget_index, 1, !!lowered_stat);
 
}
 

	
 
/**
 
 * Invert the lowered/raised  status of a widget.
 
 * @param w : Window on which the widget is located
 
 * @param widget_index : index of this widget in the window
 
 */
 
static inline void ToggleWidgetLoweredState(Window *w, byte widget_index)
 
{
 
	TOGGLEBIT(w->click_state, widget_index);
 
}
 

	
 
/**
 
 * Marks a widget as lowered.
 
 * @param w : Window on which the widget is located
 
 * @param widget_index : index of this widget in the window
 
 */
 
static inline void LowerWindowWidget(Window *w, byte widget_index)
 
{
 
	SetWidgetLoweredState(w, widget_index, true);
 
}
 

	
 
/**
 
 * Marks a widget as raised.
 
 * @param w : Window on which the widget is located
 
 * @param widget_index : index of this widget in the window
 
 */
 
static inline void RaiseWindowWidget(Window *w, byte widget_index)
 
{
 
	SetWidgetLoweredState(w, widget_index, false);
 
}
 

	
 
/**
 
 * Gets the lowered state of a widget.
 
 * @param w : Window on which the widget is located
 
 * @param widget_index : index of this widget in the window
 
 * @return status of the widget ie: lowered = true, raised= false
 
 */
 
static inline bool IsWindowWidgetLowered(Window *w, byte widget_index)
 
{
 
	return HASBIT(w->click_state, widget_index);
 
}
 

	
 
void InitWindowSystem(void);
 
void UnInitWindowSystem(void);
 
void ResetWindowSystem(void);
0 comments (0 inline, 0 general)