29 Commits

Author SHA1 Message Date
Nyall Dawson
636653df23 Always render main annotation layer above map layers in layout maps 2020-09-01 15:29:32 +10:00
Matthias Kuhn
a3dc6b3911 Fix control images 2020-08-03 10:04:50 +02:00
Matthias Kuhn
148028b792 Cleanup leftover images 2020-08-02 12:46:14 +02:00
olivierdalang
44a61ea77d [layout] rotated grid ticks/annotations - update expected images masks
(thanks parse_dash_results.py)
2020-07-31 10:12:12 +02:00
Nyall Dawson
26f4b17ce5 Update test images 2020-07-28 15:12:04 +10:00
Nyall Dawson
a533268edf Ensure map frame and background also follow clip path 2020-07-28 15:12:04 +10:00
Nyall Dawson
2f3258cb81 Add unit test for overview frame following a clipped map 2020-07-28 15:12:04 +10:00
Nyall Dawson
264bd51594 [layouts] Add API to set item based clipping region on maps
Allows using shape or polygon layout items to set the overall shape
of a layout map item's contents
2020-07-28 15:12:04 +10:00
Nyall Dawson
d9936debff More mask updates 2020-07-08 17:00:39 +10:00
Nyall Dawson
fd1555dda1 More test updates 2020-07-08 17:00:39 +10:00
Nyall Dawson
a2b5008b30 [FEATURE][layouts] Allow layout items to "block" map labels
This feature allows other layout items (such as scalebars,
north arrows, inset maps, etc) to be marked as a blockers for
the map labels in a map item. This prevents any map labels from
being placed under those items - causing the labeling engine
to either try alternative placement for these labels (or
discarding them altogether)

This allows for more cartographically pleasing maps -- placing
labels under other items can make them hard to read, yet without
this new setting it's non-trivial to get QGIS to avoid placing
the labels in these obscured areas.

The blocking items are set through a map item's properties, under
the label settings panel. The setting is per-map item, so you can have
a scalebar block the labels for one map in your layout and not others
(if you so desire!)
2018-12-21 04:12:32 +10:00
Nyall Dawson
620baa0d22 Layout map test reference image updates 2018-12-21 04:12:32 +10:00
Nyall Dawson
089a2f1c17 [FEATURE][layouts] Add new setting to control whether map items
should show partial labels

Layout map items no longer respect the default project setting
for "show partial labels", and instead have their own, per map
setting for this option. (Under the map item properties,
labeling settings button).

The map item setting always defaults to off (unlike the canvas
setting, which defaults to true for a new project) as layouts
should always default to the settings which produce the highest
quality cartographic outputs.

In general I suspect that most users would always want to avoid
rendering partial labels in layouts, but this setting was
previously so deeply hidden that most are unaware of how to
change it. (And previous discussion about changing the canvas
setting to hide partial labels deemed this default undesirable
for the canvas, where showing even a small part of a label
on the map border can help identify what sits just on/off
the edges of the map)
2018-12-18 15:32:29 +10:00
Nyall Dawson
ed25a3e2ee [FEATURE][layouts] Add setting for label margin for map items
This setting allows per-map control of how close labels are permitted
to be placed to the map item's edges.

Sizes can be set using mm/inches/pixels/etc, and data defined
label margins are allowed.

Fixes #10314
2018-12-15 11:28:56 +10:00
Nyall Dawson
35855b88e1 [FEATURE][API] Add API to set a margin for labels for layout map items
This controls how close labels are permitted to the edges of the map
item. The labeling engine will then try other candidate positions
in order to avoid placing labels within this margin.
2018-12-15 11:28:56 +10:00
Nyall Dawson
f0735d9171 Update test masks 2018-10-26 15:03:54 +10:00
Denis Rouzaud
cc6e2d46e7 update test masks 2018-02-26 17:26:39 -09:00
Nyall Dawson
703898e923 Update test masks 2018-02-25 12:47:58 +11:00
Nyall Dawson
492f9ea18c Update test mask images 2017-12-17 14:18:37 +10:00
Nyall Dawson
ca37a1ebd7 Fix drawing of map items (grids, overviews) when rendering map item as a raster item 2017-12-17 14:14:31 +10:00
Nyall Dawson
c6d939f1ec Fix more tests 2017-11-07 11:32:39 +10:00
Nyall Dawson
69aacde19c Fix failing tests 2017-11-07 11:32:39 +10:00
Nyall Dawson
23d0617bac Start porting map item 2017-11-07 11:32:38 +10:00
Nyall Dawson
041129d507 Fix loading composition triggers render of all composer maps
Also cleanup some more unused API methods
2017-03-21 10:32:53 +10:00
Nyall Dawson
9a6d714061 [FEATURE][composer] Allow choice of CRS for map items
This allows the CRS for map items to differ from the canvas/project
CRS. It also allows different map items to have different CRS,
eg an overview map can be set to a different CRS to the main map.

An unfortunate side effect of this change and the ongoing work
to separate compositions from canvas is that datum transforms
are no longer supported in composer. This cannot be fixed until
the datum transform store is rewritten to not depend on canvas
(ie, it's also broken for upcoming multi-canvas work)
2017-01-17 19:18:47 +10:00
Nyall Dawson
0c6e289c8e Update test masks 2016-06-07 07:26:34 +10:00
Nyall Dawson
c24938e3e4 Update test masks for Qt5, enable more tests on Travis Qt5 builds 2016-04-18 15:23:02 +10:00
Nyall Dawson
4eb53d366a Update test mask images 2015-10-10 21:21:21 +11:00
Nyall Dawson
0c5475545f Cleanup control_images folder by grouping some tests in subfolders 2015-08-30 20:15:25 +10:00