<feed xmlns='http://www.w3.org/2005/Atom'>
<title>video/libs/ucode-mod-plutosvg, branch master</title>
<subtitle>Mirror of video feed</subtitle>
<id>https://git.openwrt.org/feed/video/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/feed/video/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/video/'/>
<updated>2026-09-25T12:27:56Z</updated>
<entry>
<title>ucode-mod-plutosvg: add ucode binding for plutosvg</title>
<updated>2026-09-25T12:27:56Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-09-25T07:56:03Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/video/commit/?id=e54dc4ed6b6f7aad3231a3284993c311826a58bf'/>
<id>urn:sha1:e54dc4ed6b6f7aad3231a3284993c311826a58bf</id>
<content type='text'>
Make SVG documents loadable and renderable from ucode. A document is a
resource type that reports its intrinsic size, computes the extents of
the whole drawing or of one element by id, and renders either onto a
plutovg canvas or into a fresh surface. CSS currentColor is passed as
an ordinary colour value and colour variables resolve through a ucode
object or callback invoked during rendering.

Script data handed to the loader is copied because the parser keeps
pointers into it for the lifetime of the document; the copy is released
through the destroy callback. An element id is dereferenced in the
frame that owns the argument, as a short ucode string lives inside the
variable holding the value.

Surfaces returned by the renderer are plutovg resources, so the plutovg
module is loaded on demand when it is not already present.

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
</feed>
