Handle transparent source in an optimized way.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@14330 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Alexander Malmberg 2002-08-25 19:43:01 +00:00
parent fe197f6b45
commit 49d5471927
2 changed files with 23 additions and 2 deletions

View file

@ -1,3 +1,8 @@
2002-08-25 21:41 Alexander Malmberg <alexander@malmberg.org>
* Source/art/ARTContext.m (-_composite_func::::::): Implement
special optimized handling of transparent source.
2002-08-25 20:48 Alexander Malmberg <alexander@malmberg.org>
* Headers/gsc/GSGState.h, Headers/gsc/gscolors.h,

View file

@ -277,12 +277,28 @@ if necessary. Returns new operation, op==-1 means noop. */
*dst_needs_alpha=NO;
*blit_func_r=blit_func=NULL;
#if 0
if (src_transparent) /* only happens with compositerect */
{
switch (op)
{
case NSCompositeCopy:
case NSCompositeSourceIn:
case NSCompositeSourceOut:
case NSCompositeDestinationIn:
case NSCompositeDestinationAtop:
case NSCompositePlusDarker:
return NSCompositeClear;
case NSCompositeSourceOver:
case NSCompositeSourceAtop:
case NSCompositeDestinationOver:
case NSCompositeDestinationOut:
case NSCompositeXOR:
case NSCompositePlusLighter:
return -1; /* noop */
}
}
else
#endif
if (src_opaque && dst_opaque)
{ /* both source and destination are totally opaque */
switch (op)