summaryrefslogtreecommitdiff
path: root/include/mbgl/text/placement.hpp
blob: 69a1a10b72528db781368c5ba35410f6e2a97467 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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