Commit Graph

64 Commits

Author SHA1 Message Date
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
Mike Morris
86691a08de [node] patch memory leak in NodeMap::request
Creating a v8::Function with
Nan::GetFunction(Nan::New<v8::FunctionTemplate>) can leak, use
Nan::New<v8::Function> instead.

https://code.google.com/p/chromium/issues/detail?id=272579
2016-02-04 18:27:52 -05:00
John Firebaugh
1c21d0fd4c [core] Use better types for modified / expires / etag 2016-01-21 11:22:11 -08:00
Konstantin Käfer
4515bb00c0 [node] extract the error message from the Error object
this avoids double "Error: Error: reason" messages
2016-01-14 14:35:02 +01:00
Mike Morris
f4d394d935 [node] code review cleanup 2015-12-15 10:19:56 -08:00
John Firebaugh
896245e510 [test] Update test suite 2015-12-09 16:25:45 -08:00
Thiago Marcos P. Santos
d422c8cac4 [core] Abstract main loop inside RunLoop class 2015-12-01 00:00:09 +02:00
Bruno de Oliveira Abinader
31fd2822f5 [core] Replace time_t with std::chrono::seconds
Added aliases for std::chrono typedefs (eg. 'Seconds' for
std::chrono::seconds). These aliases are used together with templated
helper functions to replace time_t with std::chrono::seconds for most
cases, in particular for 'modified' and 'expires' values in Response.
2015-11-27 17:47:02 +02:00
Thiago Marcos P. Santos
873eabcf28 [node] Fix build on GCC 4.9.2 2015-11-26 19:40:36 +02:00
John Firebaugh
1d33790dc0 [core] Fix image type of Map::renderStill
It's a premultiplied image. This implies that we were misusing encodePNG
in most cases, as we were passing premultiplied pixels which were then
interpreted as unmultiplied. I changed encodePNG to accept premultipled
pixels, and unpremultiply in the implementations.
2015-11-25 15:57:37 -08:00
John Firebaugh
0c1e378bc9 [core] Rewrite image handling
* Consolidate Image and StillImage
* Typecheck unassociated vs premultiplied images
* Rewrite default platform image decoding implementation
2015-11-25 15:57:36 -08:00
John Firebaugh
36081f6486 [core] For binary image data use uint8_t, not char 2015-11-23 17:28:44 -08:00
John Firebaugh
c4c3a19d85 [node] Allow GC in spite of reference loops through the request method
The following produces a reference cycle:

var map = new mbgl.Map({
    request: function () { ... }
});

map has a reference to the request function, which has a reference to
its closure, which has a reference to map.

Storing a the map options in an internal field, rather than a Persistent,
allows V8 to collect the reference cycle when none of its members have
other references.
2015-11-20 16:33:46 -08:00
John Firebaugh
43c6e2fb52 [node] Need to have a singleton RunLoop instance 2015-11-16 12:25:48 -08:00
John Firebaugh
7137239cbd [core] Use std::unique_ptr for FileSource request 2015-11-16 12:25:47 -08:00
Thiago Marcos P. Santos
36581f3d30 [core] Do not pass uv_loop_t around
This should be abstracted by util::RunLoop
2015-11-16 12:25:47 -08:00
Mike Morris
36a8fb32d5 [node] Fixes 'make xnode' to configure HOST_SLUG.gypi
Adds node-gyp to dev-dependencies to support 'make xnode' on Node v0.10.x
Ignores -Wnested-anon-types around v8.h includes.
2015-11-05 18:16:33 -05:00
Mike Morris
5e58070dec [node] make ratio optional, default to 1.0 2015-11-04 18:18:08 -05:00
Mike Morris
3528002b58 [node] swap array order to [lng, lat] for render option center
For consistency with GeoJSON and mapbox-gl-js
2015-11-04 17:41:34 -05:00
bsudekum
93c5bc08b3 [node] add pitch option 2015-11-02 16:58:24 -08:00
Konstantin Käfer
04273fbb1c [core] Make DefaultFileSource react to all NetworkStatus changes 2015-11-02 17:25:08 +01:00
Tom MacWright
26cb45ed46 Document node-mapbox-gl-native with JSDoc 2015-10-29 16:55:30 -07:00
John Firebaugh
014b517820 [node] Output debug logs when a render test times out 2015-10-28 15:54:34 -07:00
Konstantin Käfer
5173bf1bb8 [core] Make response data shared to avoid excessive copying 2015-10-26 15:54:27 +01:00
Konstantin Käfer
94a5ac857f [core] all requests have to be canceled explicitly now
By not automatically destroying Request objects after the result has been delivered, we are making sure that we can potentially fire the callback multiple times without adverse effects. This means that you have to hold on to the result of fs->request(), can explicitly cancel it if you don't want to be notified of data changes anymore. Not doing so will monitor the request indefinitely and will prevent the app from exiting.
2015-10-26 15:54:27 +01:00
Mike Morris
62595a9b39 [core] bump libuv to 1.7.5 across all platforms
UV_ASYNC_PARAMS and UV_TIMER_PARAMS for libuv <= 0.10 compatibility

use st_mtim.tv_sec in libuv > 0.10.x
2015-10-14 11:36:28 -04:00