summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [core, ios, osx] Tilt around visual center pointMinh Nguyễn2016-01-263-1/+18
| | | | The tilt gesture on both iOS and OS X now respects the content insets. On iOS, in user tracking mode, it additionally respects the user dot’s position if it’s aligned to the top or bottom of the view.
* [core] bump sprite atlas to 1024x1024Ansis Brammanis2016-01-263-3/+3
|
* Cleanup std::chrono usageBruno de Oliveira Abinader2016-01-255-5/+7
| | | | Use mbgl::Duration and mbgl::{,Milli}Seconds whenever possible.
* [core] Include prior values of caching headers in ResourceJohn Firebaugh2016-01-223-11/+9
| | | | This allows the FileSource interface itself to support revalidation. We could (and probably should) now rewrite HTTPContextBase implementations as FileSource implementations.
* [core] Use notModified to check for style changeJohn Firebaugh2016-01-221-5/+7
|
* [core] Avoid storing raw glyph data in addition to parsed representationJohn Firebaugh2016-01-222-31/+17
|
* [core] Remove unused parts of chrono.hppJohn Firebaugh2016-01-221-16/+0
|
* [core] Merge rfc1123, iso8601, and parse_date into chrono.hpp and fix their APIJohn Firebaugh2016-01-225-34/+76
|
* [core] fix missing icon collision boxesAnsis Brammanis2016-01-222-10/+18
| | | | port https://github.com/mapbox/mapbox-gl-js/pull/1981
* [core] use nearest neigbour for some line iconsAnsis Brammanis2016-01-221-1/+1
| | | | | Use nearest neighbour texture filtering to draw sharper icons when the icons are aligned with the viewport. This matches -js.
* [core] trigger repaint after placement is redoneAnsis Brammanis2016-01-227-41/+38
| | | | | | | fixes #3140 This also fixes a bug where placement could be redone with a stale PlacementConfig after the tile first finishes loading.
* [core] don't use expensive fmod to get fractional partKonstantin Käfer2016-01-221-1/+1
|
* [core] don't copy stops by value when recalculating StyleParametersKonstantin Käfer2016-01-221-1/+1
|
* [core] Use better types for modified / expires / etagJohn Firebaugh2016-01-2110-25/+34
|
* [core] Eliminate Response::stale and inline Response::isExpired()John Firebaugh2016-01-211-6/+0
| | | | Response::isExpired() had subtle and potentially confusing behavior around Seconds::zero(). It's best to inline it and comment why.
* [core] Eliminate RequestBaseJohn Firebaugh2016-01-213-40/+17
| | | | HTTPRequestBase can now itself be the base class.
* [core] improve text-max-angle checkAnsis Brammanis2016-01-201-2/+2
| | | | | | | | | Instead of using the absolute value of the sum of angles, use the sum of the absolute values of angles. This helps avoid labels on lines with sharp zig zags. for example, the "Central Campus Mall" label in issue #2998
* [core] implement symbol-avoid-edgesAnsis Brammanis2016-01-203-41/+98
| | | | | | | ref #3582 if `symbol-avoid-edges` is true, this prevents symbols from colliding with tile edges.
* Revert "Revert WebP support due to broken builds"Bruno de Oliveira Abinader2016-01-201-0/+6
| | | | | | | 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.
* [core][ios][osx][android] make SpriteImage accept PremultipliedImageAnsis Brammanis2016-01-198-43/+37
| | | | | | | | | | | | 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)
* [core][ios][osx][android] fix icons with non-integer width/heightAnsis Brammanis2016-01-192-21/+14
| | | | | | | | | | | 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.
* [core] Use experimental optional instead of mapbox::util::optionalJohn Firebaugh2016-01-1926-64/+59
|
* Revert WebP support due to broken buildsJohn Firebaugh2016-01-191-6/+0
| | | | This reverts commits 2010fbb0e61cbe7c0b08560118ca887fc1d7193e, a361ce47a19d37b96b48cd605c62c5ab79bba462, and d004bb275ae3ea60bb6c2febd6fa22f1f51c3993.
* [linux] Replace PNG with WebP on tile source URLBruno de Oliveira Abinader2016-01-191-0/+6
| | | | | 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.
* [ios] Flip points, not edge insetsMinh Nguyễn2016-01-182-12/+7
|
* [core] Reformulated setLatLng() based on CameraOptionsMinh Nguyễn2016-01-181-15/+11
| | | | This version of setLatLng() can be expressed by constraining the viewport to a 0×0 viewport around the passed-in point.
* [core, ios, osx, android, glfw] Flipped origin of Map::latLngForPixel(), ↵Minh Nguyễn2016-01-183-4/+26
| | | | | | | | 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.
* [core, osx] Added optional padding to convenience methodsMinh Nguyễn2016-01-183-18/+73
| | | | 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.
* [core] Added padding option to CameraOptionsMinh Nguyễn2016-01-184-8/+61
| | | | | | 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.
* [core] Add missing returns in error caseJohn Firebaugh2016-01-151-0/+2
| | | | Fixes #3585
* [core] tileSize is a source property, not a TileJSON propertyJohn Firebaugh2016-01-155-6/+21
|
* [core] use stale glyphsKonstantin Käfer2016-01-153-29/+31
| | | | 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.
* [core] don't store error stateKonstantin Käfer2016-01-158-36/+35
| | | | 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.
* [core] use stale sprite dataKonstantin Käfer2016-01-151-14/+16
| | | | 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.
* [core] abort current parse when we get a new NotFound responseKonstantin Käfer2016-01-151-0/+1
|
* [core] update the modified/expires debug info for unmodified responses as wellKonstantin Käfer2016-01-152-6/+6
|
* [core] use stale raster tilesKonstantin Käfer2016-01-151-7/+11
|
* [core] don't mark tiles with failed requests as obsoleteKonstantin Käfer2016-01-153-2/+10
| | | | 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.
* [core] use stale and refreshing TileJSON/GeoJSON dataKonstantin Käfer2016-01-151-5/+34
| | | | 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.
* [core] use stale stylesKonstantin Käfer2016-01-152-9/+9
| | | | 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.
* [core] Support multiple paths in SQLiteCache::getShared()Konstantin Käfer2016-01-151-1/+0
| | | | 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.
* [core] move SharedSQLiteCache::get to SQLiteCache::getSharedKonstantin Käfer2016-01-151-9/+2
|
* [core] place symbol layers in correct orderAnsis Brammanis2016-01-149-37/+51
| | | | | | | | | | 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.
* [core] Let SQLiteCache decide when store or refresh responsesJohn Firebaugh2016-01-141-2/+1
|
* [core] Use notModified rather than storing the previous response bodyJohn Firebaugh2016-01-142-4/+2
|
* [core] Add an explicit "not modified" indicator to ResponseJohn Firebaugh2016-01-141-0/+1
|
* [core] std::shared_ptr<const Response> ⇢ const Response&John Firebaugh2016-01-141-1/+1
|
* [core] Eliminate FileCache interfaceJohn Firebaugh2016-01-142-7/+15
| | | | There is only one implementation and we're unlikely to add more.
* [core] Fix crash on transitionFrameFn callbackThiago Marcos P. Santos2016-01-141-1/+4
| | | | | | | | | | | | | | | | | | | 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.
* [core] Fixed build error in Xcode 7.3Minh Nguyễn2016-01-141-1/+1
| | | | Removed std::move() call per Xcode fix-it suggestion.