summaryrefslogtreecommitdiff
path: root/platform/default/mbgl/gl/headless_frontend.cpp
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2018-12-13 18:45:29 +0100
committerKonstantin Käfer <mail@kkaefer.com>2018-12-14 11:03:03 +0100
commit1d8235f5b899a2cd8414522b2d72b96fab91577b (patch)
tree2ab56dce064de872525db7f24ba150a9065c4757 /platform/default/mbgl/gl/headless_frontend.cpp
parentc2a4a8822ce9577c972975da61034a30fb0fe3e9 (diff)
downloadqtlocation-mapboxgl-1d8235f5b899a2cd8414522b2d72b96fab91577b.tar.gz
[build] rework platform/default directory and add -files.txt for vendored libs
Diffstat (limited to 'platform/default/mbgl/gl/headless_frontend.cpp')
-rw-r--r--platform/default/mbgl/gl/headless_frontend.cpp144
1 files changed, 0 insertions, 144 deletions
diff --git a/platform/default/mbgl/gl/headless_frontend.cpp b/platform/default/mbgl/gl/headless_frontend.cpp
deleted file mode 100644
index 37b0f91f32..0000000000
--- a/platform/default/mbgl/gl/headless_frontend.cpp
+++ /dev/null
@@ -1,144 +0,0 @@
-#include <mbgl/gl/headless_frontend.hpp>
-#include <mbgl/renderer/renderer.hpp>
-#include <mbgl/renderer/renderer_state.hpp>
-#include <mbgl/renderer/update_parameters.hpp>
-#include <mbgl/map/map.hpp>
-#include <mbgl/map/transform_state.hpp>
-#include <mbgl/util/run_loop.hpp>
-
-namespace mbgl {
-
-HeadlessFrontend::HeadlessFrontend(float pixelRatio_, FileSource& fileSource, Scheduler& scheduler, const optional<std::string> programCacheDir, GLContextMode mode, const optional<std::string> localFontFamily)
- : HeadlessFrontend({ 256, 256 }, pixelRatio_, fileSource, scheduler, programCacheDir, mode, localFontFamily) {
-}
-
-HeadlessFrontend::HeadlessFrontend(Size size_, float pixelRatio_, FileSource& fileSource, Scheduler& scheduler, const optional<std::string> programCacheDir, GLContextMode mode, const optional<std::string> localFontFamily)
- : size(size_),
- pixelRatio(pixelRatio_),
- backend({ static_cast<uint32_t>(size.width * pixelRatio),
- static_cast<uint32_t>(size.height * pixelRatio) }),
- asyncInvalidate([this] {
- if (renderer && updateParameters) {
- mbgl::BackendScope guard { backend };
- renderer->render(*updateParameters);
- }
- }),
- renderer(std::make_unique<Renderer>(backend, pixelRatio, fileSource, scheduler, mode, programCacheDir, localFontFamily)) {
-}
-
-HeadlessFrontend::~HeadlessFrontend() = default;
-
-void HeadlessFrontend::reset() {
- assert(renderer);
- renderer.reset();
-}
-
-void HeadlessFrontend::update(std::shared_ptr<UpdateParameters> updateParameters_) {
- updateParameters = updateParameters_;
- asyncInvalidate.send();
-}
-
-void HeadlessFrontend::setObserver(RendererObserver& observer_) {
- assert(renderer);
- renderer->setObserver(&observer_);
-}
-
-Size HeadlessFrontend::getSize() const {
- return size;
-}
-
-Renderer* HeadlessFrontend::getRenderer() {
- assert(renderer);
- return renderer.get();
-}
-
-RendererBackend* HeadlessFrontend::getBackend() {
- return &backend;
-}
-
-CameraOptions HeadlessFrontend::getCameraOptions() {
- if (updateParameters)
- return RendererState::getCameraOptions(*updateParameters);
-
- static CameraOptions nullCamera;
- return nullCamera;
-}
-
-bool HeadlessFrontend::hasImage(const std::string& id) {
- if (updateParameters) {
- return RendererState::hasImage(*updateParameters, id);
- }
-
- return false;
-}
-
-bool HeadlessFrontend::hasLayer(const std::string& id) {
- if (updateParameters) {
- return RendererState::hasLayer(*updateParameters, id);
- }
-
- return false;
-}
-
-bool HeadlessFrontend::hasSource(const std::string& id) {
- if (updateParameters) {
- return RendererState::hasSource(*updateParameters, id);
- }
-
- return false;
-}
-ScreenCoordinate HeadlessFrontend::pixelForLatLng(const LatLng& coordinate) {
- if (updateParameters) {
- return RendererState::pixelForLatLng(*updateParameters, coordinate);
- }
-
- return ScreenCoordinate {};
-}
-
-LatLng HeadlessFrontend::latLngForPixel(const ScreenCoordinate& point) {
- if (updateParameters) {
- return RendererState::latLngForPixel(*updateParameters, point);
- }
-
- return LatLng {};
-}
-
-void HeadlessFrontend::setSize(Size size_) {
- if (size != size_) {
- size = size_;
- backend.setSize({ static_cast<uint32_t>(size_.width * pixelRatio),
- static_cast<uint32_t>(size_.height * pixelRatio) });
- }
-}
-
-PremultipliedImage HeadlessFrontend::readStillImage() {
- return backend.readStillImage();
-}
-
-PremultipliedImage HeadlessFrontend::render(Map& map) {
- PremultipliedImage result;
-
- map.renderStill([&](std::exception_ptr error) {
- if (error) {
- std::rethrow_exception(error);
- } else {
- result = backend.readStillImage();
- }
- });
-
- while (!result.valid()) {
- util::RunLoop::Get()->runOnce();
- }
-
- return result;
-}
-
-optional<TransformState> HeadlessFrontend::getTransformState() const {
- if (updateParameters) {
- return updateParameters->transformState;
- } else {
- return {};
- }
-}
-
-} // namespace mbgl