735ac97eb4
Introduce support for relative position adjustments [1]: - plumb dx, dy attributes - extend ScopedPosResolver to also handle the new attributes - introduce ShapeBuffer to store both utf8 text and position adjustments for shaping (replaces prev 'filtered' array). - position adjustments are cumulative (relative adjustments affect all following characters) - utf8 encoding is variable length; for simplicity, ensure that the pos adjustment array and the utf8 array are always the same size by repeating the pos adjustment times number of utf8 bytes - introduce a temporary buffer for retrieving utf8 cluster information from SkShaper - post-shaping, use the utf8 cluster info to map back to character indices and apply the associated position adjutment [1] https://www.w3.org/TR/SVG11/text.html#TSpanElementDXAttribute Bug: skia:10840 Change-Id: Ia9f227f91723400711ff2b5d260976290da1e2e5 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/346636 Commit-Queue: Florin Malita <fmalita@google.com> Reviewed-by: Tyler Denniston <tdenniston@google.com> |
||
---|---|---|
.. | ||
SkSVGAttribute.h | ||
SkSVGAttributeParser.h | ||
SkSVGCircle.h | ||
SkSVGClipPath.h | ||
SkSVGContainer.h | ||
SkSVGDefs.h | ||
SkSVGDOM.h | ||
SkSVGEllipse.h | ||
SkSVGFe.h | ||
SkSVGFeColorMatrix.h | ||
SkSVGFeComposite.h | ||
SkSVGFeFlood.h | ||
SkSVGFeTurbulence.h | ||
SkSVGFilter.h | ||
SkSVGFilterContext.h | ||
SkSVGG.h | ||
SkSVGGradient.h | ||
SkSVGHiddenContainer.h | ||
SkSVGIDMapper.h | ||
SkSVGLine.h | ||
SkSVGLinearGradient.h | ||
SkSVGNode.h | ||
SkSVGPath.h | ||
SkSVGPattern.h | ||
SkSVGPoly.h | ||
SkSVGRadialGradient.h | ||
SkSVGRect.h | ||
SkSVGRenderContext.h | ||
SkSVGShape.h | ||
SkSVGStop.h | ||
SkSVGSVG.h | ||
SkSVGText.h | ||
SkSVGTransformableNode.h | ||
SkSVGTypes.h | ||
SkSVGUse.h | ||
SkSVGValue.h |