Currently, gfx_CopyRectangle does not allow for two buffers to overlap. However, it does not appear to be too difficult to allow overlapping buffers.
This basically means implementing gfx_CopyRectangle like memmove instead of memcpy. Copying forwards with LDIR when src > dst, and copying backwards with LDDR when src < dst
Currently,
gfx_CopyRectangledoes not allow for two buffers to overlap. However, it does not appear to be too difficult to allow overlapping buffers.This basically means implementing
gfx_CopyRectanglelikememmoveinstead ofmemcpy. Copying forwards with LDIR whensrc > dst, and copying backwards with LDDR whensrc < dst