Ecset a vászonhoz
David Flanagan, az O’Reilly szerzője nemrég tette közzé a meglehetősen nehézkes Canvas 2D API-t kiváltó könyvtárát, a Canto.js-t.
A Canto egy saját kontextust definiál, melyen továbbra is elérhetők a vászon API függvényei (így a meglévő kódunk működőképes marad), azonban a hívások láncolhatók:
canto("canvas_id").
moveTo(100, 100).
lineTo(200, 200, 100, 200).
closePath().
stroke({lineWidth: 15, strokeStyle: "red"});
A fenti kódrészletben két kiegészítés is látszik: egyszerre akár több szakaszt is megrajzolhatunk, a valós rajzolást végző függvényeknek pedig megadhatjuk a rajzolandó vonal tulajdonságait.
A további újdonságok közt szerepel a relatív koordináták használatának lehetősége, egy teknőcgrafikus könyvtár, illetve a görbék SVG-ből ismert kompakt formában történő megadása:
canto("canvas_id").svgpath("M100 100 L200 200 100 200 Z").fill();
a fenti alakban, vagy saját függvényeikkel:
canto("canvas_id").M(100, 100).L(200, 200, 100, 200).Z().stroke();
A könyvtár elérhető a Google Code-on MIT licenc alatt, dokumentáció a forráskód elején.
■