summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2015-11-19 16:07:15 -0800
committerJohn Firebaugh <john.firebaugh@gmail.com>2015-11-30 12:40:09 -0800
commit12fc9490065e1ddc2fada269a045cd2725a257f5 (patch)
tree17a91e9e04bf0f8b5241911ca776a17d9ae74b88
parent48504baa9134020c57bb899f290557b4249a2d6d (diff)
downloadqtlocation-mapboxgl-12fc9490065e1ddc2fada269a045cd2725a257f5.tar.gz
[tests] Don't use icons from the style for annotations
-rw-r--r--include/mbgl/platform/default/glfw_view.hpp2
-rw-r--r--platform/default/glfw_view.cpp9
-rw-r--r--test/api/annotations.cpp30
-rw-r--r--test/fixtures/annotations/add_multiple/expected.pngbin4589 -> 2771 bytes
-rw-r--r--test/fixtures/annotations/fill_annotation/expected.pngbin1543 -> 1538 bytes
-rw-r--r--test/fixtures/annotations/line_annotation/expected.pngbin2412 -> 2088 bytes
-rw-r--r--test/fixtures/annotations/non_immediate_add/expected.pngbin1543 -> 1538 bytes
-rw-r--r--test/fixtures/annotations/point_annotation/expected.pngbin4273 -> 2594 bytes
-rw-r--r--test/fixtures/annotations/switch_style/expected.pngbin4273 -> 2594 bytes
-rw-r--r--test/fixtures/api/empty.json3
-rw-r--r--test/fixtures/sprites/default_marker.pngbin0 -> 1010 bytes
11 files changed, 24 insertions, 20 deletions
diff --git a/include/mbgl/platform/default/glfw_view.hpp b/include/mbgl/platform/default/glfw_view.hpp
index a434b71bb1..2318cb6ccd 100644
--- a/include/mbgl/platform/default/glfw_view.hpp
+++ b/include/mbgl/platform/default/glfw_view.hpp
@@ -20,6 +20,7 @@ public:
std::array<uint16_t, 2> getFramebufferSize() const override;
void initialize(mbgl::Map *map) override;
+ void notifyMapChange(mbgl::MapChange) override;
void activate() override;
void deactivate() override;
void notify() override;
@@ -61,6 +62,7 @@ private:
std::vector<std::string> spriteIDs;
private:
+ bool initializedDefaultMarker = false;
bool fullscreen = false;
const bool benchmark = false;
bool tracking = false;
diff --git a/platform/default/glfw_view.cpp b/platform/default/glfw_view.cpp
index 4e00722e21..48e9386fc7 100644
--- a/platform/default/glfw_view.cpp
+++ b/platform/default/glfw_view.cpp
@@ -117,6 +117,13 @@ void GLFWView::initialize(mbgl::Map *map_) {
View::initialize(map_);
}
+void GLFWView::notifyMapChange(mbgl::MapChange change) {
+ if (change == mbgl::MapChange::MapChangeDidFinishLoadingMap && !initializedDefaultMarker) {
+ initializedDefaultMarker = true;
+ map->setSprite("default_marker", makeSpriteImage(22, 22, 1));
+ }
+}
+
void GLFWView::onKey(GLFWwindow *window, int key, int /*scancode*/, int action, int mods) {
GLFWView *view = reinterpret_cast<GLFWView *>(glfwGetWindowUserPointer(window));
@@ -234,7 +241,7 @@ void GLFWView::addRandomPointAnnotations(int count) {
std::vector<mbgl::PointAnnotation> points;
for (int i = 0; i < count; i++) {
- points.emplace_back(makeRandomPoint(), "marker-15");
+ points.emplace_back(makeRandomPoint(), "default_marker");
}
auto newIDs = map->addPointAnnotations(points);
diff --git a/test/api/annotations.cpp b/test/api/annotations.cpp
index ae9c804730..4c06b39e43 100644
--- a/test/api/annotations.cpp
+++ b/test/api/annotations.cpp
@@ -14,6 +14,11 @@
using namespace mbgl;
+std::shared_ptr<SpriteImage> defaultMarker() {
+ PremultipliedImage image = decodeImage(util::read_file("test/fixtures/sprites/default_marker.png"));
+ return std::make_shared<SpriteImage>(image.width, image.height, 1.0, std::string(reinterpret_cast<char*>(image.data.get()), image.size()));
+}
+
PremultipliedImage render(Map& map) {
std::promise<PremultipliedImage> promise;
map.renderStill([&](std::exception_ptr, PremultipliedImage&& image) {
@@ -35,7 +40,8 @@ TEST(Annotations, PointAnnotation) {
Map map(view, fileSource, MapMode::Still);
map.setStyleJSON(util::read_file("test/fixtures/api/empty.json"), "");
- map.addPointAnnotation(PointAnnotation({ 0, -20 }, "default_marker"));
+ map.setSprite("default_marker", defaultMarker());
+ map.addPointAnnotation(PointAnnotation({ 0, 0 }, "default_marker"));
checkRendering(map, "point_annotation");
}
@@ -99,11 +105,12 @@ TEST(Annotations, AddMultiple) {
Map map(view, fileSource, MapMode::Still);
map.setStyleJSON(util::read_file("test/fixtures/api/empty.json"), "");
- map.addPointAnnotation(PointAnnotation({ 0, -20 }, "default_marker"));
+ map.setSprite("default_marker", defaultMarker());
+ map.addPointAnnotation(PointAnnotation({ 0, -10 }, "default_marker"));
render(map);
- map.addPointAnnotation(PointAnnotation({ 0, 20 }, "default_marker"));
+ map.addPointAnnotation(PointAnnotation({ 0, 10 }, "default_marker"));
checkRendering(map, "add_multiple");
}
@@ -135,6 +142,7 @@ TEST(Annotations, RemovePoint) {
Map map(view, fileSource, MapMode::Still);
map.setStyleJSON(util::read_file("test/fixtures/api/empty.json"), "");
+ map.setSprite("default_marker", defaultMarker());
uint32_t point = map.addPointAnnotation(PointAnnotation({ 0, 0 }, "default_marker"));
render(map);
@@ -185,7 +193,8 @@ TEST(Annotations, SwitchStyle) {
Map map(view, fileSource, MapMode::Still);
map.setStyleJSON(util::read_file("test/fixtures/api/empty.json"), "");
- map.addPointAnnotation(PointAnnotation({ 0, -20 }, "default_marker"));
+ map.setSprite("default_marker", defaultMarker());
+ map.addPointAnnotation(PointAnnotation({ 0, 0 }, "default_marker"));
render(map);
@@ -193,16 +202,3 @@ TEST(Annotations, SwitchStyle) {
checkRendering(map, "switch_style");
}
-
-TEST(Annotations, CustomIcon) {
- auto display = std::make_shared<mbgl::HeadlessDisplay>();
- HeadlessView view(display, 1);
- DefaultFileSource fileSource(nullptr);
-
- Map map(view, fileSource, MapMode::Still);
- map.setStyleJSON(util::read_file("test/fixtures/api/empty.json"), "");
- map.setSprite("cafe", std::make_shared<SpriteImage>(12, 12, 1, std::string(12 * 12 * 4, '\xFF')));
- map.addPointAnnotation(PointAnnotation({ 0, 0 }, "cafe"));
-
- checkRendering(map, "custom_icon");
-}
diff --git a/test/fixtures/annotations/add_multiple/expected.png b/test/fixtures/annotations/add_multiple/expected.png
index deedf84330..f77ddb0792 100644
--- a/test/fixtures/annotations/add_multiple/expected.png
+++ b/test/fixtures/annotations/add_multiple/expected.png
Binary files differ
diff --git a/test/fixtures/annotations/fill_annotation/expected.png b/test/fixtures/annotations/fill_annotation/expected.png
index 30f6f1eb59..09f48081a8 100644
--- a/test/fixtures/annotations/fill_annotation/expected.png
+++ b/test/fixtures/annotations/fill_annotation/expected.png
Binary files differ
diff --git a/test/fixtures/annotations/line_annotation/expected.png b/test/fixtures/annotations/line_annotation/expected.png
index 067027f1d1..b86570f990 100644
--- a/test/fixtures/annotations/line_annotation/expected.png
+++ b/test/fixtures/annotations/line_annotation/expected.png
Binary files differ
diff --git a/test/fixtures/annotations/non_immediate_add/expected.png b/test/fixtures/annotations/non_immediate_add/expected.png
index 30f6f1eb59..09f48081a8 100644
--- a/test/fixtures/annotations/non_immediate_add/expected.png
+++ b/test/fixtures/annotations/non_immediate_add/expected.png
Binary files differ
diff --git a/test/fixtures/annotations/point_annotation/expected.png b/test/fixtures/annotations/point_annotation/expected.png
index 33299a2d6a..21d38b2073 100644
--- a/test/fixtures/annotations/point_annotation/expected.png
+++ b/test/fixtures/annotations/point_annotation/expected.png
Binary files differ
diff --git a/test/fixtures/annotations/switch_style/expected.png b/test/fixtures/annotations/switch_style/expected.png
index 33299a2d6a..21d38b2073 100644
--- a/test/fixtures/annotations/switch_style/expected.png
+++ b/test/fixtures/annotations/switch_style/expected.png
Binary files differ
diff --git a/test/fixtures/api/empty.json b/test/fixtures/api/empty.json
index acc8a630ca..61a8fadcdb 100644
--- a/test/fixtures/api/empty.json
+++ b/test/fixtures/api/empty.json
@@ -1,6 +1,5 @@
{
"version": 8,
"sources": {},
- "layers": [],
- "sprite": "asset://TEST_DATA/fixtures/resources/sprite"
+ "layers": []
}
diff --git a/test/fixtures/sprites/default_marker.png b/test/fixtures/sprites/default_marker.png
new file mode 100644
index 0000000000..b112096c18
--- /dev/null
+++ b/test/fixtures/sprites/default_marker.png
Binary files differ