6f32c73684
Added infinitive recursion assert
2023-12-21 16:55:42 +01:00
829d85a70a
Optimize TextCodec initialization
...
QTextCodec initialization is very slow due to it's broken caching in Qt when
ICU is enabled. Make TetCodec initialize fast anyway as it may be used very
often in IMG maps (every LBL subfile has it's own codec!).
2023-12-21 01:31:44 +01:00
bff27df10c
Fixed race conditions on local static data
2023-12-21 01:13:36 +01:00
112dc59cf2
Fixed broken map scale (ruler) on HiDPI maps
2023-12-18 20:35:55 +01:00
aa892f6c3f
Limit the overzoom by the resulting tile size rather than number of levels
...
Huge sizes may cause broken rendering and cache ping-pong. Do not allow
resulting tile sizes > 4096x4096px.
2023-12-18 20:32:00 +01:00
c1c8f6303c
Code cleanup
2023-12-11 21:13:11 +01:00
5fcc27c176
Fixed broken TMS maps rendering
2023-12-11 20:31:13 +01:00
77e9fae19d
Asynchronous rendering of online vector maps
2023-12-11 20:11:16 +01:00
148fc76d5a
Added support for online vector maps overzoom
2023-12-11 18:54:46 +01:00
6f1f5fd965
Limit the overzoom to max 3 levels
2023-12-10 15:34:39 +01:00
58cd2a826d
Added support for MVT overzoom
...
Requires QtPBFImagePlugin version 2.7
2023-12-10 15:24:39 +01:00
5525ba6e8c
Code cleanup
2023-12-10 08:51:18 +01:00
63d3558b14
Provide the zoom level to QImageReader when fetching the tile size
...
Although technically not needed here, it workarounds the issue with the broken
Qt SVG imageformat plugin (QTBUG-119910).
2023-12-10 08:46:26 +01:00
eee4f31369
Cosmetics
2023-12-09 18:48:44 +01:00
bac55e317b
Added workaround for broken Qt SVG image plugin colliding with the MVT plugin
2023-12-09 18:00:24 +01:00
c4bd3d39d1
Fixed possible double delete
...
QCache takes ownership (deletes the object) even if insert returns false!
2023-11-26 12:32:14 +01:00
6d03834167
Improved error reporting
2023-11-26 10:51:37 +01:00
cbca92513b
Fixed crash on empty MBTiles files
2023-11-26 09:07:08 +01:00
0a5d5315c0
Code cleanup
2023-11-20 23:31:42 +01:00
95d354f10c
Fixed map bounds limiting
2023-11-18 23:55:58 +01:00
aedbc99a6c
Improved MBTiles map loading performance when metadata table present
...
+ Fixed zoom limiting
2023-11-18 23:29:18 +01:00
04f9457085
Fixed bounds limiting
2023-11-18 21:32:30 +01:00
bbc03ae59f
Render MBTiles maps asynchronous if they include vector tiles
2023-11-17 17:39:33 +01:00
059ed3aa14
Dothe QImage -> QPixmap transformation in parallel
2023-11-17 16:17:53 +01:00
6c50402423
Display ferry line names
2023-10-23 21:57:01 +02:00
f24e70dc91
Fixed maximal lines angle check
2023-10-22 23:45:10 +02:00
e1e0392917
Discard empty segments
2023-10-22 20:42:05 +02:00
e63fbffe08
Silenced compiler warnings
2023-10-10 23:05:15 +02:00
78240787ab
Fixed line splitting algorithm
2023-10-10 08:11:08 +02:00
197c3b91be
Fixed/improved path label layout algorithm
2023-10-09 21:58:03 +02:00
b123981dde
Fixed llBounds() functions with broken signatures
2023-09-25 18:20:37 +02:00
0531389cd8
Fixed storing of WMTS tiles with file system incompatible tile matrix names
2023-09-16 14:29:09 +02:00
a281a68cbd
Decreased map zoom level treshold to 80%
...
There are evidently more maps that have bigger diferences in bounding box
latitudes which lead to differnt resolutions for the same zoom level in
Mercator projection than maps that would have zoom level differences < 20%.
2023-09-15 23:28:55 +02:00
2e7f8dc341
Fixed map resolution computation for maps > world/2
2023-09-15 23:28:16 +02:00
d310399b4f
Fixed Qt6 build
2023-09-14 19:02:19 +02:00
845a4b2921
Yet another TrekBuddy compatability enhancement & fixes
...
+ related map API refactoring
2023-09-14 18:36:03 +02:00
00fff55cd3
Check for bounds overflow in the computed/approximated case
2023-09-13 22:33:14 +02:00
722f3acb1e
Support all variants of TrekBuddy maps/atlases
...
Added support for gmi calibration files and arbitrary named tba/map/gmi files.
2023-09-13 20:02:24 +02:00
b38cf31920
Allow arbitrary .map file names in TrekBuddy TAR maps
2023-09-12 22:05:42 +02:00
2884c39367
Contiguous zones
2023-09-12 08:47:39 +02:00
1124a1adb4
Distinguish silos and tanks
2023-09-10 11:41:38 +02:00
d1e632523a
Refactoring
2023-09-08 19:26:46 +02:00
b1f104c2ec
Added support for ENC atlases (catalogues)
2023-09-07 09:31:23 +02:00
0f26114f5d
Two-way radio reporting points
2023-09-03 10:59:43 +02:00
e34f77f1a1
Use the real file names for suffix extraction on Android
...
Many file URLs/paths that are passed to GPXSee on Android are unusable for
extracting the file suffix due to the Android file name mangling. Use
the converted "display names" for suffix extraction where possible.
2023-08-28 20:18:38 +02:00
128ce8d78c
Added missing windmill and flagstaff landmark icons
2023-08-24 09:07:01 +02:00
04ef7ba092
If there are multiple labels for a point, use the one with the highest priority
2023-08-19 13:36:20 +02:00
03711ede97
Re-introduce the zoom level offset
...
Most Mapsforge themes expect the zoom levels to be offset by one from
the standard OSM zoom levels. Additionally, the rendering is much faster
which always helps when dealing with a format that slow like Mapsforge...
2023-08-13 13:00:05 +02:00
7e10e6640c
Added support for the "base-stroke-width" rendertheme parameters
2023-08-09 01:19:41 +02:00
97b61451b1
Removed the zoom level offset hack
...
In the Mapsforge library the offset is dependent on the tile size which is
in turn dependent on whether the tiles are hidpi or not. In other words
the Mapsforge library is broken and inconsistent between hidpi/non-hdpi
displays. GPXSee is consistent here and we have thus tochoose one zoom level
mapping (i.e. what zoom level corresponds to what resolution). Lets choose
"no offset" = more details on a given zoom level/resolution.
2023-08-09 01:12:42 +02:00
d064cedbbe
Apply the Mapsforge maps zoom levels offset
...
Offset the Mapsforge zoom level when fetching data/rendering the tiles to get
the expected data/sizes/widths for the tiles at the given zoom level.
2023-08-05 18:56:55 +02:00
4bf81e020f
Yet another code cleanup
2023-08-03 00:39:56 +02:00
e07e109c7d
Code cleanup
2023-08-01 23:38:33 +02:00
dcf45475ba
Show the arrows even when no label is set
2023-08-01 23:21:49 +02:00
3e8b54f605
Added hi-dpi one-way street (+ water ways) arrows
2023-07-31 23:36:14 +02:00
96e762beb5
Properly mark one-way streets in data from NET links
2023-07-14 09:52:27 +02:00
b4be5ea206
Display one-way streets info in IMG maps
2023-07-13 11:59:53 +02:00
cd220216dd
Do not affect the map object scaling when resizing the tiles
2023-07-04 20:27:41 +02:00
0d6b02f466
Removed obsolete include
2023-06-30 09:55:35 +02:00
688861bf65
Code cleanup
2023-06-23 09:30:44 +02:00
41188360bf
Make the Mapsforge tiles sufficient large for the layout
2023-06-14 00:40:00 +02:00
9afeaf672a
Properly match symbols to captions
2023-06-10 08:11:18 +02:00
5ddd63e697
Do not limit text that was not inserted
2023-06-06 07:32:42 +02:00
88fa1ed786
Some more Mapsforge maps rendering improvements
2023-06-06 07:18:31 +02:00
1233d20a21
Added support for lineSymbols in Mapsforge maps
2023-06-04 23:56:00 +02:00
1746eddb8d
Code cleanup
2023-06-03 13:35:29 +02:00
ecda5103c8
Properly handle Mapsforge style menus
2023-05-31 01:01:42 +02:00
2b300fab54
Code cleanup
2023-05-29 23:19:16 +02:00
961061b643
Added rescue station
2023-05-28 11:28:12 +02:00
8bebea53ad
Added LNDELV elevation values
2023-05-28 10:40:39 +02:00
c3b484bb75
Properly include std::isnan()
2023-05-26 21:57:45 +02:00
d6d43baec5
Optimization
2023-05-26 21:30:27 +02:00
c6c3e0978c
Use generic icon rotate instead of special icon draw functions
2023-05-26 21:28:44 +02:00
320b04c3fa
Added support for line "dy" parameter
2023-05-22 23:29:04 +02:00
822a0c2866
Tile search can be done lock-free
2023-05-21 09:14:19 +02:00
a92d6efec6
Do not do any time consuming actions in the mapview redraw callback
...
On all vector maps (ENC, IMG and Mapsforge), do the data loading
asynchronous like the tile rendering.
2023-05-19 19:33:22 +02:00
8a72b20af8
Added support for all paths scaling modes
2023-05-19 01:30:54 +02:00
e351eb6370
Only preallocate the memory when usin moveto/lineto
2023-05-17 23:10:45 +02:00
81e967f20d
Only fetch data when the rect is valid
2023-05-17 23:08:17 +02:00
cf81a90865
Some more micro-optimizations & code cleanup
2023-05-16 23:03:07 +02:00
d0cea97c90
Added support for custom HTTP headers in map tile requests
2023-05-13 15:01:35 +02:00
ddc7eb7149
Do not outline soundings like in ENC maps
2023-05-12 10:19:52 +02:00
bb22ad95b7
Use the point label as additional source for the id hash
...
Some (marine) maps have different points with the same type on the same
position.
2023-05-11 22:57:35 +02:00
60e83b24f9
Use as much as possible of the 64b hash in Qt6
2023-05-11 21:31:10 +02:00
d9c0770b51
Code cleanup
2023-05-06 21:53:40 +02:00
ca6c7247c0
Added missing cache insert
2023-05-06 16:14:49 +02:00
ccfb748404
Fixed KMZ maps bounds computation
2023-05-04 21:14:52 +02:00
a4a54101a3
Removed forgotten debug stuff
2023-05-04 09:51:42 +02:00
97e12d809f
Map API refactoring
...
Including several map providers refactoring/rewrite
especial KML, JNX and TrekBuddy atlases.
2023-05-04 09:38:35 +02:00
62aabe0c56
If there are broken matrix limits, ignore them
2023-04-27 00:16:54 +02:00
2bd25dd9b0
Fixed build with Qt < 5.13
2023-04-25 23:33:54 +02:00
8cea06f2ad
Improve SQLite-based maps error reporting
2023-04-25 22:52:55 +02:00
1d589e25d8
Some more Mapsforge microoptimizations + code cleanup
2023-04-25 22:11:47 +02:00
1eaaf719fd
Code cleanup
2023-04-25 00:02:50 +02:00
6c91060cbb
Some more Mapsforge micro-optimizations
2023-04-23 11:01:18 +02:00
ce4f0472c0
Use integers as tag keys in Mapsforge maps
2023-04-22 17:28:32 +02:00
229af4c749
The coordinates and the point type are sufficient for a unique ID
2023-04-19 00:33:04 +02:00
a928cc4ccb
Cosmetics
2023-04-16 09:42:00 +02:00
2824751615
Allow advanced CSV formating in CRS files
2023-04-15 03:18:52 +02:00
e5199f8648
Redesigned CRS logic (including CSV files structure)
2023-04-13 08:39:33 +02:00
b6ca28e159
Render circles
2023-04-08 00:34:33 +02:00
648627b17f
Use style-defined priorities
...
+ code cleanup
2023-04-06 23:29:05 +02:00
2aa759a4bc
Filter all way references, not only "ref"s
2023-04-06 09:41:31 +02:00
84dc58da71
Code cleanup
2023-04-05 21:50:19 +02:00
25838ad02d
Removed obsolete header include
2023-04-05 21:02:20 +02:00
6cd122f59b
Fix/improve Mapsforge tiles rendering
2023-04-05 19:28:17 +02:00
981bd33680
Properly encapsulate the ENC-specific text point
2023-04-05 19:27:25 +02:00
8b24aa17e2
Increase path render instructions cache
2023-04-04 00:29:50 +02:00
6fc5a2f67d
Added support for the "text-transform" attribute
2023-04-04 00:22:15 +02:00
d794de5818
Added support for curved lines
2023-04-03 23:53:57 +02:00
81f695a672
Fixed crash on empty IMG/GMAP maps
2023-04-03 23:29:35 +02:00
84a592998d
Only tile big (> Qt OpenGL cache size / 2) images
2023-04-02 14:36:03 +02:00
c114383c85
Do not outline countour height entries
2023-04-01 12:04:21 +02:00
164e59602e
Added missing BCNCAR rendering
2023-03-30 00:00:45 +02:00
b80cd05d4b
Added currents rendering
2023-03-25 13:31:15 +01:00
46109d0ce0
Render masts as pylons
2023-03-25 10:55:32 +01:00
cd1f80f2c1
Label sizes adjustment
2023-03-25 00:12:06 +01:00
dbe407d9d9
Various ENC rendering improvements
2023-03-24 22:54:53 +01:00
54d6016b1a
A better point items layout algorithm
2023-03-24 09:18:13 +01:00
f057ebdbb7
Added fog signals rendering
2023-03-23 01:05:44 +01:00
416bd3472f
Render lights merged with the root objects, not as separate objects
2023-03-22 00:41:03 +01:00
048198dfe1
Removed duplicit map error debug output
2023-03-18 10:11:11 +01:00
152f17f15a
Do not try to load the style when it does not exist
2023-03-18 09:04:55 +01:00
62f3343f75
Render international border lines
2023-03-16 21:37:27 +01:00
07581f027b
Fixed header length check
2023-03-16 20:58:28 +01:00
6105783a6d
Redesigned marine icons
...
Added marine icons outlines to make the icons visible on dark backgrounds.
2023-03-02 00:43:20 +01:00
00a349575c
Marine maps draw order fix
2023-02-28 23:58:03 +01:00
f026387d76
Fixed broken handling of IMG "multi-maps" (maps with overviews)
2023-02-27 22:06:31 +01:00
108444d29b
Fix multiple MSVC warnings
2023-02-25 11:06:14 +01:00
ed638bb5fc
Fixed marine charts rendering
2023-02-24 20:00:50 +01:00
ae3d190e08
Do not unnecessary convert the image tiles to pixmaps
2023-02-23 22:46:45 +01:00
a5916cad90
Make the MSVC2019 Debug builds compile
2023-02-23 22:45:42 +01:00
7a53fb8e01
Remove the qpainter/qimage draw workaround
...
Seems to be fixed in newer Qt versions and it did not properly work in older
Qt versions anyway...
2023-02-22 23:22:18 +01:00
9538d15d79
Fixed centroid computation
2023-02-19 14:47:57 +01:00
bfeb6d266e
Some more iso8211 code cleanup
2023-01-26 01:13:15 +01:00
af3e5d41c2
Split the config header to config+hash headers
2023-01-26 01:11:56 +01:00
ab76521990
ISO8211 API cleanup
2023-01-19 10:08:17 +01:00
ee73908231
Do not treat Ozimaps as directories
...
Directory parsing was stopped at the level of the map which is not what we
want - users would have to create separate directories for every Ozimap.
2023-01-19 10:04:03 +01:00
3af98b6785
Fixed typo
2023-01-16 21:16:20 +01:00
21c02010f7
Improved marine charts render style
2023-01-14 13:00:36 +01:00
c209e24db8
Optimization/code cleanup
2023-01-14 08:45:18 +01:00
9ff7ecea97
ENC signal stations
2023-01-11 23:03:54 +01:00
78e3c78197
Added safety zone lines
2023-01-09 23:58:03 +01:00
65515143eb
Added missing include guard prefix
2023-01-05 21:44:03 +01:00
88f7e13500
Added alignment check
2022-12-23 08:35:59 +01:00
ae49e9f2fd
Turbulences and pilot boarding places
2022-12-10 18:41:35 +01:00
ca3e0eda49
Yet another ENC style improvement
2022-12-10 11:59:48 +01:00
d33716e3af
Various ENC render style enhancements
2022-12-08 00:29:39 +01:00
ff2dd6cdec
Code cleanup
2022-12-05 08:52:27 +01:00
7900e88907
Some more ENC style improvements
2022-12-04 23:09:59 +01:00