Update remaining MapLibre GL to MapLibre Native (#1216)
This commit is contained in:
2
.github/workflows/linux-ci.yml
vendored
2
.github/workflows/linux-ci.yml
vendored
@@ -62,7 +62,7 @@ jobs:
|
||||
libpng-dev \
|
||||
libglfw3-dev
|
||||
|
||||
- name: Build Maplibre GL Core
|
||||
- name: Build MapLibre Native Core
|
||||
run: |
|
||||
cmake --version
|
||||
cmake -B build -GNinja -DCMAKE_BUILD_TYPE=Debug -DMLN_WITH_CLANG_TIDY=ON -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DMLN_WITH_COVERAGE=ON
|
||||
|
||||
@@ -66,9 +66,9 @@ actors.
|
||||
|
||||
The key philosophy of rendering tiles is tiles are rendered layer by
|
||||
layer. A collection of tiles is called a tile set. To optimize tile
|
||||
rendering, MapLibre Native GL only renders *dirty* tiles. A dirty tile
|
||||
rendering, MapLibre Native only renders *dirty* tiles. A dirty tile
|
||||
is a tile rendered in the viewport that has changed due to user
|
||||
interaction. To initiate this process, MapLibre Native GL loads the
|
||||
interaction. To initiate this process, MapLibre Native loads the
|
||||
tileset to be rendered first. In a rendering request, if the tileset is
|
||||
already loaded, MapLibre Native will use a cached tile set.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Coordinate System
|
||||
|
||||
Before we jump into the coordinate system of MapLibre Native GL, let's
|
||||
Before we jump into the coordinate system of MapLibre Native, let's
|
||||
quickly review the concepts of translating a position on the face of
|
||||
Earth to a map tile. This is not a comprehensive refresher of coordinate
|
||||
reference systems or rendering basics. Rather this intends to guide the
|
||||
@@ -21,7 +21,7 @@ Native.
|
||||
|
||||
This document uses the word *Earth* when it refers to the planet in
|
||||
which we all live in and make map tiles for. This document uses the word
|
||||
*World* to denote the world MapLibre Native GL renders. The word *world*
|
||||
*World* to denote the world MapLibre Native renders. The word *world*
|
||||
in rendering terms mean the *world* to render. It could be a set of
|
||||
cones and boxes, a modeled city, anything composed of 3D objects.
|
||||
MapLibre Native renders map tiles in a range of zoom levels on a 3D
|
||||
@@ -31,13 +31,13 @@ containing a set of map tiles to be rendered, not the *Earth*.
|
||||
|
||||
#### Transformations
|
||||
|
||||
MapLibre GL requires a series of coordinate transformations to render a
|
||||
MapLibre Native requires a series of coordinate transformations to render a
|
||||
geometry from map tile. This is where we refresh our rendering knowledge
|
||||
a bit. To render anything through a GPU:
|
||||
|
||||
1. Design and define model in the *Local Space*. We call anything that
|
||||
needs to be renderer a *model.* In the Local space, a model lives in
|
||||
its own coordinate system. For MapLibre Native GL, in local space
|
||||
its own coordinate system. For MapLibre Native, in local space
|
||||
each individual tile is modeled. This map tile is already populated
|
||||
by a map tile generation process. The longitude, latitude bound per
|
||||
tile is now translated to pixel bounds in this local space.
|
||||
@@ -214,7 +214,7 @@ rendering workflow is to translate object coordinates to world
|
||||
coordinates. This is important to understand if we are to render
|
||||
multiple objects in the world. If we treat all tiles in a zoom level
|
||||
being rendered in a single 3D horizontal plane, then the World Space has
|
||||
only one object. And in MapLibre GL, this plane has an origin of (0,0),
|
||||
only one object. And in MapLibre Native, this plane has an origin of (0,0),
|
||||
positioned on the top left.
|
||||
|
||||
## Device Coordinates
|
||||
@@ -255,7 +255,7 @@ Perspective projection matrix introduces the sense of depth perspective
|
||||
through the camera. As in objects further from the camera will look
|
||||
smaller and objects closer to the camera will look bigger. This
|
||||
perspective component is defined by parameter *w.* That is why the
|
||||
shaders that MapLibre Native GL at the time of writing uses 4
|
||||
shaders that MapLibre Native at the time of writing uses 4
|
||||
dimensional vectors over 3 dimensional vectors. The 4^th^ dimension is
|
||||
this parameter *w*. Therefore, theoretically a GL coordinate is of the
|
||||
form `(x, y, z, w)`.
|
||||
|
||||
@@ -76,14 +76,14 @@ implementation follows right after. Another part to notice here is the
|
||||
implementation evaluates both inputs because they are expressions too.
|
||||
Expressions can be nested.
|
||||
|
||||
**Although it looks like JavaScript, for MapLibre Native GL**, **the
|
||||
**Although it looks like JavaScript, for MapLibre Native**, **the
|
||||
parser for any expression is written in MapLibre Native Core**. Each
|
||||
platform such as iOS, Android has their own Expression class which
|
||||
provides builders to build an expression and add it to a layer. When an
|
||||
expression is added to a layer, the rendering part of the code picks it
|
||||
up in the MapLibre Native GL Core.
|
||||
up in the MapLibre Native Core.
|
||||
|
||||
Also, inside MapLibre GL Core, this definition mechanism allows
|
||||
Also, inside MapLibre Native Core, this definition mechanism allows
|
||||
extending expressions library with custom expressions if desired.
|
||||
|
||||
## Expression Types
|
||||
|
||||
@@ -4,14 +4,14 @@
|
||||
*Figure 1: MapLibre Native Components – Ten Thousand Foot view*
|
||||
|
||||
From ten thousand foot, MapLibre Native is composed of *Map View* and a
|
||||
*Renderer*. MapLibre Native GL supports iOS, Android, Linux, QT, MacOS,
|
||||
*Renderer*. MapLibre Native supports iOS, Android, Linux, QT, MacOS,
|
||||
and nodeJS at the time of writing. Each of these *platforms* have their
|
||||
own *Map View* and *Map Renderer* component. A *Map Renderer* talks to a
|
||||
shared codebase that renders map by using device GPU. This shared piece
|
||||
of code at the time of writing supports OpenGL as its choice of
|
||||
rendering API.
|
||||
|
||||
Apart from the platform code, *MapLibre Native GL* offers shared
|
||||
Apart from the platform code, *MapLibre Native* offers shared
|
||||
implementation for *Style, Layers, Text, Glyphs*, and *Tiles*.
|
||||
|
||||
To summarize:
|
||||
@@ -161,7 +161,7 @@ processing. The platforms also include worker threads for processing for
|
||||
platform-specific tasks such as running HTTP requests in the background.
|
||||
But the core code is agnostic about where those tasks get performed.
|
||||
Each platform is required to provide its own implementation of
|
||||
concurrency/threading primitives for MapLibre GL core to use. The
|
||||
concurrency/threading primitives for MapLibre Native core to use. The
|
||||
platform code is also free to use its own threading model. For example,
|
||||
Android uses a *GLSurfaceView* with a *GLThread* where the iOS SDK uses
|
||||
*Grand Central Dispatch* for running asynchronous tasks.
|
||||
@@ -175,15 +175,15 @@ simplify, there is only one thread allocated for rendering loop,
|
||||
background or foreground[^7]. A *Tile Worker* is a thread that prepares
|
||||
a tile of a specific type. Geometry Tile Worker by the name of it,
|
||||
prepares a tile for rendering tiles that contains vector geometry.
|
||||
Following that same trend, MapLibre Native GL offers tile worker for
|
||||
Following that same trend, MapLibre Native offers tile worker for
|
||||
raster tiles and elevation tiles. Messages sent to a tile worker can be
|
||||
processed by any thread, with the assumption that only one thread at a
|
||||
time will work with a tile worker instance.
|
||||
|
||||
Tile workers are not based on a common interface or base class. Tiles
|
||||
are. MapLibre Native GL offers a base Tile class. Raster, Geometry, and
|
||||
are. MapLibre Native offers a base Tile class. Raster, Geometry, and
|
||||
Elevation tile instances are inherited from Tile base class. Through
|
||||
this inheritance MapLibre Native GL maintains the association of Tile
|
||||
this inheritance MapLibre Native maintains the association of Tile
|
||||
types and tile workers. Any Tile Worker is an actor that accepts
|
||||
messages of a specific Tile type. For a Geometry Tile Worker, the type
|
||||
is a Geometry Tile.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@maplibre/maplibre-gl-native",
|
||||
"version": "5.2.0",
|
||||
"description": "Renders map tiles with Maplibre GL",
|
||||
"description": "Renders map tiles with MapLibre Native",
|
||||
"keywords": [
|
||||
"maplibre",
|
||||
"gl"
|
||||
|
||||
@@ -16,8 +16,8 @@ MapLibre Native for iOS is distributed using the [Swift Package Index](https://s
|
||||
|
||||
There is a an open bounty to extend this Getting Started guide ([#809](https://github.com/maplibre/maplibre-native/issues/809)). In the meantime, refer to one of these external guides:
|
||||
|
||||
- [Get Started with MapLibre GL Native for iOS using SwiftUI](https://docs.maptiler.com/maplibre-gl-native-ios/ios-swiftui-basic-get-started/)
|
||||
- [Get Started With MapLibre GL Native for iOS using UIKit](https://docs.maptiler.com/maplibre-gl-native-ios/ios-uikit-basic-get-started/)
|
||||
- [Get Started with MapLibre Native for iOS using SwiftUI](https://docs.maptiler.com/maplibre-gl-native-ios/ios-swiftui-basic-get-started/)
|
||||
- [Get Started With MapLibre Native for iOS using UIKit](https://docs.maptiler.com/maplibre-gl-native-ios/ios-uikit-basic-get-started/)
|
||||
|
||||
## Developing
|
||||
|
||||
|
||||
@@ -1093,7 +1093,7 @@
|
||||
DA17BE2F1CC4BAC300402C41 /* MLNMapView_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MLNMapView_Private.h; sourceTree = "<group>"; };
|
||||
DA1AC01B1E5B8774006DF1D6 /* lt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = lt; path = lt.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
DA1AC0201E5B8917006DF1D6 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = uk; path = uk.lproj/Foundation.stringsdict; sourceTree = "<group>"; };
|
||||
DA1DC94A1CB6C1C2006E619F /* MapLibre GL.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "MapLibre GL.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
DA1DC94A1CB6C1C2006E619F /* MapLibre Native.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "MapLibre Native.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
DA1DC9501CB6C1C2006E619F /* MBXAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MBXAppDelegate.h; sourceTree = "<group>"; };
|
||||
DA1DC9531CB6C1C2006E619F /* MBXViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MBXViewController.h; sourceTree = "<group>"; };
|
||||
DA1DC95E1CB6C1C2006E619F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
@@ -1799,7 +1799,7 @@
|
||||
DA1DC94B1CB6C1C2006E619F /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
DA1DC94A1CB6C1C2006E619F /* MapLibre GL.app */,
|
||||
DA1DC94A1CB6C1C2006E619F /* MapLibre Native.app */,
|
||||
DABCABA81CB80692000A7C39 /* Bench GL.app */,
|
||||
DA8847D21CBAF91600AB86E3 /* Mapbox.framework */,
|
||||
DAA4E4131CBB71D400178DFB /* libMapbox.a */,
|
||||
@@ -2684,7 +2684,7 @@
|
||||
);
|
||||
name = iosapp;
|
||||
productName = iosapp;
|
||||
productReference = DA1DC94A1CB6C1C2006E619F /* MapLibre GL.app */;
|
||||
productReference = DA1DC94A1CB6C1C2006E619F /* MapLibre Native.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
DA2E88501CC036F400F24E7B /* test */ = {
|
||||
@@ -3744,7 +3744,7 @@
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.maplibre.maplibregl;
|
||||
PRODUCT_NAME = "MapLibre GL";
|
||||
PRODUCT_NAME = "MapLibre Native";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
};
|
||||
name = RelWithDebInfo;
|
||||
@@ -3776,7 +3776,7 @@
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.maplibre.bench;
|
||||
PRODUCT_NAME = "Bench GL";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "MapLibre GL Bench Development";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "MapLibre Native Bench Development";
|
||||
};
|
||||
name = RelWithDebInfo;
|
||||
};
|
||||
@@ -4324,7 +4324,7 @@
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.maplibre.maplibregl;
|
||||
PRODUCT_NAME = "MapLibre GL";
|
||||
PRODUCT_NAME = "MapLibre Native";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
};
|
||||
name = Debug;
|
||||
@@ -4344,7 +4344,7 @@
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.maplibre.maplibregl;
|
||||
PRODUCT_NAME = "MapLibre GL";
|
||||
PRODUCT_NAME = "MapLibre Native";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
};
|
||||
name = Release;
|
||||
@@ -4585,7 +4585,7 @@
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.maplibre.bench;
|
||||
PRODUCT_NAME = "Bench GL";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "MapLibre GL Bench Development";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "MapLibre Native Bench Development";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
@@ -4616,7 +4616,7 @@
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.maplibre.bench;
|
||||
PRODUCT_NAME = "Bench GL";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "MapLibre GL Bench Development";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "MapLibre Native Bench Development";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
@@ -4664,7 +4664,7 @@
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.maplibre.maplibregl;
|
||||
PRODUCT_NAME = "MapLibre GL";
|
||||
PRODUCT_NAME = "MapLibre Native";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
};
|
||||
name = MinSizeRel;
|
||||
@@ -4696,7 +4696,7 @@
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.maplibre.bench;
|
||||
PRODUCT_NAME = "Bench GL";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "MapLibre GL Bench Development";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "MapLibre Native Bench Development";
|
||||
};
|
||||
name = MinSizeRel;
|
||||
};
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "DA1DC9491CB6C1C2006E619F"
|
||||
BuildableName = "MapLibre GL.app"
|
||||
BuildableName = "MapLibre Native.app"
|
||||
BlueprintName = "iosapp"
|
||||
ReferencedContainer = "container:ios.xcodeproj">
|
||||
</BuildableReference>
|
||||
@@ -31,7 +31,7 @@
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "DA1DC9491CB6C1C2006E619F"
|
||||
BuildableName = "MapLibre GL.app"
|
||||
BuildableName = "MapLibre Native.app"
|
||||
BlueprintName = "iosapp"
|
||||
ReferencedContainer = "container:ios.xcodeproj">
|
||||
</BuildableReference>
|
||||
@@ -79,7 +79,7 @@
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "DA1DC9491CB6C1C2006E619F"
|
||||
BuildableName = "MapLibre GL.app"
|
||||
BuildableName = "MapLibre Native.app"
|
||||
BlueprintName = "iosapp"
|
||||
ReferencedContainer = "container:ios.xcodeproj">
|
||||
</BuildableReference>
|
||||
@@ -103,7 +103,7 @@
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "DA1DC9491CB6C1C2006E619F"
|
||||
BuildableName = "MapLibre GL.app"
|
||||
BuildableName = "MapLibre Native.app"
|
||||
BlueprintName = "iosapp"
|
||||
ReferencedContainer = "container:ios.xcodeproj">
|
||||
</BuildableReference>
|
||||
|
||||
@@ -292,7 +292,7 @@ NSString * const MLNLastMapDebugMaskDefaultsKey = @"MLNLastMapDebugMask";
|
||||
|
||||
- (IBAction)showShortcuts:(id)sender {
|
||||
NSAlert *alert = [[NSAlert alloc] init];
|
||||
alert.messageText = @"MapLibre GL Help";
|
||||
alert.messageText = @"MapLibre Native Help";
|
||||
alert.informativeText = @"\
|
||||
• To scroll, swipe with two fingers on a trackpad, or drag the cursor, or press the arrow keys.\n\
|
||||
• To zoom in, pinch two fingers apart on a trackpad, or double-click, or hold down Shift while dragging the cursor down, or hold down Option while pressing the up key.\n\
|
||||
|
||||
@@ -68,7 +68,7 @@ for ((i=0; i<${TOTAL_TESTS}; i++)); do
|
||||
fi
|
||||
|
||||
# The path to the maplibre dynamic lib
|
||||
LIB_PATH="${OUTPUT_DIR}/${ARCHIVE_NAME}/Products/Applications/MapLibre GL.app/Frameworks/Mapbox.framework/Mapbox"
|
||||
LIB_PATH="${OUTPUT_DIR}/${ARCHIVE_NAME}/Products/Applications/MapLibre Native.app/Frameworks/Mapbox.framework/Mapbox"
|
||||
if [[ ! -f "$LIB_PATH" ]]; then
|
||||
echo "${RED}MapLibre dynamic lib not found: $LIB_PATH${NORMAL}"
|
||||
exit 6
|
||||
|
||||
@@ -57,7 +57,7 @@ void MapWindow::changeStyle() {
|
||||
auto &styles = m_map->defaultStyles();
|
||||
|
||||
m_map->setStyleUrl(styles[currentStyleIndex].first);
|
||||
setWindowTitle(QString("MapLibre GL: ") + styles[currentStyleIndex].second);
|
||||
setWindowTitle(QString("MapLibre Native: ") + styles[currentStyleIndex].second);
|
||||
|
||||
if (++currentStyleIndex == styles.size()) {
|
||||
currentStyleIndex = 0;
|
||||
@@ -456,7 +456,7 @@ void MapWindow::initializeGL() {
|
||||
changeStyle();
|
||||
} else {
|
||||
m_map->setStyleUrl(styleUrl);
|
||||
setWindowTitle(QString("MapLibre GL: ") + styleUrl);
|
||||
setWindowTitle(QString("MapLibre Native: ") + styleUrl);
|
||||
}
|
||||
|
||||
m_bearingAnimation = new QPropertyAnimation(m_map.get(), "bearing");
|
||||
|
||||
@@ -7,7 +7,7 @@ include($QT_INSTALL_DOCS/global/qt-html-templates-online.qdocconf)
|
||||
Cpp.ignoretokens = Q_MAPLIBRE_EXPORT
|
||||
|
||||
project = QMapLibreGL
|
||||
description = MapLibre GL Maps SDK for Qt
|
||||
description = MapLibre Native SDK for Qt
|
||||
language = Cpp
|
||||
|
||||
outputdir = docs
|
||||
|
||||
@@ -6,10 +6,10 @@ set(MLN_QT_VERSION_COMPATIBILITY 2.0.0)
|
||||
message(STATUS "Version ${MLN_QT_VERSION}")
|
||||
|
||||
option(MLN_QT_LIBRARY_ONLY "Build only libraries" OFF)
|
||||
option(MLN_QT_STATIC "Build MapLibre GL Qt bindings staticly" OFF)
|
||||
option(MLN_QT_STATIC "Build MapLibre Native Qt bindings staticly" OFF)
|
||||
option(MLN_QT_INSIDE_PLUGIN "Build QMapLibreGL as OBJECT library, so it can be bundled into separate single plugin lib." OFF)
|
||||
option(MLN_QT_WITH_HEADLESS "Build MapLibre GL Qt with headless support" ON)
|
||||
option(MLN_QT_WITH_INTERNAL_SQLITE "Build MapLibre GL Qt bindings with internal sqlite" OFF)
|
||||
option(MLN_QT_WITH_HEADLESS "Build MapLibre Native Qt with headless support" ON)
|
||||
option(MLN_QT_WITH_INTERNAL_SQLITE "Build MapLibre Native Qt bindings with internal sqlite" OFF)
|
||||
option(MLN_QT_DEPLOYMENT "Autogenerate files necessary for deployment" OFF)
|
||||
|
||||
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED)
|
||||
@@ -35,7 +35,7 @@ endif()
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
option(MLN_QT_WITH_INTERNAL_ICU "Build MapLibre GL Qt bindings with internal ICU" OFF)
|
||||
option(MLN_QT_WITH_INTERNAL_ICU "Build MapLibre Native Qt bindings with internal ICU" OFF)
|
||||
if(NOT MLN_QT_WITH_INTERNAL_ICU)
|
||||
find_package(ICU COMPONENTS uc REQUIRED)
|
||||
else()
|
||||
|
||||
@@ -1243,7 +1243,7 @@ void Map::render() {
|
||||
}
|
||||
|
||||
/*!
|
||||
If MapLibre GL needs to rebind the default \a fbo, it will use the
|
||||
If MapLibre Native needs to rebind the default \a fbo, it will use the
|
||||
ID supplied here. \a size is the size of the framebuffer, which
|
||||
on high DPI screens is usually bigger than the map size.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"Id": "maplibre-gl-native",
|
||||
"Name": "MapLibre Native",
|
||||
"QDocModule": "qtlocation",
|
||||
"QtUsage": "Used in the MapLibre backend of Qt Location.",
|
||||
"QtUsage": "Used in the MapLibre Native backend of Qt Location.",
|
||||
|
||||
"Description": "MapLibre Native is a community led fork derived from mapbox-gl-native.",
|
||||
"Homepage": "https://github.com/maplibre/maplibre-native",
|
||||
|
||||
Reference in New Issue
Block a user