Commit Graph

3078 Commits

Author SHA1 Message Date
John Firebaugh
1c42daa152 [core] Tweak handling of annotation special case SpriteAtlas
* Simplify SymbolLayout; it never needs to care about more than one SpriteAtlas.
* Move the reference from SymbolLayer::Impl to SymbolBucket. This is a prerequisite for making layer Impls immutable.
2017-04-26 16:29:44 -07:00
Ivo van Dongen
3c175adf30 [core] split off render layers 2017-04-25 17:23:54 -07:00
John Firebaugh
5dd98df50b [all] Rationalize style::Image
A style has a collection of images, just as it has collections of sources and layers.

* Name things appropriately
* Use std::unique_ptr
2017-04-24 15:52:28 -07:00
Vladimir Agafonkin
0079d6173b [core] fix an issue with lines that have duplicate points (#8808)
An equivalent of https://github.com/mapbox/mapbox-gl-js/pull/4634.
2017-04-24 18:53:20 +03:00
Konstantin Käfer
59055cf403 [core] Move Sprite parsing to thread pool 2017-04-24 10:42:47 +02:00
John Firebaugh
3c23faf65a [core] More complete fix for composite function interpolation edge case
b5b4549 / #8613 handled the edge case for layout properties, but not paint properties. Move the check for a degenerate range to interpolationFactor in order to handle both correctly.
2017-04-20 16:11:57 -07:00
Konstantin Käfer
97f2a44859 [core] remove unused leftover files 2017-04-20 20:04:33 +02:00
Konstantin Käfer
9a9408e811 [core] Render parent raster tiles when ideal tile can't be loaded 2017-04-20 09:38:18 +02:00
Ivo van Dongen
7ddca3b611 [core] account for property functions in query rendered features 2017-04-19 17:21:28 -07:00
Ivo van Dongen
d752235ec7 [core] make Tile::getBucket const 2017-04-19 17:21:28 -07:00
Ivo van Dongen
935cf531e4 [core] property function statistics collection 2017-04-19 17:21:28 -07:00
John Firebaugh
efa6c01956 [core] Remove unnecessary Source::Impl::enabled assignment
This flag will get set automatically by Style::recalculate.
2017-04-18 08:49:57 -07:00
John Firebaugh
092da9c956 [core] Remove non-Map-dependent projection methods from Map 2017-04-18 14:43:31 +03:00
John Firebaugh
fcf5d1b8af [core] Combine two GlyphID-keyed maps in GlyphAtlas::Entry 2017-04-14 15:39:31 -07: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
Bruno de Oliveira Abinader
8877452ec3 [core] TransitionOptions s/operator bool/isDefined/ 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
John Firebaugh
62576e24a0 [core] Revert use of optional<EdgeInsets>, because EdgeInsets has a natural "empty" state 2017-04-11 14:50:22 -07: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
ddc6dcf9cd [core] Move {Map,Transform}::{get,set}{Min,Max}Zoom to bounds pragma 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
5e53d0586f [core] Invalidate cached tiles of disabled sources on relayout 2017-04-07 11:04:19 -07:00
Thiago Marcos P. Santos
6c3c421119 [Qt] Fix build when zlib is compiled with -DZ_PREFIX
Proper fix this time.
2017-04-07 17:12:28 +03:00
John Firebaugh
e05a6bb3d5 [core] Inline GlyphPBF into GlyphAtlas 2017-04-06 12:46:06 -07: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
Bruno de Oliveira Abinader
d7c431f942 [Qt] Fix typo in gl.hpp 2017-04-06 15:14:10 +03: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
Konstantin Käfer
64beba3acc [core] fix equality operator on Color 2017-04-04 18:31:11 +03:00
Ivo van Dongen
705caf0f26 [core] return empty optional when color could not be parsed 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
John Firebaugh
c1cd6759b4 [core] Extract and de-templatize several Program static methods 2017-04-03 11:01:43 -07:00
John Firebaugh
d092841b19 [core] Add another explanatory comment to PaintPropertyBinder 2017-04-03 09:12:46 -07:00
John Firebaugh
da35f64f09 [core] Remove unused ThreadLocal constructor 2017-04-03 14:27:41 +03:00
Thiago Marcos P. Santos
939864cb90 [core] Do not throw on dtors
Fix build on GCC6 + Ubuntu 16.04.
2017-04-01 12:57:06 +03:00
John Firebaugh
1a9bccbb85 [core] Add DDS support for icon-image 2017-03-31 14:17:33 -07:00
John Firebaugh
743d954053 [core] Add DDS support for text-rotate 2017-03-31 13:26:27 -07: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
Bruno de Oliveira Abinader
83d22a5bd4 [core] Value stored to 'format' is never read in Context::drawPixels
Captured via clang-analyzer-deadcode.DeadStores.
2017-03-31 15:51:40 +03: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