Commit Graph

743 Commits

Author SHA1 Message Date
John Firebaugh
11dd4afc5b [core] Bring optimized animated annotations to Android release branch
Part of #5385
2016-06-17 13:24:22 -04:00
Konstantin Käfer
c60fd0604a [core] TileData::isReady() => TileData::isRenderable() 2016-05-25 21:51:25 +02:00
Konstantin Käfer
e2bcea90fc [core] use #pragma once instead of ifdef include guards 2016-05-25 21:35:37 +02:00
Konstantin Käfer
7272d7c84c [core] move *Observers to their own files 2016-05-23 18:04:31 +02:00
Bruno de Oliveira Abinader
f751d2c465 [core] Avoid NaNs in TransformState unit conversions
Fix cases where e.g. state has either zero width or height, causing the
unit convertion functions would return NaNs.
2016-05-20 16:18:07 +03:00
Konstantin Käfer
8ee222c45e [core] allow creating optional requests
Introduces "optional" requests. These should be fulfilled by the FileSource only there's a low-cost/easy way to obtain the data (e.g. from a local cache). If the data for an optional request cannot be found, it *must* return a Response object with a NotFound error.

Traditional "required" requests still work the same way, with one change: If you set any prior* field in the Resource (i.e. priorModified, priorEtag, or priorExpires), the DefaultFileSource assumes that you already have the cache value and will not consult the cache before performing the request. If a prior cache lookup didn't turn up any data, and you therefore don't have an Etag or Modified value, you can still skip the cache by setting priorExpires. This will of course always result in a non-conditional HTTP request.
2016-05-18 12:40:22 +02:00
Konstantin Käfer
c5fc7f1980 [core] use rapidjson's dtoa implementation to stringify floating point numbers 2016-05-18 12:26:51 +02:00
Konstantin Käfer
002393bdea [core] remove MockView and View dependency in Transform 2016-05-18 12:07:21 +02:00
Konstantin Käfer
cd65a43855 [core] move from microsecond precision timestamp to integer second precision 2016-05-13 17:24:22 +02:00
Bruno de Oliveira Abinader
c13dd32242 [core] Added Viewport mode
Satisfies embedding platforms that requires the viewport coordinate
systems to be set according to its standards e.g. viewport mirrored
vertically.
2016-05-11 15:48:51 +03:00
Konstantin Käfer
7332ae0073 [core] retain tiles differently and remove old TileID class 2016-05-10 14:50:56 +02:00
Konstantin Käfer
ec70125e41 [core] move TileData and dependents to new *TileID classes 2016-05-10 14:50:56 +02:00
Konstantin Käfer
dde59eaf76 [core] move Painter and dependents to new *TileID classes 2016-05-10 14:50:56 +02:00
Konstantin Käfer
5b640fb446 [core] add algorithm for generating clip IDs based on the new TileID classes 2016-05-10 14:50:56 +02:00
Konstantin Käfer
ecc8e018fa [core] add algorithm for detecting whether an ordered map contains covering children 2016-05-10 14:50:56 +02:00
Konstantin Käfer
82ebcfa14e [core] introduce three distinct TileID types
* CanonicalTileID has z, x, and y, with x/y being within the bounds z defines. z can be anything from 0-32.
* OverscaledTileID is composed of a z value, and a canonical tile. The z value indicates the zoom level the tile is intended for. It is primarily used for indexing overscaled data tiles.
* UnwrappedTileID is composed of a wrap value, and a canonical tile. The wrap value is used for representing tiles to the left and right of the main (0/0/0 based) tile pyramid. It is primarily used for indicating the position a tile should be rendered at.
2016-05-10 14:50:56 +02:00
John Firebaugh
59a7fbf8e4 [core] Implement has/!has filters (#4952) 2016-05-05 14:30:37 -07:00
John Firebaugh
9330d674a9 [core] Use geometry.hpp's point 2016-05-05 11:30:53 -07:00
John Firebaugh
ce2a06e677 [core] Privatize math.hpp and vec.hpp 2016-05-05 11:16:57 -07:00
Thiago Marcos P. Santos
a818917714 [Qt] Make it possible to disable libwebp and libjpeg-turbo at build time
Pull less dependencies.
2016-05-05 18:47:14 +03:00
John Firebaugh
a64fe5062f [core] Simplify FilterEvaluator and fix crash
Previous implementation was assigning a temporary to FilterEvaluator<T>::extractor.
2016-05-04 09:56:34 +03:00
Dane Springmeyer
c82b02c508 [core] port to protozero (#4906) 2016-05-03 13:57:17 -07:00
John Firebaugh
7800445c85 [core] Use gyp's direct_dependent_settings to propagate variant cflags 2016-05-02 13:12:24 -07:00
Ansis Brammanis
61d14089e0 [core] implement queryRenderedFeatures 2016-04-29 12:00:24 -07:00
Molly Lloyd
c86f558e9d [core] port outlinepattern for fill-pattern anti-aliasing from gl-js to native
add outlinepattern shader class to relevant files

add outlinepattern code to painter_fill.cpp

add outlinepattern code to fill_bucket

refactor painter_fill, fix tests

fix merge conflicts and setDepthSublayer

update render test to no antialiasing so travis will be happy
2016-04-28 17:13:20 -07:00
John Firebaugh
da78422c5c [core] Prepare Filter for public API (#4900) 2016-04-28 16:33:09 -07:00
John Firebaugh
b39f22e6b6 [core] Refactor getRegionCompletedStatus; add completedTileCount; add tests 2016-04-27 13:41:29 -07:00
John Firebaugh
e916cc811c [tests] Rationalize test fixtures (#4834)
Place them in a directory corresponding to the test .cpp file name.
2016-04-25 14:51:27 -07:00
John Firebaugh
c4089b60bc [core] Extract Function::evaluation to a separate class (#4811)
This allows the Function<Faded<T>> partial specialization to be eliminated, giving all property functions a consistent storage type.
2016-04-25 09:51:47 -07:00
John Firebaugh
5939dd5b41 [core] Use the proper type for font stacks 2016-04-22 15:53:18 -07:00
John Firebaugh
0c5d805bf9 [core] FontStack ⇢ GlyphSet (#4803)
A font stack is an array of font names. This is not that.
2016-04-22 13:28:03 -07:00
Bruno de Oliveira Abinader
4e04a107e8 Revert "[core] Do not clear custom layers upon style switch"
This reverts commit 8ec875b87c.
2016-04-21 20:15:18 +03:00
Bruno de Oliveira Abinader
8ec875b87c [core] Do not clear custom layers upon style switch 2016-04-21 15:09:54 +03:00
Thiago Marcos P. Santos
a0146e372f [tests] Accept [C|c]onnect as error message
Qt will spit "Connect" instead of "connect"
2016-04-20 20:55:51 +03:00
Minh Nguyễn
da88060c5c [ios, osx] Fixed project upgrade warnings
Fixed project upgrade warnings in projects managed by gyp.
2016-04-16 22:46:25 -07:00
John Firebaugh
2fcfc2a939 [ios] Don't try to launch test server (#4719) 2016-04-15 13:18:31 -07:00
John Firebaugh
1ee0055710 [core] Eliminate MapData 2016-04-15 09:56:18 -07:00
John Firebaugh
ed489e7649 [core] Remove MapData dependency from Style 2016-04-15 09:56:18 -07:00
John Firebaugh
ce4270b01c [core] Convert MapContext to Map::Impl; eliminate indirection 2016-04-15 09:56:18 -07:00
John Firebaugh
6e78eabfff [core] Clean up ThreadContext vestiges 2016-04-15 09:56:18 -07:00
John Firebaugh
b55692132a [tests] Use StubFileSource where a real FileSource is not required 2016-04-14 14:18:19 -07:00
John Firebaugh
7de9e196d7 [tests] Rationalize storage tests
Properly divide Storage tests into DefaultFileSource, OnlineFileSource, and HTTPFileSource tests.
2016-04-14 14:18:19 -07:00
John Firebaugh
6d88a23a60 [core] Remove internal threading from OnlineFileRequest
There's no need to do the work that OnlineFileRequest does on a separate thread from the DefaultFileSource thread, and having AsyncTasks proxy to other tasks across a thread boundary adds needless complexity.
2016-04-14 14:18:19 -07:00
John Firebaugh
204c7fee03 [core] Render from the main thread
Do not create a thread for the MapContext anymore.
2016-04-14 13:44:08 -07:00
John Firebaugh
18d8e80f52 [core] Demote "Unable to make space for entry" message from Warning to Debug (#4708) 2016-04-14 13:43:24 -07:00
Konstantin Käfer
618b9f1dbf [darwin] use CFRunLoopSourceInvalidate() to also cancel any pending AsyncTask invocations 2016-04-12 12:46:59 -07:00
John Firebaugh
1209ae4213 [test] This "very unlikely" condition in fact happens regularly in CI (#4679) 2016-04-11 16:31:56 -07:00
John Firebaugh
1c7c5af69d [ios] Run core unit tests in CI 2016-04-11 11:00:34 -07:00
John Firebaugh
f964e40e7e [build] Refactor and simplify build system
* Main gyp files are now standardized as platform/<platform>/platform.gyp.
* Each platform gyp file defines appropriate loop_lib and headless_lib variables.
* Each platform gyp file includes mbgl.gypi, which defines base targets which may be useful to all platforms.
* CI targets are consistent across platforms: `make $(PLATFORM) && make test-$(PLATFORM)`.
* Renamed the "linux" test app to "glfw". It's now built in OS X CI.
* Android build flakiness is fixed.
* iOS CI builds the bench and iosapp targets.
* Mesa version is now in one place.
* CI scripts use bash "strict mode" and correct error handling.
* All build output goes to the build directory.
* Removed vestigial iOS/OS X/Android Travis scripts.
2016-04-07 18:01:02 -07:00
Ansis Brammanis
415ea295c5 [core] make sprite metrics checking stricter
- check that sprite metrics are within the bounds of the sprite. fix #714
- make sprite metrics problems Errors instead of Warnings
- check for negative image width, height
2016-03-31 10:27:42 -07:00