#pragma once #include #include 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