[Qt] Avoid using brace-list init ctor in QMapboxGL
This commit is contained in:
@@ -26,6 +26,11 @@ struct Q_DECL_EXPORT Feature {
|
||||
LineStringType,
|
||||
PolygonType
|
||||
};
|
||||
|
||||
Feature(Type type_ = PointType, const CoordinatesCollections& geometry_ = CoordinatesCollections(),
|
||||
const QVariantMap& properties_ = QVariantMap(), const QVariant& id_ = QVariant())
|
||||
: type(type_), geometry(geometry_), properties(properties_), id(id_) {}
|
||||
|
||||
Type type;
|
||||
CoordinatesCollections geometry;
|
||||
QVariantMap properties;
|
||||
@@ -34,11 +39,15 @@ struct Q_DECL_EXPORT Feature {
|
||||
|
||||
struct Q_DECL_EXPORT ShapeAnnotationGeometry {
|
||||
enum Type {
|
||||
LineStringType,
|
||||
LineStringType = 1,
|
||||
PolygonType,
|
||||
MultiLineStringType,
|
||||
MultiPolygonType
|
||||
};
|
||||
|
||||
ShapeAnnotationGeometry(Type type_ = LineStringType, const CoordinatesCollections& geometry_ = CoordinatesCollections())
|
||||
: type(type_), geometry(geometry_) {}
|
||||
|
||||
Type type;
|
||||
CoordinatesCollections geometry;
|
||||
};
|
||||
@@ -49,16 +58,24 @@ struct Q_DECL_EXPORT SymbolAnnotation {
|
||||
};
|
||||
|
||||
struct Q_DECL_EXPORT LineAnnotation {
|
||||
LineAnnotation(const ShapeAnnotationGeometry& geometry_ = ShapeAnnotationGeometry(), float opacity_ = 1.0f,
|
||||
float width_ = 1.0f, const QColor& color_ = Qt::black)
|
||||
: geometry(geometry_), opacity(opacity_), width(width_), color(color_) {}
|
||||
|
||||
ShapeAnnotationGeometry geometry;
|
||||
float opacity = 1.0f;
|
||||
float width = 1.0f;
|
||||
QColor color = Qt::black;
|
||||
float opacity;
|
||||
float width;
|
||||
QColor color;
|
||||
};
|
||||
|
||||
struct Q_DECL_EXPORT FillAnnotation {
|
||||
FillAnnotation(const ShapeAnnotationGeometry& geometry_ = ShapeAnnotationGeometry(), float opacity_ = 1.0f,
|
||||
const QColor& color_ = Qt::black, const QVariant& outlineColor_ = QVariant())
|
||||
: geometry(geometry_), opacity(opacity_), color(color_), outlineColor(outlineColor_) {}
|
||||
|
||||
ShapeAnnotationGeometry geometry;
|
||||
float opacity = 1.0f;
|
||||
QColor color = Qt::black;
|
||||
float opacity;
|
||||
QColor color;
|
||||
QVariant outlineColor;
|
||||
};
|
||||
|
||||
|
||||
@@ -780,16 +780,16 @@ mbgl::optional<mbgl::Annotation> asMapboxGLAnnotation(const QMapbox::Annotation
|
||||
mbgl::ShapeAnnotationGeometry result;
|
||||
switch (geometry.type) {
|
||||
case QMapbox::ShapeAnnotationGeometry::LineStringType:
|
||||
result = { asMapboxGLLineString(geometry.geometry.first().first()) };
|
||||
result = asMapboxGLLineString(geometry.geometry.first().first());
|
||||
break;
|
||||
case QMapbox::ShapeAnnotationGeometry::PolygonType:
|
||||
result = { asMapboxGLPolygon(geometry.geometry.first()) };
|
||||
result = asMapboxGLPolygon(geometry.geometry.first());
|
||||
break;
|
||||
case QMapbox::ShapeAnnotationGeometry::MultiLineStringType:
|
||||
result = { asMapboxGLMultiLineString(geometry.geometry.first()) };
|
||||
result = asMapboxGLMultiLineString(geometry.geometry.first());
|
||||
break;
|
||||
case QMapbox::ShapeAnnotationGeometry::MultiPolygonType:
|
||||
result = { asMapboxGLMultiPolygon(geometry.geometry) };
|
||||
result = asMapboxGLMultiPolygon(geometry.geometry);
|
||||
break;
|
||||
}
|
||||
return result;
|
||||
@@ -798,19 +798,19 @@ mbgl::optional<mbgl::Annotation> asMapboxGLAnnotation(const QMapbox::Annotation
|
||||
if (annotation.canConvert<QMapbox::SymbolAnnotation>()) {
|
||||
QMapbox::SymbolAnnotation symbolAnnotation = annotation.value<QMapbox::SymbolAnnotation>();
|
||||
QMapbox::Coordinate& pair = symbolAnnotation.geometry;
|
||||
return { mbgl::SymbolAnnotation { mbgl::Point<double> { pair.second, pair.first }, symbolAnnotation.icon.toStdString() } };
|
||||
return { mbgl::SymbolAnnotation(mbgl::Point<double> { pair.second, pair.first }, symbolAnnotation.icon.toStdString()) };
|
||||
} else if (annotation.canConvert<QMapbox::LineAnnotation>()) {
|
||||
QMapbox::LineAnnotation lineAnnotation = annotation.value<QMapbox::LineAnnotation>();
|
||||
auto color = mbgl::Color::parse(lineAnnotation.color.name().toStdString());
|
||||
return { mbgl::LineAnnotation { asMapboxGLGeometry(lineAnnotation.geometry), lineAnnotation.opacity, lineAnnotation.width, { *color } } };
|
||||
return { mbgl::LineAnnotation(asMapboxGLGeometry(lineAnnotation.geometry), lineAnnotation.opacity, lineAnnotation.width, { *color }) };
|
||||
} else if (annotation.canConvert<QMapbox::FillAnnotation>()) {
|
||||
QMapbox::FillAnnotation fillAnnotation = annotation.value<QMapbox::FillAnnotation>();
|
||||
auto color = mbgl::Color::parse(fillAnnotation.color.name().toStdString());
|
||||
if (fillAnnotation.outlineColor.canConvert<QColor>()) {
|
||||
auto outlineColor = mbgl::Color::parse(fillAnnotation.outlineColor.value<QColor>().name().toStdString());
|
||||
return { mbgl::FillAnnotation { asMapboxGLGeometry(fillAnnotation.geometry), fillAnnotation.opacity, { *color }, { *outlineColor } } };
|
||||
return { mbgl::FillAnnotation(asMapboxGLGeometry(fillAnnotation.geometry), fillAnnotation.opacity, { *color }, { *outlineColor }) };
|
||||
} else {
|
||||
return { mbgl::FillAnnotation { asMapboxGLGeometry(fillAnnotation.geometry), fillAnnotation.opacity, { *color }, {} } };
|
||||
return { mbgl::FillAnnotation(asMapboxGLGeometry(fillAnnotation.geometry), fillAnnotation.opacity, { *color }, {}) };
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user