Bruno de Oliveira Abinader
a05f060153
[core] Added Backend::{assume,set}ScissorTest
2017-06-13 13:37:41 +03:00
Anand Thakker
f59eb822e1
Fix undefined memory access in getCoveringRanges() ( #9227 )
...
* Add simple unit tests for SymbolSizeBinder
* Fix bug in symbol size uniform value calculation
For camera functions we were setting the zoom levels in "covering ranges" to
`[(zoom stop <= tile zoom), (zoom stop >= 1 + tile zoom)]`, but then evaluating
the function at `[tile_zoom, tile_zoom + 1]`.
* Check for it != end() before accessing it->first
2017-06-09 06:28:14 -04:00
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