Commit Graph

201 Commits

Author SHA1 Message Date
Thiago Marcos P. Santos
48ddfef89f [core] Make sure ThreadLocal will not own the pointer it is managing
ThreadLocal should not own the pointer it is managing because
the use case in Mapbox GL is to keep a pointer to a stack allocated
object, like:

```
MyObject foo;
threadLocal.set(&foo);
```

To keep consistency, it is required that we clear the managed
object before ThreadLocal gets destroyed by setting it to `nullptr`.
2017-07-14 15:18:54 +03:00
Thiago Marcos P. Santos
ee32df4687 [Qt] Fix docs warnings 2017-07-13 14:59:45 +03:00
Thiago Marcos P. Santos
bb1a209a63 [Qt] Share the DefaultFileSource for all QMapboxGL instances
Fix issues of concurrent access to the sqlite cache.

Fixes #9108.
2017-07-13 14:59:45 +03:00
Bruno de Oliveira Abinader
e99e167848 [Qt] Do not return a valid mbgl::Annotation if conversion fails 2017-07-12 20:42:29 +03:00
Bruno de Oliveira Abinader
3afbfa2de7 [core] GCC 4.9 shadow member warnings 2017-07-12 20:42:29 +03:00
Thiago Marcos P. Santos
65118296eb [Qt] Add a no-op thread helper for other platforms 2017-07-07 18:10:06 +03:00
Thiago Marcos P. Santos
a24d89d9f8 [Qt] Use QThreadStorage for thread local
Portable.
2017-07-07 18:10:06 +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
Bruno de Oliveira Abinader
28eb2e6354 [core] Added Backend::{assume,set}Viewport 2017-06-13 13:37:41 +03:00
Asheem Mamoowala
c0c1028dcf [core] Add toDouble Conversion method for correctly parsing Lat Lng coordinates 2017-06-01 15:38:01 -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
244fdaa405 [qt] Un-deprecate QMapboxGL::setTransitionOptions
It's still relevant for runtime-styling driven paint property changes.
2017-05-15 09:45:55 -07:00
John Firebaugh
9eba2a66d1 [core, node, darwin, qt] Remove support for paint classes 2017-05-15 09:45:55 -07:00
Thiago Marcos P. Santos
c307273dae [Qt] Make it possible to add a layer before another layer 2017-05-11 20:28:18 +03:00
John Firebaugh
c130d470a1 [core] Remove StyleSourcedAnnotation support
The functionality this provided has been subsumed by the runtime styling API.
2017-05-10 14:22:01 -07:00
John Firebaugh
baaae99a03 [core, android] Factor JSON string conversions
This adds a `convertJSON` template, to be used like:

   Error error
   optional<Foo> foo = convertJSON<Foo>(string, error);

Internally, it parses the string with RapidJSON and then calls `convert<Foo>(parsed, error)`.

While here, rationalize GeoJSON converters and fix error handling for Tileset conversion in OfflineDownload.
2017-05-08 13:48:57 -07:00
Bruno de Oliveira Abinader
f59ba4e3f3 Revert "[Qt] Don't regen BackendScope on every QMapboxGL::render() call"
This reverts commit 806da5d940.
2017-05-04 21:02:40 +03:00
Bruno de Oliveira Abinader
806da5d940 [Qt] Don't regen BackendScope on every QMapboxGL::render() call 2017-05-04 15:58:30 +03:00
Thiago Marcos P. Santos
184a4389e1 [Qt] Handle extrusion filters 2017-05-02 10:07:02 +03:00
John Firebaugh
5dd98df50b [all] Rationalize style::Image
A style has a collection of images, just as it has collections of sources and layers.

* Name things appropriately
* Use std::unique_ptr
2017-04-24 15:52:28 -07:00
John Firebaugh
092da9c956 [core] Remove non-Map-dependent projection methods from Map 2017-04-18 14:43:31 +03:00
Bruno de Oliveira Abinader
2f4d162deb [core] Tighten geo.hpp ctors 2017-04-14 12:33:13 -07:00
Bruno de Oliveira Abinader
04a3a7383a [core] Remove unused bool() functions 2017-04-14 12:33:13 -07:00
John Firebaugh
f1c06f8d83 [all] Remove redundant scale-related camera methods
We don't need to have two different measurement systems for map zoom.
2017-04-13 10:28:44 -07:00
Bruno de Oliveira Abinader
b25c8f043b [Qt] Sanitize QSize → mbgl::Size conversion 2017-04-10 18:01:28 +03:00
John Firebaugh
16a2839e23 [all] Make LatLng coordinates read-only 2017-04-06 09:22:51 -07:00
Konstantin Käfer
a84aa453a9 [core] Privatize OpenGL/Context headers 2017-03-28 13:53:19 +02:00
Bruno de Oliveira Abinader
9b39013ce4 [core] Internalize rapidjson.hpp 2017-03-28 13:53:19 +02:00
Konstantin Käfer
234384ece9 [core] Move OpenGL extension initialization to Backend 2017-03-23 14:50:11 -07: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
d7227e13a7 [all] Replace Result<T> with optional<T> plus out Error parameter 2017-03-23 13:31:13 -07:00
Konstantin Käfer
d20327844c [qt] Add setFramebufferObject() for correct FBO binding restoration 2017-03-22 14:15:50 +01:00
Bruno de Oliveira Abinader
fa2b7676b8 [Qt] Updated MapObserver::onSourceChanged 2017-03-21 17:36:56 +02:00
Bruno de Oliveira Abinader
bfc7c2967c [Qt] Update changes in MapObserver::onDidFailLoadingMap 2017-03-17 11:25:48 +02:00
Bruno de Oliveira Abinader
2a25b026af [Qt] Support mbgl::MapObserver 2017-03-15 14:53:32 +02:00
Thiago Marcos P. Santos
2b7319d529 [Qt] Remove the QML app
We are now on Qt 5.9 and this is where the plugin will be developed
from now on.
2017-03-06 11:40:05 -08:00
Bruno de Oliveira Abinader
f28d75dccd [Qt] FBO handling should happen outside of QMapboxGL::render 2017-03-01 09:25:52 -08:00
Bruno de Oliveira Abinader
10b8ef6441 [Qt] Document QMapbox + qdoc fixes 2017-02-22 13:52:33 +02:00
Bruno de Oliveira Abinader
177a27b48a [Qt] Added missing conversion helpers 2017-02-21 15:26:46 +02:00
Konstantin Käfer
3ef9e26593 [ios,macos,android,qt] use shared threadpool 2017-02-20 19:26:06 +01:00
Bruno de Oliveira Abinader
b9af073e98 [Qt] Added QMapboxGL::sourceExists 2017-02-09 12:31:32 +02:00
Bruno de Oliveira Abinader
d3ca6c67f1 [Qt] Added QMapbox::Feature → GeoJSON conversion helper 2017-02-08 15:55:47 +02:00
Bruno de Oliveira Abinader
7db79da501 [Qt] Added QMapbox::Feature 2017-02-08 15:55:47 +02:00
Bruno de Oliveira Abinader
59d279b689 [Qt] Moved GeoJSON-related conversion functions to qt_geojson.hpp 2017-02-08 15:55:47 +02:00
Bruno de Oliveira Abinader
8b9a511357 [Qt] Added QMapboxGL::layerExists 2017-02-08 15:55:47 +02:00
Bruno de Oliveira Abinader
ab814ef9b0 [Qt] Guarantee QSqlDatabase connection name uniqueness
Guarantee QSqlDatabase connection name uniqueness by using a static
counter together with the current thread.
2017-02-01 17:00:17 +02:00
Konstantin Käfer
62ea1f2185 [core] remove trailing whitespace, add trailing newlines, add space after // 2017-01-27 11:44:16 +01:00
Thiago Marcos P. Santos
a8225b8fff [Qt] Make datatypes compatible with the default implementation
On the default all integers map to `sqlite3_bind_int64`.
2017-01-26 18:37:42 +02:00
Bruno de Oliveira Abinader
be43310b6f [Qt] Refactor QMapbox Annotations API 2017-01-26 14:53:45 +02:00