diff options
Diffstat (limited to 'src/mbgl/text/shaping.cpp')
-rw-r--r-- | src/mbgl/text/shaping.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/mbgl/text/shaping.cpp b/src/mbgl/text/shaping.cpp index 033cbdf4e5..725a93555b 100644 --- a/src/mbgl/text/shaping.cpp +++ b/src/mbgl/text/shaping.cpp @@ -79,7 +79,17 @@ PositionedIcon PositionedIcon::shapeIcon(const ImagePosition& image, float top = dy - image.displaySize()[1] * anchorAlign.verticalAlign; float bottom = top + image.displaySize()[1]; - return PositionedIcon{image, top, bottom, left, right}; + Padding collisionPadding; + if (image.content) { + auto& content = *image.content; + const auto pixelRatio = image.pixelRatio; + collisionPadding.left = content.left / pixelRatio; + collisionPadding.top = content.top / pixelRatio; + collisionPadding.right = image.displaySize()[0] - content.right / pixelRatio; + collisionPadding.bottom = image.displaySize()[1] - content.bottom / pixelRatio; + } + + return PositionedIcon{image, top, bottom, left, right, collisionPadding}; } void PositionedIcon::fitIconToText(const Shaping& shapedText, |