that would mean chaning documented behaviour of drawclip()... then i'd have to fix the callers of drawclip() as well. keeping drawclip()'s behaviour as it is seemed to be the safest option. and moving the source and mask rects to src->r and mask->r makes sense in the context of working on flat bitmaps.
there also was no way to fixup the result after drawclip() in libmemlayers memdraw() without duplicating the functionaliry. -- cinap