<feed xmlns='http://www.w3.org/2005/Atom'>
<title>video/libs/ucode-mod-plutovg/src, 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-plutovg: add ucode binding for plutovg</title>
<updated>2026-09-25T12:27:56Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-09-25T07:55:55Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/video/commit/?id=63d2ac13cf1e70d8920992fa7f895cd9652cd2db'/>
<id>urn:sha1:63d2ac13cf1e70d8920992fa7f895cd9652cd2db</id>
<content type='text'>
Make the plutovg drawing API usable from ucode. Surfaces, canvases,
paths, paints and font faces become ucode resource types with method
tables, while colours, points, rectangles, matrices and gradient stops
cross the boundary as plain ucode objects or arrays, so a whole scene
can be built and mutated from script. Enumerations are spelled as
strings rather than opaque integers.

Each resource holds one plutovg reference and drops it from the type
destructor; getters that return a borrowed pointer take a reference
before wrapping it, so a canvas keeps its surface alive and nothing is
released twice at collection time.

The value conversion helpers live in a separate header installed into
the staging directory because the plutosvg binding needs the same
colour and rectangle marshalling.

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