|
|
|
@ -1241,29 +1241,33 @@ public:
|
|
|
|
|
DrawPixelInfo tmp_dpi;
|
|
|
|
|
|
|
|
|
|
switch (GB(widget, 0, 16)) {
|
|
|
|
|
case WID_BRAS_PLATFORM_DIR_X:
|
|
|
|
|
case WID_BRAS_PLATFORM_DIR_X: {
|
|
|
|
|
/* Set up a clipping area for the '/' station preview */
|
|
|
|
|
if (FillDrawPixelInfo(&tmp_dpi, r)) {
|
|
|
|
|
Rect ir = r.Shrink(WidgetDimensions::scaled.bevel);
|
|
|
|
|
if (FillDrawPixelInfo(&tmp_dpi, ir)) {
|
|
|
|
|
AutoRestoreBackup dpi_backup(_cur_dpi, &tmp_dpi);
|
|
|
|
|
int x = (r.Width() - ScaleSpriteTrad(64)) / 2 + ScaleSpriteTrad(31);
|
|
|
|
|
int y = (r.Height() + ScaleSpriteTrad(58)) / 2 - ScaleSpriteTrad(31);
|
|
|
|
|
int x = (ir.Width() - ScaleSpriteTrad(64)) / 2 + ScaleSpriteTrad(31);
|
|
|
|
|
int y = (ir.Height() + ScaleSpriteTrad(58)) / 2 - ScaleSpriteTrad(31);
|
|
|
|
|
if (!DrawStationTile(x, y, _cur_railtype, AXIS_X, _railstation.station_class, _railstation.station_type)) {
|
|
|
|
|
StationPickerDrawSprite(x, y, STATION_RAIL, _cur_railtype, INVALID_ROADTYPE, 2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
case WID_BRAS_PLATFORM_DIR_Y:
|
|
|
|
|
case WID_BRAS_PLATFORM_DIR_Y: {
|
|
|
|
|
/* Set up a clipping area for the '\' station preview */
|
|
|
|
|
if (FillDrawPixelInfo(&tmp_dpi, r)) {
|
|
|
|
|
Rect ir = r.Shrink(WidgetDimensions::scaled.bevel);
|
|
|
|
|
if (FillDrawPixelInfo(&tmp_dpi, ir)) {
|
|
|
|
|
AutoRestoreBackup dpi_backup(_cur_dpi, &tmp_dpi);
|
|
|
|
|
int x = (r.Width() - ScaleSpriteTrad(64)) / 2 + ScaleSpriteTrad(31);
|
|
|
|
|
int y = (r.Height() + ScaleSpriteTrad(58)) / 2 - ScaleSpriteTrad(31);
|
|
|
|
|
int x = (ir.Width() - ScaleSpriteTrad(64)) / 2 + ScaleSpriteTrad(31);
|
|
|
|
|
int y = (ir.Height() + ScaleSpriteTrad(58)) / 2 - ScaleSpriteTrad(31);
|
|
|
|
|
if (!DrawStationTile(x, y, _cur_railtype, AXIS_Y, _railstation.station_class, _railstation.station_type)) {
|
|
|
|
|
StationPickerDrawSprite(x, y, STATION_RAIL, _cur_railtype, INVALID_ROADTYPE, 3);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
case WID_BRAS_NEWST_LIST: {
|
|
|
|
|
Rect ir = r.Shrink(WidgetDimensions::scaled.matrix);
|
|
|
|
@ -1290,10 +1294,11 @@ public:
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Set up a clipping area for the station preview. */
|
|
|
|
|
if (FillDrawPixelInfo(&tmp_dpi, r)) {
|
|
|
|
|
Rect ir = r.Shrink(WidgetDimensions::scaled.bevel);
|
|
|
|
|
if (FillDrawPixelInfo(&tmp_dpi, ir)) {
|
|
|
|
|
AutoRestoreBackup dpi_backup(_cur_dpi, &tmp_dpi);
|
|
|
|
|
int x = (r.Width() - ScaleSpriteTrad(64)) / 2 + ScaleSpriteTrad(31);
|
|
|
|
|
int y = (r.Height() + ScaleSpriteTrad(58)) / 2 - ScaleSpriteTrad(31);
|
|
|
|
|
int x = (ir.Width() - ScaleSpriteTrad(64)) / 2 + ScaleSpriteTrad(31);
|
|
|
|
|
int y = (ir.Height() + ScaleSpriteTrad(58)) / 2 - ScaleSpriteTrad(31);
|
|
|
|
|
if (!DrawStationTile(x, y, _cur_railtype, _railstation.orientation, _railstation.station_class, type)) {
|
|
|
|
|
StationPickerDrawSprite(x, y, STATION_RAIL, _cur_railtype, INVALID_ROADTYPE, 2 + _railstation.orientation);
|
|
|
|
|
}
|
|
|
|
@ -1905,10 +1910,11 @@ struct BuildRailDepotWindow : public PickerWindowBase {
|
|
|
|
|
if (!IsInsideMM(widget, WID_BRAD_DEPOT_NE, WID_BRAD_DEPOT_NW + 1)) return;
|
|
|
|
|
|
|
|
|
|
DrawPixelInfo tmp_dpi;
|
|
|
|
|
if (FillDrawPixelInfo(&tmp_dpi, r)) {
|
|
|
|
|
Rect ir = r.Shrink(WidgetDimensions::scaled.bevel);
|
|
|
|
|
if (FillDrawPixelInfo(&tmp_dpi, ir)) {
|
|
|
|
|
AutoRestoreBackup dpi_backup(_cur_dpi, &tmp_dpi);
|
|
|
|
|
int x = (r.Width() - ScaleSpriteTrad(64)) / 2 + ScaleSpriteTrad(31);
|
|
|
|
|
int y = (r.Height() + ScaleSpriteTrad(48)) / 2 - ScaleSpriteTrad(31);
|
|
|
|
|
int x = (ir.Width() - ScaleSpriteTrad(64)) / 2 + ScaleSpriteTrad(31);
|
|
|
|
|
int y = (ir.Height() + ScaleSpriteTrad(48)) / 2 - ScaleSpriteTrad(31);
|
|
|
|
|
DrawTrainDepotSprite(x, y, widget - WID_BRAD_DEPOT_NE + DIAGDIR_NE, _cur_railtype);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -2095,10 +2101,11 @@ struct BuildRailWaypointWindow : PickerWindowBase {
|
|
|
|
|
const StationSpec *statspec = this->waypoints->GetSpec(type);
|
|
|
|
|
|
|
|
|
|
DrawPixelInfo tmp_dpi;
|
|
|
|
|
if (FillDrawPixelInfo(&tmp_dpi, r)) {
|
|
|
|
|
Rect ir = r.Shrink(WidgetDimensions::scaled.bevel);
|
|
|
|
|
if (FillDrawPixelInfo(&tmp_dpi, ir)) {
|
|
|
|
|
AutoRestoreBackup dpi_backup(_cur_dpi, &tmp_dpi);
|
|
|
|
|
int x = (r.Width() - ScaleSpriteTrad(64)) / 2 + ScaleSpriteTrad(31);
|
|
|
|
|
int y = (r.Height() + ScaleSpriteTrad(58)) / 2 - ScaleSpriteTrad(31);
|
|
|
|
|
int x = (ir.Width() - ScaleSpriteTrad(64)) / 2 + ScaleSpriteTrad(31);
|
|
|
|
|
int y = (ir.Height() + ScaleSpriteTrad(58)) / 2 - ScaleSpriteTrad(31);
|
|
|
|
|
DrawWaypointSprite(x, y, type, _cur_railtype);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|