Commit Graph

679 Commits

Author SHA1 Message Date
Konstantin Käfer
bc41d3cf6d don't restrict pixelRatio in SpriteStore
this is required so that devices that aren't using 1x or 2x (like the iPhone 6 Plus with a pixelRatio of 3x) still show icons, albeit bilinearly scaled to the correct size in the SpriteAtlas
2015-07-08 19:46:01 +02:00
Konstantin Käfer
4f48874ef0 we're no longer throwing exceptions when loading invalid sprite resources 2015-07-08 19:46:01 +02:00
Konstantin Käfer
afaf74e41a use SpriteStore from the SpriteAtlas 2015-07-08 19:46:00 +02:00
Konstantin Käfer
aa2dcf1968 disallow changing an existing Sprite's size 2015-07-08 19:46:00 +02:00
Konstantin Käfer
086e72afe3 use a 64 bit CRC value instead of std::hash 2015-07-08 19:46:00 +02:00
Konstantin Käfer
d880507f84 add missing headers 2015-07-08 19:46:00 +02:00
Konstantin Käfer
33a3388ccd add API for adding multiple sprites at once 2015-07-08 19:46:00 +02:00
Konstantin Käfer
54aaa43b6d add test for trying to add mismatched SpriteImage 2015-07-08 19:46:00 +02:00
Konstantin Käfer
04d57b8ef2 check for presence of Sprite creation warnings 2015-07-08 19:45:59 +02:00
Konstantin Käfer
a96a8fef76 add a separate SpriteParser object
transforms a JSON and an associated PNG file into individual SpriteImage objects that can be inserted into a SpriteStore
2015-07-08 19:45:59 +02:00
Konstantin Käfer
a68b47b969 ratio => pixelRatio 2015-07-08 19:45:59 +02:00
Konstantin Käfer
9991f9da54 add RAII-style FixtureLog 2015-07-08 19:45:59 +02:00
Konstantin Käfer
7f705da564 Sprite store API 2015-07-08 19:45:59 +02:00
Konstantin Käfer
675ddddee7 Make pixelRatio constant across a Map object lifetime
also moves framebuffer size out of TransformState into its own object
2015-07-08 10:40:05 +02:00
Konstantin Käfer
3ea640e6e3 run the Assert.Always test first by reordering the symbols 2015-07-06 16:44:48 +02:00
Thiago Marcos P. Santos
ec1b4c43fd Do not force uv_loop_t as the first parameter for a threaded object ctor 2015-07-06 16:01:59 +03:00
Thiago Marcos P. Santos
f74bc9d8ce Update the unit tests to check for raster tiles failures 2015-07-02 23:21:42 +03:00
Thiago Marcos P. Santos
e4cc06b798 Add test fixtures for testing raster tiles
Add a raster source for the style we use for testing that will
force requests for raster tiles.
2015-07-02 23:21:42 +03:00
John Firebaugh
e466348dea Remove unnecessary use of optional 2015-07-01 17:12:21 -07:00
John Firebaugh
fc64e97bce Simplify RunLoop
Instead of transforming between return value and callback, pass
the wrapped callback on to the invoked function as the last argument.

This eliminates the need for multiple invokeWithArgument overloads
and permits invoked functions to be asynchronous.
2015-07-01 16:12:12 -07:00
Thiago Marcos P. Santos
d30fce5f7d Catch exceptions when parsing tile PBFs
Also improved the error message and updated the test case.
2015-07-01 15:21:10 -07:00
John Firebaugh
3670a78569 Convert Worker tests to Thread tests 2015-07-01 15:21:10 -07:00
John Firebaugh
5fadda53e5 Move WorkerTask functionality into RunLoop core
As a byproduct, this makes FileCache get requests properly
cancelable.
2015-07-01 15:21:10 -07:00
John Firebaugh
923ea1456a Update test suite 2015-06-29 18:04:17 -07:00
John Firebaugh
f675d23314 Update test suite 2015-06-29 10:41:02 -07:00
John Firebaugh
1007410cda Update test suite 2015-06-29 10:21:37 -07:00
Konstantin Käfer
45d0cbb4c7 add assert_always() macro for release build assertions 2015-06-29 11:32:19 +02:00
Minh Nguyễn
ac2ad993a5 Fit to coordinates
Whoever determined the boundaries of the District of Columbia did not have fit-to-bounds implementations in mind. With this change, shapes that are not unrotated rectangles fit much, much better.
2015-06-26 21:46:15 -07:00
John Firebaugh
e6a576f6eb currentState() ⇢ getState() 2015-06-26 10:32:07 -07:00
John Firebaugh
07a6d2ef64 Move Transform from MapData to Map
Pass current state to MapContext where needed. Remove mutex from
Transform.
2015-06-26 10:32:07 -07:00
Konstantin Käfer
84e2ea886d drive map rendering from main thread 2015-06-26 10:32:06 -07:00
Minh Nguyễn
1d11624efd Test fit to bounds; added MGLCoordinateBounds functions
Added a bunch of functions to work with MGLCoordinateBounds in a separate header analogous to MKGeometry.h. Added resolution-independent tests for common fit to bounds scenarios.
2015-06-25 21:54:57 -07:00
Minh Nguyễn
fc209e31c5 Reversed direction to be clockwise
For consistency with MapKit, the Google Maps SDK, and these methods’ own documentation.

Fixes #1780.
2015-06-25 10:20:48 -07:00
Thiago Marcos P. Santos
7a30a0d316 Be more strict on escaping at the test regex
Apparently libc++ is more strict about escaping
than libstdc++.

Also, restrict the set of tiles we expect to the
only possible tiles.
2015-06-25 18:13:01 +03:00
Thiago Marcos P. Santos
07086981fe Get rid of Environment et al.
mbgl::Environment is not used anymore and can
removed.
2015-06-25 16:26:22 +03:00
Thiago Marcos P. Santos
be4cb6786b Make the FileSource available from the ThreadContext
For now we set the FileSource for the Worker context
but in the future after fixing #1664 we can assert()
that FileSource are set only for the Map thread context.
2015-06-25 16:26:21 +03:00
Thiago Marcos P. Santos
57ddb386d8 Add unit tests for ThreadContext 2015-06-25 16:26:21 +03:00
Thiago Marcos P. Santos
a8b6b67dfe Introduce the ThreadContext
mbgl::Thread will keep a ThreadContext for each running instance
in a thread_local so we don't need to lookup a man in the Environment
every time we need some info about the current thread.

This patch is moving the ::currentlyOn check used on Debug build from
the Environment class to the ThreadContext.
2015-06-25 16:26:21 +03:00
John Firebaugh
4ba78b6bcf Transform needs only a single TransformState 2015-06-24 13:08:36 -07:00
Bruno de Oliveira Abinader
7bfae2a1a5 Fix result value from parseProperty when T = std::array<float, 2> 2015-06-22 22:46:37 +03:00
Thiago Marcos P. Santos
43d69b6a65 Fix resource loading flaky test
When testing failed vector tiles requests, we check for error messages
of a very specific tiles, but mbgl will requests 4 tiles.

We might get the error callback before the tile we are checking for
reports error, so the test fails.

Now we use a regex to match the log message we are looking for.
2015-06-22 22:00:24 +03:00
Thiago Marcos P. Santos
ac4179e7de Use a pipe() to synchronize the server initialization
As the signals are intercepted by debuggers.
2015-06-18 15:48:39 +03:00
Thiago Marcos P. Santos
22acc2f14c Remove cleanup call on the ResourceLoading test case
We should not be able to create GL objects with a no-op view, so
there is nothing to cleanup.
2015-06-18 14:00:46 +03:00
Thiago Marcos P. Santos
4623baa1a5 Add tests for renderStill() misuse 2015-06-16 14:09:51 +03:00
Jason Wray
e75e538ddb Add location tests for iOS
- Adds testDelegatesStartStopLocatingUser: Tests mapViewWillStartLocatingUser and mapViewDidStopLocatingUser delegate methods
- Adds testUserTrackingModeFollow
- Adds testUserTrackingModeFollowWithHeading (disabled because of library bug)

Fakes user location via swizzled CLLocationManager and hard-coded mock coordinates and heading.
2015-06-15 16:42:32 -07:00
Ansis Brammanis
7dc880080e update test suite to reenable symbol tests 2015-06-11 18:48:07 -04:00
Konstantin Käfer
f85889dc75 allow constructing LatLng/LatLngBounds objects from TileIDs 2015-06-08 16:13:37 -04:00
Thiago Marcos P. Santos
14083700e5 Test Map object destruction with pending requests
Test whenever destroying a Map object with requests pending
works and is done quickly.

The test injects artificial delays in selected requests and
tries to destroy the Map object afterwards.

Currently glyph requests are skipped because there is a bug
being worked on in a different issue.
2015-06-04 14:44:34 +03:00
Thiago Marcos P. Santos
b09df7acb5 Cleanup the MapContext before the util::Thread destructor
The util::Thread will call the stop() method of the MapContext's RunLoop
which will wait for the pending tasks tied to it to complete.

If we have a request that is timeout'ing, this could mean a really long
wait. Instead, we now send a cleanup message that will reset all the
attributes first (canceling the pending requests) so the the MapContext
gets destructed quickly.
2015-06-04 14:44:34 +03:00
Ansis Brammanis
9c03b396c0 Merge remote-tracking branch 'origin/master' into HEAD
Conflicts:
	src/mbgl/renderer/painter_fill.cpp
2015-06-03 19:20:41 -04:00