Files
odfstudio/emfio/qa/cppunit/emf/data/TestPolyFillModeWinding.emf
Andras Timar 857fd268e8 emfio: implement EMR_SETPOLYFILLMODE and W_META_SETPOLYFILLMODE
The polygon fill mode (ALTERNATE vs WINDING) was ignored in both EMF
and WMF readers.  ALTERNATE (even-odd) is the default; WINDING
(non-zero winding) appears in 2541/6939 EMF files and 135/467 WMF
files that set the mode.  Self-intersecting polygons like pentagram
stars render differently under the two rules.

Store the fill mode state in MtfTools with save/restore in Push/Pop,
wire up the record handlers, and fix the hardcoded fillNonZero in
DrawPolygon pattern fills to respect the current mode.

Add a unit test with a pentagram star EMF using WINDING mode.

Change-Id: I1d9127b79cc6c3b67f39bebe2c82e806c9db4ce8
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/324
Tested-by: Andras Timar <andras.timar@collabora.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204388
Tested-by: Jenkins
2026-04-27 08:58:11 +02:00

236 B