Sorry for replying to myself again -- I meant to describe the effect of this patch on source operands.
What this does is use the entire pixmap as the source operand and then adjust either the source transform (if present) or source coordinates to fetch pixels from the right part of that pixmap. So, this gets the right pixels for source coordinates within the source window. What it doesn't do is get the right pixels for anything else. None of the repeat modes work, and pixels falling outside of the window, but inside the pixmap will get whatever was in the pixmap at that location. To make the repeat modes work, we'd need to provide a rectangle describing the projection of the window into the pixman_image, then replace all of the existing pixman_image-based clipping with clipping based on the window. This can be done in a backwards compatible fashion by setting the clipping to the bounds of the pixman_image by default and exposing a new API for source clipping. We could also make source clipping work by performing point-in-region computations for every source pixel fetch; one suspects that might be a bit too expensive for most applications though. -- [email protected]
pgpkmOPMZ3VE8.pgp
Description: PGP signature
_______________________________________________ xorg-devel mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-devel
