[core] renderer interface
This commit is contained in:
committed by
Ivo van Dongen
parent
39a732d7ae
commit
3832f8d0d8
@@ -7,10 +7,12 @@
|
||||
#include <mbgl/gl/offscreen_view.hpp>
|
||||
#include <mbgl/util/default_thread_pool.hpp>
|
||||
#include <mbgl/storage/default_file_source.hpp>
|
||||
#include <mbgl/renderer/renderer.hpp>
|
||||
#include <mbgl/util/image.hpp>
|
||||
#include <mbgl/util/io.hpp>
|
||||
#include <mbgl/util/run_loop.hpp>
|
||||
#include <mbgl/style/style.hpp>
|
||||
#include <mbgl/test/stub_renderer_frontend.hpp>
|
||||
#include <mbgl/style/layers/line_layer.hpp>
|
||||
#include <mbgl/style/sources/geojson_source.hpp>
|
||||
|
||||
@@ -28,17 +30,21 @@ TEST(API, RepeatedRender) {
|
||||
HeadlessBackend backend { test::sharedDisplay() };
|
||||
BackendScope scope { backend };
|
||||
OffscreenView view { backend.getContext(), { 512, 512 } };
|
||||
float pixelRatio { 1 };
|
||||
DefaultFileSource fileSource(":memory:", "test/fixtures/api/assets");
|
||||
ThreadPool threadPool(4);
|
||||
StubRendererFrontend rendererFrontend {
|
||||
std::make_unique<Renderer>(backend, pixelRatio, fileSource, threadPool), view };
|
||||
|
||||
Log::setObserver(std::make_unique<FixtureLogObserver>());
|
||||
|
||||
Map map(backend, MapObserver::nullObserver(), view.getSize(), 1, fileSource, threadPool, MapMode::Still);
|
||||
Map map(rendererFrontend, MapObserver::nullObserver(), view.getSize(), pixelRatio, fileSource,
|
||||
threadPool, MapMode::Still);
|
||||
|
||||
{
|
||||
map.getStyle().loadJSON(style);
|
||||
PremultipliedImage result;
|
||||
map.renderStill(view, [&](std::exception_ptr) {
|
||||
map.renderStill([&](std::exception_ptr) {
|
||||
result = view.readStillImage();
|
||||
});
|
||||
|
||||
@@ -54,7 +60,7 @@ TEST(API, RepeatedRender) {
|
||||
{
|
||||
map.getStyle().loadJSON(style);
|
||||
PremultipliedImage result;
|
||||
map.renderStill(view, [&](std::exception_ptr) {
|
||||
map.renderStill([&](std::exception_ptr) {
|
||||
result = view.readStillImage();
|
||||
});
|
||||
|
||||
@@ -86,7 +92,10 @@ TEST(API, ZoomHistory) {
|
||||
|
||||
Log::setObserver(std::make_unique<FixtureLogObserver>());
|
||||
|
||||
Map map(backend, MapObserver::nullObserver(), view.getSize(), 1, fileSource, threadPool, MapMode::Still);
|
||||
float pixelRatio { 1 };
|
||||
StubRendererFrontend rendererFrontend {
|
||||
std::make_unique<Renderer>(backend, pixelRatio, fileSource, threadPool), view };
|
||||
Map map(rendererFrontend, MapObserver::nullObserver(), view.getSize(), pixelRatio, fileSource, threadPool, MapMode::Still);
|
||||
map.getStyle().loadJSON(style);
|
||||
|
||||
auto geojson = mapbox::geojson::parse(R"t({ "type": "FeatureCollection", "features": [{ "type": "Feature", "properties": {}, "geometry": { "type": "LineString", "coordinates": [ [ -150, -75 ], [ 150, 75 ] ] } } ] })t");
|
||||
@@ -101,7 +110,7 @@ TEST(API, ZoomHistory) {
|
||||
|
||||
{
|
||||
PremultipliedImage result;
|
||||
map.renderStill(view, [&](std::exception_ptr) {
|
||||
map.renderStill([&](std::exception_ptr) {
|
||||
result = view.readStillImage();
|
||||
});
|
||||
|
||||
@@ -116,7 +125,7 @@ TEST(API, ZoomHistory) {
|
||||
map.setZoom(1.0);
|
||||
|
||||
PremultipliedImage result;
|
||||
map.renderStill(view, [&](std::exception_ptr) {
|
||||
map.renderStill([&](std::exception_ptr) {
|
||||
result = view.readStillImage();
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user