John Firebaugh
9dfc2d924d
[core] Collection-level immutability
...
Introduce a second level of immutability, over each of the collections held by a style: sources, images, and layers. Tracking immutability at this level allows us to short-circuit significant portions of the RenderStyle update logic via a simple equality check, greatly improving performance.
2017-06-05 19:38:08 -07:00
John Firebaugh
f983c2716b
[core] Fix several bugs in AnnotationManager
2017-06-05 19:38:08 -07:00
John Firebaugh
74af076d40
[core] Split RenderStyle from Style
2017-06-05 19:38:08 -07:00
John Firebaugh
1cf46d93b9
[core] Simplify LayerObserver API
2017-06-05 19:38:08 -07:00
John Firebaugh
591af0021b
[core] Refactor RenderSource updates
...
* Eliminate updateBatch in favor of diffing layers and detecting changes to properties upon which layout depends.
* Replace RenderSource::{update,remove,invalidate,reload}Tiles with a single update method
* Replace TilePyramid::{update,remove,invalidate,reload}Tiles with a single update method
* Remove Style& dependency TODO from GeometryTile and TileParameters
2017-06-05 19:38:08 -07:00
John Firebaugh
32589c271c
[core] Thread Style parameter through queryRenderedFeatures
2017-06-05 19:38:08 -07:00
Asheem Mamoowala
5ff9d6e31b
[core] Reuse RasterBucket for ImageSource
2017-06-01 15:38:01 -07:00
Asheem Mamoowala
8b37a0704c
[core] Use fixed-size std::array for ImageSource coordinates
2017-06-01 15:38:01 -07:00
Asheem Mamoowala
aa6647e910
[core] Offline support for Image Sources
2017-06-01 15:38:01 -07:00
Asheem Mamoowala
c0c1028dcf
[core] Add toDouble Conversion method for correctly parsing Lat Lng coordinates
2017-06-01 15:38:01 -07:00
Asheem Mamoowala
7a010df956
[core] Add ImageSource support to style parsers
2017-06-01 15:38:01 -07:00
Bruno de Oliveira Abinader
99cfbacdfb
[core] Make TransformState LatLngBounds optional
2017-06-01 17:04:09 +03:00
John Firebaugh
6be6263ebf
[core] Replace inline SpriteAtlas updates with diffing
2017-05-30 11:34:13 -07:00
Ivo van Dongen
005dc6d122
[core] check source usage before remove
2017-05-30 13:07:03 +03:00
Ivo van Dongen
b353f45fed
[core] add test to demonstrate waiting threads in mailbox::receive won't crash on self-closing
2017-05-27 09:25:03 +03:00
Ivo van Dongen
b608d85db7
[core] allow self closing mailbox/actor
2017-05-27 09:25:03 +03:00
John Firebaugh
aa216d0025
[core] Don't use a separate SpriteAtlas for annotation images
...
Instead, just add them to the Style as needed. Includes changes from #8905 and takes care to avoid regressing #3817 .
2017-05-26 11:21:56 -07:00
John Firebaugh
6cf9d5cfbf
[test] Lower memory ceiling
...
We gained a lot of overhead by reducing the initial SpriteAtlas size.
2017-05-26 11:21:56 -07:00
John Firebaugh
d766af44c8
[core] Auto-growable SpriteAtlas using shelf-pack
2017-05-26 11:21:56 -07:00
John Firebaugh
e4e08aca79
[tests] Add test for calling addAnnotationImage with an existing ID
2017-05-26 11:21:56 -07:00
John Firebaugh
2c8343aa82
[core] Block in Mailbox::close() until neither receive nor push are in progress
...
Otherwise, an ActorRef that's in the process of sending a message could attempt to access an invalid Scheduler reference:
Thread 1 Thread 2
--------------------------------------------------
Scheduler::Scheduler
Actor::Actor
weakMailbox.lock()
Actor::~Actor
Scheduler::~Scheduler
mailbox->push()
scheduler.schedule() 💣
2017-05-24 08:19:19 -07:00
John Firebaugh
1759603e12
[core] Simplify and fix sprite atlas coordinate calculations
...
* Always return image metrics exclusive of padding
* Work with integer coordinates whenever possible
* Eliminate redundant SpriteAtlasElement members
* Fix asymmetric re-padding in getIconQuad when pixelRatio != 1
* Add explanatory comments
2017-05-23 12:59:27 -07:00
John Firebaugh
72b13cef6a
[core] Remove unnecessary optionals in PositionedIcon
...
Lack of icon is already checked at the call site of shapeIcon; no need to check hasArea() here.
2017-05-23 12:59:27 -07:00
John Firebaugh
1f921299b0
[core] Make ExponentialStops behavior consistent; add tests
2017-05-19 11:48:45 -07:00
Konstantin Käfer
d664a3e05e
[core] leave Image objects in a valid state after premultiply/unpremultiply
2017-05-19 14:13:07 +02:00
John Firebaugh
e7154adac3
[core] Remove redundant SpriteAtlasElement members
2017-05-17 11:23:47 -07:00
John Firebaugh
786707649a
[core] Remove ambiguous get{Width,Height} accessors from style::Image
2017-05-17 11:23:47 -07:00
John Firebaugh
63558e06ad
[core] Remove obsolete modular arithmetic on atlas coordinates
...
We switched to 16-bit coordinates in attributes in b0cb8715ed , so there's no longer any reason to require that they are divisible by four.
2017-05-17 09:36:43 -07:00
John Firebaugh
4c26759b69
[core] Remove WorkQueue
...
No longer used as of 5cdf838a38 .
2017-05-17 09:28:26 -07:00
John Firebaugh
cc1ea759a6
[core, node, darwin, android, qt] Make image ID part of Image
...
More like Source and Layer.
2017-05-16 12:26:35 -07:00
John Firebaugh
9eba2a66d1
[core, node, darwin, qt] Remove support for paint classes
2017-05-15 09:45:55 -07:00
John Firebaugh
da4d735e2c
[core] Unify {Paint,Layout,Light}Properties
2017-05-15 09:45:55 -07:00
John Firebaugh
2690a65f8d
[core] *LayerImpl::cascading ⇢ paint
2017-05-15 09:45:55 -07:00
John Firebaugh
8fb1a81c46
[core] Immutable<Impl> for Image
2017-05-15 08:20:18 -07:00
John Firebaugh
b3ec985568
[core] Trim StyleObserver interface
...
It doesn't need to inherit from SpriteLoaderObserver and GlyphAtlasObserver.
2017-05-13 09:28:53 -07:00
Asheem Mamoowala
84e39611a0
[core] Move renderer/* files into sub-folders ( #8983 )
...
Move renderer/* files into sub-folders
2017-05-12 17:07:48 -07:00
Ivo van Dongen
cc9f040a2d
[core] Split style image collection from SpriteAtlas
2017-05-12 13:19:00 -07:00
John Firebaugh
095dc7b167
[core] Replace createRender{Source,Layer} with Render{Source,Layer}::create
...
* Eliminates the need for EnableImmutableFromThis
* Eliminates the dependency of {Source,Layer}::Impl on corresponding Render class (circular dependency)
2017-05-12 11:26:27 -07:00
John Firebaugh
c2a5894f2d
[core] Immutable Impls
2017-05-12 11:26:27 -07:00
Bruno de Oliveira Abinader
c6eb4afe0e
[tidy] modernize-deprecated-headers
2017-05-12 18:07:36 +03:00
Bruno de Oliveira Abinader
37046938da
[tidy] modernize-raw-string-literal
2017-05-12 18:07:36 +03:00
Bruno de Oliveira Abinader
870067360f
[tidy] modernize-pass-by-value
2017-05-12 18:07:36 +03:00
Bruno de Oliveira Abinader
baeaad83a3
[tidy] modernize-use-emplace
2017-05-12 18:07:36 +03:00
Bruno de Oliveira Abinader
bd7fb64bae
[tidy] modernize-use-nullptr
2017-05-12 18:07:36 +03:00
Bruno de Oliveira Abinader
24137c4812
[tidy] modernize-use-default-member-init
2017-05-12 18:07:36 +03:00
Bruno de Oliveira Abinader
25b2250c32
[tidy] modernize-use-using
2017-05-12 18:07:36 +03:00
Bruno de Oliveira Abinader
f709d7b055
[tidy] llvm-namespace-comment
2017-05-12 18:07:36 +03:00
Bruno de Oliveira Abinader
773659430d
[tidy] Added test/.clang-tidy
...
Disabled some clang-tidy tests that were erroneously catching errors
from gtest header macros.
2017-05-12 18:07:36 +03:00
Minh Nguyễn
ed54849e99
[core, android, ios, macos, qt] v10 default styles
...
Upgraded from v9 default styles to v10 wherever the developer expects to get the latest and greatest, as well as in a couple tests where it may be beneficial to ensure that we can handle a two-digit version number in the style URL.
2017-05-11 18:57:39 -07:00
John Firebaugh
c130d470a1
[core] Remove StyleSourcedAnnotation support
...
The functionality this provided has been subsumed by the runtime styling API.
2017-05-10 14:22:01 -07:00