summaryrefslogtreecommitdiff
path: root/src/mbgl/text/shaping.hpp
diff options
context:
space:
mode:
authorAnsis Brammanis <brammanis@gmail.com>2016-01-12 12:58:55 -0800
committerAnsis Brammanis <brammanis@gmail.com>2016-01-13 14:48:07 -0800
commitbdfa1277a5c28bc68a35b7fe59572d030e0a8d9e (patch)
treedd812d26f19c48f7c8c389be121f95db7bbd88cc /src/mbgl/text/shaping.hpp
parent618902e06ca1287920154e81f3f95779fe9c96f4 (diff)
downloadqtlocation-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.hpp14
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