From f588bad785f2845f9bad3303d17263becd9d93c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20T=C5=AFma?= Date: Mon, 19 May 2025 23:01:35 +0200 Subject: [PATCH] Use different flags for the "dashed" and "directional" line styles --- src/map/IMG/rastertile.cpp | 2 +- src/map/IMG/style.cpp | 47 ++++++++++++++++++++++---------------- 2 files changed, 28 insertions(+), 21 deletions(-) diff --git a/src/map/IMG/rastertile.cpp b/src/map/IMG/rastertile.cpp index 5432c976..732d7cd4 100644 --- a/src/map/IMG/rastertile.cpp +++ b/src/map/IMG/rastertile.cpp @@ -196,7 +196,7 @@ static quint32 lineType(quint32 type, quint32 flags) } else if (Style::isRecommendedRoute(type)) return (flags & MapData::Poly::Dashed) ? type | 1<<20 : type; else if (flags & MapData::Poly::Direction) - return type | 1<<20; + return type | 2<<20; else return type; } diff --git a/src/map/IMG/style.cpp b/src/map/IMG/style.cpp index 5b92f5b6..7f6421b4 100644 --- a/src/map/IMG/style.cpp +++ b/src/map/IMG/style.cpp @@ -500,35 +500,38 @@ void Style::defaultLineStyle(qreal ratio) _lines[0x10402] = Line(QImage(":/marine/pipeline.png")); _lines[0x10403] = Line(QPen(QColor(0, 0, 0), 2, Qt::DotLine)); _lines[0x10404] = Line(QPen(QColor(0, 0, 0), 1, Qt::DashLine)); - _lines[0x110404] = Line(QImage(":/marine/fishing-farm-line.png")); + _lines[0x210404] = Line(QImage(":/marine/fishing-farm-line.png")); _lines[0x10405] = Line(QPen(QColor(0xe7, 0x28, 0xe7), 1, Qt::DashLine)); - _lines[0x110405] = Line(QImage(":/marine/pipeline-area-line.png")); + _lines[0x210405] = Line(QImage(":/marine/pipeline-area-line.png")); _lines[0x10406] = Line(QPen(QColor(0xe7, 0x28, 0xe7), 1, Qt::DashLine)); - _lines[0x110406] = Line(QImage(":/marine/cable-area-line.png")); + _lines[0x210406] = Line(QImage(":/marine/cable-area-line.png")); _lines[0x10407] = Line(QPen(QColor(0xa3, 0xa3, 0xa3), 1, Qt::DashLine)); - _lines[0x110407] = Line(QImage(":/marine/dumping-ground-line.png")); + _lines[0x210407] = Line(QImage(":/marine/dumping-ground-line.png")); _lines[0x10408] = Line(QPen(QColor(0xff, 0x40, 0x40), 1, Qt::DashLine)); - _lines[0x110408] = Line(QImage(":/marine/minefield-line.png")); + _lines[0x210408] = Line(QImage(":/marine/minefield-line.png")); _lines[0x10409] = Line(QPen(QColor(0, 0, 0), 1, Qt::DotLine)); + _lines[0x210409] = Line(QPen(QColor(0, 0, 0), 1, Qt::DotLine)); _lines[0x1040b] = Line(QPen(QColor(0, 0, 0), 2, Qt::DashLine)); + _lines[0x21040b] = Line(QPen(QColor(0, 0, 0), 2, Qt::DashLine)); _lines[0x1040c] = Line(QPen(QColor(0, 0, 0), 2)); + _lines[0x21040c] = Line(QPen(QColor(0, 0, 0), 2)); _lines[0x10501] = Line(QPen(QColor(0xe7, 0x28, 0xe7), 1, Qt::DashLine)); - _lines[0x110501] = Line(QImage(":/marine/noanchor-line.png")); + _lines[0x210501] = Line(QImage(":/marine/noanchor-line.png")); _lines[0x10502] = Line(QPen(QColor(0xe7, 0x28, 0xe7), 1, Qt::DashLine)); - _lines[0x110502] = Line(QImage(":/marine/nofishing-line.png")); + _lines[0x210502] = Line(QImage(":/marine/nofishing-line.png")); _lines[0x10503] = Line(QPen(QColor(0xe7, 0x28, 0xe7), 1, Qt::DashLine)); - _lines[0x110503] = Line(QImage(":/marine/entry-prohibited-line.png")); + _lines[0x210503] = Line(QImage(":/marine/entry-prohibited-line.png")); _lines[0x10504] = Line(QPen(QColor(0xe7, 0x28, 0xe7), 1, Qt::DashLine)); - _lines[0x110504] = Line(QImage(":/marine/entry-prohibited-line.png")); + _lines[0x210504] = Line(QImage(":/marine/entry-prohibited-line.png")); _lines[0x10505] = Line(QPen(QColor(0xe7, 0x28, 0xe7), 1, Qt::DashLine)); - _lines[0x110505] = Line(QImage(":/marine/noanchor-line.png")); + _lines[0x210505] = Line(QImage(":/marine/noanchor-line.png")); _lines[0x10506] = Line(QPen(QColor(0x30, 0xa0, 0x1b), 1, Qt::DashLine)); - _lines[0x110506] = Line(QImage(":/marine/nature-reserve-line.png")); + _lines[0x210506] = Line(QImage(":/marine/nature-reserve-line.png")); _lines[0x10507] = Line(QPen(QColor(0xe7, 0x28, 0xe7), 1, Qt::DashLine)); - _lines[0x110507] = Line(QImage(":/marine/safety-zone-line.png")); + _lines[0x210507] = Line(QImage(":/marine/safety-zone-line.png")); _lines[0x10508] = Line(QPen(QColor(0xff, 0x40, 0x40), 1, Qt::DashLine)); - _lines[0x110508] = Line(QImage(":/marine/minefield-line.png")); + _lines[0x210508] = Line(QImage(":/marine/minefield-line.png")); _lines[0x10601] = Line(QPen(QColor(0, 0, 0), 1)); _lines[0x110601] = Line(QPen(QColor(0, 0, 0), 1, Qt::DashLine)); @@ -563,23 +566,27 @@ void Style::defaultLineStyle(qreal ratio) _lines[0x10601 | 15<<24] = Line(QPen(QColor(0xcd, 0xcd, 0xcd), 1)); _lines[0x110601 | 15<<24] = Line(QPen(QColor(0xcd, 0xcd, 0xcd), 1, Qt::DashLine)); _lines[0x10602] = Line(QPen(QColor(0xfc, 0xb4, 0xfc), 2)); + _lines[0x210602] = Line(QPen(QColor(0xfc, 0xb4, 0xfc), 2)); _lines[0x10603] = Line(QImage(":/marine/international-maritime-boundary.png")); - _lines[0x110603] = Line(QImage(":/marine/international-maritime-boundary.png")); + _lines[0x210603] = Line(QImage(":/marine/international-maritime-boundary.png")); _lines[0x10604] = Line(QPen(QColor(0xe7, 0x28, 0xe7), 1)); - _lines[0x110604] = Line(QImage(":/marine/straight-territorial-sea-baseline.png")); + _lines[0x210604] = Line(QImage(":/marine/straight-territorial-sea-baseline.png")); _lines[0x10605] = Line(QImage(":/marine/seaward-limit-of-territorial-sea.png")); - _lines[0x110605] = Line(QImage(":/marine/seaward-limit-of-territorial-sea.png")); + _lines[0x210605] = Line(QImage(":/marine/seaward-limit-of-territorial-sea.png")); _lines[0x10606] = Line(QPen(QColor(0xe7, 0x28, 0xe7), 1, Qt::DashLine)); - _lines[0x110606] = Line(QImage(":/marine/anchor-line.png")); + _lines[0x210606] = Line(QImage(":/marine/anchor-line.png")); _lines[0x10608] = Line(QPen(QColor(0xe7, 0x28, 0xe7), 1, Qt::DashLine)); - _lines[0x110608] = Line(QImage(":/marine/fishing-line.png")); + _lines[0x210608] = Line(QImage(":/marine/fishing-line.png")); _lines[0x1060b] = Line(QPen(QColor(0xe7, 0x28, 0xe7), 1, Qt::DashDotDotLine)); - _lines[0x11060b] = Line(QPen(QColor(0xe7, 0x28, 0xe7), 1, Qt::DashDotDotLine)); + _lines[0x21060b] = Line(QPen(QColor(0xe7, 0x28, 0xe7), 1, Qt::DashDotDotLine)); _lines[0x1060c] = Line(QPen(QColor(0xe7, 0x28, 0xe7), 1, Qt::SolidLine)); + _lines[0x21060c] = Line(QPen(QColor(0xe7, 0x28, 0xe7), 1, Qt::SolidLine)); _lines[0x1060d] = Line(QPen(QColor(0xeb, 0x49, 0xeb), 1, Qt::DashLine)); + _lines[0x21060d] = Line(QPen(QColor(0xeb, 0x49, 0xeb), 1, Qt::DashLine)); _lines[0x1060e] = Line(QPen(QColor(0xff, 0x40, 0x40), 1, Qt::DashLine)); - _lines[0x11060e] = Line(QPen(QColor(0xff, 0x40, 0x40), 1, Qt::DashLine)); + _lines[0x21060e] = Line(QPen(QColor(0xff, 0x40, 0x40), 1, Qt::DashLine)); _lines[0x10611] = Line(QPen(QColor(0xeb, 0x49, 0xeb), 1, Qt::DashLine)); + _lines[0x210611] = Line(QPen(QColor(0xeb, 0x49, 0xeb), 1, Qt::DashLine)); } void Style::defaultPointStyle(qreal ratio)