openpilot is an open source driver assistance system. openpilot performs the functions of Automated Lane Centering and Adaptive Cruise Control for over 200 supported car makes and models.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.4 KiB

// Copyright (C) 2023 MapLibre contributors
// Copyright (C) 2017 The Qt Company Ltd.
// Copyright (C) 2017 Mapbox, Inc.
// SPDX-License-Identifier: LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#pragma once
#include "export_location.hpp"
#include <QMapLibre/Map>
#include <QMapLibre/StyleParameter>
#include <QtLocation/private/qgeomap_p.h>
namespace QMapLibre {
class QGeoMapMapLibrePrivate;
class Q_MAPLIBRE_LOCATION_EXPORT QGeoMapMapLibre : public QGeoMap {
Q_OBJECT
Q_DECLARE_PRIVATE(QGeoMapMapLibre)
public:
explicit QGeoMapMapLibre(QGeoMappingManagerEngine *engine, QObject *parent = nullptr);
~QGeoMapMapLibre() override;
[[nodiscard]] Capabilities capabilities() const override;
void setSettings(const Settings &settings);
void setMapItemsBefore(const QString &mapItemsBefore);
void addStyleParameter(StyleParameter *parameter);
void removeStyleParameter(StyleParameter *parameter);
void clearStyleParameters();
private Q_SLOTS:
// QMapLibre
void onMapChanged(Map::MapChange);
// QDeclarativeGeoMapItemBase
void onMapItemPropertyChanged();
void onMapItemSubPropertyChanged();
void onMapItemUnsupportedPropertyChanged();
void onMapItemGeometryChanged();
// StyleParameter
void onStyleParameterUpdated(StyleParameter *parameter);
private:
QSGNode *updateSceneGraph(QSGNode *oldNode, QQuickWindow *window) override;
};
} // namespace QMapLibre