mirror of
https://github.com/gnustep/libs-back.git
synced 2025-04-22 15:31:14 +00:00
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:
parent
fe197f6b45
commit
49d5471927
2 changed files with 23 additions and 2 deletions
|
@ -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,
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue