summaryrefslogtreecommitdiff
path: root/Xext
diff options
context:
space:
mode:
authorJamey Sharp <jamey@minilop.net>2010-05-23 10:11:47 -0700
committerJamey Sharp <jamey@minilop.net>2010-06-03 14:03:23 -0700
commita83cff9f4d622b069c96a68b4e87a669bf1f6446 (patch)
treeb29de5e363feb6b7546ce69dfa0685316bf0b234 /Xext
parent217ccaa5a341018457f468a774c035c0df47d918 (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.c32
-rw-r--r--Xext/panoramiXprocs.c106
-rw-r--r--Xext/shm.c12
-rw-r--r--Xext/xvdisp.c16
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);