diff options
author | Jamey Sharp <jamey@minilop.net> | 2010-05-23 10:11:47 -0700 |
---|---|---|
committer | Jamey Sharp <jamey@minilop.net> | 2010-06-03 14:03:23 -0700 |
commit | a83cff9f4d622b069c96a68b4e87a669bf1f6446 (patch) | |
tree | b29de5e363feb6b7546ce69dfa0685316bf0b234 /Xext | |
parent | 217ccaa5a341018457f468a774c035c0df47d918 (diff) |
Move each screen's x/y origin into ScreenRec.
Many references to the dixScreenOrigins array already had the
corresponding screen pointer handy, which meant they usually looked like
"dixScreenOrigins[pScreen->myNum]". Adding a field to ScreenRec instead
of keeping this information in a parallel array simplifies those
expressions, and eliminates a MAXSCREENS-sized array.
Since dix declared the dixScreenOrigins array, I figure allocating a
screen private for these values is overkill.
Signed-off-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Tested-by: Tiago Vignatti <tiago.vignatti@nokia.com> (i686 GNU/Linux)
Diffstat (limited to 'Xext')
-rw-r--r-- | Xext/panoramiX.c | 32 | ||||
-rw-r--r-- | Xext/panoramiXprocs.c | 106 | ||||
-rw-r--r-- | Xext/shm.c | 12 | ||||
-rw-r--r-- | Xext/xvdisp.c | 16 |
4 files changed, 83 insertions, 83 deletions
diff --git a/Xext/panoramiX.c b/Xext/panoramiX.c index 5f0e97efc..b87da247d 100644 --- a/Xext/panoramiX.c +++ b/Xext/panoramiX.c @@ -198,8 +198,8 @@ XineramaValidateGC( if((pDraw->type == DRAWABLE_WINDOW) && !(((WindowPtr)pDraw)->parent)) { /* the root window */ - int x_off = dixScreenOrigins[pGC->pScreen->myNum].x; - int y_off = dixScreenOrigins[pGC->pScreen->myNum].y; + int x_off = pGC->pScreen->x; + int y_off = pGC->pScreen->y; int new_val; new_val = pGCPriv->clipOrg.x - x_off; @@ -395,9 +395,9 @@ static void XineramaInitData(ScreenPtr pScreen) pScreen = screenInfo.screens[i]; - TheBox.x1 = dixScreenOrigins[i].x; + TheBox.x1 = pScreen->x; TheBox.x2 = TheBox.x1 + pScreen->width; - TheBox.y1 = dixScreenOrigins[i].y; + TheBox.y1 = pScreen->y; TheBox.y2 = TheBox.y1 + pScreen->height; REGION_INIT(pScreen, &XineramaScreenRegions[i], &TheBox, 1); @@ -405,13 +405,13 @@ static void XineramaInitData(ScreenPtr pScreen) &XineramaScreenRegions[i]); } - PanoramiXPixWidth = dixScreenOrigins[0].x + screenInfo.screens[0]->width; - PanoramiXPixHeight = dixScreenOrigins[0].y + screenInfo.screens[0]->height; + PanoramiXPixWidth = screenInfo.screens[0]->x + screenInfo.screens[0]->width; + PanoramiXPixHeight = screenInfo.screens[0]->y + screenInfo.screens[0]->height; for (i = 1; i < PanoramiXNumScreens; i++) { pScreen = screenInfo.screens[i]; - w = dixScreenOrigins[i].x + pScreen->width; - h = dixScreenOrigins[i].y + pScreen->height; + w = pScreen->x + pScreen->width; + h = pScreen->y + pScreen->height; if (PanoramiXPixWidth < w) PanoramiXPixWidth = w; @@ -1060,8 +1060,8 @@ ProcXineramaQueryScreens(ClientPtr client) int i; for(i = 0; i < PanoramiXNumScreens; i++) { - scratch.x_org = dixScreenOrigins[i].x; - scratch.y_org = dixScreenOrigins[i].y; + scratch.x_org = screenInfo.screens[i]->x; + scratch.y_org = screenInfo.screens[i]->y; scratch.width = screenInfo.screens[i]->width; scratch.height = screenInfo.screens[i]->height; @@ -1153,8 +1153,8 @@ XineramaGetImageData( SrcBox.x1 = left; SrcBox.y1 = top; if(!isRoot) { - SrcBox.x1 += pDraw->x + dixScreenOrigins[0].x; - SrcBox.y1 += pDraw->y + dixScreenOrigins[0].y; + SrcBox.x1 += pDraw->x + screenInfo.screens[0]->x; + SrcBox.y1 += pDraw->y + screenInfo.screens[0]->y; } SrcBox.x2 = SrcBox.x1 + width; SrcBox.y2 = SrcBox.y1 + height; @@ -1171,8 +1171,8 @@ XineramaGetImageData( if(inOut == rgnIN) { (*pDraw->pScreen->GetImage)(pDraw, - SrcBox.x1 - pDraw->x - dixScreenOrigins[i].x, - SrcBox.y1 - pDraw->y - dixScreenOrigins[i].y, + SrcBox.x1 - pDraw->x - screenInfo.screens[i]->x, + SrcBox.y1 - pDraw->y - screenInfo.screens[i]->y, width, height, format, planemask, data); break; } else if (inOut == rgnOUT) @@ -1203,8 +1203,8 @@ XineramaGetImageData( } } - x = pbox->x1 - pDraw->x - dixScreenOrigins[i].x; - y = pbox->y1 - pDraw->y - dixScreenOrigins[i].y; + x = pbox->x1 - pDraw->x - screenInfo.screens[i]->x; + y = pbox->y1 - pDraw->y - screenInfo.screens[i]->y; (*pDraw->pScreen->GetImage)(pDraw, x, y, w, h, format, planemask, ScratchMem); diff --git a/Xext/panoramiXprocs.c b/Xext/panoramiXprocs.c index ccd721687..a7f8a0cd5 100644 --- a/Xext/panoramiXprocs.c +++ b/Xext/panoramiXprocs.c @@ -135,8 +135,8 @@ int PanoramiXCreateWindow(ClientPtr client) stuff->wid = newWin->info[j].id; stuff->parent = parent->info[j].id; if (parentIsRoot) { - stuff->x = orig_x - dixScreenOrigins[j].x; - stuff->y = orig_y - dixScreenOrigins[j].y; + stuff->x = orig_x - screenInfo.screens[j]->x; + stuff->y = orig_y - screenInfo.screens[j]->y; } if (backPix) *((CARD32 *) &stuff[1] + pback_offset) = backPix->info[j].id; @@ -334,8 +334,8 @@ int PanoramiXReparentWindow(ClientPtr client) stuff->window = win->info[j].id; stuff->parent = parent->info[j].id; if(parentIsRoot) { - stuff->x = x - dixScreenOrigins[j].x; - stuff->y = y - dixScreenOrigins[j].y; + stuff->x = x - screenInfo.screens[j]->x; + stuff->y = y - screenInfo.screens[j]->y; } result = (*SavedProcVector[X_ReparentWindow])(client); if(result != Success) break; @@ -495,9 +495,9 @@ int PanoramiXConfigureWindow(ClientPtr client) if(sib) *((CARD32 *) &stuff[1] + sib_offset) = sib->info[j].id; if(x_offset >= 0) - *((CARD32 *) &stuff[1] + x_offset) = x - dixScreenOrigins[j].x; + *((CARD32 *) &stuff[1] + x_offset) = x - screenInfo.screens[j]->x; if(y_offset >= 0) - *((CARD32 *) &stuff[1] + y_offset) = y - dixScreenOrigins[j].y; + *((CARD32 *) &stuff[1] + y_offset) = y - screenInfo.screens[j]->y; result = (*SavedProcVector[X_ConfigureWindow])(client); if(result != Success) break; } @@ -565,8 +565,8 @@ int PanoramiXGetGeometry(ClientPtr client) if((pWin->parent == screenInfo.screens[0]->root) || (pWin->parent->drawable.id == screenInfo.screens[0]->screensaver.wid)) { - rep.x += dixScreenOrigins[0].x; - rep.y += dixScreenOrigins[0].y; + rep.x += screenInfo.screens[0]->x; + rep.y += screenInfo.screens[0]->y; } rep.borderWidth = pWin->borderWidth; } @@ -599,8 +599,8 @@ int PanoramiXTranslateCoords(ClientPtr client) if((pWin == screenInfo.screens[0]->root) || (pWin->drawable.id == screenInfo.screens[0]->screensaver.wid)) { - x = stuff->srcX - dixScreenOrigins[0].x; - y = stuff->srcY - dixScreenOrigins[0].y; + x = stuff->srcX - screenInfo.screens[0]->x; + y = stuff->srcY - screenInfo.screens[0]->y; } else { x = pWin->drawable.x + stuff->srcX; y = pWin->drawable.y + stuff->srcY; @@ -637,8 +637,8 @@ int PanoramiXTranslateCoords(ClientPtr client) if((pDst == screenInfo.screens[0]->root) || (pWin->drawable.id == screenInfo.screens[0]->screensaver.wid)) { - rep.dstX += dixScreenOrigins[0].x; - rep.dstY += dixScreenOrigins[0].y; + rep.dstX += screenInfo.screens[0]->x; + rep.dstY += screenInfo.screens[0]->y; } WriteReplyToClient(client, sizeof(xTranslateCoordsReply), &rep); @@ -981,8 +981,8 @@ int PanoramiXClearToBackground(ClientPtr client) FOR_NSCREENS_BACKWARD(j) { stuff->window = win->info[j].id; if(isRoot) { - stuff->x = x - dixScreenOrigins[j].x; - stuff->y = y - dixScreenOrigins[j].y; + stuff->x = x - screenInfo.screens[j]->x; + stuff->y = y - screenInfo.screens[j]->y; } result = (*SavedProcVector[X_ClearArea])(client); if(result != Success) break; @@ -1092,12 +1092,12 @@ int PanoramiXCopyArea(ClientPtr client) stuff->srcDrawable = src->info[j].id; stuff->gc = gc->info[j].id; if (srcIsRoot) { - stuff->srcX = srcx - dixScreenOrigins[j].x; - stuff->srcY = srcy - dixScreenOrigins[j].y; + stuff->srcX = srcx - screenInfo.screens[j]->x; + stuff->srcY = srcy - screenInfo.screens[j]->y; } if (dstIsRoot) { - stuff->dstX = dstx - dixScreenOrigins[j].x; - stuff->dstY = dsty - dixScreenOrigins[j].y; + stuff->dstX = dstx - screenInfo.screens[j]->x; + stuff->dstY = dsty - screenInfo.screens[j]->y; } VALIDATE_DRAWABLE_AND_GC(stuff->dstDrawable, pDst, DixWriteAccess); @@ -1137,7 +1137,7 @@ int PanoramiXCopyArea(ClientPtr client) if(pRgn[j]) { if(srcIsRoot) { REGION_TRANSLATE(pScreen, pRgn[j], - dixScreenOrigins[j].x, dixScreenOrigins[j].y); + screenInfo.screens[j]->x, screenInfo.screens[j]->y); } REGION_APPEND(pScreen, &totalReg, pRgn[j]); REGION_DESTROY(pScreen, pRgn[j]); @@ -1203,12 +1203,12 @@ int PanoramiXCopyPlane(ClientPtr client) stuff->srcDrawable = src->info[j].id; stuff->gc = gc->info[j].id; if (srcIsRoot) { - stuff->srcX = srcx - dixScreenOrigins[j].x; - stuff->srcY = srcy - dixScreenOrigins[j].y; + stuff->srcX = srcx - screenInfo.screens[j]->x; + stuff->srcY = srcy - screenInfo.screens[j]->y; } if (dstIsRoot) { - stuff->dstX = dstx - dixScreenOrigins[j].x; - stuff->dstY = dsty - dixScreenOrigins[j].y; + stuff->dstX = dstx - screenInfo.screens[j]->x; + stuff->dstY = dsty - screenInfo.screens[j]->y; } VALIDATE_DRAWABLE_AND_GC(stuff->dstDrawable, pdstDraw, DixWriteAccess); @@ -1297,8 +1297,8 @@ int PanoramiXPolyPoint(ClientPtr client) if(j) memcpy(&stuff[1], origPts, npoint * sizeof(xPoint)); if (isRoot) { - int x_off = dixScreenOrigins[j].x; - int y_off = dixScreenOrigins[j].y; + int x_off = screenInfo.screens[j]->x; + int y_off = screenInfo.screens[j]->y; if(x_off || y_off) { xPoint *pnts = (xPoint*)&stuff[1]; @@ -1357,8 +1357,8 @@ int PanoramiXPolyLine(ClientPtr client) if(j) memcpy(&stuff[1], origPts, npoint * sizeof(xPoint)); if (isRoot) { - int x_off = dixScreenOrigins[j].x; - int y_off = dixScreenOrigins[j].y; + int x_off = screenInfo.screens[j]->x; + int y_off = screenInfo.screens[j]->y; if(x_off || y_off) { xPoint *pnts = (xPoint*)&stuff[1]; @@ -1420,8 +1420,8 @@ int PanoramiXPolySegment(ClientPtr client) if(j) memcpy(&stuff[1], origSegs, nsegs * sizeof(xSegment)); if (isRoot) { - int x_off = dixScreenOrigins[j].x; - int y_off = dixScreenOrigins[j].y; + int x_off = screenInfo.screens[j]->x; + int y_off = screenInfo.screens[j]->y; if(x_off || y_off) { xSegment *segs = (xSegment*)&stuff[1]; @@ -1483,8 +1483,8 @@ int PanoramiXPolyRectangle(ClientPtr client) if(j) memcpy(&stuff[1], origRecs, nrects * sizeof(xRectangle)); if (isRoot) { - int x_off = dixScreenOrigins[j].x; - int y_off = dixScreenOrigins[j].y; + int x_off = screenInfo.screens[j]->x; + int y_off = screenInfo.screens[j]->y; if(x_off || y_off) { @@ -1545,8 +1545,8 @@ int PanoramiXPolyArc(ClientPtr client) if(j) memcpy(&stuff[1], origArcs, narcs * sizeof(xArc)); if (isRoot) { - int x_off = dixScreenOrigins[j].x; - int y_off = dixScreenOrigins[j].y; + int x_off = screenInfo.screens[j]->x; + int y_off = screenInfo.screens[j]->y; if(x_off || y_off) { xArc *arcs = (xArc *) &stuff[1]; @@ -1603,8 +1603,8 @@ int PanoramiXFillPoly(ClientPtr client) if(j) memcpy(&stuff[1], locPts, count * sizeof(DDXPointRec)); if (isRoot) { - int x_off = dixScreenOrigins[j].x; - int y_off = dixScreenOrigins[j].y; + int x_off = screenInfo.screens[j]->x; + int y_off = screenInfo.screens[j]->y; if(x_off || y_off) { DDXPointPtr pnts = (DDXPointPtr)&stuff[1]; @@ -1666,8 +1666,8 @@ int PanoramiXPolyFillRectangle(ClientPtr client) if(j) memcpy(&stuff[1], origRects, things * sizeof(xRectangle)); if (isRoot) { - int x_off = dixScreenOrigins[j].x; - int y_off = dixScreenOrigins[j].y; + int x_off = screenInfo.screens[j]->x; + int y_off = screenInfo.screens[j]->y; if(x_off || y_off) { xRectangle *rects = (xRectangle *) &stuff[1]; @@ -1727,8 +1727,8 @@ int PanoramiXPolyFillArc(ClientPtr client) if(j) memcpy(&stuff[1], origArcs, narcs * sizeof(xArc)); if (isRoot) { - int x_off = dixScreenOrigins[j].x; - int y_off = dixScreenOrigins[j].y; + int x_off = screenInfo.screens[j]->x; + int y_off = screenInfo.screens[j]->y; if(x_off || y_off) { xArc *arcs = (xArc *) &stuff[1]; @@ -1780,8 +1780,8 @@ int PanoramiXPutImage(ClientPtr client) orig_y = stuff->dstY; FOR_NSCREENS_BACKWARD(j){ if (isRoot) { - stuff->dstX = orig_x - dixScreenOrigins[j].x; - stuff->dstY = orig_y - dixScreenOrigins[j].y; + stuff->dstX = orig_x - screenInfo.screens[j]->x; + stuff->dstY = orig_y - screenInfo.screens[j]->y; } stuff->drawable = draw->info[j].id; stuff->gc = gc->info[j].id; @@ -1846,10 +1846,10 @@ int PanoramiXGetImage(ClientPtr client) return(BadMatch); } else { if( /* check for being onscreen */ - dixScreenOrigins[0].x + pDraw->x + x < 0 || - dixScreenOrigins[0].x + pDraw->x + x + w > PanoramiXPixWidth || - dixScreenOrigins[0].y + pDraw->y + y < 0 || - dixScreenOrigins[0].y + pDraw->y + y + h > PanoramiXPixHeight || + screenInfo.screens[0]->x + pDraw->x + x < 0 || + screenInfo.screens[0]->x + pDraw->x + x + w > PanoramiXPixWidth || + screenInfo.screens[0]->y + pDraw->y + y < 0 || + screenInfo.screens[0]->y + pDraw->y + y + h > PanoramiXPixHeight || /* check for being inside of border */ x < - wBorderWidth((WindowPtr)pDraw) || x + w > wBorderWidth((WindowPtr)pDraw) + (int)pDraw->width || @@ -1983,8 +1983,8 @@ PanoramiXPolyText8(ClientPtr client) stuff->drawable = draw->info[j].id; stuff->gc = gc->info[j].id; if (isRoot) { - stuff->x = orig_x - dixScreenOrigins[j].x; - stuff->y = orig_y - dixScreenOrigins[j].y; + stuff->x = orig_x - screenInfo.screens[j]->x; + stuff->y = orig_y - screenInfo.screens[j]->y; } result = (*SavedProcVector[X_PolyText8])(client); if(result != Success) break; @@ -2024,8 +2024,8 @@ PanoramiXPolyText16(ClientPtr client) stuff->drawable = draw->info[j].id; stuff->gc = gc->info[j].id; if (isRoot) { - stuff->x = orig_x - dixScreenOrigins[j].x; - stuff->y = orig_y - dixScreenOrigins[j].y; + stuff->x = orig_x - screenInfo.screens[j]->x; + stuff->y = orig_y - screenInfo.screens[j]->y; } result = (*SavedProcVector[X_PolyText16])(client); if(result != Success) break; @@ -2065,8 +2065,8 @@ int PanoramiXImageText8(ClientPtr client) stuff->drawable = draw->info[j].id; stuff->gc = gc->info[j].id; if (isRoot) { - stuff->x = orig_x - dixScreenOrigins[j].x; - stuff->y = orig_y - dixScreenOrigins[j].y; + stuff->x = orig_x - screenInfo.screens[j]->x; + stuff->y = orig_y - screenInfo.screens[j]->y; } result = (*SavedProcVector[X_ImageText8])(client); if(result != Success) break; @@ -2106,8 +2106,8 @@ int PanoramiXImageText16(ClientPtr client) stuff->drawable = draw->info[j].id; stuff->gc = gc->info[j].id; if (isRoot) { - stuff->x = orig_x - dixScreenOrigins[j].x; - stuff->y = orig_y - dixScreenOrigins[j].y; + stuff->x = orig_x - screenInfo.screens[j]->x; + stuff->y = orig_y - screenInfo.screens[j]->y; } result = (*SavedProcVector[X_ImageText16])(client); if(result != Success) break; diff --git a/Xext/shm.c b/Xext/shm.c index 99cd39ed3..322709c17 100644 --- a/Xext/shm.c +++ b/Xext/shm.c @@ -598,8 +598,8 @@ ProcPanoramiXShmPutImage(ClientPtr client) stuff->drawable = draw->info[j].id; stuff->gc = gc->info[j].id; if (isRoot) { - stuff->dstX = orig_x - dixScreenOrigins[j].x; - stuff->dstY = orig_y - dixScreenOrigins[j].y; + stuff->dstX = orig_x - screenInfo.screens[j]->x; + stuff->dstY = orig_y - screenInfo.screens[j]->y; } result = ProcShmPutImage(client); if(result != Success) break; @@ -660,10 +660,10 @@ ProcPanoramiXShmGetImage(ClientPtr client) return(BadMatch); } else { if( /* check for being onscreen */ - dixScreenOrigins[0].x + pDraw->x + x < 0 || - dixScreenOrigins[0].x + pDraw->x + x + w > PanoramiXPixWidth || - dixScreenOrigins[0].y + pDraw->y + y < 0 || - dixScreenOrigins[0].y + pDraw->y + y + h > PanoramiXPixHeight || + screenInfo.screens[0]->x + pDraw->x + x < 0 || + screenInfo.screens[0]->x + pDraw->x + x + w > PanoramiXPixWidth || + screenInfo.screens[0]->y + pDraw->y + y < 0 || + screenInfo.screens[0]->y + pDraw->y + y + h > PanoramiXPixHeight || /* check for being inside of border */ x < - wBorderWidth((WindowPtr)pDraw) || x + w > wBorderWidth((WindowPtr)pDraw) + (int)pDraw->width || diff --git a/Xext/xvdisp.c b/Xext/xvdisp.c index efbe9738d..c63706d46 100644 --- a/Xext/xvdisp.c +++ b/Xext/xvdisp.c @@ -1690,8 +1690,8 @@ XineramaXvShmPutImage(ClientPtr client) stuff->drw_x = x; stuff->drw_y = y; if(isRoot) { - stuff->drw_x -= dixScreenOrigins[i].x; - stuff->drw_y -= dixScreenOrigins[i].y; + stuff->drw_x -= screenInfo.screens[i]->x; + stuff->drw_y -= screenInfo.screens[i]->y; } stuff->send_event = (send_event && !i) ? 1 : 0; @@ -1742,8 +1742,8 @@ XineramaXvPutImage(ClientPtr client) stuff->drw_x = x; stuff->drw_y = y; if(isRoot) { - stuff->drw_x -= dixScreenOrigins[i].x; - stuff->drw_y -= dixScreenOrigins[i].y; + stuff->drw_x -= screenInfo.screens[i]->x; + stuff->drw_y -= screenInfo.screens[i]->y; } result = ProcXvPutImage(client); @@ -1790,8 +1790,8 @@ XineramaXvPutVideo(ClientPtr client) stuff->drw_x = x; stuff->drw_y = y; if(isRoot) { - stuff->drw_x -= dixScreenOrigins[i].x; - stuff->drw_y -= dixScreenOrigins[i].y; + stuff->drw_x -= screenInfo.screens[i]->x; + stuff->drw_y -= screenInfo.screens[i]->y; } result = ProcXvPutVideo(client); @@ -1838,8 +1838,8 @@ XineramaXvPutStill(ClientPtr client) stuff->drw_x = x; stuff->drw_y = y; if(isRoot) { - stuff->drw_x -= dixScreenOrigins[i].x; - stuff->drw_y -= dixScreenOrigins[i].y; + stuff->drw_x -= screenInfo.screens[i]->x; + stuff->drw_y -= screenInfo.screens[i]->y; } result = ProcXvPutStill(client); |