wiki:SVG TODO List - Short notes

Version 2 (modified by zimmermann@kde.org, 17 years ago) (diff)

--

This is a random collection of TODO items for ksvg2 in WebKit.
If any of this item is fixed, a proper bug report will be created,
until that happens, this is a good place to list certain items.
If you have any questions about these items, or want to help
with them, please contact rwlbuis/WildFox on irc.freenode.net, #webkit.

Important, design changes:

  • SVGLength* -> SVGLength (pass by value, not by pointer)
    Rewrite it to be more efficient, fix fraction/percentage issues
    with <pattern> and negative width/height issues (hixie tests)
    Memory usage is twice as high as needed.

  • SVGMatrix* -> AffineTransform (pass by value, not by pointer)
    Change AffineTransform for SVG needs, and kill the whole SVGMatrix stuff

  • SVGAngle* -> SVGAngle (pass by value, not by pointer)
  • SVGPreserveAspectRatio* -> SVGPreserveAspectRatio (pass by value, not by pointer)

JavaScript / ObjC SVG DOM issues:

  • SVGPoint/SVGRect/SVGNumber must be autogenerated. These are POD types
    (no pointers) and currently have hand written JS/ObjC wrappers. Kill those.

  • SVGPoint/SVGRect/SVGNumber have assignment problems, ie. document.rootElement.viewBox.x.baseVal.value = 100
    won't work at the moment (ask WildFox for details). Possible solutions already in mind.

    • Provide more SVG DOM JavaScript tests (ie. for SVGLength & friends)

Gradient issues:

  • Linear/Radial gradient on text stroke are broken (if you select the text, you see it inverted!)
  • Linear gradients and Cg don't support spread methods (eek! this is important!)

Pattern issues:

  • Patterns are implemented in an ugly way (see item above "Masks" on how to fix this)

Mask issues:

  • Masks are disabled right now. We need "GraphicsContext" <-> "Image" bridging to
    render into Images directly.(ask Eric Seidel about this)

General structure:

  • platform/graphics/svg must be moved into ksvg2/<whatever> (maybe "graphics").
  • ksvg2/ must be moved to svg/ (inside WebCore, as it is right now)



Last update: December 9th 2006.