TMJ!3c^WXy!i!BeNSO
zjhZpK<5Kd!G$}O!6N(J@WyYX*K`kW5ieXkWqwIW(pX^zDiz@*2^deKzcUrD#xu&GR
zl)%&3H7(ba6qpitI=lXFa#_b;r%()j1*PC+Y35Vj7`$lB6xXcwVHEZ>wrJM&{YeIaOBkYXCIaM%5~J*OV5^VegQl1UU_F8w)x`CgE>R@_!~do
zCk<>raiVL_tvv@eF8KVjyZgjYdhlRq9k#Sxf8dAizm-_2-{v^HxpT0~;en`Dn|zyp
z@}2AFZeH$qx9f|OUBN$Jw)S;x`f8w>eCWXE(z*JNdeW9%6`MxhNj5I^AG%DveDCg|
e&F>cs&gH)s`0-~ierFMcjRpKwzTcE@e(>K7ecccM
literal 259
zcmeAS@N?(olHy`uVBq!ia0vp^GC<7E!3HFyWpvK~DYhhUcNZWH1V5d3*8?fe0*}aI
zppNSx%;=;sy8jwxjg2lZLWI
za@bq{$=BzbX`E~j*3*e*2)HC?!R&r|*|dDqw|C}5?ED%b&EusdTJtj~JVHWFLi-7)
zjMSB#w=Cao6OpKP^jx@`vzwZFB82@K>f&~CFRR)vmUGEF27gv&Le*7%K&??
y)4jrc=MMaM@3H>e!DE|5>)kw$ZenHc_im8a6?U1ms$A?l$SzrO)rfe*SohAs5E3{AVD@jkA@BetLM
zdx;&kK_Fr!DP;XhLkpc+m3A9hM+r={3S|^TLER=ORE0
z5uU#v%Yz57v{*3vq3g&jB$@;hBlvYZzVnG!1|LmallFf$IP}}z_Fg=1W80f|)O0%P
zhHgDw_Qc#-T_e}8Ui|CT`M9g8`al_9axUiFRnu|fSm)f0TiX`fKdlHxo}-uYKN#-X
z_Y>>zhMvJkZvNwD(KqYf7fVX+t6`2G>^R@?D^INbpUc*7UnzGF?@s?^&mFUuCs$t|
z-k}Yk&5iH=>9LkBZ{-8e^*3A+SJCXylA$;EUV4`N#J|d?uK#dd^M^+kZ4wUtnk3i1
z`1icC4M*+wZL6)Vx{JLKJhS&1alwj_CHLNX<8sfbSD);)Rd%&TOWLn|{m!ky)S*>M
z^4N;b*V=x0_sJV`XB_J<>HXOI(aElJoMp@Dqum#;tFFz@KXi89d}5-=VLT)!f@w)ZG1+rLb`Geg^Hkakzh9
z|DjE%4~~pjzT}g7z3*Rppaj!OxIu3SRdbRWa|p63B1bxwFwP4rUY}QWMf~5j84t
zzy0(6KiF|a_S+w3LsTeHj@Bx{4M|kLp(ZSCXp(%gefct5ahd~w7}5ni9gD^_F73CQ
zxE#oanzZAliQeS5H$WMct4V~r94-e%RHT&_#=gvk7boQiR~M+vLco*XzE;;097(29
zDM!lbP?L=$?eqCaiXj<>01HBEjq5_1h-(WChzv#mX;M;2=!zQ04NO5)n{~h44(s@6
ze6d6*GzK5nvMc}}WLij&w1XmJF><1ZrdPB8NH(Bv_0Ynt2}IT*O>Is}sGBtg^q9_KY8th6>+S0giV;%+tjY=$GdI8y!EOjL^PS&K@j1@DTiGhIo
z815wN(cDdAunL8^fGRZ`;qd{#-PoU#RY{RKQ;e`qkKhyp!Yd<|a7m0r_(Td39!5k+
zVB9nx&RV#6`JSMi#wpb^^ph
zNd>A>h)#^kfRX{q=V86zt
zh{!~|(OfVH=SpjNznyVVoZT8$Eadn
zB^);|1t&
zh%zN3XT;<4$)3sRni|nlLK2lW0*}BIl&AR*3SVp<)RM{8skO*B1t5%|7=mX0lQ1%y
zFlqFR(Tt19|Kgt2z%QeN<^{cw9BYPI&WyJ69e%QB@g42}(9@etiQj3urs{B;V&;a5-!UY1_6?h3(+)@|a7ssMHwM>KdlJ8uk2+2UPkP|no(P{qtkIr+8%?!aNkJWw6t1Epc_A5T2vFFcOtZ!P%j
zY<%V49{A#WN36Mv*8KVX25n3JTh^Xab-mKb_g0q$?%eUh)}PLvy}Ym0J!{R$;5&KY
z;K-cqpR~_k=nC{~xv>Ae^BosX-~ZKt94zMd7vAYB*#F8JYt-LnJOIn?xx5o!{tDp!iTz+0pfg)QKYwj1m@S8MrR9
Vep;RKc@0o0gQu&X%Q~loCIG-XAnpJF
literal 0
HcmV?d00001
diff --git a/src/map/ENC/mapdata.cpp b/src/map/ENC/mapdata.cpp
index d68c866e..fd17d1d6 100644
--- a/src/map/ENC/mapdata.cpp
+++ b/src/map/ENC/mapdata.cpp
@@ -285,6 +285,24 @@ static QString weed(uint type)
}
}
+static uint restrictionCategory(uint type, const MapData::Attributes &attr)
+{
+ uint catrea = attr.value(CATREA).toUInt();
+
+ if (!catrea) {
+ uint restrn = attr.value(
+ (type == RESARE) ? RESTRN : I_RESTRN).toUInt();
+
+ if (restrn == 1)
+ return 2;
+ else if (restrn == 7)
+ return 17;
+ else
+ return 0;
+ } else
+ return catrea;
+}
+
MapData::Point::Point(uint type, const Coordinates &c, const QString &label)
: _type(SUBTYPE(type, 0)), _pos(c), _label(label), _polygon(false)
{
@@ -328,10 +346,18 @@ MapData::Point::Point(uint type, const Coordinates &c, const Attributes &attr,
subtype = CATLIT;
else if (type == I_DISMAR)
subtype = CATDIS;
+ else if (type == I_BERTHS)
+ subtype = I_CATBRT;
+ else if (type == ACHARE)
+ subtype = CATACH;
+ else if (type == I_ACHARE)
+ subtype = I_CATACH;
QList list(_attr.value(subtype).split(','));
std::sort(list.begin(), list.end());
- _type = SUBTYPE(type, list.first().toUInt());
+ _type = (type == RESARE || type == I_RESARE)
+ ? SUBTYPE(type, restrictionCategory(type, _attr))
+ : SUBTYPE(type, list.first().toUInt());
_id = ((quint64)order(_type))<<32 | (uint)qHash(c);
_label = QString::fromLatin1(_attr.value(OBJNAM));
@@ -377,9 +403,7 @@ MapData::Poly::Poly(uint type, const Polygon &path, const Attributes &attr,
{
uint subtype = 0;
- if (type == RESARE || type == I_RESARE)
- subtype = CATREA;
- else if (type == ACHARE)
+ if (type == ACHARE)
subtype = CATACH;
else if (type == I_ACHARE)
subtype = I_CATACH;
@@ -389,17 +413,19 @@ MapData::Poly::Poly(uint type, const Polygon &path, const Attributes &attr,
subtype = CATMFA;
else if (type == I_BERTHS)
subtype = I_CATBRT;
- else if (type == RESARE || type == I_RESARE) {
- uint restr = _attr.value((type == RESARE) ? RESTRN : I_RESTRN).toUInt();
- if (restr == 1)
- subtype = 2;
- else if (restr == 7)
- subtype = 17;
+
+ switch (type) {
+ case DEPARE:
+ _type = SUBTYPE(type, depthLevel(_attr.value(DRVAL1).toDouble()));
+ break;
+ case RESARE:
+ case I_RESARE:
+ _type = SUBTYPE(type, restrictionCategory(type, attr));
+ break;
+ default:
+ _type = SUBTYPE(type, _attr.value(subtype).toUInt());
}
- _type = (type == DEPARE)
- ? SUBTYPE(DEPARE, depthLevel(_attr.value(DRVAL1).toDouble()))
- : SUBTYPE(type, _attr.value(subtype).toUInt());
}
MapData::Line::Line(uint type, const QVector &path,
diff --git a/src/map/ENC/style.cpp b/src/map/ENC/style.cpp
index f39631c3..7d2621cb 100644
--- a/src/map/ENC/style.cpp
+++ b/src/map/ENC/style.cpp
@@ -70,17 +70,24 @@ void Style::polygonStyle()
_polygons[TYPE(DRGARE)] = Polygon(QBrush(QColor(0xa0, 0xa0, 0xff),
Qt::Dense4Pattern));
_polygons[TYPE(UNSARE)] = Polygon(QBrush(QColor(0x99, 0x99, 0x99)));
+ _polygons[SUBTYPE(RESARE, 1)] = Polygon(QImage(":/marine/safety-zone-line.png"));
+ _polygons[SUBTYPE(RESARE, 2)] = Polygon(QImage(":/marine/noanchor-line.png"));
+ _polygons[SUBTYPE(RESARE, 4)] = Polygon(QImage(":/marine/nature-reserve-line.png"));
+ _polygons[SUBTYPE(RESARE, 5)] = Polygon(QImage(":/marine/sanctuary-line.png"));
+ _polygons[SUBTYPE(RESARE, 6)] = Polygon(QImage(":/marine/sanctuary-line.png"));
+ _polygons[SUBTYPE(RESARE, 7)] = Polygon(QImage(":/marine/sanctuary-line.png"));
_polygons[SUBTYPE(RESARE, 9)] = Polygon(QBrush(QColor(0xff, 0x00, 0x00),
Qt::BDiagPattern));
- _polygons[SUBTYPE(RESARE, 2)] = Polygon(QImage(":/marine/noanchor-line.png"));
- _polygons[SUBTYPE(I_RESARE, 2)] = Polygon(QImage(":/marine/noanchor-line.png"));
- _polygons[SUBTYPE(RESARE, 17)] = Polygon(
- QImage(":/marine/entry-prohibited-line.png"));
- _polygons[SUBTYPE(I_RESARE, 17)] = Polygon(
- QImage(":/marine/entry-prohibited-line.png"));
_polygons[SUBTYPE(RESARE, 12)] = Polygon(QImage(":/marine/safety-zone-line.png"));
- _polygons[SUBTYPE(I_RESARE, 12)] = Polygon(QImage(":/marine/safety-zone-line.png"));
- _polygons[SUBTYPE(RESARE, 1)] = Polygon(QImage(":/marine/safety-zone-line.png"));
+ _polygons[SUBTYPE(RESARE, 17)] = Polygon(QImage(":/marine/entry-prohibited-line.png"));
+ _polygons[SUBTYPE(RESARE, 22)] = Polygon(QImage(":/marine/sanctuary-line.png"));
+ _polygons[SUBTYPE(RESARE, 23)] = Polygon(QImage(":/marine/nature-reserve-line.png"));
+ _polygons[SUBTYPE(I_RESARE, 1)] = _polygons[SUBTYPE(RESARE, 1)];
+ _polygons[SUBTYPE(I_RESARE, 2)] = _polygons[SUBTYPE(RESARE, 2)];
+ _polygons[SUBTYPE(I_RESARE, 4)] = _polygons[SUBTYPE(RESARE, 4)];
+ _polygons[SUBTYPE(I_RESARE, 9)] = _polygons[SUBTYPE(RESARE, 9)];
+ _polygons[SUBTYPE(I_RESARE, 12)] = _polygons[SUBTYPE(RESARE, 12)];
+ _polygons[SUBTYPE(I_RESARE, 17)] = _polygons[SUBTYPE(RESARE, 17)];
_polygons[SUBTYPE(ACHARE, 1)] = Polygon(QImage(":/marine/anchor-line.png"));
_polygons[SUBTYPE(ACHARE, 2)] = _polygons[SUBTYPE(ACHARE, 1)];
_polygons[SUBTYPE(ACHARE, 3)] = _polygons[SUBTYPE(ACHARE, 1)];
@@ -162,9 +169,14 @@ void Style::polygonStyle()
<< SUBTYPE(I_ACHARE, 2) << SUBTYPE(I_ACHARE, 3) << SUBTYPE(I_ACHARE, 4)
<< SUBTYPE(I_ACHARE, 5) << SUBTYPE(I_ACHARE, 6) << SUBTYPE(I_ACHARE, 7)
<< SUBTYPE(I_ACHARE, 8) << SUBTYPE(I_ACHARE, 9) << SUBTYPE(I_ACHARE, 10)
- << SUBTYPE(I_ACHARE, 11) << SUBTYPE(I_ACHARE, 12) << SUBTYPE(RESARE, 9)
- << SUBTYPE(RESARE, 2) << SUBTYPE(I_RESARE, 2) << SUBTYPE(RESARE, 17)
- << SUBTYPE(I_RESARE, 17) << SUBTYPE(RESARE, 12) << SUBTYPE(I_RESARE, 12)
+ << SUBTYPE(I_ACHARE, 11) << SUBTYPE(I_ACHARE, 12) << SUBTYPE(RESARE, 1)
+ << SUBTYPE(I_RESARE, 1) << SUBTYPE(RESARE, 2) << SUBTYPE(I_RESARE, 2)
+ << SUBTYPE(RESARE, 4) << SUBTYPE(I_RESARE, 4) << SUBTYPE(RESARE, 5)
+ << SUBTYPE(I_RESARE, 5) << SUBTYPE(RESARE, 6) << SUBTYPE(I_RESARE, 6)
+ << SUBTYPE(RESARE, 7) << SUBTYPE(I_RESARE, 7) << SUBTYPE(RESARE, 9)
+ << SUBTYPE(I_RESARE, 9) << SUBTYPE(RESARE, 12) << SUBTYPE(I_RESARE, 12)
+ << SUBTYPE(RESARE, 17) << SUBTYPE(I_RESARE, 17) << SUBTYPE(RESARE, 22)
+ << SUBTYPE(I_RESARE, 22) << SUBTYPE(RESARE, 23) << SUBTYPE(I_RESARE, 23)
<< SUBTYPE(RESARE, 1) << TYPE(CBLARE) << TYPE(PIPARE) << TYPE(PRCARE)
<< TYPE(I_TRNBSN) << SUBTYPE(MARKUL, 3) << TYPE(CONZNE);
}
@@ -382,6 +394,8 @@ void Style::pointStyle(qreal ratio)
_points[SUBTYPE(I_BERTHS, 6)] = Point(QImage(":/marine/fleeting-area.png"),
Small);
+ _points[SUBTYPE(I_BERTHS, 6)].setTextColor(QColor(0xeb, 0x49, 0xeb));
+ _points[SUBTYPE(I_BERTHS, 6)].setHaloColor(QColor());
_points[SUBTYPE(ACHARE, 2)] = Point(QImage(":/marine/dw-anchorage.png"),
Small);
_points[SUBTYPE(ACHARE, 3)] = Point(QImage(":/marine/tanker-anchorage.png"),
@@ -391,6 +405,66 @@ void Style::pointStyle(qreal ratio)
_points[SUBTYPE(I_ACHARE, 2)] = _points[SUBTYPE(ACHARE, 2)];
_points[SUBTYPE(I_ACHARE, 3)] = _points[SUBTYPE(ACHARE, 3)];
_points[SUBTYPE(I_ACHARE, 9)] = _points[SUBTYPE(ACHARE, 9)];
+ _points[TYPE(RESARE)].setTextColor(QColor(0xeb, 0x49, 0xeb));
+ _points[TYPE(RESARE)].setHaloColor(QColor());
+ _points[SUBTYPE(RESARE, 1)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(RESARE, 2)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(RESARE, 3)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(RESARE, 4)].setTextColor(QColor(0x30, 0xa0, 0x1b));
+ _points[SUBTYPE(RESARE, 4)].setHaloColor(QColor());
+ _points[SUBTYPE(RESARE, 5)] = _points[SUBTYPE(RESARE, 4)];
+ _points[SUBTYPE(RESARE, 6)] = _points[SUBTYPE(RESARE, 4)];
+ _points[SUBTYPE(RESARE, 7)] = _points[SUBTYPE(RESARE, 4)];
+ _points[SUBTYPE(RESARE, 8)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(RESARE, 9)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(RESARE, 10)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(RESARE, 11)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(RESARE, 12)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(RESARE, 13)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(RESARE, 14)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(RESARE, 15)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(RESARE, 16)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(RESARE, 17)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(RESARE, 18)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(RESARE, 19)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(RESARE, 20)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(RESARE, 21)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(RESARE, 22)] = _points[SUBTYPE(RESARE, 4)];
+ _points[SUBTYPE(RESARE, 23)] = _points[SUBTYPE(RESARE, 4)];
+ _points[SUBTYPE(RESARE, 24)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(RESARE, 25)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(RESARE, 26)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(RESARE, 27)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(RESARE, 28)] = _points[TYPE(RESARE)];
+ _points[TYPE(I_RESARE)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(I_RESARE, 1)] = _points[SUBTYPE(RESARE, 1)];
+ _points[SUBTYPE(I_RESARE, 2)] = _points[SUBTYPE(RESARE, 2)];
+ _points[SUBTYPE(I_RESARE, 3)] = _points[SUBTYPE(RESARE, 3)];
+ _points[SUBTYPE(I_RESARE, 4)] = _points[SUBTYPE(RESARE, 4)];
+ _points[SUBTYPE(I_RESARE, 5)] = _points[SUBTYPE(RESARE, 5)];
+ _points[SUBTYPE(I_RESARE, 6)] = _points[SUBTYPE(RESARE, 6)];
+ _points[SUBTYPE(I_RESARE, 7)] = _points[SUBTYPE(RESARE, 7)];
+ _points[SUBTYPE(I_RESARE, 8)] = _points[SUBTYPE(RESARE, 8)];
+ _points[SUBTYPE(I_RESARE, 9)] = _points[SUBTYPE(RESARE, 9)];
+ _points[SUBTYPE(I_RESARE, 10)] = _points[SUBTYPE(RESARE, 10)];
+ _points[SUBTYPE(I_RESARE, 11)] = _points[SUBTYPE(RESARE, 11)];
+ _points[SUBTYPE(I_RESARE, 12)] = _points[SUBTYPE(RESARE, 12)];
+ _points[SUBTYPE(I_RESARE, 13)] = _points[SUBTYPE(RESARE, 13)];
+ _points[SUBTYPE(I_RESARE, 14)] = _points[SUBTYPE(RESARE, 14)];
+ _points[SUBTYPE(I_RESARE, 15)] = _points[SUBTYPE(RESARE, 15)];
+ _points[SUBTYPE(I_RESARE, 16)] = _points[SUBTYPE(RESARE, 16)];
+ _points[SUBTYPE(I_RESARE, 17)] = _points[SUBTYPE(RESARE, 17)];
+ _points[SUBTYPE(I_RESARE, 18)] = _points[SUBTYPE(RESARE, 18)];
+ _points[SUBTYPE(I_RESARE, 19)] = _points[SUBTYPE(RESARE, 19)];
+ _points[SUBTYPE(I_RESARE, 20)] = _points[SUBTYPE(RESARE, 20)];
+ _points[SUBTYPE(I_RESARE, 21)] = _points[SUBTYPE(RESARE, 21)];
+ _points[SUBTYPE(I_RESARE, 22)] = _points[SUBTYPE(RESARE, 22)];
+ _points[SUBTYPE(I_RESARE, 23)] = _points[SUBTYPE(RESARE, 23)];
+ _points[SUBTYPE(I_RESARE, 24)] = _points[SUBTYPE(RESARE, 24)];
+ _points[SUBTYPE(I_RESARE, 25)] = _points[SUBTYPE(RESARE, 25)];
+ _points[SUBTYPE(I_RESARE, 26)] = _points[SUBTYPE(RESARE, 26)];
+ _points[SUBTYPE(I_RESARE, 27)] = _points[SUBTYPE(RESARE, 27)];
+ _points[SUBTYPE(I_RESARE, 28)] = _points[SUBTYPE(RESARE, 28)];
_points[SUBTYPE(SMCFAC, 7)] = Point(svg2img(":/POI/restaurant-11.svg",
ratio), Small);
From ca17ec9e5faee90acd9c8b3f09843d26b7e088eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20T=C5=AFma?=
Date: Wed, 12 Feb 2025 19:13:32 +0100
Subject: [PATCH 07/11] Fixed color artefacts
---
icons/map/marine/dw-route-line.png | Bin 4365 -> 4514 bytes
icons/map/marine/nature-reserve-line.png | Bin 4377 -> 4542 bytes
2 files changed, 0 insertions(+), 0 deletions(-)
diff --git a/icons/map/marine/dw-route-line.png b/icons/map/marine/dw-route-line.png
index 8c6201c889bb41c2c5da090581a9514f5b9ddbdf..c2a4ed0bf037d89fc18aa81ce5179a0dbe4f1f26 100644
GIT binary patch
delta 692
zcmeBGTBJOonUQ&7i=oF41_lOpAcoQIp1uJJMtX(@dd3zE3`Pb=)jpf6gc_FJPE(sIQv5U2@Cz4XB9CIrjx##Rev>YJkd6P&@!_l9vCV(Z
z|FvYh(sZ<;!DCKBTc&Wnz;W~3=FfJ8EmKpc{+Ls7X$iNGeNpVkAHBsVQybIW&g7)c
zvvAUxwkzUgQka?PBgscAR=u2}|HLNDGQaTJs?uxw)aw&>ET~_vQ#|*XL{P*LA(f7R
z0C(2V8yy!{O-@pD{_QFMf5q$RCzeiF&E(d{dS!uQ+205CA9hEtwy=Gw+B(_cefQ&<
z9_EFy3$7N-d7pedb1uWd^aoz=e`Nb6e4G5m&AnTWvHA9aqowY_-x^NKCOkPg!T09W
zCX?1A!3z7u`KOo?E{-7`)qv*k@aP8rS2t`-hP#KS`A_dEz0;ePl?5upRYq)KmB05{WV5x5u6GPGlr=+#>
SPoD)^#Ng@b=d#Wzp$PyoR14|=
delta 721
zcmV;?0xtccBaI@Eg8>4OgfU230000100015000010000-Nlj27GA=PNE;Bd)05UK#
zH99adIx#XJF)=zZI65^j00962paTE_00001000000002~Ra(}O{U9FGYNb>h>>%Qh
zp*q<`MI37ticlfc3avVrT>1q~43j$nEPrcEvqDKg(`_@GPKo)#iWq){fG8s9MM!3r
zF)K+K_>Ql81o(QF;936X{v7>k(PBVABu+BJw29Y=r#Eeb^FDEmRb-X;oOs-%3lcwa
zUGeyhbJ=BqXU5E2c8)kkES9@i>0(wfHR37axT@)tFXTN|Id5^+YIWAWCx2nIsDCdn
zah>J}(pbPEB#2N@M-?^LNYJX2Vj)ZWDIfo^>zBx-kgEztj(KcAgY5dj|KNAGR%vp=
zONyp|o)^dY7zM(+K<6-^Y&AIst;uz?I(dZ#03KPtqG5Eq(+HYy%h99ZlH-E_Z;T
zCqp)6R|?V;N+sa^jJ~M=4Bi5fRV%Nz_C8J@fE;y|xd9Fifw3}Wulc;Yue-N@&$Rpd
z0rg38bW=I}qyPX7c(afKiUK4xVKZVeG-6^cF*#vjEi_{|H7#OfVmB>eWo9v9I59Cd
zH!xIJ1}r6all32w(^V2A@N2
zlk*TWe+m*Za6PEE00021Nkl7zhkrU01XLW%?cVCE6P0^lq~XzP|^zJJEXjguCfm{}F{@+GfgPo>zOsx!ztPG753@xn;
zEUiq985kKD7cc`!1~3Lv43a^=KTZ6rAQ!w;Nz~E0!y;vcUs<4L-&QWy6#`kUVX{7Y
zf1A{JCtEY>)UWp0TqV@7>~@;kRFUGJp@v_$7!!FETXvk$N%os`>4R+ica9HV^^R@+
zbN;U-+m)uH4GkW16529_^97EZ=Qe+~D{PsXI`zk#ic3qlh3t!BKmO<~KAGB>?sg_8
zZJvdb&a_<-FO$N|Odm-;TCwWo6#XYQVV3!Y*H)EY+oxWixMM;6dY$6A&m@8(jtHrA
z1O&LVhTiD7xN35eqVsQ0`Tr|kPd~AA!fGbBKGrJ>9LxSbsQ<7#dbNe^Q`OeV4)41k
z*Yq$ij9qZGV9xvGV*V04?BB_|r08z-hr_GI^i>zv1)$HCIQTcUEZfPitm5T|Kq6pI@$
z>MK26978NlCno@bL4?BJ`Hb8RozglJ{`L1rzTla0LAIs4Uh$#k+
t8ci-YEb&bFaO<^HW8E*gp
delta 739
zcmdm|JX2{xGb7W)7DJCH1_lO3AcoQIp1uJJMtX(@dd3zE3`Pb8`&RQBG^G4y(goRc&U0r3eMY{qNuW+rkni2Dh
z)t6_oHKR^_w$ElKPlwC7#g5#uC$?dh`GwcAO0VrxuTR{vqF!IWaPBjXOA!Z@R5}6z
z+(k`qcwAUDIZ4s`x2F964X>x4SUO=fms?+DjzjaCUkCp`DBm8IS#-#|YgxlQ@#8-w
zSP$)XSpCrA{_(!cR*X&O4@|xHG2f(drvD{rS=~Aoo*ZWJ>$1K#nf1yW7OFd&rG|4|
z67f=f@V95*N(P>LOcO)3*Khx3=O^DFQ#y4gBOhPmMx)gAKlkijzk7TA`7OVHGk*0f
zDhamyvxI?xw_@`IrY`%eBWU|i3|
zYqfcgo-{BPw|lxchFF|FI@y-*umVpj@2g9Bp-*+b2<&5FR!=y4F`~GMXD7?_6G5w!
zkDrQlauMvE)mkGYWWTA>j6dPH$3cz|kKZCaPnu3`+V5?X3JNW_KHm}mfYLK!mua$-v|B>p4gd_
Syd8IglA@=ppUXO@geCy6+%16s
From 1ee60b4f9641743c1ecb25ce7981168ed4639164 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20T=C5=AFma?=
Date: Wed, 12 Feb 2025 19:45:11 +0100
Subject: [PATCH 08/11] Do not show area labels when the area is not shown
---
src/map/ENC/mapdata.cpp | 22 +++++++++++++++------
src/map/ENC/style.cpp | 42 ++++-------------------------------------
2 files changed, 20 insertions(+), 44 deletions(-)
diff --git a/src/map/ENC/mapdata.cpp b/src/map/ENC/mapdata.cpp
index fd17d1d6..ad46b72a 100644
--- a/src/map/ENC/mapdata.cpp
+++ b/src/map/ENC/mapdata.cpp
@@ -178,12 +178,22 @@ static bool polygonPointCb(const MapData::Poly *polygon, void *context)
if (baseType == TSSLPT || baseType == RCTLPT || baseType == I_TRNBSN
|| baseType == BRIDGE || baseType == I_BRIDGE || baseType == BUAARE
- || baseType == RESARE || baseType == I_RESARE || baseType == LNDARE
- || baseType == LNDRGN
- || type == SUBTYPE(ACHARE, 2) || type == SUBTYPE(ACHARE, 3)
- || type == SUBTYPE(ACHARE, 9) || type == SUBTYPE(I_ACHARE, 2)
- || type == SUBTYPE(I_ACHARE, 3) || type == SUBTYPE(I_ACHARE, 9)
- || type == SUBTYPE(I_BERTHS, 6))
+ || baseType == LNDARE || baseType == LNDRGN
+ || type == SUBTYPE(ACHARE, 2) || type == SUBTYPE(I_ACHARE, 2)
+ || type == SUBTYPE(ACHARE, 3) || type == SUBTYPE(I_ACHARE, 3)
+ || type == SUBTYPE(ACHARE, 9) || type == SUBTYPE(I_ACHARE, 9)
+ || type == SUBTYPE(I_BERTHS, 6)
+ || type == SUBTYPE(RESARE, 1) || type == SUBTYPE(I_RESARE, 1)
+ || type == SUBTYPE(RESARE, 2) || type == SUBTYPE(I_RESARE, 2)
+ || type == SUBTYPE(RESARE, 4) || type == SUBTYPE(I_RESARE, 4)
+ || type == SUBTYPE(RESARE, 5) || type == SUBTYPE(I_RESARE, 5)
+ || type == SUBTYPE(RESARE, 6) || type == SUBTYPE(I_RESARE, 6)
+ || type == SUBTYPE(RESARE, 7) || type == SUBTYPE(I_RESARE, 7)
+ || type == SUBTYPE(RESARE, 9) || type == SUBTYPE(I_RESARE, 9)
+ || type == SUBTYPE(RESARE, 12) || type == SUBTYPE(I_RESARE, 12)
+ || type == SUBTYPE(RESARE, 17) || type == SUBTYPE(I_RESARE, 17)
+ || type == SUBTYPE(RESARE, 22) || type == SUBTYPE(I_RESARE, 22)
+ || type == SUBTYPE(RESARE, 23) || type == SUBTYPE(I_RESARE, 23))
points->append(MapData::Point(baseType, polygon->bounds().center(),
polygon->attributes(), polygon->HUNI(), true));
diff --git a/src/map/ENC/style.cpp b/src/map/ENC/style.cpp
index 7d2621cb..41389e3b 100644
--- a/src/map/ENC/style.cpp
+++ b/src/map/ENC/style.cpp
@@ -88,6 +88,8 @@ void Style::polygonStyle()
_polygons[SUBTYPE(I_RESARE, 9)] = _polygons[SUBTYPE(RESARE, 9)];
_polygons[SUBTYPE(I_RESARE, 12)] = _polygons[SUBTYPE(RESARE, 12)];
_polygons[SUBTYPE(I_RESARE, 17)] = _polygons[SUBTYPE(RESARE, 17)];
+ _polygons[SUBTYPE(I_RESARE, 22)] = _polygons[SUBTYPE(RESARE, 22)];
+ _polygons[SUBTYPE(I_RESARE, 23)] = _polygons[SUBTYPE(RESARE, 23)];
_polygons[SUBTYPE(ACHARE, 1)] = Polygon(QImage(":/marine/anchor-line.png"));
_polygons[SUBTYPE(ACHARE, 2)] = _polygons[SUBTYPE(ACHARE, 1)];
_polygons[SUBTYPE(ACHARE, 3)] = _polygons[SUBTYPE(ACHARE, 1)];
@@ -405,66 +407,30 @@ void Style::pointStyle(qreal ratio)
_points[SUBTYPE(I_ACHARE, 2)] = _points[SUBTYPE(ACHARE, 2)];
_points[SUBTYPE(I_ACHARE, 3)] = _points[SUBTYPE(ACHARE, 3)];
_points[SUBTYPE(I_ACHARE, 9)] = _points[SUBTYPE(ACHARE, 9)];
- _points[TYPE(RESARE)].setTextColor(QColor(0xeb, 0x49, 0xeb));
- _points[TYPE(RESARE)].setHaloColor(QColor());
- _points[SUBTYPE(RESARE, 1)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(RESARE, 1)].setTextColor(QColor(0xeb, 0x49, 0xeb));
+ _points[SUBTYPE(RESARE, 1)].setHaloColor(QColor());
_points[SUBTYPE(RESARE, 2)] = _points[TYPE(RESARE)];
- _points[SUBTYPE(RESARE, 3)] = _points[TYPE(RESARE)];
_points[SUBTYPE(RESARE, 4)].setTextColor(QColor(0x30, 0xa0, 0x1b));
_points[SUBTYPE(RESARE, 4)].setHaloColor(QColor());
_points[SUBTYPE(RESARE, 5)] = _points[SUBTYPE(RESARE, 4)];
_points[SUBTYPE(RESARE, 6)] = _points[SUBTYPE(RESARE, 4)];
_points[SUBTYPE(RESARE, 7)] = _points[SUBTYPE(RESARE, 4)];
- _points[SUBTYPE(RESARE, 8)] = _points[TYPE(RESARE)];
_points[SUBTYPE(RESARE, 9)] = _points[TYPE(RESARE)];
- _points[SUBTYPE(RESARE, 10)] = _points[TYPE(RESARE)];
- _points[SUBTYPE(RESARE, 11)] = _points[TYPE(RESARE)];
_points[SUBTYPE(RESARE, 12)] = _points[TYPE(RESARE)];
- _points[SUBTYPE(RESARE, 13)] = _points[TYPE(RESARE)];
- _points[SUBTYPE(RESARE, 14)] = _points[TYPE(RESARE)];
- _points[SUBTYPE(RESARE, 15)] = _points[TYPE(RESARE)];
- _points[SUBTYPE(RESARE, 16)] = _points[TYPE(RESARE)];
_points[SUBTYPE(RESARE, 17)] = _points[TYPE(RESARE)];
- _points[SUBTYPE(RESARE, 18)] = _points[TYPE(RESARE)];
- _points[SUBTYPE(RESARE, 19)] = _points[TYPE(RESARE)];
- _points[SUBTYPE(RESARE, 20)] = _points[TYPE(RESARE)];
- _points[SUBTYPE(RESARE, 21)] = _points[TYPE(RESARE)];
_points[SUBTYPE(RESARE, 22)] = _points[SUBTYPE(RESARE, 4)];
_points[SUBTYPE(RESARE, 23)] = _points[SUBTYPE(RESARE, 4)];
- _points[SUBTYPE(RESARE, 24)] = _points[TYPE(RESARE)];
- _points[SUBTYPE(RESARE, 25)] = _points[TYPE(RESARE)];
- _points[SUBTYPE(RESARE, 26)] = _points[TYPE(RESARE)];
- _points[SUBTYPE(RESARE, 27)] = _points[TYPE(RESARE)];
- _points[SUBTYPE(RESARE, 28)] = _points[TYPE(RESARE)];
- _points[TYPE(I_RESARE)] = _points[TYPE(RESARE)];
_points[SUBTYPE(I_RESARE, 1)] = _points[SUBTYPE(RESARE, 1)];
_points[SUBTYPE(I_RESARE, 2)] = _points[SUBTYPE(RESARE, 2)];
- _points[SUBTYPE(I_RESARE, 3)] = _points[SUBTYPE(RESARE, 3)];
_points[SUBTYPE(I_RESARE, 4)] = _points[SUBTYPE(RESARE, 4)];
_points[SUBTYPE(I_RESARE, 5)] = _points[SUBTYPE(RESARE, 5)];
_points[SUBTYPE(I_RESARE, 6)] = _points[SUBTYPE(RESARE, 6)];
_points[SUBTYPE(I_RESARE, 7)] = _points[SUBTYPE(RESARE, 7)];
- _points[SUBTYPE(I_RESARE, 8)] = _points[SUBTYPE(RESARE, 8)];
_points[SUBTYPE(I_RESARE, 9)] = _points[SUBTYPE(RESARE, 9)];
- _points[SUBTYPE(I_RESARE, 10)] = _points[SUBTYPE(RESARE, 10)];
- _points[SUBTYPE(I_RESARE, 11)] = _points[SUBTYPE(RESARE, 11)];
_points[SUBTYPE(I_RESARE, 12)] = _points[SUBTYPE(RESARE, 12)];
- _points[SUBTYPE(I_RESARE, 13)] = _points[SUBTYPE(RESARE, 13)];
- _points[SUBTYPE(I_RESARE, 14)] = _points[SUBTYPE(RESARE, 14)];
- _points[SUBTYPE(I_RESARE, 15)] = _points[SUBTYPE(RESARE, 15)];
- _points[SUBTYPE(I_RESARE, 16)] = _points[SUBTYPE(RESARE, 16)];
_points[SUBTYPE(I_RESARE, 17)] = _points[SUBTYPE(RESARE, 17)];
- _points[SUBTYPE(I_RESARE, 18)] = _points[SUBTYPE(RESARE, 18)];
- _points[SUBTYPE(I_RESARE, 19)] = _points[SUBTYPE(RESARE, 19)];
- _points[SUBTYPE(I_RESARE, 20)] = _points[SUBTYPE(RESARE, 20)];
- _points[SUBTYPE(I_RESARE, 21)] = _points[SUBTYPE(RESARE, 21)];
_points[SUBTYPE(I_RESARE, 22)] = _points[SUBTYPE(RESARE, 22)];
_points[SUBTYPE(I_RESARE, 23)] = _points[SUBTYPE(RESARE, 23)];
- _points[SUBTYPE(I_RESARE, 24)] = _points[SUBTYPE(RESARE, 24)];
- _points[SUBTYPE(I_RESARE, 25)] = _points[SUBTYPE(RESARE, 25)];
- _points[SUBTYPE(I_RESARE, 26)] = _points[SUBTYPE(RESARE, 26)];
- _points[SUBTYPE(I_RESARE, 27)] = _points[SUBTYPE(RESARE, 27)];
- _points[SUBTYPE(I_RESARE, 28)] = _points[SUBTYPE(RESARE, 28)];
_points[SUBTYPE(SMCFAC, 7)] = Point(svg2img(":/POI/restaurant-11.svg",
ratio), Small);
From 8041aa454c5b8c028f8ecffce94b0866eabcef6a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20T=C5=AFma?=
Date: Wed, 12 Feb 2025 20:01:06 +0100
Subject: [PATCH 09/11] Fixed restricted areas labels colors
---
src/map/ENC/style.cpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/map/ENC/style.cpp b/src/map/ENC/style.cpp
index 41389e3b..bf09ac79 100644
--- a/src/map/ENC/style.cpp
+++ b/src/map/ENC/style.cpp
@@ -409,15 +409,15 @@ void Style::pointStyle(qreal ratio)
_points[SUBTYPE(I_ACHARE, 9)] = _points[SUBTYPE(ACHARE, 9)];
_points[SUBTYPE(RESARE, 1)].setTextColor(QColor(0xeb, 0x49, 0xeb));
_points[SUBTYPE(RESARE, 1)].setHaloColor(QColor());
- _points[SUBTYPE(RESARE, 2)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(RESARE, 2)] = _points[SUBTYPE(RESARE, 1)];
_points[SUBTYPE(RESARE, 4)].setTextColor(QColor(0x30, 0xa0, 0x1b));
_points[SUBTYPE(RESARE, 4)].setHaloColor(QColor());
_points[SUBTYPE(RESARE, 5)] = _points[SUBTYPE(RESARE, 4)];
_points[SUBTYPE(RESARE, 6)] = _points[SUBTYPE(RESARE, 4)];
_points[SUBTYPE(RESARE, 7)] = _points[SUBTYPE(RESARE, 4)];
- _points[SUBTYPE(RESARE, 9)] = _points[TYPE(RESARE)];
- _points[SUBTYPE(RESARE, 12)] = _points[TYPE(RESARE)];
- _points[SUBTYPE(RESARE, 17)] = _points[TYPE(RESARE)];
+ _points[SUBTYPE(RESARE, 9)] = _points[SUBTYPE(RESARE, 1)];
+ _points[SUBTYPE(RESARE, 12)] = _points[SUBTYPE(RESARE, 1)];
+ _points[SUBTYPE(RESARE, 17)] = _points[SUBTYPE(RESARE, 1)];
_points[SUBTYPE(RESARE, 22)] = _points[SUBTYPE(RESARE, 4)];
_points[SUBTYPE(RESARE, 23)] = _points[SUBTYPE(RESARE, 4)];
_points[SUBTYPE(I_RESARE, 1)] = _points[SUBTYPE(RESARE, 1)];
From 4438bc8d522e5579d476ce16600ea1c10957dc01 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20T=C5=AFma?=
Date: Wed, 12 Feb 2025 23:46:36 +0100
Subject: [PATCH 10/11] Version++
---
.appveyor.yml | 2 +-
gpxsee.pro | 2 +-
pkg/windows/gpxsee64.nsi | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/.appveyor.yml b/.appveyor.yml
index d062ec65..a9ce6291 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -1,4 +1,4 @@
-version: 13.35.{build}
+version: 13.36.{build}
configuration:
- Release
diff --git a/gpxsee.pro b/gpxsee.pro
index 4b279f37..29183b9e 100644
--- a/gpxsee.pro
+++ b/gpxsee.pro
@@ -3,7 +3,7 @@ unix:!macx:!android {
} else {
TARGET = GPXSee
}
-VERSION = 13.35
+VERSION = 13.36
QT += core \
diff --git a/pkg/windows/gpxsee64.nsi b/pkg/windows/gpxsee64.nsi
index 38b9e872..d97fb058 100644
--- a/pkg/windows/gpxsee64.nsi
+++ b/pkg/windows/gpxsee64.nsi
@@ -49,7 +49,7 @@ Unicode true
; The name of the installer
Name "GPXSee"
; Program version
-!define VERSION "13.35"
+!define VERSION "13.36"
; The file to write
OutFile "GPXSee-${VERSION}_x64.exe"
From 3fc8e69ebbd9486905f4140eb148f7ed91b411eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20T=C5=AFma?=
Date: Wed, 12 Feb 2025 23:58:57 +0100
Subject: [PATCH 11/11] Removed unused metadata
---
icons/map/marine/anchorage.png | Bin 4611 -> 286 bytes
icons/map/marine/anchoring-prohibited.png | Bin 4619 -> 294 bytes
icons/map/marine/beacon.png | Bin 4301 -> 202 bytes
icons/map/marine/buoy.png | Bin 4215 -> 215 bytes
icons/map/marine/chimney.png | Bin 4492 -> 393 bytes
icons/map/marine/crane.png | Bin 4289 -> 190 bytes
icons/map/marine/dw-route-line.png | Bin 4514 -> 189 bytes
icons/map/marine/flagstaff.png | Bin 4382 -> 382 bytes
icons/map/marine/fleeting-area.png | Bin 4337 -> 238 bytes
icons/map/marine/fog-signal.png | Bin 4318 -> 219 bytes
icons/map/marine/gauge.png | Bin 4319 -> 220 bytes
icons/map/marine/light-yellow.png | Bin 4428 -> 330 bytes
icons/map/marine/light.png | Bin 4500 -> 401 bytes
icons/map/marine/monument.png | Bin 4385 -> 286 bytes
icons/map/marine/mooring-buoy.png | Bin 4360 -> 261 bytes
icons/map/marine/nature-reserve-line.png | Bin 4542 -> 217 bytes
icons/map/marine/spar-buoy.png | Bin 4342 -> 243 bytes
icons/map/marine/tower.png | Bin 4338 -> 239 bytes
icons/map/marine/windmotor.png | Bin 4374 -> 275 bytes
icons/map/marine/wreck-exposed.png | Bin 4365 -> 266 bytes
20 files changed, 0 insertions(+), 0 deletions(-)
diff --git a/icons/map/marine/anchorage.png b/icons/map/marine/anchorage.png
index e87bb9f5501d0ccf39e2605c3622f16b2f756864..f22d5d48b0a5dd671cbe8cd266a8677547aab649 100644
GIT binary patch
delta 47
zcmZoxna4CiMTITN+ueo1fMEfHGmbbNq%pf)UmxLrrKvCZ9zD+jC-7R;U
z+$A$ejH4L{ML?aRMTtzq@z&)jHEj
zr~H@OdH25iec$(a-|y#r-*<0sV|nS)8EJFVOeWI|Ux~K@`b=nZQm4ZA2Pf~`58WSe
zwNLi>a!sjl1D58=CNoI7ojEDb0eO-+#gqd5v(RRPtlQ{qu6c^lZw5IlDZc>nqNI&J
zhc!X{Z~|i^
zSVpii0?Wbr=FSn1bfiP{ymIjGX~p9y_jx>o8VSov12&oBJJ)Y>m%Q_XdG9_^`Ow3;
zZA~+0^_IWVznk3h%e3O3&a8Xpk@?FlH{0%;;oH=)r*E}7D8Bi5--S00Jbi#jeX_NC
zdg&%h#f4kji#n>mv*qin1LrRe%qRYIa(UOWKksf4pl?*{N0OgByR#$~){=r(W&d8&uEVpV77ZjoG_0%XVmm
z7nUB(TX1}xrTc-w-a{{yp2}?B_-;{FUa)u5-X;0|c`IzMTzh8od%1t1POm=N^YT}h
z==4vozlaZhFt2b@M|IoeS!w$hy_TM}Vs&H113#%PIREQ{{(syX$+?vK)Hcz4XYJNC
z1vl>g=fHdE!?3W0$E7uV?f=x&85aWm|UV
zhOF-HkkYe2J(`m4p7ZmZx3=%vyY&w#S8A^NSFIiV-e+sRXsI8#c->r5x$^f}eSI^(
zPnUn$(jJQ)`RdCnFUcDUig4ulu1|XYW-?_ws#H~L)&Avz7!F#H6b@iZJgDmXWy&vz
zt4OTJ8WF%XO2|!KdFwbyD3Y68Y4bCF)q`u5l9mXrY$>f0Tk1uZL>4Sg%a02H5X2fH
z;=zVcREWDt16Kf9SJNb6m}vEGvKrFJ6OLelx9}E*Dvm2n9Jx4+$d5>}P~lyYgn&CY
zS*vNPK+~~U%o4L&!jT%9b-7$L!_gc^fdv(94rwS(g`(LyL;}N$qhdr+H6(55tF|Nfv+)I*wGDwJ>xrNROTo)ry+{Bs~LNMTWt1ViK<2ss@ti9#-9r+CCO
zl*`G;lvUy-iNm6k7oDS^e4(g@LL%0o0NkPgj>{U5>|DS_;egda@v;P9HY=h6D1aoy
zi#Ds39R*PqQ6MW(!)UK`C<&lAnL~D~)kYz!i=}vx!IaDHWGPX0hyez>SU$iRP?9Jt
z2}gnmwo?hB8ceI98e>2wTqrE}xk=8#jA+UmkS4##Z<
zyu-gn4CgVdz$Dz);rwAqk(>XUwSIVre6WWtFHxefezT!UoTy5?
zE^(K*ZBUG(L=eWI5RjM%A&Q!?WcUeKi6OBTg=#QVk7T+I>6LFu1)B_;$2;v5Ms|+k
z11v{587HC~0UK)<9V}ubc`SM~ENd|o!G$%zBX9-jX*{5aMaD+ujJ1x{Vtp4Fj;9zq
z#WGbaC-8QGapmccF@~gXe~8#+wR2V(0&_y1@=iE90SAHEU{x%uxABuqx7)Y^Ku;_(
zE`BHInxJc342;WoBD*H&8W#iOGM>n;{~KLtBX5j21V8j*@IKg)@!27Gmz)}SXsOq9
zOTRjQweNY*+@Y4Nio$;&XZ2<-TJ+;MD5q&YfAO@-lcwCUAU&{e`a7U{+vhE;a-RJ3
zg*P*P!=!uHTQakk73ALRySC!=v*%jH)@Aq9z5k1x*|T5e&e4k>UHrSE9gfnl<5