diff --git a/drape/overlay_handle.cpp b/drape/overlay_handle.cpp index 4c70c1f9b0..78ffb8f391 100644 --- a/drape/overlay_handle.cpp +++ b/drape/overlay_handle.cpp @@ -283,6 +283,16 @@ uint64_t CalculateOverlayPriority(int minZoomLevel, uint8_t rank, float depth) } uint64_t CalculateSpecialModePriority(uint16_t specialPriority) +{ + // [5 bytes - 0xFFFFFFFFFF][1 byte - 0x00][2 bytes - special priority] + static uint64_t constexpr kMask = ~static_cast(0xFFFFFF); + uint64_t priority = dp::kPriorityMaskAll; + priority &= kMask; + priority |= specialPriority; + return priority; +} + +uint64_t CalculateSpecialModeUserMarkPriority(uint16_t specialPriority) { // [6 bytes - 0xFFFFFFFFFFFF][2 bytes - special priority] static uint64_t constexpr kMask = ~static_cast(0xFFFF); diff --git a/drape/overlay_handle.hpp b/drape/overlay_handle.hpp index 66462f2724..c050988eb1 100644 --- a/drape/overlay_handle.hpp +++ b/drape/overlay_handle.hpp @@ -233,5 +233,6 @@ private: uint64_t CalculateOverlayPriority(int minZoomLevel, uint8_t rank, float depth); uint64_t CalculateSpecialModePriority(uint16_t specialPriority); +uint64_t CalculateSpecialModeUserMarkPriority(uint16_t specialPriority); uint64_t CalculateUserMarkPriority(int minZoomLevel, uint16_t specialPriority); } // namespace dp diff --git a/drape_frontend/colored_symbol_shape.cpp b/drape_frontend/colored_symbol_shape.cpp index d45913bc6b..e612482dc3 100644 --- a/drape_frontend/colored_symbol_shape.cpp +++ b/drape_frontend/colored_symbol_shape.cpp @@ -313,11 +313,11 @@ void ColoredSymbolShape::Draw(ref_ptr context, ref_ptr