diff --git a/data/mapcss-mapping.csv b/data/mapcss-mapping.csv index b5c3ac6561..7907940c95 100644 --- a/data/mapcss-mapping.csv +++ b/data/mapcss-mapping.csv @@ -904,7 +904,7 @@ area:highway|cycleway;877; deprecated|deprecated;878;x area:highway|motorway;879; area:highway|trunk;880; -deprecated|deprecated;881;x +man_made|bridge;881; entrance;[entrance];;ref;addr:flats;882; entrance|main;[entrance=main];;ref;addr:flats;883; shop|agrarian;884; diff --git a/data/strings/types_strings.txt b/data/strings/types_strings.txt index 6f490b1173..d441902820 100644 --- a/data/strings/types_strings.txt +++ b/data/strings/types_strings.txt @@ -10886,6 +10886,10 @@ zh-Hans = 桥 zh-Hant = 橋 + [type.man_made.bridge] + comment = A bridge structure outline. + ref = type.highway.road.bridge + [type.highway.road.tunnel] comment = These translations are used for all type.highway.*.tunnel. en = Tunnel diff --git a/data/styles/clear/include/Basemap.mapcss b/data/styles/clear/include/Basemap.mapcss index 03b97560bf..2ea49f41fe 100644 --- a/data/styles/clear/include/Basemap.mapcss +++ b/data/styles/clear/include/Basemap.mapcss @@ -43,6 +43,10 @@ line[waterway=drain], line[natural=strait], {z-index: 1;} +/* man_made=bridge is always layer>=1 and other l=1 features should be drawn above it, hence a low base priority. */ +area[man_made=bridge], +{fill-position: foreground; z-index: 1;} + /* Foreground area water should be above linear water (e.g. rivers) and below hatching fills, dams, piers. @@ -615,12 +619,16 @@ area|z15-[amenity=parking] /* 8.BUILDINGS */ -/* 8.1 Pier, dam, cutline */ +/* 8.1 Pier, dam, areal bridge, cutline */ area|z12-[man_made=pier], area|z12-[man_made=breakwater], {fill-opacity: 1; fill-color: @background;} +area|z14-[man_made=bridge], +{fill-color: @bridge_background; fill-opacity: 0.8;} + + line|z14-[man_made=pier], line|z14-[man_made=breakwater], {width: 1.5;color: @background;opacity: 1;} @@ -678,12 +686,12 @@ line|z19-[man_made=cutline], area|z14[building], area|z14[waterway=dam], area|z14[landuse=garages], -{fill-color: @building;fill-opacity: 0.5;casing-width: 0;} +{fill-color: @building;fill-opacity: 0.5;} area|z15[building], area|z15[waterway=dam], area|z15[landuse=garages], -{fill-color: @building;fill-opacity: 0.6;casing-width: 0;} +{fill-color: @building;fill-opacity: 0.6;} area|z14-15[aeroway=terminal], area|z16[building], @@ -692,18 +700,11 @@ area|z16[waterway=dam], area|z16[landuse=garages], {fill-color: @building;fill-opacity: 0.8;casing-width: 1;casing-color: @building_border;} -area|z16[aeroway=terminal], -area|z17[building], -area|z17[building:part], -area|z17[waterway=dam], -area|z17[landuse=garages], -{fill-color: @building_dark;casing-width: 1;casing-color: @building_dark_border;} - -area|z17-[aeroway=terminal], -area|z18-[building], -area|z18-[building:part], -area|z18-[waterway=dam], -area|z18-[landuse=garages], +area|z16-[aeroway=terminal], +area|z17-[building], +area|z17-[building:part], +area|z17-[waterway=dam], +area|z17-[landuse=garages], {fill-color: @building_dark;casing-width: 1;casing-color: @building_dark_border;} diff --git a/data/styles/vehicle/include/Basemap.mapcss b/data/styles/vehicle/include/Basemap.mapcss index 33d2ca78ca..866a13efc1 100644 --- a/data/styles/vehicle/include/Basemap.mapcss +++ b/data/styles/vehicle/include/Basemap.mapcss @@ -40,6 +40,10 @@ line[waterway=drain], line[natural=strait], {z-index: 1;} +/* man_made=bridge is always layer>=1 and other l=1 features should be drawn above it, hence a low base priority. */ +area[man_made=bridge], +{fill-position: foreground; z-index: 1;} + /* Foreground area water should be above linear water (e.g. rivers) and below dams, piers. @@ -527,12 +531,16 @@ area|z17-[amenity=parking_space] /* 8.BUILDINGS */ -/* 8.1 Pier, dam, cutline */ +/* 8.1 Pier, dam, areal bridge, cutline */ area|z13-[man_made=pier], area|z13-[man_made=breakwater], {fill-opacity: 0.7; fill-color: @background;} +area|z16-[man_made=bridge], +{fill-color: @bridge_background; fill-opacity: 0.8;} + + line|z15-[man_made=pier], line|z15-[man_made=breakwater], {width: 2;color: @background;opacity: 0.7;} diff --git a/drape_frontend/apply_feature_functors.cpp b/drape_frontend/apply_feature_functors.cpp index 1db172551f..deaa3a2234 100644 --- a/drape_frontend/apply_feature_functors.cpp +++ b/drape_frontend/apply_feature_functors.cpp @@ -750,6 +750,7 @@ void ApplyAreaFeature::ProcessAreaRule(Stylist::TRuleWrapper const & rule) BuildingOutline outline; if (m_isBuilding) { + /// @todo Make borders work for non-building areas too. outline.m_generateOutline = areaRule->has_border() && areaRule->color() != areaRule->border().color() && areaRule->border().width() > 0.0;