15 Commits

Author SHA1 Message Date
Larry Shaffer
046fbeea39 Fix for #7627, wrong label scaling in print or PDF
- Add shadow device dpi output (high resolution)
- [API] Add scaleToPixelContext method to QgsPalLayerSettings for better precision scaling
2013-04-18 06:41:29 -06:00
Larry Shaffer
8749b29936 Add drop shadow option to labels
- Add option to show debug rectangles for shadows to PAL engine properties
- Add small container class, QgsLabelComponent, for temporal values during generation of label components
- Add static image blurring function to QgsSymbolLayerV2Utils
- Fix rotational offset issue with label backgrounds
2013-04-14 16:11:20 -06:00
Larry Shaffer
b809723977 [FEATURE] Add background shapes and svg symbols to labels
- Rectangle, square, circle and ellipse generated symbols
- SVG background via new symbology, so uses cache
- Add new gui class QgsSvgSelectorWidget, symbol selector setup culled from symbologyV2
- Does not include any associated data defined mappings, yet
- Does not auto-search for missing SVGs, yet
- Caveat: does not currently account for background size in PAL collision calculations (overlaps occur)
- Allow direct update of QgsColorButton background
2013-04-04 15:38:27 -06:00
Larry Shaffer
995fbadc60 Fix typo in QgsPalLabeling 2013-02-07 15:22:19 -07:00
Larry Shaffer
fbf999190c Update QgsPalLabeling to work with new vector api
- Switch data defined properties from field index- to name-based
- Add routine to migrate properties to new keys:  labeling/dataDefined/[enum name]
- Add QHash containing old-style data provider mapping of index to name for use in properties migration
- Update QgsLabelingGui, QgsMapToolLabel, QgsLabelPropertyDialog to work with name-based properties
2013-02-07 14:49:56 -07:00
Larry Shaffer
ee12df2f4e Add option to set inside and outside maximum for delta angle between curved label characters
- Addresses #6763, #6673 and #2113, but does not perform any feature simplification
- Recommend adding some letter [and word] spacing before applying any delta angle adjustment
2012-11-27 17:48:01 -07:00
Larry Shaffer
e3d30af735 Update to limit of number of features sent to PAL
- Distributes max number across total number of features registered in PAL
- Caveat: PAL may not show label for every registered feature
2012-11-15 21:21:13 -07:00
Larry Shaffer
f210668cb2 Add option to limit number of labels rendered per layer (OFF by default)
- Initial limit set to 2000
- Results would look better if limited subset was a random sampling of all features
2012-11-13 15:40:19 -07:00
Larry Shaffer
bb947b4762 Add custom line direction symbols to labeling
- Options to place symbol above or below label text
- Option to reverse symbol direction
- Add character selector dialog for single font to src/gui
2012-11-11 16:12:45 -07:00
Larry Shaffer
15fe9926ce Add data defined option to always show a label, unless overridden
- Label is skipped during PAL priority calculation, permitting collisions and overlaps
- Overridden by layer and data defined 'scale/pixel size visibility' and data defined 'show label'  options
- Add option to Change Label tool
2012-11-10 00:49:50 -07:00
Larry Shaffer
e5f07edf55 Add pixel size limiting for labels defined in map units
- Allows user to quickly set visibility thresholds based upon text legibility
- By default initially on for map unit labels to skip rendering at sizes < 3 px
2012-11-09 14:27:55 -07:00
Larry Shaffer
e08833ac3b Adv labeling, add multi-line spacing and alignment 2012-10-23 08:01:06 -06:00
Larry Shaffer
e125e98eb4 [FEATURE] Fix #6482, options for showing upside-down labels
- Adv Labeling option to 'Show upside-down labels': never, when rotation defined, or always
- 'Never' (default) option is same as before, labels with 90 <= angle < 270 are turned so their text is always upright
- 'When rotation defined' option shows upside-down labels if their rotation is layer- or data-defined (dynamic labels are turned upright)
- 'Always' option shows upside-down labels at layer- or data-defined rotations and for dynamic labels
2012-10-09 18:50:47 -06:00
Juergen E. Fischer
f3cb57b1eb SIP bindings update:
- update methods of existing classes
- add comment to methods missing in the sip bindings
- split up collective sip files into single files and use
  same directory structure in python/ as in src/
- add a lot of missing classes (some might not make sense because of
  missing python methods in those classes)
- remove some non-existing methods from the header files
- add scripts/sipdiff
- replace some usages of std::vector and std::set with QVector/QSet
2012-09-24 02:42:57 +02:00
Juergen E. Fischer
8898e6b847 missed the new file 2012-09-16 20:40:18 +02:00