Commit Graph

2675 Commits

Author SHA1 Message Date
Bruno de Oliveira Abinader
beb67fb7b2 [core] Separate transition options accessors from class API
Now the style class transition options have its own getter/setter, which
persists for each style until a new style is set.
2016-09-13 12:38:59 +03:00
Bruno de Oliveira Abinader
0cc062a5fd [core] Check if style exists prior to accessing via Map functions 2016-09-13 12:38:59 +03:00
John Firebaugh
29f4204d1c [core] Don't use std::move on forwarding references 2016-09-08 16:36:47 -07:00
John Firebaugh
030234c7a6 [core] Rework invokeWithCallback so that the callback is last 2016-09-08 16:36:47 -07:00
Konstantin Käfer
f3191dbbb4 [core] change bool *AlongLine to SymbolPlacementType 2016-09-07 17:56:38 +02:00
Konstantin Käfer
1845919c25 [core] change bool onRight to Side 2016-09-07 17:56:38 +02:00
Konstantin Käfer
3d960c8136 [core] change bool round to LinePatternCap 2016-09-07 17:56:38 +02:00
Konstantin Käfer
85e222c825 [core] change bool overdraw to PaintMode::Overdraw 2016-09-07 17:56:38 +02:00
Konstantin Käfer
ff0c895eaa [core] change bool wrap/repeating to enum class SpritePatternMode 2016-09-07 17:56:38 +02:00
Konstantin Käfer
426242fe41 [core] change bool to enum class bool TileLoadState 2016-09-07 17:56:38 +02:00
John Firebaugh
d6f667a5e7 [core] Observe visibility changes 2016-09-06 14:29:22 -07:00
John Firebaugh
6d770cb40f [core] Initial state of Source::Impl::enabled must be true
Until Style::recalculate() is called to check that there are no visible layers using the source, we have to assume there are. Otherwise, Style::isLoaded() can return a false positive.
2016-09-06 14:29:22 -07:00
John Firebaugh
8e2170c885 [core] Batch source updates 2016-09-06 14:29:22 -07:00
John Firebaugh
6c23a6a095 [core] Avoid triggering re-layout of fill annotation source 2016-09-06 14:29:22 -07:00
John Firebaugh
b4864ca9d5 [core] Trigger Source::Impl::reload when a filter or layout property is modified 2016-09-06 14:29:22 -07:00
John Firebaugh
fe2a26225f [core, ios, android, qt] Observe style layer mutations rather than requiring SDKs to use Map::update
This paves the way for updates to filter and layout properties to trigger a source reload, without each SDK having to participate in the implementation.
2016-09-06 14:29:22 -07:00
John Firebaugh
3a48c60813 [core] Add missing classed paint property getter 2016-09-06 12:52:14 -07:00
John Firebaugh
3635b9f147 [core] Prepare style observer interfaces for source reloading
* Renamed {Source,Tile}Observer::onNeedsRepaint to onTileUpdated. Messages should be in terms of what happened to the observed object, not in terms of what the observer needs to do. This also removes a confusing overlap of virtual methods on StyleObserver.
* Added style::Observer::onUpdate(Update). This is also a violation of the above rule, but I'm hopeful that it will disappear when update batching is implemented.
2016-09-06 12:52:14 -07:00
John Firebaugh
5b4f6335e3 [core] Add Source::Impl::reload 2016-09-06 12:52:14 -07:00
John Firebaugh
21dc12ee93 [core] Ensure that TileWorker can retain tileData after layout 2016-09-06 12:52:13 -07:00
John Firebaugh
5b8d90bf00 [core] Delete the now-unused ptr.hpp 2016-09-06 12:52:13 -07:00
John Firebaugh
0afd14ae29 [core] Eliminate use of util::ptr in GeometryTile* interfaces 2016-09-06 12:52:13 -07:00
John Firebaugh
1c51b43daf [core] Create GeoJSONTile{Layer,Feature} objects lazily
Avoids conversion to GeometryCollection and clipping for features that are not used.
2016-09-06 12:52:13 -07:00
Konstantin Käfer
4eb54270d7 [core] remove unused TimePoint during Source update 2016-09-05 19:04:34 +02:00
Konstantin Käfer
46b73b8a2c [core] Source::update => Source::{load,parse}Tiles, Source::load => Source::loadDescription 2016-09-05 19:03:27 +02:00
John Firebaugh
e126dc3a5a [core] Fix updates of line and fill annotations 2016-08-29 08:08:44 -07:00
John Firebaugh
f07f592078 [core] Simplify GeoJSONTile constructor 2016-08-26 10:30:55 -07:00
John Firebaugh
d2abb1b6d5 [core] Change GeoJSONSource::getURL() to return an optional<std::string>
GeoJSON sources may have inline GeoJSON rather than a URL; returning an optional type ensures that consumers handle this case.
2016-08-26 10:30:55 -07:00
John Firebaugh
2d6f04dfb9 [core] Clean up and simplify geojson_tile.cpp 2016-08-26 10:30:55 -07:00
John Firebaugh
7c801696eb [core] const consistency 2016-08-26 10:30:55 -07:00
John Firebaugh
a79d2afe1b [core] Rename data ⇢ tile; use Resource::Necessity 2016-08-26 10:30:55 -07:00
John Firebaugh
8ac03f3870 [core] Inline Source::Impl::getTile 2016-08-26 10:30:55 -07:00
Dane Springmeyer
bb34b5302c upgrade to protozer 1.4.0 (#6158) 2016-08-25 11:05:03 -07:00
Thiago Marcos P. Santos
c98f4f476b [core] Emit MapChangeDidFailLoadingMap when the style cannot be loaded or parsed
Currently this signal is never emitted, which can cause the Still mode
to starve in case of an invalid style or failed request.
2016-08-24 20:02:31 +03:00
John Firebaugh
646528bc53 [core] Simplify Thread::invokeSync (#6128) 2016-08-24 09:36:11 -07:00
John Firebaugh
63cce78cf1 [core] Add static getters for property default values (#6124) 2016-08-23 12:49:47 -07:00
John Firebaugh
86cccc4d24 [core] Don't allow style mutations to be overwritten by revalidation
* Once we get a fresh style, stop revalidating.
* If the style is mutated, stop revalidating and preserve the existing mutations.
2016-08-23 09:55:32 -07:00
Konstantin Käfer
e6bcbdd5d3 [core] set correct depth values for CustomLayer so compositing works 2016-08-22 18:32:12 +02:00
Konstantin Käfer
0df60c4651 [core] add ability show visualize the depth buffer to the GLFW and macOS app 2016-08-19 17:41:55 +02:00
Konstantin Käfer
cb33c861b4 [core] parse more Style JSON properties
We're now parsing "name", "center", "zoom", "bearing", and "pitch" from the stylesheet.
2016-08-19 17:34:10 +02:00
Konstantin Käfer
18176605f6 [core] support "scheme": "tms" in TileJSON files 2016-08-16 11:04:30 +02:00
Minh Nguyễn
e147887e35 [core, android, ios, macos] Replaced getPointAnnotationsInBounds() w/ queryPointAnnotations() (#5165)
queryPointAnnotations() accepts a screen rectangle instead of a geographic bounding box, so marker hit testing works at the edges of a rotated, tilted map view.

Fixes #5151.
2016-08-12 15:45:18 -07:00
Amy Lee Walton
b0cb8715ed CJK overflow - update to match gl-shader (#5908)
* update vertex array ushorts

* update atlas size

* testing latest cjk test-suite branch

* update shader ref

* update shaders

* update icon buffer

* shaders

* updated tests

* buffer fix

* updated make tests

* annotation expected updates

* final push

* final fonts

* a_data1 removal

* remove cjk-mixed test

* hiring threshold for cjk-chinese

* update to new test suite

* Rename a_data2 to a_data in sdf and icon shaders

* update test-suite sha
2016-08-11 09:49:36 -07:00
Bruno de Oliveira Abinader
3ae506ee13 [core] Use NDEBUG instead of DEBUG
CMake defines 'NDEBUG' by default for release build, so we can check if
that's not defined instead of using 'DEBUG' for debug build.
2016-08-05 11:42:22 +02:00
Thiago Marcos P. Santos
045a644a7d [core] Respect minzoom and maxzoom properties
Fixes #5811
2016-07-29 15:26:30 +03:00
Vladimir Agafonkin
9ecc0d9597 GeoJSON point clustering (#5724)
* add supercluster dependency
* prepare GeoJSONTile for Supercluster
* prepare GeoJSONSource for accepting options
* try removing mbgl::GeoJSON
* fix setGeoJSON types
* add GeoJSONSource getURL
* add geojson to include path
* add Supercluster index in GeoJSONSource
* fix GeoJSONSource getZoomRange
* bring back mbgl::GeoJSON header
* fix tidy warnings hopefully
* try test-suite with enabled cluster test
* fix formatting in clustering-related files
2016-07-27 20:18:41 +03:00
Bruno de Oliveira Abinader
253a3dbc58 [core] Revert annotation source maxZoom to 22 2016-07-26 16:35:29 +03:00
Bruno de Oliveira Abinader
427773d31a [core] Micro-optimizations in geometry code 2016-07-26 16:35:29 +03:00
Konstantin Käfer
03ebae0f2e [core] don't crash when the version number is not a number 2016-07-20 15:33:09 +02:00
Konstantin Käfer
a07fbe8e34 [core] fix crash when the style JSON doesn't have an object at its root 2016-07-20 15:33:09 +02:00