mono / libgdiplus

C-based implementation of the GDI+ API
http://www.mono-project.com/
MIT License
329 stars 171 forks source link

Apply PageUnit to clip regions. #745

Open grokys opened 11 months ago

grokys commented 11 months ago

I know this repo is dead, but maybe this will be useful to someone...

Previously PageUnit was being ignored when applying/calculating clips. Adds a gdip_get_page_transform function which combines the clip_matrix and PageUnit scaling (together with its inverse in gdip_get_inverse_page_transform) and uses this when setting the clip region and calculating clip bounds.

Also adds tests for these operations.

NOTE: This does not implement support for PageScale; I assume this should just be a simple additional scaling step applied to the page transform but I didn't need support for this at this point.