mirror of
https://codeberg.org/comaps/comaps
synced 2026-01-21 10:43:51 +00:00
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com> m Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
108 lines
3.5 KiB
C++
108 lines
3.5 KiB
C++
#include "indexer/map_style.hpp"
|
|
|
|
#include "base/assert.hpp"
|
|
|
|
MapStyle const kDefaultMapStyle = MapStyleDefaultLight;
|
|
|
|
MapStyle MapStyleFromSettings(std::string const & str)
|
|
{
|
|
// MapStyleMerged is service style. It's unavailable for users.
|
|
if (str == "MapStyleDefaultLight")
|
|
return MapStyleDefaultLight;
|
|
else if (str == "MapStyleDefaultDark")
|
|
return MapStyleDefaultDark;
|
|
else if (str == "MapStyleVehicleLight")
|
|
return MapStyleVehicleLight;
|
|
else if (str == "MapStyleVehicleDark")
|
|
return MapStyleVehicleDark;
|
|
else if (str == "MapStyleHikingLight")
|
|
return MapStyleHikingLight;
|
|
else if (str == "MapStyleHikingDark")
|
|
return MapStyleHikingDark;
|
|
else if (str == "MapStyleCyclingLight")
|
|
return MapStyleCyclingLight;
|
|
else if (str == "MapStyleCyclingDark")
|
|
return MapStyleCyclingDark;
|
|
else if (str == "MapStyleDrivingLight")
|
|
return MapStyleDrivingLight;
|
|
else if (str == "MapStyleDrivingDark")
|
|
return MapStyleDrivingDark;
|
|
else if (str == "MapStyleDrivingLight")
|
|
return MapStylePublicTransportLight;
|
|
else if (str == "MapStylePublicTransportDark")
|
|
return MapStylePublicTransportDark;
|
|
|
|
return kDefaultMapStyle;
|
|
}
|
|
|
|
std::string MapStyleToString(MapStyle mapStyle)
|
|
{
|
|
switch (mapStyle)
|
|
{
|
|
case MapStyleDefaultDark: return "MapStyleDefaultDark";
|
|
case MapStyleDefaultLight: return "MapStyleDefaultLight";
|
|
case MapStyleMerged: return "MapStyleMerged";
|
|
case MapStyleVehicleDark: return "MapStyleVehicleDark";
|
|
case MapStyleVehicleLight: return "MapStyleVehicleLight";
|
|
case MapStyleHikingDark: return "MapStyleHikingDark";
|
|
case MapStyleHikingLight: return "MapStyleHikingLight";
|
|
case MapStyleCyclingDark: return "MapStyleCyclingDark";
|
|
case MapStyleCyclingLight: return "MapStyleCyclingLight";
|
|
case MapStyleDrivingDark: return "MapStyleDrivingDark";
|
|
case MapStyleDrivingLight: return "MapStyleDrivingLight";
|
|
case MapStylePublicTransportDark: return "MapStylePublicTransportDark";
|
|
case MapStylePublicTransportLight: return "MapStylePublicTransportLight";
|
|
|
|
case MapStyleCount: break;
|
|
}
|
|
ASSERT(false, ());
|
|
return std::string();
|
|
}
|
|
|
|
std::string DebugPrint(MapStyle mapStyle)
|
|
{
|
|
return MapStyleToString(mapStyle);
|
|
}
|
|
|
|
bool MapStyleIsDark(MapStyle mapStyle)
|
|
{
|
|
for (auto const darkStyle : {MapStyleDefaultDark, MapStyleVehicleDark, MapStyleHikingDark, MapStyleCyclingDark, MapStyleDrivingDark, MapStylePublicTransportDark})
|
|
if (mapStyle == darkStyle)
|
|
return true;
|
|
return false;
|
|
}
|
|
|
|
MapStyle GetDarkMapStyleVariant(MapStyle mapStyle)
|
|
{
|
|
if (MapStyleIsDark(mapStyle) || mapStyle == MapStyleMerged)
|
|
return mapStyle;
|
|
|
|
switch (mapStyle)
|
|
{
|
|
case MapStyleDefaultLight: return MapStyleDefaultDark;
|
|
case MapStyleVehicleLight: return MapStyleVehicleDark;
|
|
case MapStyleHikingLight: return MapStyleHikingDark;
|
|
case MapStyleCyclingLight: return MapStyleCyclingDark;
|
|
case MapStyleDrivingLight: return MapStyleDrivingDark;
|
|
case MapStylePublicTransportLight: return MapStylePublicTransportDark;
|
|
default: CHECK(false, ()); return MapStyleDefaultDark;
|
|
}
|
|
}
|
|
|
|
MapStyle GetLightMapStyleVariant(MapStyle mapStyle)
|
|
{
|
|
if (!MapStyleIsDark(mapStyle))
|
|
return mapStyle;
|
|
|
|
switch (mapStyle)
|
|
{
|
|
case MapStyleDefaultDark: return MapStyleDefaultLight;
|
|
case MapStyleVehicleDark: return MapStyleVehicleLight;
|
|
case MapStyleHikingDark: return MapStyleHikingLight;
|
|
case MapStyleCyclingDark: return MapStyleCyclingLight;
|
|
case MapStyleDrivingDark: return MapStyleDrivingLight;
|
|
case MapStylePublicTransportDark: return MapStylePublicTransportLight;
|
|
default: CHECK(false, ()); return MapStyleDefaultLight;
|
|
}
|
|
}
|