Alakzatok és rajzolás

A betűk és a szöveg mellett a legtöbb fejfájást az alakzatok kirajzolása és pozícionálása okozta.

A Flash Player több mint egy évtizedes fejlődése közben sok olyan működést is beépítettek, ami inkább az swf-generáló szoftverek hibáit javítja. Ezek a javítások a Flash Player zártsága miatt hiányoztak a Shumwayből. Ilyen hiba volt az alakzatok kitöltése is. Nézzük a következő példát:

shape

A feladat, hogy töltsük ki az A és B kör közötti területet. Erre a feladatra a vektorgrafikában használt algoritmust használjuk:

shapes_cvAz órajárással megegyező körbejárású alakzatokat a megadott színnel,, az órajárással ellentétes körbejárású alakzatokat pedig háttérszínnel töltjük ki. Sajnos ennyire nem volt egyszerű a helyzet, mert a generált swf fájlokban az alakzatok kisebb alakzatokra bontva jelennek meg. úgyhogy előbb össze kellett újra rakni a valós alakzatokat, majd azoknak megvizsgálni a körbejárását, esetenként megfordítani.

De nem csak az alakzatok rajzolása, hanem a pozícionálása sem volt ugyanolyan, mint a Flash Playerben. A pozícionálóhoz kapcsolódó hiányzó heurisztikák között például az egyik érdekesség: ha csak egy alakzat - ami akár lehet egy összetett sprite is - szerepel a flash stage-en, de annak a mérete pontosan ugyanakkora, mint a stage, akkor azt a Flash Player bemozgatja középre.

Mint a fentiekből is látjuk, a Shumway nagyon jól megvalósítja azokat a funkciókat, amikhez az Adobe szabad hozzaférést biztosít, de a Flash Player zárt rendszerében történő heurisztikák implementálásával van még teendő.