This is inconsistent with all other fill types, which don't
have a special outline subsymbol. Users should be creating
outline layers when they want an outline instead.
When reading an SVG fill symbol layer from XML, automatically
upgrade any outline subsymbol which is used by the fill to
be separate symbol layers for the parent fill symbol so
that existing symbols will appear as designed in older QGIS
versions.
Fixes qgis#14103
whenever a subsymbol component of a parent symbol is being rendered
This flag allows symbol layers to refine their behaviour based on whether
they are a subsymbol or not.
This optional setting allows each point to be randomly shifted up
to the specified maximum distance in the x/y directions. Maximum
offset can be set in mm, points, map units, etc OR "percentage"
(which is percentage of the pattern width/height)
An optional random number seed can be set to avoid patterns
jumping around between map refreshes.
Data defined overrides are also supported.
Sponsored by North Road, thanks to SLYR
point pattern fill
A new option exposes the ability to clip markers in the fill by:
- "Clip to shape": default behaviour, same as previous versions. Markers
are clipped so that only the portions inside the polygon are visible
- "Marker centroid within shape": only markers where the center of
the marker falls inside the polygon are drawn, but these markers
won't be clipped to the outside of the polygon
- "Marker Completely Within Shape": only markers which fall
completely within the polygon are shown
- "No clipping": any marker which intersects at all with the polygon
will be completely rendered
The clipping mode can be overridden via a data driven expression if
desired.
Sponsored by North Road, thanks to SLYR
Fixes#37825
along a geometry's boundaries
also includes variations on these which allow for randomized
triangle/square/sine-like waves, with amplitude and wavelength
randomly generated using a specified range
This breaks fixing mesh layer paths when restoring projects with
broken mesh layers -- fixing the path causes the existing style
to be lost.
Fixes#45391
When adding logging via db manager to an existing layer, all the
time_start of existing features are still null. When we modify one
feature for the first time, the update trigger fires and insert a row
for the past state of the feature. In turn, this fires the INSERT
trigger for this row, and the execution goes inside the `if
NEW.time_start is NULL`, which set the end timestamp to NULL, making the
old row still visible in the _current view.
In other word, the insert trigger makes the assumption that a null start
timestamp means now, which is not true in the case described above.
This commit fixes this assumption by initially setting it to `-infinity`
for existing rows.
layers which have been set for a canvas but which AREN'T part of
QgsProject::instance()
Required to fix test failure in labeling map tools, but ultimately
a necessary piece of API to ensure that map tools aren't so tightly
bound to QgsProject::instance()