Files
MapLibreParticleLab/include/mbgl/renderer/renderer_state.hpp
Bart Louwers 71f6da2722 Add clang-format (#1086)
Co-authored-by: mwilsnd <mwilsnd@gmail.com>
2023-05-01 16:57:37 +02:00

36 lines
1.3 KiB
C++

#pragma once
#include <mbgl/map/camera.hpp>
#include <mbgl/util/geo.hpp>
namespace mbgl {
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 mbgl