Added Support for DefineShape4 nonzero winding rule - display, svg (import, export), canvas export

Fixed Calculating fillBits, lineBits on SHAPE structure (storing morphshapes, fonts)
This commit is contained in:
Jindra Petřík
2023-10-14 09:11:48 +02:00
parent 16c91e1b98
commit 2f01f5d4eb
29 changed files with 118 additions and 55 deletions

View File

@@ -1353,11 +1353,15 @@ public class SWFOutputStream extends OutputStream {
/**
* Writes SHAPE value to the stream
*
* @param fillStyleCount
* @param lineStyleCount
* @param value SHAPE value
* @param shapeNum 1 in DefineShape, 2 in DefineShape2,...
* @throws IOException
*/
public void writeSHAPE(SHAPE value, int shapeNum) throws IOException {
public void writeSHAPE(int fillStyleCount, int lineStyleCount, SHAPE value, int shapeNum) throws IOException {
value.numFillBits = getNeededBitsU(fillStyleCount);
value.numLineBits = getNeededBitsU(lineStyleCount);
writeUB(4, value.numFillBits);
writeUB(4, value.numLineBits);
writeSHAPERECORDS(value.shapeRecords, value.numFillBits, value.numLineBits, shapeNum);