Files
MapLibreParticleLab/include/mbgl/map/bound_options.hpp
Ander Conselvan de Oliveira 5733440747 [core] Group Map LatLngBounds, min and max zoom methods
Group bounds, minimum and maximum zoom related methods together using
the new BoundOptions.

v2: Document that getBounds() initializes all optional fields.
  - Add test for getBounds() on a map with default values.
2019-03-14 18:33:11 +02:00

31 lines
870 B
C++

#pragma once
#include <mbgl/util/geo.hpp>
#include <mbgl/util/optional.hpp>
namespace mbgl {
/**
* @brief Holds options to limit what parts of a map are visible. All fields are
* optional.
*/
struct BoundOptions {
/// Sets the latitude and longitude bounds to which the camera center are constrained
BoundOptions& withLatLngBounds(LatLngBounds b) { bounds = b; return *this; }
/// Sets the minimum zoom level
BoundOptions& withMinZoom(double z) { minZoom = z; return *this; }
/// Sets the maximum zoom level
BoundOptions& withMaxZoom(double z) { maxZoom = z; return *this; }
/// Constrain the center of the camera to be within these bounds.
optional<LatLngBounds> bounds;
/// Maximum zoom level allowed.
optional<double> maxZoom;
/// Minimum zoom level allowed.
optional<double> minZoom;
};
} // namespace mbgl