Commit Graph

1053 Commits

Author SHA1 Message Date
John Firebaugh
ddecdeca94 [core] Move ProjectedMeters to projection.hpp 2017-04-18 14:43:31 +03:00
John Firebaugh
a50d7a331b [core] Replace GlyphRangeSet in onGlyphsAvailable with optionals in the map
GlyphRangeSet isn't keyed by FontStack, so using it to indicate that a particular range was loaded could have produced false positives.
2017-04-14 15:39:31 -07:00
Bruno de Oliveira Abinader
09a2271576 [core] Ignore shortest path in Map::pixelForLatLng 2017-04-14 12:52:20 -07:00
Bruno de Oliveira Abinader
98e2e59e5e [core] Safeguard PositionedIcon usage via optional 2017-04-14 12:33:13 -07:00
Bruno de Oliveira Abinader
2f4d162deb [core] Tighten geo.hpp ctors 2017-04-14 12:33:13 -07:00
John Firebaugh
f1c06f8d83 [all] Remove redundant scale-related camera methods
We don't need to have two different measurement systems for map zoom.
2017-04-13 10:28:44 -07:00
John Firebaugh
a2670336d4 [tests] Rewrite GlyphAtlas tests to use public API 2017-04-13 10:10:56 -07:00
John Firebaugh
0810192163 [core] Inline GlyphSet into GlyphAtlas 2017-04-12 16:57:52 -07:00
Fabian Guerra
12b6fdbe3b Merge branch 'release-ios-v3.5.0-android-v5.0.0' into boundsj-merge-release-branch
# Conflicts:
#	cmake/core-files.cmake
#	mapbox-gl-js
#	platform/android/CHANGELOG.md
#	platform/ios/CHANGELOG.md
#	platform/macos/CHANGELOG.md
#	platform/qt/bitrise-qt5.yml
#	src/mbgl/gl/attribute.hpp
#	src/mbgl/gl/context.cpp
#	src/mbgl/gl/program.hpp
#	src/mbgl/map/map.cpp
#	src/mbgl/programs/program.hpp
#	src/mbgl/renderer/painter.cpp
2017-04-11 21:46:23 -04:00
Bruno de Oliveira Abinader
c4fc89977b [core] Added {set,get}{Min,Max}Pitch 2017-04-11 12:51:09 +03:00
Bruno de Oliveira Abinader
c1c6c1e298 [core] Added Map::{get,set}LatLngBounds 2017-04-11 12:51:09 +03:00
Bruno de Oliveira Abinader
e5aa4d70cd [core] Updated Size::isEmpty and TransformState::valid checks 2017-04-10 18:01:28 +03:00
John Firebaugh
5621a08f89 [core] Test glyph PBF parsing independently of GlyphAtlas 2017-04-06 12:46:06 -07:00
Anand Thakker
693c9f3641 [core] Add DDS support for {text,icon}-size (#8593)
* Update gl-js and generate style code

* Factor out packUint8Pair() helper function

* Draft implementation of DDS for {text,icon}-size

Ports https://github.com/mapbox/mapbox-gl-js/pull/4455

* Fix text-size/composite-function-line-placement test

* Refactor to PaintPropertyBinders-like strategy

* Dedupe gl::Program construction

* Use exponential function base for interpolation

* Dedupe coveringZoomStops method

* Fixup tests

* Fix CI errors (hidden within #if block)
2017-04-06 15:29:59 -04:00
John Firebaugh
16a2839e23 [all] Make LatLng coordinates read-only 2017-04-06 09:22:51 -07:00
John Firebaugh
0314a46ee4 [core] Tighten LatLng and other geo.hpp classes
* Remove LatLng::null and enforce invariants
* Remove unnecessary operator bool()
2017-04-06 09:22:51 -07:00
Chris Loer
5cdf838a38 [core] De-mutex GlyphAtlas and SpriteAtlas
- Expose glyph and icon information to workers via message interface.
 - Glyph/SpriteAtlas track which tiles have outstanding requests
    and send messages to them when glyphs/icons become available.
 - Remove obsolete "updateSymbolDependentTiles" pathway
 - Symbol preparation for a tile now depends on all glyphs becoming
    available before it can start.
 - Start tracking individual icons needed for a tile, although we don't
    do anything with the information yet.
 - Introduce typedef for GlyphID
2017-04-04 11:33:12 -07:00
Ivo van Dongen
1d1ea2fa24 [core] fixup stale constants references in test fixtures 2017-04-04 18:31:11 +03:00
Konstantin Käfer
f86333961e [core] cache binary shaders on Android 2017-04-03 11:01:43 -07:00
Anand Thakker
b5b4549b6d Fix edge case in composite function interpolation (#8613)
This fixes a bug where, for a zoom value greater than that of the highest zoom
stop, composite function interpolation would return nan. (Blocking a render
test over in #8593)

* Add failing tests for composite function edge case

The failing cases here are:
 - Should interpolate before the first stop
 - Should interpolate past the last stop

* Fix edge case in composite function interpolation

* Hold functions constant outside stop-defined domain
2017-04-03 12:25:36 -04:00
John Firebaugh
c4f9582bfa [core] Pass fully-evaluated layout properties to SymbolInstance and quad methods 2017-03-31 13:26:27 -07:00
John Firebaugh
d7a55a4be1 [core] Introduce a fully-evaluated tuple type for layout properties 2017-03-31 13:26:27 -07:00
John Firebaugh
1edbb0f24b [core] check null data in query source features (#8553)
* [core] check null data in query source features

* Include what you use
2017-03-28 16:02:48 -07:00
Ivo van Dongen
b3ffeceb9e [core] check null data in query source features 2017-03-28 21:31:35 +03:00
Dane Springmeyer
cfb26c0a79 [test] Fix polygon construction to compile with clang 3.9.x 2017-03-28 10:13:35 -07:00
Konstantin Käfer
14bf47c296 [glfw] Remove GL state restoration
We're doing all of this in our own context anyway, so no need to restore the state
2017-03-28 13:53:19 +02:00
Konstantin Käfer
68e032e505 [core] Remove private header includes from CLI utilities 2017-03-28 13:53:19 +02:00
Tobrun
83cef9eb68 [android] - update VectorSource javadoc (#8521)
* [android] - update VectorSource docs on VectorSource creation

* [tests] Test only CameraOptions center, zoom in CameraToLatLngBounds
2017-03-24 17:55:55 +01:00
Bruno de Oliveira Abinader
80915992ab [core] Added Map::latLngBoundsForCamera 2017-03-24 13:51:35 +02:00
Konstantin Käfer
8e5214144e [core] Ensure that a BackendScope exists when doing GL calls 2017-03-23 14:50:11 -07:00
John Firebaugh
d7227e13a7 [all] Replace Result<T> with optional<T> plus out Error parameter 2017-03-23 13:31:13 -07:00
Konstantin Käfer
3c91b6b7de [core] cache binary shaders on Android 2017-03-22 15:59:10 +01:00
Bruno de Oliveira Abinader
1f8910de18 Make Source::getZoomRange return an optional range 2017-03-21 19:33:36 +02:00
John Firebaugh
c16bd14416 [core] Prefer std::map to std::unordered_map for smaller binary size 2017-03-21 09:27:22 -07:00
Bruno de Oliveira Abinader
c1a410be8b [core] s/onSourceDidChange/onSourceChanged/ + source ref 2017-03-21 17:36:56 +02:00
Bruno de Oliveira Abinader
24198ebca8 [core] Expose Source::getZoomRange 2017-03-20 18:25:04 +02:00
Bruno de Oliveira Abinader
5ff4110243 [core] Pass std::exception_ptr in MapObserver::onDidFailLoadingMap 2017-03-17 11:25:48 +02:00
Bruno de Oliveira Abinader
fc70cbf1e1 [core] Replace MapChange enum with MapObserver 2017-03-15 14:53:32 +02:00
Ivo van Dongen
7a13bee72e [core] don’t query rendered features until all data is available 2017-03-14 13:28:32 -07:00
Ivo van Dongen
96a53156c2 [core] don’t query rendered features until all data is available 2017-03-14 17:27:59 +02:00
Ivo van Dongen
517659b1b4 [core] query source features 2017-03-10 11:08:32 -08:00
Dane Springmeyer
3a0abdd3a7 [test] Fix polygon construction to compile with clang 3.9.x 2017-03-09 17:32:24 -08:00
Ivo van Dongen
0d10d2df1c [core] query source features 2017-03-09 13:11:23 -08:00
John Firebaugh
af75736857 [core] Avoid unnecessary convert template instantiations 2017-03-09 10:31:21 -08:00
John Firebaugh
84aac92b4e [test] Increase memory test ceiling slightly 2017-03-08 13:10:38 -08:00
Anand Thakker
bb846fd6cd For data-driven paint setters, transition immediately to target value (#8306)
Closes #8237
2017-03-08 11:53:44 -05:00
Asheem Mamoowala
60d10dd27d [core] Add support for queryRenderedFeatures filter 2017-03-04 15:42:07 -08:00
Jesse Bounds
e1546644b5 [core] Cache file source base URL and access token
This caches the base URL and access token values when they are set
so that they can still be retrieved even when the thread is paused.
2017-03-01 08:25:44 -08:00
Anand Thakker
f901e776b3 [core] Implement data-driven styling for {text,icon}-{color,opacity,halo-color,halo-blur,halo-width} (#7939)
* Add symbol dds attributes and adapt style code generation

* Update to mapbox-gl-js/master

* Refactor SymbolFeature as a subclass of GeometryTileFeature

Prepares for enabling DDS on symbol paint properties by allowing the
SymbolFeatures, which we keep around after constructing SymbolLayout,
to be used in evaluating data-driven paint properties later in the
layout process.

* Draft approach for splitting icon/text paint properties

The `Program` types are set up to bind GL attributes to each of the
data-driven paint properties specified in the `PaintProperties` type
provided.  Since `SymbolPaintProperties` specifies both `Text*` and
`Icon*` properties, the symbolIcon, symbolIconSDF, and symbolGlyph
programs each attempt to bind roughly double the number of attributes
that they actually need.

This change addresses this by:
- Adding the more specific `IconPaintProperties` and `TextPaintProperties` types, which are subsets of the full `SymbolPaintProperties`.
- The symbol layer continues to use its `SymbolPaintProperties paint` member to track layer property state, but it provides helpers that construct objects of each the specific `{Icon,Text}PaintProperties::Evaluated` type, for use by the painter.
- The three symbol programs instantiate `Program<>` using the appropriate `{Icon,Text}PaintProperties` type.

* check in generated style code

* Populate paint buffers for symbol DDS properties

* Address first round of review comments

* Refactor VectorTile{Layer,Feature} to explicitly share data

* Update submodule
2017-02-28 19:54:24 -08:00
Anand Thakker
4b81c924cc [core] Log Memory.Footprint test results (#8170)
* Log Memory.Footprint test output

* On CI, only run Memory.Footprint test with libjemalloc
2017-02-28 14:11:35 -08:00