Commit Graph

3201 Commits

Author SHA1 Message Date
Justin R. Miller
897107416b remove now-unused operator 2015-03-20 08:22:53 -07:00
Konstantin Käfer
f73dfc73f1 make more things const and refs, and add mutexes 2015-03-20 13:14:00 +01:00
Minh Nguyễn
0cdf21c62d Merge pull request #1020 from mapbox/init-bundled-style
API for initializing with bundled style
2015-03-19 13:39:05 -07:00
Justin R. Miller
b4dbba93f8 bump iOS app version 2015-03-19 12:41:59 -07:00
Minh Nguyễn
3d195b467a Added API for initializing with bundled style
As a best practice for the beta and a workaround for #1014.

Also reversed the argument order of the existing init method. Reads better this way, but you’ll likely have to change your initialization to match the new signatures.
2015-03-19 10:29:04 -07:00
Mike Morris
ae7bd9ac6a Merge pull request #946 from friedbunny/931-fullwidth-block
Fix end of acceptable glyph/unicode range
2015-03-18 11:47:47 -04:00
Konstantin Käfer
1c276cbb76 Merge pull request #1015 from mapbox/log_scope
Scope threads to an Environment
2015-03-18 13:53:19 +01:00
Thiago Marcos P. Santos
3254cdc85c Log the Environment ID and the Thread name
To make it easier to debug, add the Environment ID and the Thread name
to the log messages. For instance log messages from the TileParser will look like:

[WARNING] {0}{TileWorker_15/18653/9486}[ParseTile]: some relevant warning message
   |       |             |                  |
   |       |             |                  +-> Component
   |       |             +--------------------> Thread name
   |       +----------------------------------> Environment ID
   +------------------------------------------> Severity level

Log messages that are not inside an Environment::Scope will work
normally and will look like:

[WARNING] [JNI]: some relevant warning message

Fixes #882.
2015-03-18 12:51:33 +01:00
Thiago Marcos P. Santos
66841bf7eb Add an ID to Environment
Environment will now have an incremental unique ID to that will
help distinguish between threads scoped to different Environments
when logging.
2015-03-18 12:51:33 +01:00
Thiago Marcos P. Santos
aa9adbb8f8 Scope the Tile worker thread to an Environment
We are also removing the code that is passing the Environment around
and instead, we get now the Environment in the TileData using
Environment::Get().

When processing the job, the work will be temporally registered to
the Environment as "TileWorker_0/0/0" which can be used for logging
in the future. At the end of the job, it gets unregistered
automatically from the Environment.
2015-03-18 12:51:33 +01:00
Thiago Marcos P. Santos
b5facd35bc Scope the Map thread to an Environment
Also, replace manual thread type checks with Environment::currentlyOn().
2015-03-18 12:51:33 +01:00
Thiago Marcos P. Santos
b52aab5f7c Introduce the ThreadInfoStore and Environment::Scope
The Environment will now keep track of every thread that is running
within a Environment::Scope. Once the Scope object is created, it will
automatically register the thread to the ThreadInfoStore with some
additional information and it will automatically deregister as the stack
frame rewinds (which can be useful for Threads that are temporally in
use by an Environment like Workers).

The ThreadInfoStore could be using the thread-local storage, but I think
that making the Environment aware of what threads are associated to it
can be useful for writing a mechanism for posting messages between threads.

Withing a Scope, the Environment associated to the thread can be queried
at any time which will save us from juggling a reference to the
Environemnt around. Finally, the type of thread (Main, Map, etc) can
also be queried at any moment to make sure a piece of code is running
on the desired thread.
2015-03-18 12:38:39 +01:00
Justin R. Miller
7b996012a5 Merge pull request #1012 from mapbox/1011-bundle
Look inside MapboxGL.bundle when present
2015-03-17 20:30:23 -07:00
Justin R. Miller
d47b29813e Merge pull request #1021 from mapbox/point-annotations-api
refs #893 #992: point annotations API
2015-03-17 20:01:38 -07:00
Justin R. Miller
93abf881fb feature() -> getFeature() to clear up ambiguity / Linux compiler error 2015-03-17 19:25:32 -07:00
Justin R. Miller
02cccfe7e8 properly clean up tile annotations on delete 2015-03-17 17:46:33 -07:00
Justin R. Miller
76f8a3d846 fix passing of annotation manager 2015-03-17 17:45:09 -07:00
Justin R. Miller
e049ce6df1 refs #893 #992: point annotations API 2015-03-17 17:30:24 -07:00
Brad Leege
1ce51a17e7 Merge pull request #1013 from mapbox/android-22
Update to latest API 22 build tools
2015-03-17 09:21:17 -05:00
Konstantin Käfer
36cee94e61 Merge pull request #843 from mapbox/843-fix-sprites
sprite images  missing on > 2.0 scale factors
2015-03-17 12:54:41 +01:00
Konstantin Käfer
48c55af5c1 fix sprites for pixel ratios that are not 1 and 2
- OpenGL ES 2 doesn't allow NPOT textures with wrap-around
- The Sprite object reported the map's pixelRatio, even though it loaded @2x assets
- Copying icons from the sprite into the atlas now uses bilinear scaling to scale up to the actual size
2015-03-17 12:30:40 +01:00
Leith Bade
9c907e78ac Update to latest API 22 build tools 2015-03-17 13:59:05 +11:00
Minh Nguyễn
3ba72da74f Look inside MapboxGL.bundle when present
Fixes #1011.
2015-03-16 16:22:16 -07:00
Minh Nguyễn
0b1faba369 Merge pull request #1009 from mapbox/1ec5-967-readme
Add iOS project setup walkthrough including dependencies
2015-03-16 15:12:15 -07:00
Minh Nguyễn
8548927f3b Added iOS project setup walkthrough
Lists the dependencies needed for linking.

Fixes #967.
2015-03-16 12:29:57 -07:00
Konstantin Käfer
0d8b3aa5f7 Merge pull request #1006 from mapbox/linux_build_fix
Link with X11 explicitly
2015-03-16 12:10:23 +01:00
Thiago Marcos P. Santos
d66b24f58f Link with X11 explicitly
We are using X11 symbols directly like XFree() so we need to link
with it explicitly. Previously these symbols were being resolved
somehow by libGL, but apparently they are now hidden - good - in
the custom version we are using since 5e40f72b7.

Fixes #1005.
2015-03-16 10:54:34 +02:00
John Firebaugh
0c985c024b Revert "Move atlas ownership to Style"
This reverts commit bffee07154.
2015-03-13 13:05:32 -07:00
John Firebaugh
6325f1e25a Index glyph use by tile pointer value, not tile ID
There can be multiple tiles with the same ID, but from different
sources.

Fixes #957
2015-03-13 10:55:49 -07:00
John Firebaugh
96682a02af Remove unused declaration 2015-03-13 10:55:49 -07:00
John Firebaugh
998092e5b2 Remove needless indirection 2015-03-13 10:55:49 -07:00
John Firebaugh
762e4bdfbe Clean up GlyphAtlas 2015-03-13 10:55:49 -07:00
John Firebaugh
bffee07154 Move atlas ownership to Style
This follows gl-js and just makes sense -- whenever the style changes
the atlases should be blown away.

Refs #957
2015-03-13 10:55:47 -07:00
Justin R. Miller
c36522e2a0 Merge pull request #1000 from mapbox/ios-set-classes
iOS setAppliedStyleClasses -> setStyleClasses
2015-03-13 09:10:27 -07:00
Justin R. Miller
bcc4c9e78d iOS setAppliedStyleClasses -> setStyleClasses 2015-03-13 08:02:02 -07:00
Konstantin Käfer
069505fe75 fix rare issue that had the notify and cancel callbacks called in the wrong order 2015-03-13 15:30:10 +01:00
Konstantin Käfer
5e40f72b7c scripts for running linux tests with docker 2015-03-13 12:06:11 +01:00
Justin R. Miller
5225a2ce5b Merge pull request #994 from mapbox/990-paintItBlack
paint it black
2015-03-12 22:04:05 -07:00
John Firebaugh
ba933b3f45 Merge pull request #984 from mapbox/log_stderr_printf
Get rid of printf and cout by using Log::*
2015-03-12 15:39:07 -07:00
Brad Leege
d659517e7f #990 - Changing to clear color instead of black 2015-03-12 17:17:08 -05:00
Brad Leege
a4e0732a78 #990 - Changing background color from white to black 2015-03-12 17:15:28 -05:00
Minh Nguyễn
4c7939b96e Avoid building a redundant array
Followup to 28e28934c7.
2015-03-12 09:25:39 -07:00
Anthony Picciano
28e28934c7 Remove the file extensions from the bundledStyleNames method 2015-03-12 16:29:45 +01:00
Konstantin Käfer
74ef8840ce tolerate missing sprites
Do not try to fulfil the promise twice in case both requests to the sprite JSON and image fail. this will crash the program. Instead, we always continue with the promise, instead of throwing an exception. This allows the program to continue parsing tiles, but without an image sprite available. This means the map will render, but without the sprite images
2015-03-12 15:27:56 +01:00
Thiago Marcos P. Santos
124b49562d Get rid of printf and cout by using Log::*
Use our logging system that will route the message accordingly on
the target platform.

Fixes #613
2015-03-12 14:19:32 +02:00
Thiago Marcos P. Santos
2b6afe6a54 Merge pull request #972 from mapbox/log_cleanup
Refactoring of the log system
2015-03-12 14:18:25 +02:00
Konstantin Käfer
4e8036311d Merge pull request #838 from mapbox/838-fix-rotate-flicker
black flicker on iOS device rotation
2015-03-12 12:55:59 +01:00
Thiago Marcos P. Santos
79f3149d9d Update the FixtureLog
Now the FixtureLog is an Log::Observer instead of a backend. The
observer can sniff and filter log messages, that can be used
for fail a test if it emits a warning for example.
2015-03-12 13:28:41 +02:00
Thiago Marcos P. Santos
51bc265db3 Make the logging system static
No initialization is needed anymore and we can use the logging functions
safely at any point of the code (threading is not handled though, so you
might get multiplexed messages if you log from two threads
simultaneously).
2015-03-12 13:28:41 +02:00
Thiago Marcos P. Santos
2948e7d121 Simplify the logging mechanism
Move the implementation of the more specialized methods to the base
class and let the platform implement only the most generic method that
takes all the possible arguments.

These specialized methods will then map to the generic implementation
that must be provided by the platforms we support.
2015-03-12 13:28:40 +02:00