Files
MapLibreParticleLab/include/mln/renderer/renderer_state.hpp
Bart Louwers 2a8ebc4906 core: rename mbgl directories to mln (#4511)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-08-22 20:50:14 +02:00

36 lines
1.3 KiB
C++

#pragma once
#include <mln/map/camera.hpp>
#include <mln/util/geo.hpp>
namespace mln {
class UpdateParameters;
/**
* RendererState acts as a Memento object that is able to extract data out of
* UpdateParameters (an opaque object from the public API perspective).
*/
class RendererState {
public:
/// Obtains a CameraOptions out of a given UpdateParameters object.
static CameraOptions getCameraOptions(const UpdateParameters&, const EdgeInsets& = {});
/// Returns whether an image with the given ID exists from a given UpdateParamters object.
static bool hasImage(const UpdateParameters&, const std::string& id);
/// Returns whether a layer with the given ID exists from a given UpdateParamters object.
static bool hasLayer(const UpdateParameters&, const std::string& id);
/// Returns whether a source with the given ID exists from a given UpdateParamters object.
static bool hasSource(const UpdateParameters&, const std::string& id);
/// Obtains the geographical coordinate out of a given screen coordinate.
static ScreenCoordinate pixelForLatLng(const UpdateParameters&, const LatLng&);
/// Obtains the screen coordinate out of a given geographical coordinate.
static LatLng latLngForPixel(const UpdateParameters&, const ScreenCoordinate&);
};
} // namespace mln