From a0456da339fa9b3c3e6fead060338ee7348d6460 Mon Sep 17 00:00:00 2001 From: Jamey Sharp Date: Sun, 23 May 2010 12:57:52 -0700 Subject: XineramaSetCursorPosition: use screen bounds directly, not POINT_IN_REGION. This hides a MAXSCREENS-sized array as an implementation detail of panoramiX.c rather than an exported global. Signed-off-by: Jamey Sharp Reviewed-by: Tiago Vignatti Tested-by: Tiago Vignatti (i686 GNU/Linux) --- dix/events.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'dix/events.c') diff --git a/dix/events.c b/dix/events.c index e8e65e2e5..502eebd8d 100644 --- a/dix/events.c +++ b/dix/events.c @@ -485,6 +485,13 @@ SyntheticMotion(DeviceIntPtr dev, int x, int y) { #ifdef PANORAMIX static void PostNewCursor(DeviceIntPtr pDev); +static Bool +pointOnScreen(ScreenPtr pScreen, int x, int y) +{ + return x >= pScreen->x && x < pScreen->x + pScreen->width && + y >= pScreen->y && y < pScreen->y + pScreen->height; +} + static Bool XineramaSetCursorPosition( DeviceIntPtr pDev, @@ -493,7 +500,6 @@ XineramaSetCursorPosition( Bool generateEvent ){ ScreenPtr pScreen; - BoxRec box; int i; SpritePtr pSprite = pDev->spriteInfo->sprite; @@ -505,14 +511,13 @@ XineramaSetCursorPosition( x += screenInfo.screens[0]->x; y += screenInfo.screens[0]->y; - if(!POINT_IN_REGION(pScreen, &XineramaScreenRegions[pScreen->myNum], - x, y, &box)) + if(!pointOnScreen(pScreen, x, y)) { FOR_NSCREENS(i) { if(i == pScreen->myNum) continue; - if(POINT_IN_REGION(pScreen, &XineramaScreenRegions[i], x, y, &box)) + if(pointOnScreen(screenInfo.screens[i], x, y)) { pScreen = screenInfo.screens[i]; break; -- cgit v1.2.3