skia2/modules/svg/include
Florin Malita 512ff75a0b [svg] Initial <tspan> support
Introduce classes to support text node nesting:

  - TextContainer -- base class for nestable text containers
    (<text>, <tspan> etc)
  - TextLiteral -- actual text string/payload

Example structure mapping:

  <text>Foo<tspan>Bar</tspan>Baz</text>

  TextContainer[text]
    TextLiteral["Foo"]
    TextContainer[tspan]
      TextLiteral["Bar"]
    TextLiteral["Baz"]

Also add text layout state (SkSVGTextContenxt) to SkSVGRenderContext.
This will be used to track layout across a text subtree.

For now we don't touch rendering, so the output is quite garbled for
non-trivial text (no advance propagation -> things draw on top of each
other).

Bug: skia:10840
Change-Id: Ic6d3990ec8635b586f5d3d226be070fbf134e391
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341236
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Tyler Denniston <tdenniston@google.com>
2020-12-07 15:29:19 +00:00
..
SkSVGAttribute.h [svg] Add SkSVGProperty class for presentation attributes 2020-11-17 18:11:24 +00:00
SkSVGAttributeParser.h [svg] Use new code path for rest of presentation attrs 2020-11-30 21:27:04 +00:00
SkSVGCircle.h Reland "[svg] Relocate out of experimental" 2020-10-16 02:32:41 +00:00
SkSVGClipPath.h Reland "[svg] Relocate out of experimental" 2020-10-16 02:32:41 +00:00
SkSVGContainer.h [svg] Implement gradientUnits="objectBoundingBox" 2020-10-27 19:56:28 +00:00
SkSVGDefs.h Reland "[svg] Relocate out of experimental" 2020-10-16 02:32:41 +00:00
SkSVGDOM.h [svg] Allow clients to pass a custom SkFontMgr 2020-11-11 01:51:44 +00:00
SkSVGEllipse.h Reland "[svg] Relocate out of experimental" 2020-10-16 02:32:41 +00:00
SkSVGFe.h [svg] Implement feComposite, basic filter result storage 2020-11-10 14:00:56 +00:00
SkSVGFeColorMatrix.h [svg] Implement feColorMatrix filter 2020-11-06 18:40:24 +00:00
SkSVGFeComposite.h [svg] Implement feComposite, basic filter result storage 2020-11-10 14:00:56 +00:00
SkSVGFeTurbulence.h [svg] Minor parser tweaks 2020-11-05 17:12:06 +00:00
SkSVGFilter.h [svg] New layer for image filter if one is set 2020-11-02 21:54:25 +00:00
SkSVGFilterContext.h [svg] Implement feComposite, basic filter result storage 2020-11-10 14:00:56 +00:00
SkSVGG.h Reland "[svg] Relocate out of experimental" 2020-10-16 02:32:41 +00:00
SkSVGGradient.h [svg] Use new parsing for gradient classes 2020-11-10 19:04:49 +00:00
SkSVGHiddenContainer.h Reland "[svg] Relocate out of experimental" 2020-10-16 02:32:41 +00:00
SkSVGIDMapper.h Reland "[svg] Relocate out of experimental" 2020-10-16 02:32:41 +00:00
SkSVGLine.h Reland "[svg] Relocate out of experimental" 2020-10-16 02:32:41 +00:00
SkSVGLinearGradient.h [svg] Use new parsing for gradient classes 2020-11-10 19:04:49 +00:00
SkSVGNode.h [svg] Initial <tspan> support 2020-12-07 15:29:19 +00:00
SkSVGPath.h Reland "[svg] Relocate out of experimental" 2020-10-16 02:32:41 +00:00
SkSVGPattern.h Reland "[svg] Relocate out of experimental" 2020-10-16 02:32:41 +00:00
SkSVGPoly.h Reland "[svg] Relocate out of experimental" 2020-10-16 02:32:41 +00:00
SkSVGRadialGradient.h [svg] Use new parsing for gradient classes 2020-11-10 19:04:49 +00:00
SkSVGRect.h [svg] Implement gradientUnits="objectBoundingBox" 2020-10-27 19:56:28 +00:00
SkSVGRenderContext.h [svg] Initial <tspan> support 2020-12-07 15:29:19 +00:00
SkSVGShape.h Reland "[svg] Relocate out of experimental" 2020-10-16 02:32:41 +00:00
SkSVGStop.h Reland "[svg] Relocate out of experimental" 2020-10-16 02:32:41 +00:00
SkSVGSVG.h [svg] Add support for preserveAspectRatio 2020-10-21 22:10:33 +00:00
SkSVGText.h [svg] Initial <tspan> support 2020-12-07 15:29:19 +00:00
SkSVGTransformableNode.h [svg] Implement gradientUnits="objectBoundingBox" 2020-10-27 19:56:28 +00:00
SkSVGTypes.h [svg] Remove kInherit from several SVG types 2020-12-03 17:36:54 +00:00
SkSVGUse.h [svg] Implement gradientUnits="objectBoundingBox" 2020-10-27 19:56:28 +00:00
SkSVGValue.h [svg] Use new parsing for gradient classes 2020-11-10 19:04:49 +00:00