void XAAOverWindowExposures( WindowPtr pWin, RegionPtr pReg, RegionPtr pOtherReg ){ ScreenPtr pScreen = pWin->drawable.pScreen; XAAInfoRecPtr infoRec = GET_XAAINFORECPTR_FROM_SCREEN(pScreen); if((pWin->drawable.bitsPerPixel != 8) && infoRec->pScrn->vtSema) { if(REGION_NUM_RECTS(pReg) && infoRec->FillSolidRects) { XAAOverlayPtr pOverPriv = GET_OVERLAY_PRIV(pScreen); SWITCH_DEPTH(8); (*infoRec->FillSolidRects)(infoRec->pScrn, infoRec->pScrn->colorKey, GXcopy, ~0, REGION_NUM_RECTS(pReg), REGION_RECTS(pReg)); miWindowExposures(pWin, pReg, pOtherReg); return; } else if(infoRec->NeedToSync) { (*infoRec->Sync)(infoRec->pScrn); infoRec->NeedToSync = FALSE; } } XAA_SCREEN_PROLOGUE (pScreen, WindowExposures); (*pScreen->WindowExposures) (pWin, pReg, pOtherReg); XAA_SCREEN_EPILOGUE(pScreen, WindowExposures, XAAOverWindowExposures); }
void cfb8_32WidWindowExposures(WindowPtr pWin, RegionPtr pReg, RegionPtr pOtherReg) { /* Fill in the WID channel before rendering of * the exposed window area. */ if (REGION_NUM_RECTS(pReg)) { ScreenPtr pScreen = pWin->drawable.pScreen; cfb8_32WidScreenPtr pScreenPriv = CFB8_32WID_GET_SCREEN_PRIVATE(pScreen); pScreenPriv->WIDOps->WidFillBox((DrawablePtr)pScreenPriv->pixWid, (DrawablePtr)pWin, REGION_NUM_RECTS(pReg), REGION_RECTS(pReg)); } miWindowExposures(pWin, pReg, pOtherReg); }
void cfb8_16WindowExposures( WindowPtr pWin, RegionPtr pReg, RegionPtr pOtherReg ){ if(REGION_NUM_RECTS(pReg) && (pWin->drawable.bitsPerPixel == 16)) { cfb8_16ScreenPtr pScreenPriv = CFB8_16_GET_SCREEN_PRIVATE(pWin->drawable.pScreen); cfbFillBoxSolid((DrawablePtr)pScreenPriv->pix8, REGION_NUM_RECTS(pReg), REGION_RECTS(pReg), pScreenPriv->key); } miWindowExposures(pWin, pReg, pOtherReg); }