| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This reverts commit 6709bdcacd5a45a10b554f3f225206c9494e5e43.
There was an issue with the script that removes '-lwebp' from WebP
linker flags, since we're statically linking. This is now fixed.
|
|
|
|
|
|
|
|
|
|
|
|
| |
the SpriteImage constructor signature changes from
SpriteImage(
uint16_t width, uint16_t height, float pixelRatio,
std::string&& data, bool sdf = false);
to
SpriteImage(PremultipliedImage&&, float pixelRatio, bool sdf = false)
|
|
|
|
|
|
|
|
|
|
|
| |
ref #3031
ref #2198
For example, an icon that has:
- a pixel width of 10
- a pixel ratio of 3
- a scaled with of 3.333
is now supported.
|
| |
|
|
|
|
| |
This reverts commits 2010fbb0e61cbe7c0b08560118ca887fc1d7193e, a361ce47a19d37b96b48cd605c62c5ab79bba462, and d004bb275ae3ea60bb6c2febd6fa22f1f51c3993.
|
|
|
|
|
| |
This is a hack, in the same fashion as adding {ratio} to the tile URLs.
We should update the raster tile sources to use WebP by default.
|
| |
|
|
|
|
| |
This version of setLatLng() can be expressed by constraining the viewport to a 0×0 viewport around the passed-in point.
|
|
|
|
|
|
|
|
| |
Map::pixelForLatLng()
Map and Transform methods assume an origin at the top-left corner of the view, like iOS, Android, and GLFW but unlike OS X. Transform is responsible for flipping coordinates between the top-left origin of Map and the bottom-left origin of TransformState.
Fixes #3574.
|
|
|
|
| |
Methods that offer a convenient way to jump or ease now accept an optional padding parameter. MGLMapView specifies the padding to ensure that keyboard-based zooming and rotation respects the toolbar.
|
|
|
|
|
|
| |
Moved EdgeInsets to geo.hpp so CameraOptions and Transform can refer to it. Added a padding option to CameraOptions that alters the frame of reference for the center option. Added optional padding parameters to LatLng getters and setters.
Working towards #2600.
|
|
|
|
| |
Fixes #3585
|
| |
|
|
|
|
| |
Updating glyphs is still unsupported, and there's no good use case for doing so. When we're using a stale glyph PBF, and the fresh answer contains changed to that glyph, we will continue to use the old glyph.
|
|
|
|
| |
Previously, we could first get a stale response from cache, then immediately a "connection error" response that overwrote the error state variable. In the tileLoadingCompleteCallback, we'd only see the second overwritten error state and abort. This could lead to the map sometimes not being rendered at all until the user interacts with the map.
|
|
|
|
| |
This is a naïve implementation that essentially merges updated data into existing data. It will *not* remove icons from the stale sprite if they aren't present in the fresh sprite (we aren't tracking the source of a sprite, and the user could have changed it as well). Similarly, it will not update icons that have changed in dimension. This is a rare edge case and probably not worth implementing.
|
| |
|
| |
|
| |
|
|
|
|
| |
Otherwise, this will remove them from the map and overwrite the old data. This could happen e.g. when we have connection trouble and a tile needs to be refreshed, or we're displaying stale information and the connection is down.
|
|
|
|
| |
We're now supporting using stale TileJSON and GeoJSON data. When we receive a new answer with an updated TileJSON file, we're replacing the Source's metadata with the new one and trigger updates to make sure we're loading the correct tiles. Similarly, GeoJSON data will be reparsed.
|
|
|
|
| |
This adds support for using cached styles that are stale. They're treated like changing styles; when the refreshed style changed compared to the one we've already had, we're swapping out the entire style, which might cause a slight flicker.
|
|
|
|
| |
If you use many different caches, expired weak_ptrs will pile up in the unordered_map, but that is an edge case, and you probably shouldn't do that anyway.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Previously, the placement of symbols depended on the order in which the
glyphs they need were loaded. The placement order should be based on the
style.
To fix this, symbol layers are placed in `placementPending` after they
are parsed. After all layers are parsed, symbol layers (stored in
`placementPending`) are placed and returned.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
There is only one implementation and we're unlikely to add more.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a tricky one:
We are storing a lambda at the member variable `transitionFrameFn` and
capturing `this` at this lambda function.
At some point when running the callback, we set `transitionFrameFn` to
`nullptr`, effectively destroying the callback that is being executed.
After this point, `this` is no longer valid, as the memory gets
cleared and it might point to the correct location (or not). That
is why it works on some compilers but not on g++ 5.3.1. Touching
any `this->[smth]` is undefined after that.
The fix is just move `transitionFrameFn = nullptr` to the last
thing we do on the callback. This behaves similarly to calling
`delete this` on a class method.
|
|
|
|
| |
Removed std::move() call per Xcode fix-it suggestion.
|
|
|
|
| |
Pushed much of easeTo() and flyTo() into startTransition() to avoid code duplication.
|
| |
|
|
|
|
| |
Made anchor a CameraOption for easeTo().
|
|
|
|
| |
All Transform methods that take a PrecisionPoint now assume a “flipped” origin at the upper-left corner of the view. Previously, some methods assumed an origin at the lower-left corner.
|
|
|
|
|
|
| |
Eliminated many redundant methods on Transform. Minimized usage of TransformState::x and TransformState::y. Added convenient constructors for AnimationOptions. When scaling, passing in view’s origin as the anchor no longer anchors the scaling operation at the view’s center. To specify no anchor, use NaN.
Increased precision of worldSize(), now that it’s used much more heavily in transform methods.
|
| |
|
|
|
|
|
| |
fix #3489
fix #2648
|
|
|
|
| |
fix #1685
|
| |
|
|
|
|
| |
port https://github.com/mapbox/mapbox-gl-js/pull/1919/files
|
|
|
|
|
|
|
|
| |
* Move asset:// URL handling to DefaultFileSource.
* AssetFileSource implements FileSource interface and follows familiar implementation patterns.
* Move default implementation to platform/default, zip implementation to platform/android.
* Don't bother with modified / expires / etag -- assets are not cached so it doesn't matter.
* Don't bother with interleaving individual IO calls on the implementation thread. That adds a lot of complexity for very little benefit.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
seamless across dateline
upgrade test-suite version
|