diff options
author | Ansis Brammanis <brammanis@gmail.com> | 2016-01-12 12:58:55 -0800 |
---|---|---|
committer | Ansis Brammanis <brammanis@gmail.com> | 2016-01-13 14:48:07 -0800 |
commit | bdfa1277a5c28bc68a35b7fe59572d030e0a8d9e (patch) | |
tree | dd812d26f19c48f7c8c389be121f95db7bbd88cc /src/mbgl/text/shaping.hpp | |
parent | 618902e06ca1287920154e81f3f95779fe9c96f4 (diff) | |
download | qtlocation-mapboxgl-bdfa1277a5c28bc68a35b7fe59572d030e0a8d9e.tar.gz |
[core] match icon rendering with -js
port https://github.com/mapbox/mapbox-gl-js/pull/1919/files
Diffstat (limited to 'src/mbgl/text/shaping.hpp')
-rw-r--r-- | src/mbgl/text/shaping.hpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/mbgl/text/shaping.hpp b/src/mbgl/text/shaping.hpp index acf8c470bf..decf7b946e 100644 --- a/src/mbgl/text/shaping.hpp +++ b/src/mbgl/text/shaping.hpp @@ -2,29 +2,35 @@ #define MBGL_TEXT_SHAPING #include <mbgl/text/glyph.hpp> +#include <mbgl/sprite/sprite_atlas.hpp> +#include <mbgl/sprite/sprite_image.hpp> +#include <mapbox/optional.hpp> #include <mbgl/util/vec.hpp> namespace mbgl { + struct SpriteAtlasElement; + class PositionedIcon { public: inline explicit PositionedIcon() {} - inline explicit PositionedIcon(Rect<uint16_t> _image, + inline explicit PositionedIcon(const SpriteAtlasElement& _image, float _top, float _bottom, float _left, float _right) : image(_image), top(_top), bottom(_bottom), left(_left), right(_right) {} - Rect<uint16_t> image; + + mapbox::util::optional<SpriteAtlasElement> image; float top = 0; float bottom = 0; float left = 0; float right = 0; - operator bool() const { return image.hasArea(); } + operator bool() const { return image && (*image).pos.hasArea(); } }; class SymbolLayoutProperties; - PositionedIcon shapeIcon(const Rect<uint16_t>& image, const SymbolLayoutProperties&); + PositionedIcon shapeIcon(const SpriteAtlasElement& image, const SymbolLayoutProperties&); } // namespace mbgl |