Listing 7. Adding Left-Right Reverse Functionality to NVScreenInit

if(pNv->ShadowFB) {
  RefreshAreaFuncPtr refreshArea = NVRefreshArea;
  if(pNv->Flip){
     pNv->PointerMoved = pScrn->PointerMoved;
     pScrn->PointerMoved = NVPointerMoved;
     refreshArea = NVRefreshAreaFlip;
  }
  else if(pNv->Rotate) {
     pNv->PointerMoved = pScrn->PointerMoved;
     pScrn->PointerMoved = NVPointerMoved;
     switch(pScrn->bitsPerPixel) {
        case 8:  refreshArea = NVRefreshArea8;   break;
        case 16: refreshArea = NVRefreshArea16;  break;
        case 32: refreshArea = NVRefreshArea32;  break;
     }
  }
  ShadowFBInit(pScreen, refreshArea);
}