diff options
author | frosch <frosch@openttd.org> | 2009-11-28 15:12:24 +0000 |
---|---|---|
committer | frosch <frosch@openttd.org> | 2009-11-28 15:12:24 +0000 |
commit | 49aca1edc096b70bdfa57534fd867abe717c2bb9 (patch) | |
tree | fcc43f0d33e2216a5fa64b922126f6a329bb3e14 /src/timetable_gui.cpp | |
parent | 1f0da3710f955c7fd4a747ac814d449847e73884 (diff) | |
download | openttd-49aca1edc096b70bdfa57534fd867abe717c2bb9.tar.xz |
(svn r18325) -Codechange: Use GetSpriteSize() instead of hard {SETX}. Also make the 'current order'-arrow in order and timetable GUI RTL aware.
Diffstat (limited to 'src/timetable_gui.cpp')
-rw-r--r-- | src/timetable_gui.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
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; } |