Commit Graph

355 Commits

Author SHA1 Message Date
Thiago Marcos P. Santos
c94e53d72b [qt] Refreshed build documentation 2018-01-08 22:58:20 +02:00
Thiago Marcos P. Santos
5786286f9c [windows][qt] Add build defines to build Mapbox GL + Qt on Windows 2018-01-08 22:58:20 +02:00
Thiago Marcos P. Santos
f391271532 [windows][build] Make nodejs/npm optional 2018-01-08 22:58:20 +02:00
Thiago Marcos P. Santos
f880baaeb7 [windows][qt] Remove std:: namespace of some functions
Not available on Windows.
2018-01-08 22:58:20 +02:00
Thiago Marcos P. Santos
39decb822d [qt] Removed unused headers 2018-01-08 22:58:20 +02:00
Thiago Marcos P. Santos
417909e93d [qt] Use add_definitions instead of resetting CXXFLAGS 2018-01-08 22:58:20 +02:00
Bruno de Oliveira Abinader
f86c1b7d0f [test] Only use our SQLite3 wrapper in tests 2018-01-08 19:13:47 +02:00
Konstantin Käfer
1dd5e405c1 [build] Remove unused files, and cleanup directories 2018-01-03 01:07:41 +01:00
Chris Loer
1661af1cb4 [core] Enable local glyph generation using TinySDF.
- Platform-specific LocalGlyphRasterizer is responsible for deciding which glyphs to rasterize locally and for implementing the rasterization.
 - Default platform implementation doesn't locally generate any glyphs -> no behavior change
 - Unit test uses StubLocalGlyphRasterizer, which returns a single fixed bitmap for all CJK glyphs
 - Rename glyph_loader.test to glyph_manager.test
2017-12-11 10:43:00 -08:00
Konstantin Käfer
8757164ac8 [build] standardize on -fvisibility=hidden for all targets
Enables -fvisibility=hidden for iOS and Linux, and adds a workaround for GCC 6.3-7.1
Adds a GCC 6 build
Enables diagnostics for C files
Fixes a shadow warning in parsedate.c
2017-11-29 17:31:33 +01:00
Konstantin Käfer
2eec5a1980 [core] move HeadlessBackend extension initialization code into Impl 2017-11-29 15:48:51 +01:00
Konstantin Käfer
335f04f7e1 [core] fold HeadlessDisplay into the headless RenderBackend implementation 2017-11-29 15:48:51 +01:00
Chris Loer
5da5ba7706 [core, ios, qt, android] Close race condition in RunLoop (issue #9620)
Because a message we queue from the foreground may cause the background to complete, exit, and tear down the AsyncTask, we have to block queue processing until we've finished our call to AsyncTask::send().
Broadening the scope of a mutex is scary, but I audited the code of our four implementations of AsyncTask and I don't see any way this could cause a deadlock.
2017-11-27 14:42:44 -08:00
Bruno de Oliveira Abinader
02166a1802 [core] Fix Qt4 on macOS 2017-11-27 15:54:01 -02:00
Thiago Marcos P. Santos
cf3357ea45 [qt] Use qWarning() for logging
This is the Qt default and it is thread-safe.
2017-11-24 01:30:39 -02:00
Bruno de Oliveira Abinader
43aefbffd0 [Qt] Update documentation 2017-11-23 15:36:26 +02:00
Bruno de Oliveira Abinader
aaffe3c0e3 [build] Added CircleCI macos-debug-qt5 job 2017-11-20 19:45:18 +02:00
Bruno de Oliveira Abinader
10a9b25928 [Qt] Fix deprecation warnings in Qt 5.10 2017-11-13 11:47:31 -02:00
Bruno de Oliveira Abinader
6b5afaab76 [Qt] Explicit QVariant type as string when binding text 2017-11-09 19:17:10 +02:00
Bruno de Oliveira Abinader
a339dcc6cc [Qt] Do not assume viewport size == fbo size in Qt4 2017-11-09 16:13:05 +02:00
Bruno de Oliveira Abinader
12f69ae14a [Qt] Call QNetworkReply::readAll() only once 2017-11-09 16:13:05 +02:00
Bruno de Oliveira Abinader
7936c138fe [Qt] Call QSqlQuery::finish() when inactive 2017-11-09 16:13:05 +02:00
Bruno de Oliveira Abinader
ca73bbc9be [Qt] Do not store QSqlDatabase 2017-11-09 16:13:05 +02:00
Bruno de Oliveira Abinader
2b03d6e805 [Qt] Qt SQLite driver has no setForwardOnly support 2017-11-09 16:13:05 +02:00
Thiago Marcos P. Santos
a815c16ab3 [qt] Fix build on some archs
When building for certain platforms, don't redefine OpenGL constants
we use.
2017-10-31 15:58:59 +02:00
Thiago Marcos P. Santos
f7426a4253 [Qt] Use QOpenGLFunctions for Qt5
Do not link directly with OpenGL, so we load it using Qt5. Also,
always build for OpenGL ES2 which is the compatibilty mode that
should work on all platforms supported by Qt5.
2017-10-25 18:08:28 +03:00
Thiago Marcos P. Santos
9d87dc8cf1 [core] Make the OpenGL implementation platform specific
Split the headers, so each platform includes the most appropriated
header.
2017-10-25 18:08:28 +03:00
John Firebaugh
4b2e1cddb4 Replace compile-time polymorphism with runtime polymorphism in the conversion system 2017-10-23 09:56:43 -07:00
Rinigus
1cf8ef0437 [qt] use const for setting ResourceTransform 2017-10-09 13:22:58 +03:00
Rinigus
965bfcfaac [qt] add ResourceTransform API 2017-10-09 13:22:58 +03:00
Konstantin Käfer
64c75b442c [build] split out DefaultFileSource and dependents to a separate target
We don't want to link it into the node bindings, so keep it in a separate target
2017-09-28 13:48:36 -04:00
Lauren Budorick
a9ddf5b7fd Preserve depth buffer between 3D layers + optimize render order (#9931)
Port of https://github.com/mapbox/mapbox-gl-js/pull/5101: adds a new render pass `Pass3D` before any other rendering wherein we render layers with 3D passes (fill-extrusion layers) to offscreen framebuffers, sharing a depth renderbuffer between those layers in order to render 3D space correctly. Those framebuffers are saved on the RenderLayers and copied back to the map during the translucent pass. Rendering to offscreen framebuffers before we do any clear + draw means we can avoid expensive framebuffer restores.
2017-09-21 14:26:48 -07:00
Ivo van Dongen
f4f4d13b70 [all] ensure runloop is the current scheduler 2017-08-09 12:08:21 +03:00
Konstantin Käfer
f0a7c45064 [core] finish must-revalidate support 2017-08-08 12:40:38 +02:00
Thiago Marcos P. Santos
2108763010 [core] Remove std:: namespace for some functions
They are not available on Android + GCC (needed by Qt)
2017-08-07 17:20:33 +03:00
John Firebaugh
d4cb498d7a [all] Merge View into RendererBackend 2017-07-26 09:50:38 -07:00
John Firebaugh
32bd1d54fa [node, tests] Consolidate headless rendering logic in HeadlessFrontend 2017-07-26 09:50:38 -07:00
Thiago Marcos P. Santos
55faa23d2e [Qt] Fix database timeout not being set correctly
It was overflowing due to long to int conversion inside Qt and
never being effectively set because Qt was silently ignoring
the conversion error and discarding the new value.

Fixes #9108.
2017-07-26 15:39:03 +03:00
Ivo van Dongen
4dee3a0d8d [qt] manage backendscope in renderer frontend 2017-07-25 17:44:28 +03:00
Thiago Marcos P. Santos
15056f9654 [Qt] Use the Qt release version and Qt Framework version on the user agent 2017-07-20 17:21:14 +03:00
Thiago Marcos P. Santos
7e8fe05af0 [Qt] Avoid using brace-list init ctor in QMapboxGL 2017-07-19 16:44:30 +03:00
Thiago Marcos P. Santos
a3244421a5 [Qt] Rename files with same name
QMake is having some issues with files with same names when
building the Qt Location plugin.
2017-07-19 14:39:39 +03:00
Thiago Marcos P. Santos
964287e5a4 [Qt] Destroy the map object before the renderer frontend
The Map object will call the renderer frontend on its destructor.

Fixes #9535.
2017-07-18 17:53:08 +03:00
Ivo van Dongen
815ffb253b [android][glfw][ios][macos][node][qt] rename backend to renderer backend 2017-07-18 10:45:12 +02:00
Ivo van Dongen
ee205ca9ca [qt] rendering interface changes 2017-07-18 10:45:12 +02:00
Ivo van Dongen
39a732d7ae [android][glfw][ios][macos][node][qt] split backend from mapobserver 2017-07-18 10:45:12 +02:00
Thiago Marcos P. Santos
d9ad09ca36 [Qt] Align database creation behavior with the default implementation
Qt doesn't throw a Exception::Code::CANTOPEN when trying to open
a database that doesn't exist without the Create flag.
2017-07-17 16:47:29 +03:00
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