From 0c1e378bc9555f6cf826bb38b1a36fa742f8ce9b Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Tue, 24 Nov 2015 10:07:18 -0800 Subject: [core] Rewrite image handling * Consolidate Image and StillImage * Typecheck unassociated vs premultiplied images * Rewrite default platform image decoding implementation --- test/api/annotations.cpp | 9 +++------ test/api/api_misuse.cpp | 3 +-- test/api/repeated_render.cpp | 27 ++++++++++++--------------- 3 files changed, 16 insertions(+), 23 deletions(-) (limited to 'test/api') diff --git a/test/api/annotations.cpp b/test/api/annotations.cpp index 55f5ca6749..b16ec71ef6 100644 --- a/test/api/annotations.cpp +++ b/test/api/annotations.cpp @@ -4,7 +4,6 @@ #include #include #include -#include #include #include #include @@ -17,13 +16,11 @@ using namespace mbgl; std::string renderPNG(Map& map) { - std::promise> promise; - map.renderStill([&](std::exception_ptr, std::unique_ptr image) { + std::promise promise; + map.renderStill([&](std::exception_ptr, UnassociatedImage&& image) { promise.set_value(std::move(image)); }); - - auto result = promise.get_future().get(); - return util::compress_png(result->width, result->height, result->pixels.get()); + return encodePNG(promise.get_future().get()); } TEST(Annotations, PointAnnotation) { diff --git a/test/api/api_misuse.cpp b/test/api/api_misuse.cpp index 1f54855323..4d5fe11042 100644 --- a/test/api/api_misuse.cpp +++ b/test/api/api_misuse.cpp @@ -2,7 +2,6 @@ #include "../fixtures/fixture_log_observer.hpp" #include -#include #include #include #include @@ -46,7 +45,7 @@ TEST(API, RenderWithoutStyle) { Map map(view, fileSource, MapMode::Still); std::promise promise; - map.renderStill([&promise](std::exception_ptr error, std::unique_ptr) { + map.renderStill([&promise](std::exception_ptr error, UnassociatedImage&&) { promise.set_value(error); }); diff --git a/test/api/repeated_render.cpp b/test/api/repeated_render.cpp index 3317b4e3a4..79349c67e7 100644 --- a/test/api/repeated_render.cpp +++ b/test/api/repeated_render.cpp @@ -2,7 +2,6 @@ #include "../fixtures/fixture_log_observer.hpp" #include -#include #include #include #include @@ -26,28 +25,26 @@ TEST(API, RepeatedRender) { { map.setStyleJSON(style, ""); - std::promise> promise; - map.renderStill([&promise](std::exception_ptr, std::unique_ptr image) { + std::promise promise; + map.renderStill([&promise](std::exception_ptr, UnassociatedImage&& image) { promise.set_value(std::move(image)); }); - auto result = promise.get_future().get(); - ASSERT_EQ(256, result->width); - ASSERT_EQ(512, result->height); - const std::string png = util::compress_png(result->width, result->height, result->pixels.get()); - util::write_file("test/fixtures/api/1.png", png); + auto result = std::move(promise.get_future().get()); + ASSERT_EQ(256, result.width); + ASSERT_EQ(512, result.height); + util::write_file("test/fixtures/api/1.png", encodePNG(result)); } { map.setStyleJSON(style, "TEST_DATA/suite"); - std::promise> promise; - map.renderStill([&promise](std::exception_ptr, std::unique_ptr image) { + std::promise promise; + map.renderStill([&promise](std::exception_ptr, UnassociatedImage&& image) { promise.set_value(std::move(image)); }); - auto result = promise.get_future().get(); - ASSERT_EQ(256, result->width); - ASSERT_EQ(512, result->height); - const std::string png = util::compress_png(result->width, result->height, result->pixels.get()); - util::write_file("test/fixtures/api/2.png", png); + auto result = std::move(promise.get_future().get()); + ASSERT_EQ(256, result.width); + ASSERT_EQ(512, result.height); + util::write_file("test/fixtures/api/2.png", encodePNG(result)); } auto observer = Log::removeObserver(); -- cgit v1.2.1