void NVRefreshArea(ScrnInfoPtr pScrn, int num, BoxPtr pbox) { NVPtr pNv = NVPTR(pScrn); int width, height, Bpp, FBPitch; unsigned char *src, *dst; Bpp = pScrn->bitsPerPixel >> 3; FBPitch = BitmapBytePad(pScrn->displayWidth * pScrn->bitsPerPixel); while(num--) { width = (pbox->x2 - pbox->x1) * Bpp; height = pbox->y2 - pbox->y1; src = pNv->ShadowPtr + (pbox->y1 * pNv->ShadowPitch) + (pbox->x1 * Bpp); dst = pNv->FbStart + (pbox->y1 * FBPitch) + (pbox->x1 * Bpp); while(height--) { memcpy(dst, src, width); dst += FBPitch; src += pNv->ShadowPitch; } pbox++; } }