summaryrefslogtreecommitdiff
path: root/include/mbgl/text/placement.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/mbgl/text/placement.hpp')
-rw-r--r--include/mbgl/text/placement.hpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/include/mbgl/text/placement.hpp b/include/mbgl/text/placement.hpp
new file mode 100644
index 0000000000..69a1a10b72
--- /dev/null
+++ b/include/mbgl/text/placement.hpp
@@ -0,0 +1,37 @@
+#ifndef MBGL_TEXT_PLACEMENT
+#define MBGL_TEXT_PLACEMENT
+
+#include <mbgl/text/collision.hpp>
+#include <mbgl/geometry/geometry.hpp>
+#include <mbgl/util/vec.hpp>
+#include <mbgl/text/glyph.hpp>
+#include <vector>
+
+namespace mbgl {
+
+class TextBucket;
+class StyleBucketText;
+
+class Placement {
+public:
+ Placement(int8_t zoom);
+
+ void addFeature(TextBucket &bucket, const std::vector<Coordinate> &line,
+ const StyleBucketText &info,
+ const GlyphPositions &face,
+ const Shaping &shaping);
+
+private:
+ const int8_t zoom;
+ Collision collision;
+ const float zOffset;
+ const float maxPlacementScale;
+
+public:
+ static const int tileExtent;
+ static const int glyphSize;
+ static const float minScale;
+};
+}
+
+#endif