Commit Graph

567 Commits

Author SHA1 Message Date
Jesse Bounds
e1546644b5 [core] Cache file source base URL and access token
This caches the base URL and access token values when they are set
so that they can still be retrieved even when the thread is paused.
2017-03-01 08:25:44 -08:00
Konstantin Käfer
9ca9adf69c [core] private OffscreenView implementation 2017-02-27 16:51:17 -08:00
John Firebaugh
c70bf6b2bf [core] Reserve vector size 2017-02-27 09:36:20 -08:00
John Firebaugh
73c5d5c00a [core] Avoid some string copies in bidi implementation
As of C++11, it's safe to preallocate std::[u16]string and write to the buffer via &s[0] (C++17 makes it possible via .data() as well).
2017-02-27 09:36:20 -08:00
Thiago Marcos P. Santos
4c2e720b15 [core] Add a pause/resume API to the DefaultFileSource
It will halt the networking thread completely. Expired and error'ed
tiles won't get re-requested until resume() is called again.
2017-02-25 14:03:38 +02:00
John Firebaugh
092213091b [linux] Don't manually activate context before destroying it 2017-02-22 09:27:32 -08:00
Jason Wray
c7975e6a18 [ios] Clean-up conditionals for iOS <8 2017-02-21 16:10:00 -05:00
John Firebaugh
773f330774 [core] Ensure that context resources are destroyed before context is destroyed 2017-02-20 12:04:21 -08:00
John Firebaugh
5354572620 [core] Eliminate manual HeadlessBackend activation management 2017-02-20 12:04:21 -08:00
John Firebaugh
ed7844d08f [core] Inline HeadlessBackend::{activate,deactivate,destroy}Context
HeadlessContext::destroyContext isn't even necessary; std::unique_ptr handles that automatically.
2017-02-20 12:04:21 -08:00
Konstantin Käfer
3ef9e26593 [ios,macos,android,qt] use shared threadpool 2017-02-20 19:26:06 +01:00
Konstantin Käfer
e2d8a83664 [core] add ability to transform URLs before they're requested from the Internet 2017-02-20 14:36:27 +01:00
Konstantin Käfer
62ea1f2185 [core] remove trailing whitespace, add trailing newlines, add space after // 2017-01-27 11:44:16 +01:00
Konstantin Käfer
19bd68d3a2 [macos,ios] don't roundtrip through encodePNG when converting images 2017-01-26 15:26:55 +01:00
Konstantin Käfer
46fe0df2a2 [core] add clone() call to Image objects 2017-01-26 15:26:55 +01:00
Konstantin Käfer
1715bf9508 [core] replace encodePNG() with a version that doesn't use libpng
rationale: encodePNG is only used in tests + sample apps, but shouldn't actually be part of the core library. In #7828, we're removing the libpng dependency for Android, and using a libpng-free version of encodePNG allows us to run the core unit tests on Android without pulling in libpng just for the test suite. In a next step, we should remove encodePNG() from the image.hpp header, which is a public header.
2017-01-25 10:32:23 +01:00
Bruno de Oliveira Abinader
eb772258cf [core] Replace sqlite3.h dependency in offline database 2017-01-23 19:06:53 +02:00
Bruno de Oliveira Abinader
b8863a6dca [core] Move sqlite::Statement::check to pimpl 2017-01-23 19:06:53 +02:00
Bruno de Oliveira Abinader
80d72123df [core] Move lastInsertRowId/changes to sqlite::Statement 2017-01-23 19:06:53 +02:00
Bruno de Oliveira Abinader
97b433edc9 [core] Private implementation for SQLite interface 2017-01-23 19:06:53 +02:00
Thiago Marcos P. Santos
181b3635f1 [core][Qt] Use Qt for UTF16, since codecvt is not always available 2017-01-20 18:50:45 +01:00
Eric Wolfe
a2ceeb4a5b [core] Evict cached resources and tiles equally by access time (#7770) 2017-01-18 18:43:24 -08:00
Bruno de Oliveira Abinader
49da57393a [core] Remove platform-specific main.cpp from MBGL_TEST_FILES 2017-01-18 19:06:32 +01:00
Chris Loer
12a9932ebc Port raggedness-minimizing line breaking from gl-js. 2017-01-05 10:22:53 -08:00
Chris Loer
f68449aeb8 Cleaning up line breaking code.
* Don't include trailing spacing (as opposed to whitespace) in lineLength
* Modify BiDi interface to require initial bidi layout and linebreaking to happen in one call.
* Code style changes suggested by @kkaefer
2017-01-05 10:22:53 -08:00
Bruno de Oliveira Abinader
c0e18ad80c [core] Added BidiImpl to avoid ICU types exposure 2016-12-12 22:34:52 +02:00
Bruno de Oliveira Abinader
ce5ed9e649 [build] ICU is now configured per platform 2016-12-12 22:34:52 +02:00
Minh Nguyễn
3503c0e767 Merge branch 'release-ios-v3.4.0' into 1ec5-release-ios-v3.4.0-beta.4-master 2016-12-03 15:36:42 -08:00
Jesse Bounds
dbb520662d [ios, android] Move der files to ios platform
.der files are used only by the iOS platform for SSL pinning. This
moves them out of the `platform/default/resources` directory and into
`platform/ios/resources`. The make configuration for Android is
updated so that it stops attempting to copy the files at all.
2016-11-30 16:19:22 -08:00
Jesse Bounds
e9504912dc [ios] Use new pinning cert for staging
This updates the cert for the staging environment. It also adjusts the
telem implementation to send along the horizontal accuracy for each
location event and removes the previous battery level gathering logic.
2016-11-30 16:19:22 -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
Konstantin Käfer
67ed3ae3eb [build] move GLFW-related files to platform/glfw 2016-11-22 20:58:51 +01:00
Konstantin Käfer
9353fcbf4c [build] move default_styles to platform/default 2016-11-22 20:58:51 +01: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
Tiago Vignatti
32b6f2fa03 [linux] Implement EGL headless backend
Original author: Tiago Vignatti <tvignatti@gmail.com>

Calling X11 window system is superfluous for headless rendering. This patch
implements EGL platform using GBM, which is slightly more simple than the GLX
path when using X11.

In principle there are no big advantages in terms of performance etc. My
motivation behind this was to get in touch with the code and the project. For
testing I'm using:

  $ unset DISPLAY && ./build/linux-x86_64/Debug/mbgl-test

v2: rebased patch against the new cmake changes; walk through render node to
find a valid one; remove EGLSurface completely cause windows are not needed
here.
2016-11-17 01:01:15 +01:00
Bruno de Oliveira Abinader
5dcf7ca18e [linux] Added OSMesa headless backend 2016-11-13 16:10:36 -08:00
Bruno de Oliveira Abinader
d0ac12309b [core] Refactor HeadlessBackend 2016-11-08 18:02:38 +02:00
Bruno de Oliveira Abinader
297c303e88 [core] Refactor HeadlessDisplay 2016-11-08 18:02:38 +02:00
Konstantin Käfer
c90a559599 [core] move framebuffer reading to gl::Context 2016-11-04 21:24:05 +01:00
Bruno de Oliveira Abinader
e66cc2e583 [linux] Added OSMesa headless backend 2016-11-04 18:43:08 +02:00
Konstantin Käfer
f7801e5d82 [core] correctly set the framebuffer size on retina screens
Also asserts in Debug mode that the internal state and the OpenGL state are identical
2016-11-01 10:46:04 +01: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
Bruno de Oliveira Abinader
72df1658fa [glfw] Added queryPointAnnotations shortcut 2016-10-25 08:12:31 +03:00
Mike Morris
7bbd49c72c [core] extract weak_ptr mailbox->receive into Mailbox::maybeReceive 2016-10-20 14:39:11 -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
Ivo van Dongen
ab85fdb452 [glfw] add map change callback methods to glfw_view 2016-10-20 17:02:40 +03:00