Revision control

Copy as Markdown

// Copyright (C) 2015 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
// Qt-Security score:significant reason:default
#include "qgeomaptype_p.h"
#include "qgeomaptype_p_p.h"
QT_BEGIN_NAMESPACE
QT_DEFINE_QSDP_SPECIALIZATION_DTOR(QGeoMapTypePrivate)
/*!
\qmltype mapType
\inqmlmodule QtLocation
\ingroup qml-QtLocation5-maps
\since QtLocation 5.5
\brief The mapType type holds information about a map type.
This includes the map type's \l name and \l description, the \l style and
a flag to indicate if the map type is optimized for mobile devices (\l mobile).
*/
QGeoMapType::QGeoMapType()
: d_ptr(new QGeoMapTypePrivate()) {}
QGeoMapType::QGeoMapType(const QGeoMapType &other) noexcept = default;
QGeoMapType::QGeoMapType(QGeoMapType::MapStyle style, const QString &name,
const QString &description, bool mobile, bool night, int mapId,
const QByteArray &pluginName,
const QGeoCameraCapabilities &cameraCapabilities,
const QVariantMap &metadata)
: d_ptr(new QGeoMapTypePrivate(style, name, description, mobile, night, mapId, pluginName, cameraCapabilities, metadata))
{
}
QGeoMapType::~QGeoMapType() = default;
QGeoMapType &QGeoMapType::operator=(const QGeoMapType &other) noexcept
{
if (this == &other)
return *this;
d_ptr = other.d_ptr;
return *this;
}
bool QGeoMapType::isEqual(const QGeoMapType &other) const noexcept
{
return (*d_ptr.constData() == *other.d_ptr.constData());
}
/*!
\qmlproperty enumeration mapType::style
This read-only property gives access to the style of the map type.
\list
\li MapType.NoMap - No map.
\li MapType.StreetMap - A street map.
\li MapType.SatelliteMapDay - A map with day-time satellite imagery.
\li MapType.SatelliteMapNight - A map with night-time satellite imagery.
\li MapType.TerrainMap - A terrain map.
\li MapType.HybridMap - A map with satellite imagery and street information.
\li MapType.GrayStreetMap - A gray-shaded street map.
\li MapType.PedestrianMap - A street map suitable for pedestriants.
\li MapType.CarNavigationMap - A street map suitable for car navigation.
\li MapType.CycleMap - A street map suitable for cyclists.
\li MapType.CustomMap - A custom map type.
\endlist
*/
QGeoMapType::MapStyle QGeoMapType::style() const
{
return d_ptr->style_;
}
/*!
\qmlproperty string mapType::name
This read-only property holds the name of the map type as a single formatted string.
*/
QString QGeoMapType::name() const
{
return d_ptr->name_;
}
/*!
\qmlproperty string mapType::description
This read-only property holds the description of the map type as a single formatted string.
*/
QString QGeoMapType::description() const
{
return d_ptr->description_;
}
/*!
\qmlproperty bool mapType::mobile
\brief Whether the map type is optimized for the use on a mobile device.
Map types for mobile devices usually have higher constrast to counteract the
effects of sunlight and a reduced color for improved readability.
*/
bool QGeoMapType::mobile() const
{
return d_ptr->mobile_;
}
/*!
\qmlproperty bool mapType::night
\since QtLocation 5.4
\brief Whether the map type is optimized for use at night.
Map types suitable for use at night usually have a dark background.
*/
bool QGeoMapType::night() const
{
return d_ptr->night_;
}
int QGeoMapType::mapId() const
{
return d_ptr->mapId_;
}
QByteArray QGeoMapType::pluginName() const
{
return d_ptr->pluginName_;
}
/*!
\qmlproperty CameraCapabilities mapType::cameraCapabilities
\since QtLocation 5.10
This property holds the camera capabilities for this map type.
*/
QGeoCameraCapabilities QGeoMapType::cameraCapabilities() const
{
return d_ptr->cameraCapabilities_;
}
/*!
\qmlproperty VariantMap mapType::metadata
\since QtLocation 5.10
This property holds optional, extra metadata related to a specific map type.
The content of this property is entirely plugin-specific.
*/
QVariantMap QGeoMapType::metadata() const
{
return d_ptr->metadata_;
}
QGeoMapTypePrivate::QGeoMapTypePrivate() = default;
QGeoMapTypePrivate::QGeoMapTypePrivate(QGeoMapType::MapStyle style, const QString &name,
const QString &description, bool mobile, bool night,
int mapId, const QByteArray &pluginName,
const QGeoCameraCapabilities &cameraCapabilities,
const QVariantMap &metadata)
: name_(name), description_(description), pluginName_(pluginName),
cameraCapabilities_(cameraCapabilities), metadata_(metadata),
style_(style), mapId_(mapId), mobile_(mobile), night_(night)
{
}
bool QGeoMapTypePrivate::operator==(const QGeoMapTypePrivate &other) const
{
return pluginName_ == other.pluginName_ && style_ == other.style_ && name_ == other.name_ &&
description_ == other.description_ && mobile_ == other.mobile_ && night_ == other.night_ &&
mapId_ == other.mapId_ && cameraCapabilities_ == other.cameraCapabilities_ &&
metadata_ == other.metadata_;
}
QT_END_NAMESPACE
#include "moc_qgeomaptype_p.cpp"