summaryrefslogtreecommitdiff
path: root/src/road_gui.cpp
diff options
context:
space:
mode:
authorpeter1138 <peter1138@openttd.org>2014-09-22 08:01:25 +0000
committerpeter1138 <peter1138@openttd.org>2014-09-22 08:01:25 +0000
commit51fe741987da095274cd3782ff62371a1126ddb8 (patch)
treeb6b85bfe28aeff152bbb373d07d615641fc65690 /src/road_gui.cpp
parent26239c3d89327d2b94210097f90ae3c6dba3dbc7 (diff)
downloadopenttd-51fe741987da095274cd3782ff62371a1126ddb8.tar.xz
(svn r26906) -Codechange: Scale depot and station picker buttons by GUI zoom level.
Diffstat (limited to 'src/road_gui.cpp')
-rw-r--r--src/road_gui.cpp21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/road_gui.cpp b/src/road_gui.cpp
index c0594e1f8..7824f1f29 100644
--- a/src/road_gui.cpp
+++ b/src/road_gui.cpp
@@ -28,6 +28,7 @@
#include "company_base.h"
#include "hotkeys.h"
#include "road_gui.h"
+#include "zoom_func.h"
#include "widgets/road_widget.h"
@@ -862,11 +863,19 @@ struct BuildRoadDepotWindow : public PickerWindowBase {
this->FinishInitNested(TRANSPORT_ROAD);
}
+ virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
+ {
+ if (!IsInsideMM(widget, WID_BROD_DEPOT_NE, WID_BROD_DEPOT_NW + 1)) return;
+
+ size->width = UnScaleByZoom(64 * 4, ZOOM_LVL_GUI) + 2;
+ size->height = UnScaleByZoom(48 * 4, ZOOM_LVL_GUI) + 2;
+ }
+
virtual void DrawWidget(const Rect &r, int widget) const
{
if (!IsInsideMM(widget, WID_BROD_DEPOT_NE, WID_BROD_DEPOT_NW + 1)) return;
- DrawRoadDepotSprite(r.left - 1, r.top, (DiagDirection)(widget - WID_BROD_DEPOT_NE + DIAGDIR_NE), _cur_roadtype);
+ DrawRoadDepotSprite(r.left + 1 + UnScaleByZoom(31 * 4, ZOOM_LVL_GUI), r.bottom - UnScaleByZoom(31 * 4, ZOOM_LVL_GUI), (DiagDirection)(widget - WID_BROD_DEPOT_NE + DIAGDIR_NE), _cur_roadtype);
}
virtual void OnClick(Point pt, int widget, int click_count)
@@ -990,12 +999,20 @@ struct BuildRoadStationWindow : public PickerWindowBase {
}
}
+ virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
+ {
+ if (!IsInsideMM(widget, WID_BROS_STATION_NE, WID_BROS_STATION_Y + 1)) return;
+
+ size->width = UnScaleByZoom(64 * 4, ZOOM_LVL_GUI) + 2;
+ size->height = UnScaleByZoom(48 * 4, ZOOM_LVL_GUI) + 2;
+ }
+
virtual void DrawWidget(const Rect &r, int widget) const
{
if (!IsInsideMM(widget, WID_BROS_STATION_NE, WID_BROS_STATION_Y + 1)) return;
StationType st = (this->window_class == WC_BUS_STATION) ? STATION_BUS : STATION_TRUCK;
- StationPickerDrawSprite(r.left + TILE_PIXELS, r.bottom - TILE_PIXELS, st, INVALID_RAILTYPE, widget < WID_BROS_STATION_X ? ROADTYPE_ROAD : _cur_roadtype, widget - WID_BROS_STATION_NE);
+ StationPickerDrawSprite(r.left + 1 + UnScaleByZoom(31 * 4, ZOOM_LVL_GUI), r.bottom - UnScaleByZoom(31 * 4, ZOOM_LVL_GUI), st, INVALID_RAILTYPE, widget < WID_BROS_STATION_X ? ROADTYPE_ROAD : _cur_roadtype, widget - WID_BROS_STATION_NE);
}
virtual void OnClick(Point pt, int widget, int click_count)