Commit Graph

3768 Commits

Author SHA1 Message Date
Bruno de Oliveira Abinader
20ca1a0418 [core] Cleanup Transform, use {jump,ease}To() instead 2018-11-27 21:38:36 +02:00
Bruno de Oliveira Abinader
e8f7866e9e [core] Remove error-prone setlatLng overload 2018-11-27 21:38:36 +02:00
Mikhail Pozdnyakov
361982fef8 [core][Android][Darwin] LayerManager creates RenderLayer instances
`LayerManager` is now responsible for `RenderLayer` instances creation,
so that there is a single entry point for creating of objects, which
correspond to a certain layer type.

The `LayerType type` field is dropped from `Layer::Impl`.
2018-11-27 18:10:21 +02:00
Bruno de Oliveira Abinader
52cce7925d [core] Camera center and anchor points are mutually exclusive 2018-11-26 17:15:51 +02:00
Bruno de Oliveira Abinader
82be3104cd [core] Fix VectorTileFeature::getValue() semantics after geometry@v1.0.0 2018-11-26 12:43:13 +02:00
Minh Nguyễn
7d5be980e2 [core] Fixed {prefix} evaluation
This appears to have been an attempt to use the std::string fill constructor, but it ended up creating a one-character-long string and attempting to overwrite the null terminator.
2018-11-21 09:54:05 -08:00
Bruno de Oliveira Abinader
594d2074a3 [core] Let placement transitions use the transition duration, if set, and allow disabling them entirely 2018-11-21 16:43:20 +02:00
Bruno de Oliveira Abinader
5fb0b0c1bc [core] Let property evaluation transitions use the transition duration, if set 2018-11-21 16:43:20 +02:00
Mikhail Pozdnyakov
8ac87ec5cb Refactor util::fontStacks()
So that it does not downcast `Layer::Impl` instances.
Also, an unneeded `std::vector` construction was removed from
`Parser::fontStacks()`.
2018-11-19 17:16:54 +02:00
Alexander Shalamov
9592e61288 [core] Construct RenderItem objects in-place and remove unused headers 2018-11-19 14:06:21 +02:00
Alexander Shalamov
e59110d586 [core] Remove RenderLayer's is<> as<> methods 2018-11-19 14:06:21 +02:00
Alexander Shalamov
77911f1cc9 [core] Replace RenderSymbolLayer downcast with symbol interface 2018-11-19 14:06:21 +02:00
Alexander Shalamov
20c471669c [core] Remove casts in buckets 2018-11-19 14:06:21 +02:00
Alexander Shalamov
eb170b250a [core] Add use LayerTypeInfo::Layout for the layers that require Layout 2018-11-19 14:06:21 +02:00
Alexander Shalamov
05d5edfa74 [core] Remove casts where expected type is part of the contract 2018-11-19 14:06:21 +02:00
Alexander Shalamov
767745e8b8 [core] Remove casts for Custom and Background render layers 2018-11-19 14:06:21 +02:00
Alexander Shalamov
a7274f66d0 [core] Move layer specific color ramp updates behind common update() method 2018-11-19 14:06:21 +02:00
Alexander Shalamov
f6ad5f378e [core] Move RenderTile filtering / sorting logic to render layers 2018-11-19 14:06:21 +02:00
Alexander Shalamov
006ee8b003 [core] Move markContextDestroyed() to the RenderLayer 2018-11-19 14:06:21 +02:00
Alexander Shalamov
44906b1ff3 [core] Remove downcasts for layers that require 3D render pass 2018-11-19 14:06:21 +02:00
Alexander Shalamov
527851e2aa [core] Add static layer properties to mbgl::style::LayerTypeInfo 2018-11-19 14:06:21 +02:00
Huyen Chau Nguyen
9a606caf0b [core] define number of concurrent downloads in online file source variable 2018-11-15 12:19:48 -08:00
Mikhail Pozdnyakov
33818233cf [core][android] Introduce mbgl::style::LayerTypeInfo
The `LayerTypeInfo` contains static meta data about certain layer type.

Each layer module should have a single immutable `LayerTypeInfo` instance
for the represented layer type. Both `LayerImpl` and `LayerFactory` from the
module always refer to the same `LayerTypeInfo` instance, so address of this
instance can be used as a layer module Id during the process life time.
2018-11-15 18:32:31 +02:00
Bruno de Oliveira Abinader
db2e1b2e5f [core] Add RendererState::{pixelForLatLng,latLngForPixel} 2018-11-14 12:22:22 +02:00
Bruno de Oliveira Abinader
bf8b24fa8d [build] Update to geometry v1.0.0 2018-11-13 17:28:26 +02:00
Mikhail Pozdnyakov
5a70f2b150 noexcept specifier for layer factory methods 2018-11-07 16:34:20 +02:00
Mikhail Pozdnyakov
ffdeef3a26 Refer corresponding LayerFactory instance from the Layer::Impl 2018-11-07 16:34:20 +02:00
Alexander Shalamov
f2d9d92d26 [core] Change toLowerHex to produce lower hex sequences 2018-11-07 11:29:40 +02:00
Thiago Marcos P. Santos
7ff85374a7 [build] Remove #pragma diagnostic for boost
Boost is now included as a system header and the compiler
should ignore it when issuing warnings.
2018-11-01 16:29:37 +02:00
Mikhail Pozdnyakov
cfcb53128b Introduce the style::Layer factory classes
This patch introduces the initial implementation of
- A `LayerFactory` abstract class that creates `style::Layer` instances of
  a certain layer type (line, hillshade, round, ..)
- A singleton `LayerManager` class, which is responsible for initializing
  the `LayerFactory` instances and forwarding the `create()` calls to the
  corresponding factory.
2018-10-31 18:05:01 +02:00
Mikhail Pozdnyakov
56808731b6 Remove style::Layer::is()/as() 2018-10-31 11:22:46 +02:00
Mikhail Pozdnyakov
7a9461a8d4 Consolidate style::Layer properties API
The `style::Layer` class now exposes all the properties contained at `style::LayerImpl`.
This allowed to drop `style::Layer::accept()` method usage, avoid the repeated generated code
and thus save some binary size.

This patch is a part of the layers modularization effort.
2018-10-25 22:42:43 +03:00
Bruno de Oliveira Abinader
55710cbb67 [core] Added RendererState::has{Image,Layer,Source} 2018-10-25 16:23:40 +03:00
Huyen Chau Nguyen
1e3a744d22 [core] add priorities to resources
- priorities can be low or regular
- offline downloads should have low priority to not throttle "regular requests"
2018-10-23 12:47:10 +02:00
Konstantin Käfer
9afe75aa76 [core] address nits 2018-10-23 12:23:40 +02:00
Konstantin Käfer
7692be5d15 [core] refactor util::toString to use RapidJSON's stringification 2018-10-23 12:23:40 +02:00
Konstantin Käfer
59c5754fa8 [core] remove special case for Windows 2018-10-23 12:23:40 +02:00
Konstantin Käfer
8bf66ef7a7 [core] remove some uses of <iostream> and <sstream> 2018-10-23 12:23:40 +02:00
Konstantin Käfer
70d5972e10 [core] don't use <boost/functional/hash.hpp> to avoid <locale> include 2018-10-23 12:23:40 +02:00
Konstantin Käfer
282c71e8e9 [core] unify UTF-8/16 conversion to <boost/locale/encoding_utf.hpp> 2018-10-23 12:23:40 +02:00
Konstantin Käfer
729eeeb3f8 [core] remove use of <boost/algorithm/string.hpp> 2018-10-23 12:23:40 +02:00
Konstantin Käfer
c87c25cc84 [core] don't use <sstream> and <iomanip> for string construction 2018-10-23 12:23:40 +02:00
Konstantin Käfer
eb828dfd29 [core] add the ability to stringy numbers as hex 2018-10-23 12:23:40 +02:00
Konstantin Käfer
43687b4781 [core] add ability to stringify doubles that are integer with and without trailing ".0" 2018-10-23 12:23:40 +02:00
Konstantin Käfer
decbde1616 [core] deduplicate dtoa() from RapidJSON and add tests 2018-10-23 12:23:40 +02:00
Bruno de Oliveira Abinader
ea51b11dcc [core] Introduce mbgl::RendererState 2018-10-19 12:05:16 +02:00
Bruno de Oliveira Abinader
b94be6e68f [core] Add TransformState::getCameraOptions() 2018-10-19 12:05:16 +02:00
Bruno de Oliveira Abinader
98c36fc06e [core] CameraOptions receives and outputs angle and pitch as degrees, not radians 2018-10-19 12:05:16 +02:00
Ryan Hamley
0c6b1629ef [Core] Ensure queryRenderedFeatures accounts for icon-rotate (#13105) 2018-10-18 12:14:52 -07:00
Chris Loer
d4c9b21bae [core, tests] Don't break text-field support "identity functions" 2018-10-15 13:15:46 -07:00