From 49aca1edc096b70bdfa57534fd867abe717c2bb9 Mon Sep 17 00:00:00 2001 From: frosch Date: Sat, 28 Nov 2009 15:12:24 +0000 Subject: (svn r18325) -Codechange: Use GetSpriteSize() instead of hard {SETX}. Also make the 'current order'-arrow in order and timetable GUI RTL aware. --- src/timetable_gui.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/timetable_gui.cpp') diff --git a/src/timetable_gui.cpp b/src/timetable_gui.cpp index 2143dadae..da4c8c519 100644 --- a/src/timetable_gui.cpp +++ b/src/timetable_gui.cpp @@ -361,13 +361,18 @@ struct TimetableWindow : Window { VehicleOrderID order_id = (i + 1) / 2; bool final_order = false; + bool rtl = _dynlang.text_dir == TD_RTL; + SetDParam(0, 99); + int index_column_width = GetStringBoundingBox(STR_ORDER_INDEX).width + GetSpriteSize(rtl ? SPR_ARROW_RIGHT : SPR_ARROW_LEFT).width + 3; + int middle = rtl ? r.right - WD_FRAMERECT_RIGHT - index_column_width : r.left + WD_FRAMERECT_LEFT + index_column_width; + const Order *order = v->GetOrder(order_id); while (order != NULL) { /* Don't draw anything if it extends past the end of the window. */ if (!this->vscroll.IsVisible(i)) break; if (i % 2 == 0) { - DrawOrderString(v, order, order_id, y, i == selected, true, r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT); + DrawOrderString(v, order, order_id, y, i == selected, true, r.left + WD_FRAMERECT_LEFT, middle, r.right - WD_FRAMERECT_RIGHT); order_id++; @@ -389,7 +394,7 @@ struct TimetableWindow : Window { string = STR_TIMETABLE_TRAVEL_FOR; } - DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_LEFT, y, string, (i == selected) ? TC_WHITE : TC_BLACK); + DrawString(rtl ? r.left + WD_FRAMERECT_LEFT : middle, rtl ? middle : r.right - WD_FRAMERECT_LEFT, y, string, (i == selected) ? TC_WHITE : TC_BLACK); if (final_order) break; } -- cgit v1.2.3-54-g00ecf