Commit Graph

89 Commits

Author SHA1 Message Date
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
7bbd49c72c [core] extract weak_ptr mailbox->receive into Mailbox::maybeReceive 2016-10-20 14:39:11 -04:00
Mike Morris
a894870fb8 [node] remove internal NodeRequest class from public API 2016-10-20 14:38:36 -04: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
Bruno de Oliveira Abinader
89f3270f72 [node] Added set{Bearing,Center} + updated -test-suite
This gives the ability to pan and/or rotate the map in a posterior step
after initial render for testing purposes.
2016-10-11 12:10:32 +03:00
Thiago Marcos P. Santos
edec56e6c5 [node] switch to NodeRequest member fn callback
For (hopefully) better performance than creating a new v8::Context to
wrap each callback while still avoiding leaking memory with v8::FunctionTemplate.

Adds a JavaScript shim in front of module.exports.Map to wrap the
req.respond API internally and preserve the public callback-passing
API, while still exporting the correct prototype.
2016-09-06 18:14:22 -04:00
John Firebaugh
b4864ca9d5 [core] Trigger Source::Impl::reload when a filter or layout property is modified 2016-09-06 14:29:22 -07:00
John Firebaugh
fe2a26225f [core, ios, android, qt] Observe style layer mutations rather than requiring SDKs to use Map::update
This paves the way for updates to filter and layout properties to trigger a source reload, without each SDK having to participate in the implementation.
2016-09-06 14:29:22 -07:00
Thiago Marcos P. Santos
a12fa9333b [node] Throw on invalid style JSON
Fixes #6143
2016-08-25 22:05:00 +03:00
Bruno de Oliveira Abinader
e1f11eed35 [core] Updated clang-tidy fixes 2016-08-05 11:42:22 +02:00
Carol Hansen
4b1eeada9e [node] Fix integer conversion of filter values 2016-07-22 13:05:16 -07:00
Mike Morris
7df0e459b6 [node] NodeRequest inherits from Nan::AsyncWorker
drop NodeRequest::Create, move MakeCallback to NodeRequest::Execute

rework Respond -> HandleCallback

modern NAN style updates
2016-07-14 13:47:02 -04:00
Mike Morris
ce8f053adb [node] enter new v8::Context to avoid leaking v8::FunctionTemplate in NodeMap::request 2016-07-14 13:47:02 -04:00
Bruno de Oliveira Abinader
1cb59e20c4 [node] Added 'removeLayer' binding 2016-07-13 16:19:28 +03:00
Thiago Marcos P. Santos
86cebd4cca [core] Report conversion errors using std::string
char* increases the risk of pointing to a invalid reference. Qt had
to use a static variable as retainer to workaround.
2016-07-12 16:04:20 +03:00
Thiago Marcos P. Santos
01f5b6e58d [node] Also Update::Classes when setting a paint property
Otherwise it has no effect. Tests might be working because a
Update::Classes is also scheduled when adding a new layer.
2016-07-08 16:27:16 +03:00
Young Hahn
71a3b1d0db [core] geometry@0.8.0 / geojsonvt@6.0.0 (#5514)
* [core] geometry.hpp 0.8.0

* geojsonvt @ 6.0.0

* Update platform deps, build scripts

* Perf optimizations/cleanup

* Rebase in geometry@080

* D.R.Y. etc

* Ensure fill annotation geometries have closed rings.

* Optimizations

* Update to geojsonvt @ 6.1.0 for clean handoff between geojson parsing and geojsonvt

* Apply close multi/poly geoms for line annotations as well
2016-07-06 17:29:34 -04:00
Minh Nguyễn
8947b0af27 [ios, macos, node] “Mapbox GL Style Specification” → “Mapbox Style Specification” (#5553) 2016-07-04 17:37:11 -07:00
John Firebaugh
021d4199cb [core, node] Implement bindings for addSource 2016-06-24 09:39:51 -07:00
John Firebaugh
16c435b151 [core, node] Implement bindings for addLayer 2016-06-24 09:39:51 -07:00
John Firebaugh
3459b83736 [core, node] Node bindings for setFilter 2016-06-21 18:24:49 -07:00
John Firebaugh
220fc7adc9 [node] Support setLayoutProperty(..., "visibility", ...) 2016-06-21 16:30:35 -07:00
John Firebaugh
8a9ee26b0e [core] Use mbgl::style::conversion in node bindings 2016-06-21 16:04:22 -07:00
Bruno de Oliveira Abinader
6c9e00be3a [node] Read 'options.showOverdrawInspector' 2016-06-20 13:24:20 +03:00
Bruno de Oliveira Abinader
c20c1d6a6b [core] Avoid redundant 'inline' usage 2016-06-18 23:46:50 +03:00
John Firebaugh
19158d9f01 [core, node] Implement setPaintProperty for color properties (#5380) 2016-06-16 13:25:06 -07:00
Young Hahn
199ea2a82a Support for icon-text-fit, icon-text-fit-padding (#5334)
* Add support for icon-text-fit

* Port unit tests for getIconQuads() from js => cpp

* Add support for padding in all 4 directions.

* Update all hashes post-merge
2016-06-15 17:13:31 -04:00
Bruno de Oliveira Abinader
e83b12c387 [node] Narrow conversion (double → float) caught by GCC 2016-06-15 18:41:56 +03:00
John Firebaugh
3f5ea169f5 [node] Partial implementation of runtime styling API for node bindings 2016-06-13 17:22:05 -07:00
John Firebaugh
ee78b1b797 [core] Eliminate some redundant NodeMap members 2016-06-13 17:22:05 -07:00
John Firebaugh
282e626ac1 [core] Make enum ↔ string conversion more generic-friendly
Rewrite enum.hpp in such a way that parseConstant can be defined generically for all enumerated types.

While there, properly validated enumerated property values.
2016-06-13 17:22:05 -07:00
John Firebaugh
e802aedb8c [core, node, android] Remove used "base" parameter from setStyleJSON 2016-06-02 16:33:56 -07:00
Konstantin Käfer
27f9a85fea [node] don't fire callback for canceled AsyncRequest 2016-05-26 20:17:36 +02:00
John Firebaugh
3c49fdc99d [core] Feature IDs are always integers 2016-05-17 13:20:25 -07:00
John Firebaugh
8ec0b70722 [core] Use mapbox::geometry::box in queryRenderedFeatures 2016-05-13 09:01:32 -07:00
John Firebaugh
9a7b7f6af3 [core] Update to geometry.hpp 0.5.0 2016-05-13 09:01:32 -07:00
Konstantin Käfer
cd65a43855 [core] move from microsecond precision timestamp to integer second precision 2016-05-13 17:24:22 +02:00
John Firebaugh
5837ba1ad3 [node] Fix conversion of geometry collections to GeoJSON
They should have a "geometries" member, not a "coordinates" member.
2016-05-06 11:59:29 -07:00
John Firebaugh
771e79a769 [core] Update geometry to 0.3.0 2016-05-06 11:59:29 -07:00
John Firebaugh
c8391729c7 [core] Use geometry.hpp feature type 2016-05-03 17:25:49 -07:00
Ansis Brammanis
61d14089e0 [core] implement queryRenderedFeatures 2016-04-29 12:00:24 -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
Mike Morris
c59b5fb5e6 [node] don't dispose parent module in NodeLog destructor 2016-04-07 17:35:58 -04:00
Vladimir Kurchatkin
e886eb9545 [node] Properly inherit from EventEmitter
`process.EventEmitter` is deprecated, so we should use
`require('events')` instead.
2016-04-05 16:00:59 -04:00
John Firebaugh
169755e89a [core] Unify FileRequest and WorkRequest 2016-03-24 10:54:32 -07:00
Thiago Marcos P. Santos
63982e0010 Revert "[node] Destroy the RunLoop with the last Map object"
This reverts commit 3633fd7ebd.
2016-02-24 14:31:11 +02:00
Thiago Marcos P. Santos
3633fd7ebd [node] Destroy the RunLoop with the last Map object
The last map object to get destroyed will also destroy
the RunLoop (which will also destroy the AsyncTask).

This will clear any reference to the Node default main
loop and let it close.

Downside is that we need to make sure we are always calling
`map.release()`.
2016-02-20 13:33:13 +02:00
John Firebaugh
675a628aa2 [node] Fix handling of response callback with no arguments; add test 2016-02-19 17:25:57 -08:00
Ansis Brammanis
29d61c0fe7 [node] add debug options to node bindings
fix #3579
2016-02-08 14:22:53 -08:00