mirror of https://github.com/OpenTTD/OpenTTD
(svn r12675) -Codechange: Add support for custom drawing of drop down list items.
parent
a45c1d45e5
commit
447a31b702
|
@ -36,6 +36,11 @@ StringID DropDownListParamStringItem::String() const
|
||||||
return this->string;
|
return this->string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DropDownListItem::Draw(int x, int y, uint width, uint height, bool sel) const
|
||||||
|
{
|
||||||
|
DrawStringTruncated(x + 2, y, this->String(), sel ? TC_WHITE : TC_BLACK, x + width);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete all items of a drop down list and the list itself
|
* Delete all items of a drop down list and the list itself
|
||||||
* @param list List to delete.
|
* @param list List to delete.
|
||||||
|
@ -122,7 +127,7 @@ static void DropDownMenuWndProc(Window *w, WindowEvent *e)
|
||||||
if (item->String() != STR_NULL) {
|
if (item->String() != STR_NULL) {
|
||||||
if (sel == item->result) GfxFillRect(x + 1, y, x + width, y + item_height - 1, 0);
|
if (sel == item->result) GfxFillRect(x + 1, y, x + width, y + item_height - 1, 0);
|
||||||
|
|
||||||
DrawStringTruncated(x + 2, y, item->String(), sel == item->result ? TC_WHITE : TC_BLACK, x + width);
|
item->Draw(x, y, width, 10, sel == item->result);
|
||||||
|
|
||||||
if (item->masked) {
|
if (item->masked) {
|
||||||
GfxFillRect(x, y, x + width, y + item_height - 1,
|
GfxFillRect(x, y, x + width, y + item_height - 1,
|
||||||
|
|
|
@ -19,6 +19,7 @@ public:
|
||||||
virtual ~DropDownListItem() {}
|
virtual ~DropDownListItem() {}
|
||||||
virtual StringID String() const;
|
virtual StringID String() const;
|
||||||
virtual uint Height(uint width) const;
|
virtual uint Height(uint width) const;
|
||||||
|
virtual void Draw(int x, int y, uint width, uint height, bool sel) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue