塗りつぶしモードは、交差する線があるポリカーブのプロパティです。ポリカーブは複雑なシェイプであるため、シェイプの内側と外側で何が考慮されるかが不明確になる可能性があります。塗りつぶしモードは、Webアプリケーションで使用するために複雑な図形をSVGドキュメントフラグメントに書き出すときに塗りつぶしを理解できるように、図形の内側と外側を決定するアルゴリズムです。
- [交互]モードでは、任意の方向にそのポイントから無限に光線を描画することにより、形状のセグメントを塗りつぶすかどうかを決定し、光線が通過する特定の形状内のセグメントの数をカウントします。この数値が奇数の場合、セグメントは塗りつぶし領域の内側にあります。偶数の場合、セグメントは塗りつぶし領域の外側にあります。
- [ワインディング]モードでは、任意の方向にそのポイントから無限に光線を描画し、シェイプのセグメントが光線を横切るインスタンスの数をカウントすることにより、シェイプのセグメントを塗りつぶすかどうかを決定します。ゼロから開始して、セグメントが左から右に光線を横切るたびに1つのカウントが加算され、光線の視点からパスセグメントが右から左に光線を横切るたびに1つのカウントが減算されます。交差の数がカウントされた後、結果がゼロの場合、ポイントは塗りつぶしパスの外側にあると見なされます。それ以外の場合は、パスの内側にあります。