(svn r15785) -Codechange: remove the *Truncated part of the old text drawing API.

This commit is contained in:
rubidium 2009-03-21 20:12:12 +00:00
parent 9fcff01850
commit 45f189fdca
20 changed files with 67 additions and 153 deletions

View File

@ -79,7 +79,7 @@ struct AIListWindow : public Window {
int y = this->widget[AIL_WIDGET_LIST].top;
/* First AI in the list is hardcoded to random */
if (this->vscroll.pos == 0) {
DrawStringTruncated(4, y + 3, STR_AI_RANDOM_AI, this->selected == -1 ? TC_WHITE : TC_BLACK, this->width - 8);
DrawString(4, this->widget[AIL_WIDGET_LIST].right - 4, y + 3, STR_AI_RANDOM_AI, this->selected == -1 ? TC_WHITE : TC_BLACK);
y += 14;
}
AIInfo *selected_info = NULL;
@ -87,7 +87,7 @@ struct AIListWindow : public Window {
for (int i = 1; it != this->ai_info_list->end(); i++, it++) {
if (this->selected == i - 1) selected_info = (*it).second;
if (IsInsideBS(i, this->vscroll.pos, this->vscroll.cap)) {
DoDrawStringTruncated((*it).second->GetName(), 4, y + 3, (this->selected == i - 1) ? TC_WHITE : TC_BLACK, this->width - 8);
DrawString(4, this->widget[AIL_WIDGET_LIST].right - 4, y + 3, (*it).second->GetName(), (this->selected == i - 1) ? TC_WHITE : TC_BLACK);
y += 14;
}
}
@ -96,12 +96,12 @@ struct AIListWindow : public Window {
if (selected_info != NULL) {
int y = this->widget[AIL_WIDGET_INFO_BG].top + 6;
int x = DrawString(4, y, STR_AI_AUTHOR, TC_BLACK);
DoDrawStringTruncated(selected_info->GetAuthor(), x + 5, y, TC_BLACK, this->width - x - 8);
DrawString(x + 5, this->widget[AIL_WIDGET_LIST].right - 4, y, selected_info->GetAuthor(), TC_BLACK);
y += 13;
x = DrawString(4, y, STR_AI_VERSION, TC_BLACK);
static char buf[8];
sprintf(buf, "%d", selected_info->GetVersion());
DoDrawStringTruncated(buf, x + 5, y, TC_BLACK, this->width - x - 8);
DrawString(x + 5, this->widget[AIL_WIDGET_LIST].right - 4, y, buf, TC_BLACK);
y += 13;
SetDParamStr(0, selected_info->GetDescription());
DrawStringMultiLine(4, y, STR_JUST_RAW_STRING, this->width - 8, this->widget[AIL_WIDGET_INFO_BG].bottom - y);
@ -263,14 +263,14 @@ struct AISettingsWindow : public Window {
} else {
DrawArrowButtons(4, y + 2, COLOUR_YELLOW, (this->clicked_button == i) ? 1 + !!this->clicked_increase : 0, current_value > (*it).min_value, current_value < (*it).max_value);
if (it->labels != NULL && it->labels->Find(current_value) != it->labels->End()) {
x = DoDrawStringTruncated(it->labels->Find(current_value)->second, 28, y + 3, TC_ORANGE, this->width - 32);
x = DrawString(28, this->widget[AIS_WIDGET_BACKGROUND].right - 4, y + 3, it->labels->Find(current_value)->second, TC_ORANGE);
} else {
SetDParam(0, current_value);
x = DrawStringTruncated(28, y + 3, STR_JUST_INT, TC_ORANGE, this->width - 32);
x = DrawString(28, this->widget[AIS_WIDGET_BACKGROUND].right - 4, y + 3, STR_JUST_INT, TC_ORANGE);
}
}
DoDrawStringTruncated((*it).description, max(x + 3, 54), y + 3, TC_LIGHT_BLUE, this->width - (4 + max(x + 3, 54)));
DrawString(max(x + 3, 54), this->widget[AIS_WIDGET_BACKGROUND].right - 4, y + 3, (*it).description, TC_LIGHT_BLUE);
y += 14;
}
}
@ -475,7 +475,7 @@ struct AIConfigWindow : public Window {
} else {
text = STR_AI_RANDOM_AI;
}
DrawStringTruncated(10, y + 3, text, (this->selected_slot == i) ? TC_WHITE : ((i > _settings_newgame.difficulty.max_no_competitors || i == 0) ? TC_SILVER : TC_ORANGE), this->width - 20);
DrawString(10, this->widget[AIC_WIDGET_LIST].right - 10, y + 3, text, (this->selected_slot == i) ? TC_WHITE : ((i > _settings_newgame.difficulty.max_no_competitors || i == 0) ? TC_SILVER : TC_ORANGE));
y += 14;
}
}
@ -657,7 +657,7 @@ struct AIDebugWindow : public Window {
assert(info != NULL);
char name[1024];
snprintf(name, sizeof(name), "%s (v%d)", info->GetName(), info->GetVersion());
DoDrawString(name, 7, 47, TC_BLACK);
DrawString(7, this->widget[AID_WIDGET_VIEW].right, 47, name, TC_BLACK);
CompanyID old_company = _current_company;
_current_company = ai_debug_company;
@ -683,7 +683,7 @@ struct AIDebugWindow : public Window {
default: colour = TC_BLACK; break;
}
DoDrawStringTruncated(log->lines[pos], 7, this->widget[AID_WIDGET_LOG_PANEL].top + y, colour, this->widget[AID_WIDGET_LOG_PANEL].right - this->widget[AID_WIDGET_LOG_PANEL].left - 14);
DrawString(this->widget[AID_WIDGET_LOG_PANEL].right + 7, this->widget[AID_WIDGET_LOG_PANEL].left - 7, this->widget[AID_WIDGET_LOG_PANEL].top + y, log->lines[pos], colour);
y += 12;
}
}

View File

@ -306,7 +306,7 @@ public:
SetDParam(0, STR_NOT_REPLACING_VEHICLE_SELECTED);
}
DrawStringTruncated(this->widget[RVW_WIDGET_INFO_TAB].left + 6, this->widget[RVW_WIDGET_INFO_TAB].top + 1, STR_02BD, TC_BLACK, this->GetWidgetWidth(RVW_WIDGET_INFO_TAB) - 12);
DrawString(this->widget[RVW_WIDGET_INFO_TAB].left + 6, this->widget[RVW_WIDGET_INFO_TAB].right - 6, this->widget[RVW_WIDGET_INFO_TAB].top + 1, STR_02BD, TC_BLACK);
/* Draw the lists */
for (byte i = 0; i < 2; i++) {

View File

@ -668,19 +668,17 @@ void DrawEngineList(VehicleType type, int x, int r, int y, const GUIEngineList *
default: NOT_REACHED();
}
uint maxw = r - x - x_offset;
for (; min < max; min++, y += step_size) {
const EngineID engine = (*eng_list)[min];
/* Note: num_engines is only used in the autoreplace GUI, so it is correct to use _local_company here. */
const uint num_engines = GetGroupNumEngines(_local_company, selected_group, engine);
SetDParam(0, engine);
DrawStringTruncated(x + x_offset, y, STR_ENGINE_NAME, engine == selected_id ? TC_WHITE : TC_BLACK, maxw);
DrawString(x + x_offset, r, y, STR_ENGINE_NAME, engine == selected_id ? TC_WHITE : TC_BLACK);
DrawVehicleEngine(type, x, y + y_offset, engine, (count_location != 0 && num_engines == 0) ? PALETTE_CRASH : GetEnginePalette(engine, _local_company));
if (count_location != 0) {
SetDParam(0, num_engines);
DrawStringRightAligned(count_location, y + (GetVehicleListHeight(type) == 14 ? 3 : 8), STR_TINY_BLACK, TC_FROMSTRING);
DrawString(x, count_location, y + (GetVehicleListHeight(type) == 14 ? 3 : 8), STR_TINY_BLACK, TC_FROMSTRING, SA_RIGHT);
}
}
}

View File

@ -388,8 +388,6 @@ struct GenerateLandscapeWindow : public QueryStringBaseWindow {
this->DrawEditBox(GLAND_RANDOM_EDITBOX);
if (mode != GLWP_GENERATE) {
char buffer[512];
if (_settings_newgame.game_creation.heightmap_rotation == HM_CLOCKWISE) {
SetDParam(0, this->y);
SetDParam(1, this->x);
@ -397,12 +395,11 @@ struct GenerateLandscapeWindow : public QueryStringBaseWindow {
SetDParam(0, this->x);
SetDParam(1, this->y);
}
GetString(buffer, STR_HEIGHTMAP_SIZE, lastof(buffer));
DrawStringRightAligned(326, 91, STR_HEIGHTMAP_SIZE, TC_BLACK);
int right = DrawString(0, 326, 91, STR_HEIGHTMAP_SIZE, TC_BLACK, SA_RIGHT);
DrawString( 12, 91, STR_HEIGHTMAP_NAME, TC_BLACK);
SetDParamStr(0, this->name);
DrawStringTruncated(114, 91, STR_JUST_RAW_STRING, TC_ORANGE, 326 - 114 - GetStringBoundingBox(buffer).width - 5);
DrawString(114, right - 5, 91, STR_JUST_RAW_STRING, TC_ORANGE);
}
}

View File

@ -483,20 +483,6 @@ int DrawString(int left, int right, int top, StringID str, TextColour colour, St
return DrawString(left, right, top, buffer, lastof(buffer), colour, align, underline);
}
/**
* Draw string, possibly truncated to make it fit in its allocated space
*
* @param x X position to start drawing
* @param y Y position to start drawing
* @param str String to draw
* @param colour Colour used for drawing the string, see DoDrawString() for details
* @param maxw Maximal width of the string
*/
int DrawStringTruncated(int x, int y, StringID str, TextColour colour, uint maxw)
{
return DrawString(x, x + maxw, y, str, colour, SA_LEFT, false);
}
/**
* Draw string right-aligned.
*
@ -510,20 +496,6 @@ int DrawStringRightAligned(int x, int y, StringID str, TextColour colour)
return DrawString(0, x, y, str, colour, SA_RIGHT, false);
}
/**
* Draw string right-aligned, possibly truncated to make it fit in its allocated space
*
* @param x Right-most x position to start drawing
* @param y Y position to start drawing
* @param str String to draw
* @param colour Colour used for drawing the string, see DoDrawString() for details
* @param maxw Maximal width of the string
*/
int DrawStringRightAlignedTruncated(int x, int y, StringID str, TextColour colour, uint maxw)
{
return DrawString(x - maxw, x, y, str, colour, SA_RIGHT, false);
}
/**
* Draw string right-aligned with a line underneath it.
*
@ -553,22 +525,6 @@ int DrawStringCentered(int x, int y, StringID str, TextColour colour)
return DrawString(x - w, x + w, y, buffer, lastof(buffer), colour, SA_CENTER);
}
/**
* Draw string centered, possibly truncated to fit in the assigned space.
*
* @param xl Left-most x position
* @param xr Right-most x position
* @param y Y position of the string
* @param str String to draw
* @param colour Colour used for drawing the string, see DoDrawString() for details
*
* @return Width of the drawn string in pixels
*/
int DrawStringCenteredTruncated(int xl, int xr, int y, StringID str, TextColour colour)
{
return DrawString(xl, xr, y, str, colour, SA_CENTER, false);
}
/**
* Draw string centered.
*
@ -602,20 +558,6 @@ int DrawStringCenterUnderline(int x, int y, StringID str, TextColour colour)
return DrawString(x - w, y + w, y, buffer, lastof(buffer), colour, SA_CENTER, true);
}
/**
* Draw string centered possibly truncated, with additional line underneath it
*
* @param xl Left x position of the string
* @param xr Right x position of the string
* @param y Y position of center of the string
* @param str String to draw
* @param colour Colour used for drawing the string, see DoDrawString() for details
*/
int DrawStringCenterUnderlineTruncated(int xl, int xr, int y, StringID str, TextColour colour)
{
return DrawString(xl, xr, y, str, colour, SA_CENTER, true);
}
/**
* 'Correct' a string to a maximum length. Longer strings will be cut into
* additional lines at whitespace characters if possible. The string parameter
@ -1007,26 +949,6 @@ skip_cont:;
}
}
/**
* Draw the string of the character buffer, starting at position (x,y) with a given maximal width.
* String is truncated if it is too long.
*
* @param str Character buffer containing the string
* @param x Left-most x coordinate to start drawing
* @param y Y coordinate to draw the string
* @param colour Colour to use, see DoDrawString() for details.
* @param maxw Maximal width in pixels that may be used for drawing
*
* @return Right-most x position after drawing the (possibly truncated) string
*/
int DoDrawStringTruncated(const char *str, int x, int y, TextColour colour, uint maxw)
{
char buffer[DRAW_STRING_BUFFER];
strecpy(buffer, str, lastof(buffer));
TruncateString(buffer, maxw);
return DoDrawString(buffer, x, y, colour);
}
/**
* Draw a sprite.
* @param img Image number to draw

View File

@ -99,15 +99,12 @@ int DrawStringCentered(int x, int y, StringID str, TextColour colour);
int DoDrawStringCentered(int x, int y, const char *str, TextColour colour);
int DrawString(int x, int y, StringID str, TextColour colour);
int DrawStringTruncated(int x, int y, StringID str, TextColour colour, uint maxw);
int DoDrawString(const char *string, int x, int y, TextColour colour, bool parse_string_also_when_clipped = false);
int DoDrawStringTruncated(const char *str, int x, int y, TextColour colour, uint maxw);
int DrawStringCenterUnderline(int x, int y, StringID str, TextColour colour);
int DrawStringRightAligned(int x, int y, StringID str, TextColour colour);
int DrawStringRightAlignedTruncated(int x, int y, StringID str, TextColour colour, uint maxw);
int DrawStringRightAlignedUnderline(int x, int y, StringID str, TextColour colour);
void DrawCharCentered(uint32 c, int x, int y, TextColour colour);

View File

@ -189,6 +189,7 @@ public:
int y_str = this->widget[DPIW_INFOPANEL].top + 3;
const Widget *wi = &this->widget[DPIW_INFOPANEL];
int max_width = wi->right - wi->left - 4;
int right = wi->right - 1;
/* Raw industries might be prospected. Show this fact by changing the string
* In Editor, you just build, while ingame, or you fund or you prospect */
@ -213,13 +214,13 @@ public:
bool selected = this->selected_index == i + this->vscroll.pos;
if (this->index[i + this->vscroll.pos] == INVALID_INDUSTRYTYPE) {
DrawStringTruncated(20, y + offset, STR_MANY_RANDOM_INDUSTRIES, selected ? TC_WHITE : TC_ORANGE, max_width - 25);
DrawString(20, right, y + offset, STR_MANY_RANDOM_INDUSTRIES, selected ? TC_WHITE : TC_ORANGE);
continue;
}
const IndustrySpec *indsp = GetIndustrySpec(this->index[i + this->vscroll.pos]);
/* Draw the name of the industry in white is selected, otherwise, in orange */
DrawStringTruncated(20, y + offset, indsp->name, selected ? TC_WHITE : TC_ORANGE, max_width - 25);
DrawString(20, right, y + offset, indsp->name, selected ? TC_WHITE : TC_ORANGE);
GfxFillRect(x, y + 1 + offset, x + 10, y + 7 + offset, selected ? 15 : 0);
GfxFillRect(x + 1, y + 2 + offset, x + 9, y + 6 + offset, indsp->map_colour);
}
@ -231,7 +232,7 @@ public:
if (_game_mode != GM_EDITOR) {
SetDParam(0, indsp->GetConstructionCost());
DrawStringTruncated(x_str, y_str, STR_482F_COST, TC_FROMSTRING, max_width);
DrawString(x_str, right, y_str, STR_482F_COST, TC_FROMSTRING);
y_str += 11;
}
@ -246,7 +247,7 @@ public:
SetDParam(p++, GetCargo(indsp->accepts_cargo[j])->name);
SetDParam(p++, GetCargoSuffix(j, CST_FUND, NULL, this->selected_type, indsp));
}
DrawStringTruncated(x_str, y_str, str, TC_FROMSTRING, max_width);
DrawString(x_str, right, y_str, str, TC_FROMSTRING);
y_str += 11;
/* Draw the produced cargos, if any. Otherwhise, will print "Nothing" */
@ -260,7 +261,7 @@ public:
SetDParam(p++, GetCargo(indsp->produced_cargo[j])->name);
SetDParam(p++, GetCargoSuffix(j + 3, CST_FUND, NULL, this->selected_type, indsp));
}
DrawStringTruncated(x_str, y_str, str, TC_FROMSTRING, max_width);
DrawString(x_str, right, y_str, str, TC_FROMSTRING);
y_str += 11;
/* Get the additional purchase info text, if it has not already been */
@ -487,14 +488,14 @@ public:
if (i->accepts_cargo[j] == CT_INVALID) continue;
has_accept = true;
if (first) {
DrawStringTruncated(2, y, STR_INDUSTRY_WINDOW_WAITING_FOR_PROCESSING, TC_FROMSTRING, this->widget[IVW_INFO].right - 2);
DrawString(2, this->widget[IVW_INFO].right, y, STR_INDUSTRY_WINDOW_WAITING_FOR_PROCESSING, TC_FROMSTRING);
y += 10;
first = false;
}
SetDParam(0, i->accepts_cargo[j]);
SetDParam(1, i->incoming_cargo_waiting[j]);
SetDParam(2, GetCargoSuffix(j, CST_VIEW, i, i->type, ind));
DrawStringTruncated(4, y, STR_INDUSTRY_WINDOW_WAITING_STOCKPILE_CARGO, TC_FROMSTRING, this->widget[IVW_INFO].right - 4);
DrawString(4, this->widget[IVW_INFO].right, y, STR_INDUSTRY_WINDOW_WAITING_STOCKPILE_CARGO, TC_FROMSTRING);
y += 10;
}
} else {
@ -508,7 +509,7 @@ public:
SetDParam(p++, GetCargoSuffix(j, CST_VIEW, i, i->type, ind));
}
if (has_accept) {
DrawStringTruncated(2, y, str, TC_FROMSTRING, this->widget[IVW_INFO].right - 2);
DrawString(2, this->widget[IVW_INFO].right, y, str, TC_FROMSTRING);
y += 10;
}
}
@ -518,7 +519,7 @@ public:
if (i->produced_cargo[j] == CT_INVALID) continue;
if (first) {
if (has_accept) y += 10;
DrawStringTruncated(2, y, STR_482A_PRODUCTION_LAST_MONTH, TC_FROMSTRING, this->widget[IVW_INFO].right - 2);
DrawString(2, this->widget[IVW_INFO].right, y, STR_482A_PRODUCTION_LAST_MONTH, TC_FROMSTRING);
y += 10;
this->production_offset_y = y;
first = false;
@ -530,7 +531,7 @@ public:
SetDParam(3, i->last_month_pct_transported[j] * 100 >> 8);
uint x = 4 + (IsProductionAlterable(i) ? 30 : 0);
DrawStringTruncated(x, y, STR_482B_TRANSPORTED, TC_FROMSTRING, this->widget[IVW_INFO].right - x);
DrawString(x, this->widget[IVW_INFO].right, y, STR_482B_TRANSPORTED, TC_FROMSTRING);
/* Let's put out those buttons.. */
if (IsProductionAlterable(i)) {
DrawArrowButtons(5, y, COLOUR_YELLOW, (this->clicked_line == j + 1) ? this->clicked_button : 0,
@ -903,7 +904,7 @@ public:
/* Drawing the right string */
StringID str = STR_INDUSTRYDIR_ITEM_NOPROD;
if (p != 1) str = (p == 5) ? STR_INDUSTRYDIR_ITEM : STR_INDUSTRYDIR_ITEM_TWO;
DrawStringTruncated(4, y, str, TC_FROMSTRING, this->widget[IDW_INDUSTRY_LIST].right - 4);
DrawString(4, this->widget[IDW_INDUSTRY_LIST].right, y, str, TC_FROMSTRING);
y += 10;
}

View File

@ -1409,7 +1409,7 @@ static void DrawFiosTexts(uint maxw)
if (str != STR_4006_UNABLE_TO_READ_DRIVE) SetDParam(0, tot);
DrawString(2, 37, str, TC_FROMSTRING);
DoDrawStringTruncated(path, 2, 27, TC_BLACK, maxw);
DrawString(2, 2 + maxw, 27, path, TC_BLACK);
}
static void MakeSortedSaveGameList()
@ -1570,7 +1570,7 @@ public:
for (uint pos = this->vscroll.pos; pos < _fios_items.Length(); pos++) {
const FiosItem *item = _fios_items.Get(pos);
DoDrawStringTruncated(item->title, 4, y, _fios_colours[item->type], this->width - 18);
DrawString(4, widg->right - 2, y, item->title, _fios_colours[item->type]);
y += 10;
if (y >= this->vscroll.cap * 10 + widg->top + 1) break;
}

View File

@ -424,7 +424,7 @@ public:
DrawString(this->widget[NCLWW_TYPE].left, this->widget[NCLWW_TYPE].right, y, str, TC_BLACK, SA_CENTER);
SetDParamStr(0, ci->name);
DrawStringTruncated(this->widget[NCLWW_NAME].left + 5, y, STR_JUST_RAW_STRING, TC_BLACK, this->widget[NCLWW_NAME].right - this->widget[NCLWW_NAME].left - 5);
DrawString(this->widget[NCLWW_NAME].left + 5, this->widget[NCLWW_NAME].right, y, STR_JUST_RAW_STRING, TC_BLACK);
y += this->resize.step_height;
}

View File

@ -240,7 +240,7 @@ protected:
if (highlight) GfxFillRect(this->widget[NGWW_NAME].left + 1, y - 2, this->widget[NGWW_INFO].right - 1, y + 9, 10);
SetDParamStr(0, cur_item->info.server_name);
DrawStringTruncated(this->widget[NGWW_NAME].left + 5, y, STR_JUST_RAW_STRING, TC_BLACK, this->widget[NGWW_NAME].right - this->widget[NGWW_NAME].left - 5);
DrawString(this->widget[NGWW_NAME].left + 5, this->widget[NGWW_NAME].right, y, STR_JUST_RAW_STRING, TC_BLACK);
/* only draw details if the server is online */
if (cur_item->online) {
@ -1215,7 +1215,7 @@ struct NetworkLobbyWindow : public Window {
GfxFillRect(11, y - 1, 154, y + 10, 10); // show highlighted item with a different colour
}
DoDrawStringTruncated(this->company_info[company].company_name, 13, y, TC_BLACK, 135 - 13);
DrawString(13, 135, y, this->company_info[company].company_name, TC_BLACK);
if (this->company_info[company].use_password != 0) DrawSprite(SPR_LOCK, PAL_NONE, 135, y);
/* If the company's income was positive puts a green dot else a red dot */
@ -1232,7 +1232,6 @@ struct NetworkLobbyWindow : public Window {
DrawStringCentered(290, 50, STR_NETWORK_COMPANY_INFO, TC_FROMSTRING);
if (this->company != INVALID_COMPANY && !StrEmpty(this->company_info[this->company].company_name)) {
const uint x = 183;
const uint trunc_width = this->widget[NLWW_DETAILS].right - x;
y = 80;
SetDParam(0, gi->clients_on);
@ -1243,27 +1242,27 @@ struct NetworkLobbyWindow : public Window {
y += 10;
SetDParamStr(0, this->company_info[this->company].company_name);
DrawStringTruncated(x, y, STR_NETWORK_COMPANY_NAME, TC_GOLD, trunc_width);
DrawString(x, this->widget[NLWW_DETAILS].right, y, STR_NETWORK_COMPANY_NAME, TC_GOLD);
y += 10;
SetDParam(0, this->company_info[this->company].inaugurated_year);
DrawString(x, y, STR_NETWORK_INAUGURATION_YEAR, TC_GOLD); // inauguration year
DrawString(x, this->widget[NLWW_DETAILS].right, y, STR_NETWORK_INAUGURATION_YEAR, TC_GOLD); // inauguration year
y += 10;
SetDParam(0, this->company_info[this->company].company_value);
DrawString(x, y, STR_NETWORK_VALUE, TC_GOLD); // company value
DrawString(x, this->widget[NLWW_DETAILS].right, y, STR_NETWORK_VALUE, TC_GOLD); // company value
y += 10;
SetDParam(0, this->company_info[this->company].money);
DrawString(x, y, STR_NETWORK_CURRENT_BALANCE, TC_GOLD); // current balance
DrawString(x, this->widget[NLWW_DETAILS].right, y, STR_NETWORK_CURRENT_BALANCE, TC_GOLD); // current balance
y += 10;
SetDParam(0, this->company_info[this->company].income);
DrawString(x, y, STR_NETWORK_LAST_YEARS_INCOME, TC_GOLD); // last year's income
DrawString(x, this->widget[NLWW_DETAILS].right, y, STR_NETWORK_LAST_YEARS_INCOME, TC_GOLD); // last year's income
y += 10;
SetDParam(0, this->company_info[this->company].performance);
DrawString(x, y, STR_NETWORK_PERFORMANCE, TC_GOLD); // performance
DrawString(x, this->widget[NLWW_DETAILS].right, y, STR_NETWORK_PERFORMANCE, TC_GOLD); // performance
y += 10;
SetDParam(0, this->company_info[this->company].num_vehicle[0]);
@ -1271,7 +1270,7 @@ struct NetworkLobbyWindow : public Window {
SetDParam(2, this->company_info[this->company].num_vehicle[2]);
SetDParam(3, this->company_info[this->company].num_vehicle[3]);
SetDParam(4, this->company_info[this->company].num_vehicle[4]);
DrawString(x, y, STR_NETWORK_VEHICLES, TC_GOLD); // vehicles
DrawString(x, this->widget[NLWW_DETAILS].right, y, STR_NETWORK_VEHICLES, TC_GOLD); // vehicles
y += 10;
SetDParam(0, this->company_info[this->company].num_station[0]);
@ -1279,11 +1278,11 @@ struct NetworkLobbyWindow : public Window {
SetDParam(2, this->company_info[this->company].num_station[2]);
SetDParam(3, this->company_info[this->company].num_station[3]);
SetDParam(4, this->company_info[this->company].num_station[4]);
DrawString(x, y, STR_NETWORK_STATIONS, TC_GOLD); // stations
DrawString(x, this->widget[NLWW_DETAILS].right, y, STR_NETWORK_STATIONS, TC_GOLD); // stations
y += 10;
SetDParamStr(0, this->company_info[this->company].clients);
DrawStringTruncated(x, y, STR_NETWORK_PLAYERS, TC_GOLD, trunc_width); // players
DrawString(x, this->widget[NLWW_DETAILS].right, y, STR_NETWORK_PLAYERS, TC_GOLD); // players
}
}

View File

@ -171,7 +171,7 @@ struct NewGRFAddWindow : public Window {
/* Draw selection background */
if (h) GfxFillRect(3, y, this->width - 15, y + 9, 156);
DoDrawStringTruncated(text, 4, y, h ? TC_WHITE : TC_ORANGE, this->width - 18);
DrawString(4, this->width - 22, y, text, h ? TC_WHITE : TC_ORANGE);
y += 10;
}
}
@ -448,7 +448,7 @@ struct NewGRFWindow : public Window {
DrawSprite(SPR_SQUARE, pal, 5, y + 2);
if (c->error != NULL) DrawSprite(SPR_WARNING_SIGN, 0, 20, y + 2);
txtoffset = c->error != NULL ? 35 : 25;
DoDrawStringTruncated(text, txtoffset, y + 3, this->sel == c ? TC_WHITE : TC_BLACK, this->width - txtoffset - 10);
DrawString(txtoffset, this->widget[SNGRFS_FILE_LIST].right - 2, y + 3, text, this->sel == c ? TC_WHITE : TC_BLACK);
y += 14;
}
}

View File

@ -698,7 +698,7 @@ static void DrawNewsString(int x, int y, TextColour colour, const NewsItem *ni,
*dest = '\0';
/* Truncate and show string; postfixed by '...' if neccessary */
DoDrawStringTruncated(buffer2, x, y, colour, maxw);
DrawString(x, x + maxw, y, buffer2, colour);
}

View File

@ -280,7 +280,7 @@ void DrawOrderString(const Vehicle *v, const Order *order, int order_index, int
}
SetDParam(0, order_index + 1);
DrawStringTruncated(2, y, str, selected ? TC_WHITE : TC_BLACK, width);
DrawString(2, width + 2, y, str, selected ? TC_WHITE : TC_BLACK);
}

View File

@ -1078,9 +1078,9 @@ public:
GfxFillRect(8, y - 2, 127, y + 10, 0, FILLRECT_CHECKER);
}
DrawStringTruncated(9, y, statspec->name, i == _railstation.station_type ? TC_WHITE : TC_BLACK, 118);
DrawString(9, 127, y, statspec->name, i == _railstation.station_type ? TC_WHITE : TC_BLACK);
} else {
DrawStringTruncated(9, y, STR_STAT_CLASS_DFLT, i == _railstation.station_type ? TC_WHITE : TC_BLACK, 118);
DrawString(9, 127, y, STR_STAT_CLASS_DFLT, i == _railstation.station_type ? TC_WHITE : TC_BLACK);
}
y += 14;

View File

@ -65,7 +65,7 @@ void DrawRoadVehDetails(const Vehicle *v, int x, int y)
}
SetDParamStr(0, capacity);
DrawStringTruncated(x, y + 10 + y_offset, STR_JUST_RAW_STRING, TC_BLUE, 380 - x);
DrawString(x, 300, y + 10 + y_offset, STR_JUST_RAW_STRING, TC_BLUE);
for (const Vehicle *u = v; u != NULL; u = u->Next()) {
if (u->cargo_cap == 0) continue;

View File

@ -849,7 +849,7 @@ uint SettingEntry::Draw(GameSettings *settings_ptr, int base_x, int base_y, int
case SEF_SUBTREE_KIND:
if (cur_row >= first_row) {
DrawSprite((this->d.sub.folded ? SPR_CIRCLE_FOLDED : SPR_CIRCLE_UNFOLDED), PAL_NONE, x, y);
DrawStringTruncated(x + 12, y, this->d.sub.title, TC_FROMSTRING, max_x - x - 12);
DrawString(x + 12, max_x, y, this->d.sub.title, TC_FROMSTRING);
}
cur_row++;
if (!this->d.sub.folded) {
@ -916,7 +916,7 @@ void SettingEntry::DrawSetting(GameSettings *settings_ptr, const SettingDesc *sd
SetDParam(1, value);
}
}
DrawStringTruncated(x + 25, y, (sdb->str) + disabled, TC_FROMSTRING, max_x - x - 25);
DrawString(x + 25, max_x, y, (sdb->str) + disabled, TC_FROMSTRING);
}

View File

@ -827,7 +827,7 @@ struct StationViewWindow : public Window {
SetDParam(0, cd->cargo);
SetDParam(1, cd->count);
SetDParam(2, cd->source);
DrawStringRightAlignedTruncated(x + width, y, STR_EN_ROUTE_FROM, TC_FROMSTRING, width);
DrawString(x, x + width, y, STR_EN_ROUTE_FROM, TC_FROMSTRING, SA_RIGHT);
}
y += 10;
@ -1143,7 +1143,7 @@ struct SelectStationWindow : Window {
uint y = 17;
if (this->vscroll.pos == 0) {
DrawStringTruncated(3, y, STR_CREATE_SPLITTED_STATION, TC_FROMSTRING, this->widget[JSW_PANEL].right - 5);
DrawString(3, this->widget[JSW_PANEL].right - 2, y, STR_CREATE_SPLITTED_STATION, TC_FROMSTRING);
y += 10;
}
@ -1154,7 +1154,7 @@ struct SelectStationWindow : Window {
const Station *st = GetStation(_stations_nearby_list[i - 1]);
SetDParam(0, st->index);
SetDParam(1, st->facilities);
DrawStringTruncated(3, y, STR_3049_0, TC_FROMSTRING, this->widget[JSW_PANEL].right - 5);
DrawString(3, this->widget[JSW_PANEL].right - 2, y, STR_3049_0, TC_FROMSTRING);
}
}

View File

@ -107,12 +107,12 @@ struct SubsidyListWindow : Window {
ConvertDateToYMD(_date, &ymd);
int width = this->width - 13; // scroll bar = 11 + pixel each side
int right = this->width - 12; // scroll bar = 11 + pixel each side
int y = 15;
int x = 1;
/* Section for drawing the offered subisidies */
DrawStringTruncated(x, y, STR_2026_SUBSIDIES_ON_OFFER_FOR, TC_FROMSTRING, width);
DrawString(x, right, y, STR_2026_SUBSIDIES_ON_OFFER_FOR, TC_FROMSTRING);
y += 10;
uint num = 0;
@ -122,12 +122,12 @@ struct SubsidyListWindow : Window {
/* Displays the two offered towns */
SetupSubsidyDecodeParam(s, 1);
x2 = DrawStringTruncated(x + 2, y, STR_2027_FROM_TO, TC_FROMSTRING, width - 2);
x2 = DrawString(x + 2, right - 2, y, STR_2027_FROM_TO, TC_FROMSTRING);
if (width - x2 > 10) {
/* Displays the deadline before voiding the proposal */
SetDParam(0, _date - ymd.day + 384 - s->age * 32);
DrawStringTruncated(x2, y, STR_2028_BY, TC_FROMSTRING, width - x2);
DrawString(x2, right, y, STR_2028_BY, TC_FROMSTRING);
}
y += 10;
@ -136,12 +136,12 @@ struct SubsidyListWindow : Window {
}
if (num == 0) {
DrawStringTruncated(x + 2, y, STR_202A_NONE, TC_FROMSTRING, width - 2);
DrawString(x + 2, right - 2, y, STR_202A_NONE, TC_FROMSTRING);
y += 10;
}
/* Section for drawing the already granted subisidies */
DrawStringTruncated(x, y + 1, STR_202B_SERVICES_ALREADY_SUBSIDISED, TC_FROMSTRING, width);
DrawString(x, right, y + 1, STR_202B_SERVICES_ALREADY_SUBSIDISED, TC_FROMSTRING);
y += 10;
num = 0;
@ -154,19 +154,19 @@ struct SubsidyListWindow : Window {
SetDParam(3, GetStation(s->to)->owner);
/* Displays the two connected stations */
xt = DrawStringTruncated(x + 2, y, STR_202C_FROM_TO, TC_FROMSTRING, width - 2);
xt = DrawString(x + 2, right - 2, y, STR_202C_FROM_TO, TC_FROMSTRING);
/* Displays the date where the granted subsidy will end */
if ((xt > 3) && (width - xt) > 9 ) { // do not draw if previous drawing failed or if it will overlap on scrollbar
SetDParam(0, _date - ymd.day + 768 - s->age * 32);
DrawStringTruncated(xt, y, STR_202D_UNTIL, TC_FROMSTRING, width - xt);
DrawString(xt, right, y, STR_202D_UNTIL, TC_FROMSTRING);
}
y += 10;
num++;
}
}
if (num == 0) DrawStringTruncated(x + 2, y, STR_202A_NONE, TC_FROMSTRING, width - 2);
if (num == 0) DrawString(x + 2, right - 2, y, STR_202A_NONE, TC_FROMSTRING);
}
};

View File

@ -205,7 +205,7 @@ struct TimetableWindow : Window {
string = STR_TIMETABLE_TRAVEL_FOR;
}
DrawStringTruncated(2, y, string, (i == selected) ? TC_WHITE : TC_BLACK, this->widget[TTV_TIMETABLE_PANEL].right - 4);
DrawString(this->widget[TTV_TIMETABLE_PANEL].left + 2, this->widget[TTV_TIMETABLE_PANEL].right - 2, y, string, (i == selected) ? TC_WHITE : TC_BLACK);
if (final_order) break;
}

View File

@ -257,7 +257,7 @@ void Window::DrawWidgets() const
case WWT_TEXT: {
const StringID str = wi->data;
if (str != STR_NULL) DrawStringTruncated(r.left, r.top, str, (TextColour)wi->colour, r.right - r.left);
if (str != STR_NULL) DrawString(r.left, r.right, r.top, str, (TextColour)wi->colour);
break;
}
@ -265,7 +265,7 @@ void Window::DrawWidgets() const
const StringID str = wi->data;
DrawFrameRect(r.left, r.top, r.right, r.bottom, wi->colour, FR_LOWERED | FR_DARKENED);
if (str != STR_NULL) DrawStringTruncated(r.left + 2, r.top + 1, str, TC_FROMSTRING, r.right - r.left - 10);
if (str != STR_NULL) DrawString(r.left + 2, r.right - 2, r.top + 1, str, TC_FROMSTRING);
break;
}
@ -488,7 +488,7 @@ void Window::DrawWidgets() const
DrawFrameRect(r.left, r.top, r.right - 12, r.bottom, wi->colour, FR_NONE);
DrawFrameRect(r.right - 11, r.top, r.right, r.bottom, wi->colour, clicked ? FR_LOWERED : FR_NONE);
DrawString(r.right - (clicked ? 8 : 9), r.top + (clicked ? 2 : 1), STR_0225, TC_BLACK);
if (str != STR_NULL) DrawStringTruncated(r.left + 2, r.top + 1, str, TC_BLACK, r.right - r.left - 12);
if (str != STR_NULL) DrawString(r.left + 2, r.right - 14, r.top + 1, str, TC_BLACK);
break;
}
@ -499,7 +499,7 @@ void Window::DrawWidgets() const
DrawFrameRect(r.left, r.top, r.right, r.bottom, wi->colour, FR_LOWERED | FR_DARKENED);
DrawFrameRect(r.right - 11, r.top + 1, r.right - 1, r.bottom - 1, wi->colour, clicked ? FR_LOWERED : FR_NONE);
DrawString(r.right - (clicked ? 8 : 9), r.top + (clicked ? 2 : 1), STR_0225, TC_BLACK);
if (str != STR_NULL) DrawStringTruncated(r.left + 2, r.top + 2, str, TC_BLACK, r.right - r.left - 12);
if (str != STR_NULL) DrawString(r.left + 2, r.right - 13, r.top + 2, str, TC_BLACK);
break;
}
}