mirror of
https://codeberg.org/comaps/comaps
synced 2026-01-09 13:54:37 +00:00
[styles] Adding highway hexagon road shields
Signed-off-by: vikiawv <vikiawv@noreply.codeberg.org>
This commit is contained in:
committed by
Yannik Bloscheck
parent
7312560f48
commit
7132ff2ed8
@@ -196,14 +196,22 @@ m2::PointF GetOffset(int offsetX, int offsetY)
|
||||
|
||||
bool IsSymbolRoadShield(ftypes::RoadShield const & shield)
|
||||
{
|
||||
return shield.m_type == ftypes::RoadShieldType::US_Interstate || shield.m_type == ftypes::RoadShieldType::US_Highway || shield.m_type == ftypes::RoadShieldType::Italy_Autostrada;
|
||||
return shield.m_type == ftypes::RoadShieldType::Highway_Hexagon_Green || shield.m_type == ftypes::RoadShieldType::Highway_Hexagon_Blue || shield.m_type == ftypes::RoadShieldType::Highway_Hexagon_Red || shield.m_type == ftypes::RoadShieldType::Highway_Hexagon_Turkey || shield.m_type == ftypes::RoadShieldType::US_Interstate || shield.m_type == ftypes::RoadShieldType::US_Highway || shield.m_type == ftypes::RoadShieldType::Italy_Autostrada;
|
||||
}
|
||||
|
||||
std::string GetRoadShieldSymbolName(ftypes::RoadShield const & shield, double fontScale)
|
||||
{
|
||||
ASSERT(IsSymbolRoadShield(shield), ());
|
||||
std::string result = "";
|
||||
if (shield.m_type == ftypes::RoadShieldType::US_Interstate)
|
||||
if (shield.m_type == ftypes::RoadShieldType::Highway_Hexagon_Green)
|
||||
result = "shield-highway_hexagon_green";
|
||||
else if (shield.m_type == ftypes::RoadShieldType::Highway_Hexagon_Blue)
|
||||
result = "shield-highway_hexagon_blue";
|
||||
else if (shield.m_type == ftypes::RoadShieldType::Highway_Hexagon_Red)
|
||||
result = "shield-highway_hexagon_red";
|
||||
else if (shield.m_type == ftypes::RoadShieldType::Highway_Hexagon_Turkey)
|
||||
result = "shield-highway_hexagon_turkey";
|
||||
else if (shield.m_type == ftypes::RoadShieldType::US_Interstate)
|
||||
result = shield.m_name.size() <= 2 ? "shield-us-i-thin" : "shield-us-i-wide";
|
||||
else if (shield.m_type == ftypes::RoadShieldType::US_Highway)
|
||||
result = shield.m_name.size() <= 2 ? "shield-us-hw-thin" : "shield-us-hw-wide";
|
||||
@@ -306,6 +314,10 @@ dp::Color GetRoadShieldTextColor(dp::Color const & baseColor, ftypes::RoadShield
|
||||
{RoadShieldType::Generic_Pill_Blue_Bordered, kRoadShieldWhiteTextColor},
|
||||
{RoadShieldType::Generic_Pill_Red_Bordered, kRoadShieldWhiteTextColor},
|
||||
{RoadShieldType::Generic_Pill_Orange_Bordered, kRoadShieldBlackTextColor},
|
||||
{RoadShieldType::Highway_Hexagon_Green, kRoadShieldWhiteTextColor},
|
||||
{RoadShieldType::Highway_Hexagon_Blue, kRoadShieldWhiteTextColor},
|
||||
{RoadShieldType::Highway_Hexagon_Red, kRoadShieldWhiteTextColor},
|
||||
{RoadShieldType::Highway_Hexagon_Turkey, kRoadShieldBlackTextColor},
|
||||
{RoadShieldType::US_Interstate, kRoadShieldWhiteTextColor},
|
||||
{RoadShieldType::US_Highway, kRoadShieldBlackTextColor},
|
||||
{RoadShieldType::UK_Highway, kRoadShieldUKYellowTextColor},
|
||||
|
||||
@@ -454,7 +454,7 @@ class GreeceRoadShieldParser : public SimpleRoadShieldParser
|
||||
public:
|
||||
explicit GreeceRoadShieldParser(std::string const & baseRoadNumber)
|
||||
: SimpleRoadShieldParser(baseRoadNumber,
|
||||
{{"Α", RoadShieldType::Generic_Green}, {"Ε", RoadShieldType::Generic_Blue}})
|
||||
{{"Α", RoadShieldType::Highway_Hexagon_Green}, {"Ε", RoadShieldType::Generic_Blue}})
|
||||
{}
|
||||
};
|
||||
|
||||
@@ -480,6 +480,15 @@ public:
|
||||
{}
|
||||
};
|
||||
|
||||
class TurkeyRoadShieldParser : public SimpleRoadShieldParser
|
||||
{
|
||||
public:
|
||||
explicit TurkeyRoadShieldParser(std::string const & baseRoadNumber)
|
||||
: SimpleRoadShieldParser(baseRoadNumber, {{"O", RoadShieldType::Highway_Hexagon_Turkey},
|
||||
{"D", RoadShieldType::Generic_Blue}})
|
||||
{}
|
||||
};
|
||||
|
||||
class LativaRoadShieldParser : public SimpleRoadShieldParser
|
||||
{
|
||||
public:
|
||||
@@ -524,7 +533,7 @@ class SerbiaRoadShieldParser : public SimpleRoadShieldParser
|
||||
{
|
||||
public:
|
||||
explicit SerbiaRoadShieldParser(std::string const & baseRoadNumber)
|
||||
: SimpleRoadShieldParser(baseRoadNumber, {{"A", RoadShieldType::Generic_Green}})
|
||||
: SimpleRoadShieldParser(baseRoadNumber, {{"A", RoadShieldType::Highway_Hexagon_Green}})
|
||||
{}
|
||||
};
|
||||
|
||||
@@ -540,7 +549,7 @@ class SloveniaRoadShieldParser : public SimpleRoadShieldParser
|
||||
{
|
||||
public:
|
||||
explicit SloveniaRoadShieldParser(std::string const & baseRoadNumber)
|
||||
: SimpleRoadShieldParser(baseRoadNumber, {{"A", RoadShieldType::Generic_Green}})
|
||||
: SimpleRoadShieldParser(baseRoadNumber, {{"A", RoadShieldType::Highway_Hexagon_Green}})
|
||||
{}
|
||||
};
|
||||
|
||||
@@ -548,7 +557,7 @@ class SwitzerlandRoadShieldParser : public SimpleRoadShieldParser
|
||||
{
|
||||
public:
|
||||
explicit SwitzerlandRoadShieldParser(std::string const & baseRoadNumber)
|
||||
: SimpleRoadShieldParser(baseRoadNumber, {{"A", RoadShieldType::Generic_Red}})
|
||||
: SimpleRoadShieldParser(baseRoadNumber, {{"A", RoadShieldType::Highway_Hexagon_Red}})
|
||||
{}
|
||||
};
|
||||
|
||||
@@ -556,7 +565,7 @@ class LiechtensteinRoadShieldParser : public SimpleRoadShieldParser
|
||||
{
|
||||
public:
|
||||
explicit LiechtensteinRoadShieldParser(std::string const & baseRoadNumber)
|
||||
: SimpleRoadShieldParser(baseRoadNumber, {{"A", RoadShieldType::Generic_Red}})
|
||||
: SimpleRoadShieldParser(baseRoadNumber, {{"A", RoadShieldType::Highway_Hexagon_Red}})
|
||||
{}
|
||||
};
|
||||
|
||||
@@ -600,7 +609,7 @@ class GermanyRoadShieldParser : public SimpleRoadShieldParser
|
||||
{
|
||||
public:
|
||||
explicit GermanyRoadShieldParser(std::string const & baseRoadNumber)
|
||||
: SimpleRoadShieldParser(baseRoadNumber, {{"A", RoadShieldType::Generic_Blue},
|
||||
: SimpleRoadShieldParser(baseRoadNumber, {{"A", RoadShieldType::Highway_Hexagon_Blue},
|
||||
{"B", RoadShieldType::Generic_Orange_Bordered},
|
||||
{"L", RoadShieldType::Generic_White_Bordered},
|
||||
{"K", RoadShieldType::Generic_White_Bordered}})
|
||||
@@ -782,6 +791,8 @@ RoadShieldsSetT GetRoadShields(std::string const & mwmName, std::string const &
|
||||
return IrelandRoadShieldParser(roadNumber).GetRoadShields();
|
||||
if (mwmName == "Italy")
|
||||
return ItalyRoadShieldParser(roadNumber).GetRoadShields();
|
||||
if (mwmName == "Turkey")
|
||||
return TurkeyRoadShieldParser(roadNumber).GetRoadShields();
|
||||
if (mwmName == "Lativa")
|
||||
return LativaRoadShieldParser(roadNumber).GetRoadShields();
|
||||
if (mwmName == "Moldova")
|
||||
@@ -874,6 +885,10 @@ std::string DebugPrint(RoadShieldType shieldType)
|
||||
case RoadShieldType::Generic_Pill_Blue_Bordered: return "blue pill bordered";
|
||||
case RoadShieldType::Generic_Pill_Red_Bordered: return "red pill bordered";
|
||||
case RoadShieldType::Generic_Pill_Orange_Bordered: return "orange pill bordered";
|
||||
case RoadShieldType::Highway_Hexagon_Green: return "highway hexagon green";
|
||||
case RoadShieldType::Highway_Hexagon_Blue: return "highway hexagon blue";
|
||||
case RoadShieldType::Highway_Hexagon_Red: return "highway hexagon red";
|
||||
case RoadShieldType::Highway_Hexagon_Turkey: return "highway hexagon turkey";
|
||||
case RoadShieldType::US_Interstate: return "US interstate";
|
||||
case RoadShieldType::US_Highway: return "US highway";
|
||||
case RoadShieldType::UK_Highway: return "UK highway";
|
||||
|
||||
@@ -33,6 +33,10 @@ enum class RoadShieldType
|
||||
Generic_Pill_Blue_Bordered,
|
||||
Generic_Pill_Red_Bordered,
|
||||
Generic_Pill_Orange_Bordered,
|
||||
Highway_Hexagon_Green,
|
||||
Highway_Hexagon_Blue,
|
||||
Highway_Hexagon_Red,
|
||||
Highway_Hexagon_Turkey,
|
||||
US_Interstate,
|
||||
US_Highway,
|
||||
UK_Highway,
|
||||
|
||||
Reference in New Issue
Block a user