|
|
|
@ -1309,8 +1309,9 @@ static void ViewportAddSigns(DrawPixelInfo *dpi)
|
|
|
|
|
* @param center the (preferred) center of the viewport sign
|
|
|
|
|
* @param top the new top of the sign
|
|
|
|
|
* @param str the string to show in the sign
|
|
|
|
|
* @param str_small the string to show when zoomed out. STR_NULL means same as \a str
|
|
|
|
|
*/
|
|
|
|
|
void ViewportSign::UpdatePosition(int center, int top, StringID str)
|
|
|
|
|
void ViewportSign::UpdatePosition(int center, int top, StringID str, StringID str_small)
|
|
|
|
|
{
|
|
|
|
|
if (this->width_normal != 0) this->MarkDirty();
|
|
|
|
|
|
|
|
|
@ -1323,6 +1324,9 @@ void ViewportSign::UpdatePosition(int center, int top, StringID str)
|
|
|
|
|
this->center = center;
|
|
|
|
|
|
|
|
|
|
/* zoomed out version */
|
|
|
|
|
if (str_small != STR_NULL) {
|
|
|
|
|
GetString(buffer, str_small, lastof(buffer));
|
|
|
|
|
}
|
|
|
|
|
this->width_small = VPSM_LEFT + Align(GetStringBoundingBox(buffer, FS_SMALL).width, 2) + VPSM_RIGHT;
|
|
|
|
|
|
|
|
|
|
this->MarkDirty();
|
|
|
|
|