/**************************************************************************** ** ** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the test suite of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:GPL-EXCEPT$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 3 as published by the Free Software ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT ** included in the packaging of this file. Please review the following ** information to ensure the GNU General Public License requirements will ** be met: https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** ****************************************************************************/ #ifndef QGEOTILEDMAPPINGMANAGERENGINE_TEST_H #define QGEOTILEDMAPPINGMANAGERENGINE_TEST_H #include #include #include #include #include #include #include "qgeotiledmap_test.h" #include "qgeotilefetcher_test.h" QT_USE_NAMESPACE class QGeoTiledMappingManagerEngineTest: public QGeoTiledMappingManagerEngine { Q_OBJECT public: QGeoTiledMappingManagerEngineTest(const QVariantMap ¶meters, QGeoServiceProvider::Error *error, QString *errorString) : QGeoTiledMappingManagerEngine() { Q_UNUSED(error) Q_UNUSED(errorString) setLocale(QLocale (QLocale::German, QLocale::Germany)); QGeoCameraCapabilities capabilities; capabilities.setMinimumZoomLevel(0.0); capabilities.setMaximumZoomLevel(20.0); capabilities.setSupportsBearing(true); capabilities.setSupportsTilting(true); capabilities.setMinimumTilt(0); capabilities.setMaximumTilt(60); setTileSize(QSize(256, 256)); const QByteArray pluginName = "qmlgeo.test.plugin"; QList mapTypes; mapTypes << QGeoMapType(QGeoMapType::StreetMap, tr("StreetMap"), tr("StreetMap"), false, false, 1, pluginName); mapTypes << QGeoMapType(QGeoMapType::SatelliteMapDay, tr("SatelliteMapDay"), tr("SatelliteMapDay"), false, false, 2, pluginName); mapTypes << QGeoMapType(QGeoMapType::CycleMap, tr("CycleMap"), tr("CycleMap"), false, false, 3, pluginName); mapTypes << QGeoMapType(QGeoMapType::CustomMap, tr("AlternateCameraCapabilities"), tr("AlternateCameraCapabilities"), false, false, 4, pluginName); setSupportedMapTypes(mapTypes); QGeoTileFetcherTest *fetcher = new QGeoTileFetcherTest(this); if (parameters.contains(QStringLiteral("finishRequestImmediately"))) fetcher->setFinishRequestImmediately(parameters.value(QStringLiteral("finishRequestImmediately")).toBool()); if (parameters.contains(QStringLiteral("tileSize"))) { int tileSize = parameters.value(QStringLiteral("tileSize")).toInt(); setTileSize(QSize(tileSize, tileSize)); } if (parameters.contains(QStringLiteral("maxZoomLevel"))) { double maxZoomLevel = parameters.value(QStringLiteral("maxZoomLevel")).toDouble(); capabilities.setMaximumZoomLevel(maxZoomLevel); } setCameraCapabilities(capabilities); fetcher->setTileSize(tileSize()); setTileFetcher(fetcher); } QGeoMap *createMap() override { return new QGeoTiledMapTest(this); } QGeoCameraCapabilities cameraCapabilities(int mapId) const Q_DECL_OVERRIDE { switch (mapId) { case 4: { QGeoCameraCapabilities capabilities; capabilities.setMinimumZoomLevel(0.0); capabilities.setMaximumZoomLevel(19.0); capabilities.setSupportsBearing(true); capabilities.setSupportsTilting(true); capabilities.setMinimumTilt(0); capabilities.setMaximumTilt(80); capabilities.setMinimumFieldOfView(1); capabilities.setMaximumFieldOfView(179); return capabilities; } default: return QGeoMappingManagerEngine::cameraCapabilities(mapId); } } }; #endif