void NVPointerMoved(int index, int x, int y) { ScrnInfoPtr pScrn = xf86Screens[index]; NVPtr pNv = NVPTR(pScrn); int newX, newY; /* new section */ if(pNv->Flip == 1) { newX = pScrn->pScreen-width - x - 1; newY = y; } else { /* * old section * this section just does the x-y transform * needed for rotating the Xserver */ if(pNv->Rotate == 1) { newX = pScrn->pScreen->height - y - 1; newY = x; } else { newX = y; newY = pScrn->pScreen->width - x - 1; } } (*pNv->PointerMoved)(index, newX, newY); }