Commit Graph

91 Commits

Author SHA1 Message Date
Konstantin Käfer
68e032e505 [core] Remove private header includes from CLI utilities 2017-03-28 13:53:19 +02:00
Konstantin Käfer
8e5214144e [core] Ensure that a BackendScope exists when doing GL calls 2017-03-23 14:50:11 -07:00
John Firebaugh
84aac92b4e [test] Increase memory test ceiling slightly 2017-03-08 13:10:38 -08:00
Anand Thakker
f901e776b3 [core] Implement data-driven styling for {text,icon}-{color,opacity,halo-color,halo-blur,halo-width} (#7939)
* Add symbol dds attributes and adapt style code generation

* Update to mapbox-gl-js/master

* Refactor SymbolFeature as a subclass of GeometryTileFeature

Prepares for enabling DDS on symbol paint properties by allowing the
SymbolFeatures, which we keep around after constructing SymbolLayout,
to be used in evaluating data-driven paint properties later in the
layout process.

* Draft approach for splitting icon/text paint properties

The `Program` types are set up to bind GL attributes to each of the
data-driven paint properties specified in the `PaintProperties` type
provided.  Since `SymbolPaintProperties` specifies both `Text*` and
`Icon*` properties, the symbolIcon, symbolIconSDF, and symbolGlyph
programs each attempt to bind roughly double the number of attributes
that they actually need.

This change addresses this by:
- Adding the more specific `IconPaintProperties` and `TextPaintProperties` types, which are subsets of the full `SymbolPaintProperties`.
- The symbol layer continues to use its `SymbolPaintProperties paint` member to track layer property state, but it provides helpers that construct objects of each the specific `{Icon,Text}PaintProperties::Evaluated` type, for use by the painter.
- The three symbol programs instantiate `Program<>` using the appropriate `{Icon,Text}PaintProperties` type.

* check in generated style code

* Populate paint buffers for symbol DDS properties

* Address first round of review comments

* Refactor VectorTile{Layer,Feature} to explicitly share data

* Update submodule
2017-02-28 19:54:24 -08:00
Anand Thakker
4b81c924cc [core] Log Memory.Footprint test results (#8170)
* Log Memory.Footprint test output

* On CI, only run Memory.Footprint test with libjemalloc
2017-02-28 14:11:35 -08:00
Thiago Marcos P. Santos
bc5e9afd0d [tests] Added unit tests for Thread::pause/resume 2017-02-25 14:03:38 +02:00
John Firebaugh
5354572620 [core] Eliminate manual HeadlessBackend activation management 2017-02-20 12:04:21 -08:00
John Firebaugh
94f011895c [core] Make Image safer
Provide Image::copy, which handles copying rectangles from a source to a destination, with thorough bounds checking.

Also fixes an indexing error in SpriteAtlas, where the top row of pixels in a wrapped image was copied from the wrong source row.
2017-02-14 12:29:01 -06:00
Konstantin Käfer
f97e36acc8 [core] add tests for user/password, port, trailing dot, and IPv4/IPv6 address parsing 2017-02-13 17:23:20 +01:00
Thiago Marcos P. Santos
9279b198df [test] Added a test to make sure 404 does not trigger a retry 2017-02-07 12:17:40 +01:00
Dane Springmeyer
09c6934791 regex is no longer used after 6c91c3e 2017-02-02 15:48:00 -06:00
John Firebaugh
141e995806 [core] Add support for data-driven styling 2017-02-02 09:44:42 -08:00
Konstantin Käfer
62ea1f2185 [core] remove trailing whitespace, add trailing newlines, add space after // 2017-01-27 11:44:16 +01:00
John Firebaugh
d076ba0567 [core] Clean up merge_lines.cpp and add bounds checking 2017-01-18 13:38:05 -06:00
Konstantin Käfer
1fc8159481 [test] add tests for paths with leading slashes 2017-01-17 17:38:57 +01:00
Konstantin Käfer
4b0cb858ba [core] include leading slash in URL.path 2017-01-17 17:38:57 +01:00
Ansis Brammanis
38b5cb0c77 [core, ios] replace altitude with fov
ported from -js: eb6c6596c6a7a61363d30356674e0002153b1d19

`altitude` was a terribly-named variable that was used to indirectly
control the fov. This should eliminate some confusion.

`altitude` was equivalent to `cameraToCenterDistance / height`
2016-12-21 15:46:36 -08:00
Konstantin Käfer
77db372123 [core] refactor URL parsing 2016-12-21 13:00:32 +01:00
John Firebaugh
dad57df38e [core] Fix symbol rendering for multipoints
Ports https://github.com/mapbox/mapbox-gl-js/pull/3763 and https://github.com/mapbox/mapbox-gl-js/pull/3806.
2016-12-20 08:30:39 -08:00
Konstantin Käfer
dc1bda435f [core] add util::isURL() for checking whether a string starts with a URL scheme 2016-12-07 10:46:43 +01:00
Chris Loer
5f29c3ba26 [core] Full support for line breaking bidirectional text using ICU bidi functionality.
- Trim whitespace from labels before determining their max-width for alignment.
 - Fix crash on labels that contain lines with only a single character of whitespace.
2016-11-30 11:54:08 -08:00
Konstantin Käfer
e76de05402 [build] move logging to util 2016-11-22 20:58:51 +01:00
Konstantin Käfer
117863f111 [build] move headless rendering files to platform/default 2016-11-22 20:58:51 +01:00
Konstantin Käfer
3bc79e316e [build] move default ThreadPool implementation to platform/default 2016-11-22 20:58:51 +01:00
Chris Loer
d4fc66af39 [core] Add minimal line breaking support for RTL text. 2016-11-17 14:33:03 -08:00
Chris Loer
40b0c8d076 [core] Use UTF-16 instead of UTF-32 for label features to avoid extra conversions and reduce in-memory size.
Continue to use uint32 as glyph ID to maintain Glyph PBF, even though we're only using 16 bits of that uint32.
Use std::codecvt instead of boost::unicode_iterator for UTF8->UTF16 conversions.
2016-11-17 14:33:03 -08:00
Bruno de Oliveira Abinader
ad38ff230b [linux] Ensure EGL uses OpenGL ES 2.0 client API 2016-11-17 01:01:15 +01:00
Bruno de Oliveira Abinader
50f0f919c3 [test] Use shared headless display
Prevents some OpenGL implementations from bailing out.
2016-11-17 01:01:15 +01:00
Bruno de Oliveira Abinader
48a082a91b [linux] Use OSMesa when running Node tests 2016-11-04 18:43:08 +02:00
John Firebaugh
0e57d10d77 [core] Modern C++ bindings for OpenGL 2016-10-28 17:14:01 -07:00
Konstantin Käfer
62b56b799a [core] change std::array<uint16_t, 2> to mbgl::Size 2016-10-27 18:30:58 -07:00
Konstantin Käfer
a4d259c33f [core] move gl::Context to Backend and refactor View 2016-10-25 13:52:36 -07:00
Konstantin Käfer
5cc390d694 [core] separate Backend from View for headless rendering 2016-10-25 13:52:36 -07:00
Mike Morris
817c26111a [core] [node] pass thread pool impl to Map constructor
Updates mbgl::Map constructor usage everywhere

Adds NodeThreadPool implementation using AsyncQueue to call
Nan::AsyncQueueWorker from main thread
2016-10-20 14:37:36 -04:00
Konstantin Käfer
07315711d6 [core] remove Raster object in favor of a more low-level Texture object 2016-10-04 14:00:30 -07:00
Sam Matthews
280fd8c28e [core] Preserve non-access_token query parameters in canonicalizeTileURL 2016-10-03 10:08:17 -07:00
Konstantin Käfer
3f3fc7b772 [test] add .test.cpp suffix to test case files 2016-09-28 16:34:22 +02:00
Konstantin Käfer
44c7e9d05e [core] merge gl::ObjectStore into gl::Context 2016-09-27 11:03:29 -07:00
Konstantin Käfer
ce42d22984 [core] rename gl::Config to gl::Context 2016-09-27 11:03:29 -07:00
Konstantin Käfer
21386b3146 [core] move GL value accessors to gl::value namespace 2016-09-27 11:03:29 -07:00
Konstantin Käfer
c88ce2d51e [core] add ability to render to offscreen textures 2016-09-27 10:42:10 +02:00
Thiago Marcos P. Santos
34e783ed9c [tests] Remove memory fragmentation test (#6226)
It is not reliable.
2016-09-20 14:47:08 +03:00
Jake Pruitt
d169ea55c1 Keep query strings in source URLs (#6182)
Carries over any query strings from mapbox://-prefixed styles urls,
source urls and tile urls to the api.mapbox.com requests.
2016-09-16 14:11:16 -07:00
John Firebaugh
32fac7cbe4 [core] Use optional to represent possible absence, not empty strings 2016-09-16 09:00:55 -07:00
John Firebaugh
1f375581c3 [core] Move {clip,merge}_lines to layout directory 2016-09-16 09:00:54 -07:00
Tobrun
9ef65440b6 [core] [android] - public api configurable base endpoint (#6309)
add runloop to test
2016-09-15 22:01:09 -07:00
Ivo van Dongen
290bd07a92 [core] OnlineFileSource - rate limit 2016-09-13 14:21:37 +02:00
John Firebaugh
030234c7a6 [core] Rework invokeWithCallback so that the callback is last 2016-09-08 16:36:47 -07:00
John Firebaugh
646528bc53 [core] Simplify Thread::invokeSync (#6128) 2016-08-24 09:36:11 -07:00
Thiago Marcos P. Santos
65e2822f21 [Qt] Use Qt text codec instead of nunicode
Remove one extra dependency. Qt has some bugs on the text codec it
seems, but it is also important to keep the behavior aligned with
the client API.
2016-07-22 18:56:30 +03:00