Commit Graph

1146 Commits

Author SHA1 Message Date
Bruno de Oliveira Abinader
a744e35f44 [test] Added API.ZoomHistory 2017-07-04 15:50:50 +03:00
Bruno de Oliveira Abinader
9a0c5b4dfa [test] Use test::checkImage in API.RepeatedRender 2017-07-04 15:50:50 +03:00
Bruno de Oliveira Abinader
1df45a5e42 [core] Check if frameZoom is NaN in Transform::flyTo callback 2017-06-28 20:59:56 +03:00
Bruno de Oliveira Abinader
433e54e636 [core] Clamp to scale boundaries in TransformState::setLatLngZoom 2017-06-28 20:59:56 +03:00
Ivo van Dongen
24a00231f3 [core] fix render doesn’t flag style mutation 2017-06-26 16:19:06 -07:00
Thiago Marcos P. Santos
ea34cb5725 [core] Use the ResourceTransform instead of callbacks
Based on the actor model, can be considered safer to use since
we don't need to worry about object lifetime anymore.
2017-06-26 16:32:21 +03:00
John Firebaugh
40e4755621 [core] Move setStyleJSON/URL to Style; add Map::setStyle 2017-06-22 08:04:39 -07:00
John Firebaugh
1520a56813 [all] Promote Style to public API 2017-06-22 08:04:39 -07:00
John Firebaugh
be7e9bbb8d [core] Refactor CustomLayer internals
Move the responsibility for initialization/deinitialization/rendering to RenderCustomLayer. This eliminates special case code from Map and Style.
2017-06-22 08:04:39 -07:00
John Firebaugh
e4201e207c [tests] Add tests for MapObserver::on{WillStart,DidFinish}LoadingMap 2017-06-22 08:04:39 -07:00
Konstantin Käfer
7b90af5d35 [core] always return owning pointers for GeometryTileData::getLayer() 2017-06-21 17:18:08 -07:00
Konstantin Käfer
6ec406b6af [core] add MBGL_CHECK_ERROR to some locations where it was missing 2017-06-21 15:53:51 -07:00
Thiago Marcos P. Santos
7e8bdadb91 [core] Rename ThreadedObject to Thread
Now that the old Thread class is gone, we can give ThreadedObject
a better name.
2017-06-21 14:30:09 +03:00
Thiago Marcos P. Santos
1427628c56 [core] Remove util::Thread
Fixes #6425
2017-06-21 14:30:09 +03:00
Thiago Marcos P. Santos
bfdc4ef646 [tests] Port the ThreadLocalStorage test to the actor model 2017-06-21 14:30:09 +03:00
Thiago Marcos P. Santos
1178256ae9 [tests] Port the AsyncTask test to the actor model 2017-06-21 14:30:09 +03:00
Thiago Marcos P. Santos
495f06ac4d [core] Convert AssetFileSource to ThreadedObject 2017-06-21 14:30:09 +03:00
Thiago Marcos P. Santos
c34d1cfaa7 [tests] Added tests for ThreadedObject 2017-06-21 14:30:09 +03:00
Asheem Mamoowala
a33cad9855 [core] Trigger repaint on source changes 2017-06-19 09:50:08 -07:00
Asheem Mamoowala
7f36e0cf76 [iOS][macOS] Export MGLImageSource, add and update documentation. Use animated ImageSource demo in iOS test app 2017-06-19 09:50:08 -07:00
John Firebaugh
e361bcf668 [core] Fix composite function approximation for non-integer stops 2017-06-16 12:46:12 -07:00
John Firebaugh
fe024bbdf6 [core] Implement "smart setStyle" 2017-06-15 07:43:51 -07:00
John Firebaugh
244819f2da [core] Remove unused binpack.hppp 2017-06-13 10:18:43 -07:00
John Firebaugh
3270440f23 [core] Per-tile glyph/icon atlases 2017-06-13 10:18:43 -07:00
John Firebaugh
0b68731207 [core] Per-bucket icon atlases 2017-06-13 10:18:43 -07:00
John Firebaugh
92252849c1 [core] Per-bucket glyph atlases 2017-06-13 10:18:43 -07:00
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