1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2024-11-30 22:51:16 +01:00
Commit Graph

990 Commits

Author SHA1 Message Date
32262e7c46 Added missing reference 2024-02-17 16:28:09 +01:00
88b458e959 Use QVector as the data container in Matrix 2024-02-17 11:54:07 +01:00
ea29155463 Code cleanup 2024-02-12 22:38:42 +01:00
ba2fd6d2e2 Reload the ENC style on device pixel ratio changes 2024-02-12 10:02:19 +01:00
c4b1671fec Added missing cleanup 2024-02-11 23:46:00 +01:00
7bcd5f63bc Downscale HiDPI images rather than upscale the standard versions 2024-02-11 16:47:32 +01:00
3b3f06cec8 Silenced some more clazy warnings 2024-02-09 09:46:49 +01:00
268ec1050b Fixed highway line 2024-02-09 08:23:52 +01:00
d214819298 Silenced clazy warnings 2024-02-09 02:29:51 +01:00
52e0d921da Some more IMG POI icons additions + fixes 2024-02-08 22:12:00 +01:00
9464bbc13f Use a better high/low speed ramps style 2024-02-08 01:03:07 +01:00
4e7c6e39aa Improved bitmap lines drawing 2024-02-07 22:10:40 +01:00
96b602bf14 Use a railway line color that fits the ENC style 2024-02-06 23:44:18 +01:00
f7f680b93e Fixed multiple HiDPI map render issues 2024-02-06 22:37:01 +01:00
fe70b31212 Use SVG Maki icos instead of PNGs 2024-02-06 22:36:28 +01:00
a3bac33bf4 Use a more accurate and faster top left xy coordinate computation 2024-02-04 17:42:36 +01:00
7f7de87e99 Drop Qt5Compat dependency
Use QStringConverter instead of QTextCodec on Qt > 6.5.
Qt6 builds now require Qt build with ICU support for the non-UTF encodings to
work!
2024-01-18 10:04:38 +01:00
866b2c27ca Consistently initialize all stuff in constructor 2024-01-05 00:20:05 +01:00
07614a8f74 Added missing header includes 2024-01-04 18:53:43 +01:00
6b4990a204 Fixed error handling 2024-01-02 19:11:04 +01:00
a1e10c395a Some more code cleanup 2024-01-01 13:02:42 +01:00
c97561add4 Code cleanup 2024-01-01 10:58:23 +01:00
d994fae4ce Fixed the change that has broken non-TAR maps
Do not fail on the first image read error - there may be files with a "_%u_%u."
file name match that are not image tiles.
2024-01-01 10:48:16 +01:00
789606cf86 Silenced some more clazy warnings 2023-12-31 13:57:43 +01:00
542b3e920e Fixed read error check 2023-12-31 13:24:36 +01:00
0248ecb254 Improved tile file check 2023-12-31 13:20:04 +01:00
7860ce8acc Use the info we already have for calibration file type distinction 2023-12-31 10:05:02 +01:00
2541797e7d Improved error reporting 2023-12-31 01:12:46 +01:00
e13d6dfc4b Fixed broken image dimensions checks 2023-12-29 18:01:28 +01:00
ca71eb9d93 Header includes cleanup 2023-12-26 20:46:52 +01:00
14dc2af877 Code cleanup 2023-12-26 14:14:08 +01:00
9380f31022 Code cleanup 2023-12-25 11:12:52 +01:00
5f76427ba4 Code cleanup 2023-12-25 10:49:50 +01:00
3d27b4ea00 The codec is always set in load(), use the default constructor 2023-12-21 17:27:27 +01:00
502a7b4129 Do not have a separate class/file for ENC style retrieving, move
the stuff to the ENC raster tile constructor
2023-12-21 16:57:11 +01:00
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