mirror of https://github.com/OpenTTD/OpenTTD
(svn r24311) -Add: DrawDropDownButton() to draw dropdown buttons independent of actual widgets.
parent
056f779334
commit
b71b4015a2
|
@ -2005,6 +2005,28 @@ void DrawArrowButtons(int x, int y, Colours button_colour, byte state, bool clic
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Draw a dropdown button.
|
||||||
|
* @param x the x position to draw
|
||||||
|
* @param y the y position to draw
|
||||||
|
* @param button_colour the colour of the button
|
||||||
|
* @param state true = lowered
|
||||||
|
* @param clickable is the button clickable?
|
||||||
|
*/
|
||||||
|
void DrawDropDownButton(int x, int y, Colours button_colour, bool state, bool clickable)
|
||||||
|
{
|
||||||
|
static const char *DOWNARROW = "\xEE\x8A\xAA";
|
||||||
|
|
||||||
|
int colour = _colour_gradient[button_colour][2];
|
||||||
|
|
||||||
|
DrawFrameRect(x, y, x + SETTING_BUTTON_WIDTH - 1, y + SETTING_BUTTON_HEIGHT - 1, button_colour, state ? FR_LOWERED : FR_NONE);
|
||||||
|
DrawString(x + (state ? 1 : 0), x + SETTING_BUTTON_WIDTH - (state ? 0 : 1), y + (state ? 2 : 1), DOWNARROW, TC_BLACK, SA_HOR_CENTER);
|
||||||
|
|
||||||
|
if (!clickable) {
|
||||||
|
GfxFillRect(x + 1, y, x + SETTING_BUTTON_WIDTH - 1, y + SETTING_BUTTON_HEIGHT - 2, colour, FILLRECT_CHECKER);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Draw a toggle button.
|
* Draw a toggle button.
|
||||||
* @param x the x position to draw
|
* @param x the x position to draw
|
||||||
|
|
|
@ -18,6 +18,7 @@ static const int SETTING_BUTTON_WIDTH = 20; ///< Width of setting buttons
|
||||||
static const int SETTING_BUTTON_HEIGHT = 10; ///< Height of setting buttons
|
static const int SETTING_BUTTON_HEIGHT = 10; ///< Height of setting buttons
|
||||||
|
|
||||||
void DrawArrowButtons(int x, int y, Colours button_colour, byte state, bool clickable_left, bool clickable_right);
|
void DrawArrowButtons(int x, int y, Colours button_colour, byte state, bool clickable_left, bool clickable_right);
|
||||||
|
void DrawDropDownButton(int x, int y, Colours button_colour, bool state, bool clickable);
|
||||||
void DrawBoolButton(int x, int y, bool state, bool clickable);
|
void DrawBoolButton(int x, int y, bool state, bool clickable);
|
||||||
|
|
||||||
#endif /* SETTING_GUI_H */
|
#endif /* SETTING_GUI_H */
|
||||||
|
|
Loading…
Reference in New Issue