diff --git a/data/styles/default/dark/symbols/shield-highway_hexagon_blue-scaled.svg b/data/styles/default/dark/symbols/shield-highway_hexagon_blue-scaled.svg
new file mode 100644
index 000000000..027076e9d
--- /dev/null
+++ b/data/styles/default/dark/symbols/shield-highway_hexagon_blue-scaled.svg
@@ -0,0 +1,84 @@
+
+
+
+
diff --git a/data/styles/default/dark/symbols/shield-highway_hexagon_blue.svg b/data/styles/default/dark/symbols/shield-highway_hexagon_blue.svg
new file mode 100644
index 000000000..e218f1e31
--- /dev/null
+++ b/data/styles/default/dark/symbols/shield-highway_hexagon_blue.svg
@@ -0,0 +1,82 @@
+
+
+
+
diff --git a/data/styles/default/dark/symbols/shield-highway_hexagon_green-scaled.svg b/data/styles/default/dark/symbols/shield-highway_hexagon_green-scaled.svg
new file mode 100644
index 000000000..7fb3ea282
--- /dev/null
+++ b/data/styles/default/dark/symbols/shield-highway_hexagon_green-scaled.svg
@@ -0,0 +1,84 @@
+
+
+
+
diff --git a/data/styles/default/dark/symbols/shield-highway_hexagon_green.svg b/data/styles/default/dark/symbols/shield-highway_hexagon_green.svg
new file mode 100644
index 000000000..abea167f8
--- /dev/null
+++ b/data/styles/default/dark/symbols/shield-highway_hexagon_green.svg
@@ -0,0 +1,82 @@
+
+
+
+
diff --git a/data/styles/default/dark/symbols/shield-highway_hexagon_red-scaled.svg b/data/styles/default/dark/symbols/shield-highway_hexagon_red-scaled.svg
new file mode 100644
index 000000000..6ec1fb4b4
--- /dev/null
+++ b/data/styles/default/dark/symbols/shield-highway_hexagon_red-scaled.svg
@@ -0,0 +1,84 @@
+
+
+
+
diff --git a/data/styles/default/dark/symbols/shield-highway_hexagon_red.svg b/data/styles/default/dark/symbols/shield-highway_hexagon_red.svg
new file mode 100644
index 000000000..9e4880b2d
--- /dev/null
+++ b/data/styles/default/dark/symbols/shield-highway_hexagon_red.svg
@@ -0,0 +1,82 @@
+
+
+
+
diff --git a/data/styles/default/dark/symbols/shield-highway_hexagon_turkey-scaled.svg b/data/styles/default/dark/symbols/shield-highway_hexagon_turkey-scaled.svg
new file mode 100644
index 000000000..286b15efc
--- /dev/null
+++ b/data/styles/default/dark/symbols/shield-highway_hexagon_turkey-scaled.svg
@@ -0,0 +1,84 @@
+
+
+
+
diff --git a/data/styles/default/dark/symbols/shield-highway_hexagon_turkey.svg b/data/styles/default/dark/symbols/shield-highway_hexagon_turkey.svg
new file mode 100644
index 000000000..a1ee0ca4c
--- /dev/null
+++ b/data/styles/default/dark/symbols/shield-highway_hexagon_turkey.svg
@@ -0,0 +1,82 @@
+
+
+
+
diff --git a/data/styles/default/light/symbols/shield-highway_hexagon_blue-scaled.svg b/data/styles/default/light/symbols/shield-highway_hexagon_blue-scaled.svg
new file mode 100644
index 000000000..8ac20bdc1
--- /dev/null
+++ b/data/styles/default/light/symbols/shield-highway_hexagon_blue-scaled.svg
@@ -0,0 +1,84 @@
+
+
+
+
diff --git a/data/styles/default/light/symbols/shield-highway_hexagon_blue.svg b/data/styles/default/light/symbols/shield-highway_hexagon_blue.svg
new file mode 100644
index 000000000..ce974bd45
--- /dev/null
+++ b/data/styles/default/light/symbols/shield-highway_hexagon_blue.svg
@@ -0,0 +1,82 @@
+
+
+
+
diff --git a/data/styles/default/light/symbols/shield-highway_hexagon_green-scaled.svg b/data/styles/default/light/symbols/shield-highway_hexagon_green-scaled.svg
new file mode 100644
index 000000000..4b8b56b7e
--- /dev/null
+++ b/data/styles/default/light/symbols/shield-highway_hexagon_green-scaled.svg
@@ -0,0 +1,84 @@
+
+
+
+
diff --git a/data/styles/default/light/symbols/shield-highway_hexagon_green.svg b/data/styles/default/light/symbols/shield-highway_hexagon_green.svg
new file mode 100644
index 000000000..599e40dca
--- /dev/null
+++ b/data/styles/default/light/symbols/shield-highway_hexagon_green.svg
@@ -0,0 +1,82 @@
+
+
+
+
diff --git a/data/styles/default/light/symbols/shield-highway_hexagon_red-scaled.svg b/data/styles/default/light/symbols/shield-highway_hexagon_red-scaled.svg
new file mode 100644
index 000000000..9d9ed3043
--- /dev/null
+++ b/data/styles/default/light/symbols/shield-highway_hexagon_red-scaled.svg
@@ -0,0 +1,84 @@
+
+
+
+
diff --git a/data/styles/default/light/symbols/shield-highway_hexagon_red.svg b/data/styles/default/light/symbols/shield-highway_hexagon_red.svg
new file mode 100644
index 000000000..d759a99b9
--- /dev/null
+++ b/data/styles/default/light/symbols/shield-highway_hexagon_red.svg
@@ -0,0 +1,82 @@
+
+
+
+
diff --git a/data/styles/default/light/symbols/shield-highway_hexagon_turkey-scaled.svg b/data/styles/default/light/symbols/shield-highway_hexagon_turkey-scaled.svg
new file mode 100644
index 000000000..5b350efb6
--- /dev/null
+++ b/data/styles/default/light/symbols/shield-highway_hexagon_turkey-scaled.svg
@@ -0,0 +1,84 @@
+
+
+
+
diff --git a/data/styles/default/light/symbols/shield-highway_hexagon_turkey.svg b/data/styles/default/light/symbols/shield-highway_hexagon_turkey.svg
new file mode 100644
index 000000000..58f3c6e8c
--- /dev/null
+++ b/data/styles/default/light/symbols/shield-highway_hexagon_turkey.svg
@@ -0,0 +1,82 @@
+
+
+
+
diff --git a/libs/drape_frontend/apply_feature_functors.cpp b/libs/drape_frontend/apply_feature_functors.cpp
index e2844af46..04462da7e 100644
--- a/libs/drape_frontend/apply_feature_functors.cpp
+++ b/libs/drape_frontend/apply_feature_functors.cpp
@@ -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},
diff --git a/libs/indexer/road_shields_parser.cpp b/libs/indexer/road_shields_parser.cpp
index 2ce29e6dd..af8cfb325 100644
--- a/libs/indexer/road_shields_parser.cpp
+++ b/libs/indexer/road_shields_parser.cpp
@@ -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";
diff --git a/libs/indexer/road_shields_parser.hpp b/libs/indexer/road_shields_parser.hpp
index 65653d31d..30c5eff85 100644
--- a/libs/indexer/road_shields_parser.hpp
+++ b/libs/indexer/road_shields_parser.hpp
@@ -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,