summaryrefslogtreecommitdiff
path: root/src/mbgl/text/shaping.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/text/shaping.hpp')
-rw-r--r--src/mbgl/text/shaping.hpp26
1 files changed, 24 insertions, 2 deletions
diff --git a/src/mbgl/text/shaping.hpp b/src/mbgl/text/shaping.hpp
index 0c238d36b0..5343d4c3b2 100644
--- a/src/mbgl/text/shaping.hpp
+++ b/src/mbgl/text/shaping.hpp
@@ -26,16 +26,37 @@ style::TextJustifyType getAnchorJustification(style::SymbolAnchorType anchor);
class SymbolFeature;
class BiDi;
+class Padding {
+public:
+ float left = 0;
+ float top = 0;
+ float right = 0;
+ float bottom = 0;
+
+ explicit operator bool() const { return left != 0 || top != 0 || right != 0 || bottom != 0; }
+
+ bool operator==(const Padding& rhs) const {
+ return left == rhs.left && top == rhs.top && right == rhs.right && bottom == rhs.bottom;
+ }
+};
+
class PositionedIcon {
private:
- PositionedIcon(ImagePosition image_, float top_, float bottom_, float left_, float right_)
- : _image(image_), _top(top_), _bottom(bottom_), _left(left_), _right(right_) {}
+ PositionedIcon(
+ ImagePosition image_, float top_, float bottom_, float left_, float right_, const Padding& collisionPadding_)
+ : _image(image_),
+ _top(top_),
+ _bottom(bottom_),
+ _left(left_),
+ _right(right_),
+ _collisionPadding(collisionPadding_) {}
ImagePosition _image;
float _top;
float _bottom;
float _left;
float _right;
+ Padding _collisionPadding;
public:
static PositionedIcon shapeIcon(const ImagePosition&,
@@ -55,6 +76,7 @@ public:
float bottom() const { return _bottom; }
float left() const { return _left; }
float right() const { return _right; }
+ const Padding& collisionPadding() const { return _collisionPadding; }
};
const Shaping getShaping(const TaggedString& string,