Commit 95940104 authored by Ulrich Sibiller's avatar Ulrich Sibiller

GCOps.c: scope improvements

parent 0e2b7479
...@@ -216,17 +216,12 @@ RegionPtr nxagentBitBlitHelper(GC *pGC) ...@@ -216,17 +216,12 @@ RegionPtr nxagentBitBlitHelper(GC *pGC)
int nxagentWindowIsPopup(DrawablePtr pDrawable) int nxagentWindowIsPopup(DrawablePtr pDrawable)
{ {
WindowPtr parent;
int windowIsPopup;
int level;
if (pDrawable -> type != DRAWABLE_WINDOW) if (pDrawable -> type != DRAWABLE_WINDOW)
{ {
return 0; return 0;
} }
windowIsPopup = 0; int windowIsPopup = 0;
if (((WindowPtr) pDrawable) -> overrideRedirect == 1) if (((WindowPtr) pDrawable) -> overrideRedirect == 1)
{ {
...@@ -234,7 +229,7 @@ int nxagentWindowIsPopup(DrawablePtr pDrawable) ...@@ -234,7 +229,7 @@ int nxagentWindowIsPopup(DrawablePtr pDrawable)
} }
else else
{ {
parent = ((WindowPtr) pDrawable) -> parent; WindowPtr parent = ((WindowPtr) pDrawable) -> parent;
/* /*
* Go up on the tree until a parent * Go up on the tree until a parent
...@@ -243,7 +238,7 @@ int nxagentWindowIsPopup(DrawablePtr pDrawable) ...@@ -243,7 +238,7 @@ int nxagentWindowIsPopup(DrawablePtr pDrawable)
* up children's popup. * up children's popup.
*/ */
level = 0; int level = 0;
while (parent != NULL && ++level <= 4) while (parent != NULL && ++level <= 4)
{ {
...@@ -255,7 +250,6 @@ int nxagentWindowIsPopup(DrawablePtr pDrawable) ...@@ -255,7 +250,6 @@ int nxagentWindowIsPopup(DrawablePtr pDrawable)
if (parent -> overrideRedirect == 1) if (parent -> overrideRedirect == 1)
{ {
windowIsPopup = 1; windowIsPopup = 1;
break; break;
} }
...@@ -280,10 +274,6 @@ int nxagentDeferCopyArea(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable, ...@@ -280,10 +274,6 @@ int nxagentDeferCopyArea(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
GCPtr pGC, int srcx, int srcy, int width, GCPtr pGC, int srcx, int srcy, int width,
int height, int dstx, int dsty) int height, int dstx, int dsty)
{ {
RegionPtr pSrcRegion;
RegionPtr pClipRegion, pCorruptedRegion;
RegionRec corruptedRegion, tmpRegion;
/* /*
* If the destination drawable is a popup * If the destination drawable is a popup
* window, we try to synchronize the source * window, we try to synchronize the source
...@@ -306,7 +296,7 @@ FIXME: The popup could be synchronized with one ...@@ -306,7 +296,7 @@ FIXME: The popup could be synchronized with one
nxagentPixmapContainTrapezoids((PixmapPtr) pSrcDrawable) == 1 && nxagentPixmapContainTrapezoids((PixmapPtr) pSrcDrawable) == 1 &&
nxagentWindowIsPopup(pDstDrawable) == 1) nxagentWindowIsPopup(pDstDrawable) == 1)
{ {
pSrcRegion = nxagentCreateRegion(pSrcDrawable, NULL, srcx, srcy, width, height); RegionPtr pSrcRegion = nxagentCreateRegion(pSrcDrawable, NULL, srcx, srcy, width, height);
#ifdef DEBUG #ifdef DEBUG
fprintf(stderr, "nxagentDeferCopyArea: Copying to a popup menu. Source region [%d,%d,%d,%d].\n", fprintf(stderr, "nxagentDeferCopyArea: Copying to a popup menu. Source region [%d,%d,%d,%d].\n",
...@@ -314,6 +304,8 @@ FIXME: The popup could be synchronized with one ...@@ -314,6 +304,8 @@ FIXME: The popup could be synchronized with one
pSrcRegion -> extents.x2, pSrcRegion -> extents.y2); pSrcRegion -> extents.x2, pSrcRegion -> extents.y2);
#endif #endif
RegionRec corruptedRegion;
RegionInit(&corruptedRegion, NullBox, 1); RegionInit(&corruptedRegion, NullBox, 1);
RegionIntersect(&corruptedRegion, RegionIntersect(&corruptedRegion,
...@@ -349,8 +341,8 @@ FIXME: The popup could be synchronized with one ...@@ -349,8 +341,8 @@ FIXME: The popup could be synchronized with one
if ((pDstDrawable -> type == DRAWABLE_PIXMAP && if ((pDstDrawable -> type == DRAWABLE_PIXMAP &&
nxagentOption(DeferLevel) > 0) || nxagentOption(DeferLevel) >= 3) nxagentOption(DeferLevel) > 0) || nxagentOption(DeferLevel) >= 3)
{ {
pClipRegion = nxagentCreateRegion(pSrcDrawable, NULL, srcx, srcy, RegionPtr pClipRegion = nxagentCreateRegion(pSrcDrawable, NULL, srcx, srcy,
width, height); width, height);
/* /*
* We called this variable pCorruptedRegion * We called this variable pCorruptedRegion
...@@ -360,8 +352,8 @@ FIXME: The popup could be synchronized with one ...@@ -360,8 +352,8 @@ FIXME: The popup could be synchronized with one
* narrow the destination. * narrow the destination.
*/ */
pCorruptedRegion = nxagentCreateRegion(pDstDrawable, pGC, dstx, dsty, RegionPtr pCorruptedRegion = nxagentCreateRegion(pDstDrawable, pGC, dstx, dsty,
width, height); width, height);
#ifdef DEBUG #ifdef DEBUG
fprintf(stderr, "nxagentDeferCopyArea: Copy area source region is [%d,%d,%d,%d].\n", fprintf(stderr, "nxagentDeferCopyArea: Copy area source region is [%d,%d,%d,%d].\n",
...@@ -393,6 +385,8 @@ FIXME: The popup could be synchronized with one ...@@ -393,6 +385,8 @@ FIXME: The popup could be synchronized with one
} }
else else
{ {
RegionRec tmpRegion;
RegionInit(&tmpRegion, NullBox, 1); RegionInit(&tmpRegion, NullBox, 1);
#ifdef DEBUG #ifdef DEBUG
...@@ -455,10 +449,6 @@ FIXME: The popup could be synchronized with one ...@@ -455,10 +449,6 @@ FIXME: The popup could be synchronized with one
if (RegionNil(pClipRegion) == 0) if (RegionNil(pClipRegion) == 0)
{ {
GCPtr targetGC;
CARD32 targetAttributes[2];
Bool pClipRegionFree = True; Bool pClipRegionFree = True;
/* /*
...@@ -468,7 +458,7 @@ FIXME: The popup could be synchronized with one ...@@ -468,7 +458,7 @@ FIXME: The popup could be synchronized with one
* setting a new clip mask. * setting a new clip mask.
*/ */
targetGC = GetScratchGC(pDstDrawable -> depth, pDstDrawable -> pScreen); GCPtr targetGC = GetScratchGC(pDstDrawable -> depth, pDstDrawable -> pScreen);
ValidateGC(pDstDrawable, targetGC); ValidateGC(pDstDrawable, targetGC);
...@@ -495,6 +485,8 @@ FIXME: The popup could be synchronized with one ...@@ -495,6 +485,8 @@ FIXME: The popup could be synchronized with one
} }
else else
{ {
CARD32 targetAttributes[2];
/* /*
* Setting the clip mask origin. This * Setting the clip mask origin. This
* operation must precede the clip chan- * operation must precede the clip chan-
...@@ -563,7 +555,9 @@ FIXME: The popup could be synchronized with one ...@@ -563,7 +555,9 @@ FIXME: The popup could be synchronized with one
} }
else else
{ {
pSrcRegion = nxagentCreateRegion(pSrcDrawable, NULL, srcx, srcy, width, height); RegionPtr pSrcRegion = nxagentCreateRegion(pSrcDrawable, NULL, srcx, srcy, width, height);
RegionRec corruptedRegion;
#ifdef DEBUG #ifdef DEBUG
fprintf(stderr, "nxagentDeferCopyArea: Source region [%d,%d,%d,%d].\n", fprintf(stderr, "nxagentDeferCopyArea: Source region [%d,%d,%d,%d].\n",
...@@ -598,12 +592,6 @@ RegionPtr nxagentCopyArea(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable, ...@@ -598,12 +592,6 @@ RegionPtr nxagentCopyArea(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
GCPtr pGC, int srcx, int srcy, int width, GCPtr pGC, int srcx, int srcy, int width,
int height, int dstx, int dsty) int height, int dstx, int dsty)
{ {
int leftPad = 0;
unsigned int format;
unsigned long planeMask = 0xffffffff;
RegionPtr pDstRegion;
int skip = 0; int skip = 0;
#ifdef TEST #ifdef TEST
...@@ -754,13 +742,14 @@ RegionPtr nxagentCopyArea(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable, ...@@ -754,13 +742,14 @@ RegionPtr nxagentCopyArea(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
nxagentIsShmPixmap((PixmapPtr) pSrcDrawable)) nxagentIsShmPixmap((PixmapPtr) pSrcDrawable))
{ {
char *data; char *data;
int depth, length;
depth = pSrcDrawable -> depth; int depth = pSrcDrawable -> depth;
format = (depth == 1) ? XYPixmap : ZPixmap; unsigned int format = (depth == 1) ? XYPixmap : ZPixmap;
length = nxagentImageLength(width, height, format, leftPad, depth); int leftPad = 0;
int length = nxagentImageLength(width, height, format, leftPad, depth);
if ((data = malloc(length)) == NULL) if ((data = malloc(length)) == NULL)
{ {
...@@ -771,6 +760,8 @@ RegionPtr nxagentCopyArea(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable, ...@@ -771,6 +760,8 @@ RegionPtr nxagentCopyArea(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
return NullRegion; return NullRegion;
} }
unsigned long planeMask = 0xffffffff;
fbGetImage(nxagentVirtualDrawable(pSrcDrawable), srcx, srcy, width, height, format, planeMask, data); fbGetImage(nxagentVirtualDrawable(pSrcDrawable), srcx, srcy, width, height, format, planeMask, data);
/* /*
...@@ -831,7 +822,7 @@ RegionPtr nxagentCopyArea(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable, ...@@ -831,7 +822,7 @@ RegionPtr nxagentCopyArea(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
if (nxagentDrawableStatus(pDstDrawable) == NotSynchronized) if (nxagentDrawableStatus(pDstDrawable) == NotSynchronized)
{ {
pDstRegion = nxagentCreateRegion(pDstDrawable, pGC, dstx, dsty, width, height); RegionPtr pDstRegion = nxagentCreateRegion(pDstDrawable, pGC, dstx, dsty, width, height);
nxagentUnmarkCorruptedRegion(pDstDrawable, pDstRegion); nxagentUnmarkCorruptedRegion(pDstDrawable, pDstRegion);
...@@ -918,13 +909,6 @@ RegionPtr nxagentCopyPlane(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable, ...@@ -918,13 +909,6 @@ RegionPtr nxagentCopyPlane(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
GCPtr pGC, int srcx, int srcy, int width, int height, GCPtr pGC, int srcx, int srcy, int width, int height,
int dstx, int dsty, unsigned long plane) int dstx, int dsty, unsigned long plane)
{ {
unsigned int format;
int leftPad = 0;
unsigned long planeMask = 0xffffffff;
RegionPtr pSrcRegion, pDstRegion;
RegionRec corruptedRegion;
int skip = 0; int skip = 0;
#ifdef TEST #ifdef TEST
...@@ -974,13 +958,14 @@ RegionPtr nxagentCopyPlane(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable, ...@@ -974,13 +958,14 @@ RegionPtr nxagentCopyPlane(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
nxagentIsShmPixmap((PixmapPtr) pSrcDrawable)) nxagentIsShmPixmap((PixmapPtr) pSrcDrawable))
{ {
char *data; char *data;
int depth, length;
depth = pSrcDrawable -> depth; int depth = pSrcDrawable -> depth;
unsigned int format = (depth == 1) ? XYPixmap : ZPixmap;
format = (depth == 1) ? XYPixmap : ZPixmap; int leftPad = 0;
length = nxagentImageLength(width, height, format, leftPad, depth); int length = nxagentImageLength(width, height, format, leftPad, depth);
if ((data = malloc(length)) == NULL) if ((data = malloc(length)) == NULL)
{ {
...@@ -991,6 +976,8 @@ RegionPtr nxagentCopyPlane(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable, ...@@ -991,6 +976,8 @@ RegionPtr nxagentCopyPlane(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
return 0; return 0;
} }
unsigned long planeMask = 0xffffffff;
fbGetImage(nxagentVirtualDrawable(pSrcDrawable), srcx, srcy, width, height, format, planeMask, data); fbGetImage(nxagentVirtualDrawable(pSrcDrawable), srcx, srcy, width, height, format, planeMask, data);
/* /*
...@@ -1024,7 +1011,7 @@ RegionPtr nxagentCopyPlane(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable, ...@@ -1024,7 +1011,7 @@ RegionPtr nxagentCopyPlane(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
if (pDstDrawable -> type == DRAWABLE_PIXMAP && if (pDstDrawable -> type == DRAWABLE_PIXMAP &&
nxagentOption(DeferLevel) > 0) nxagentOption(DeferLevel) > 0)
{ {
pDstRegion = nxagentCreateRegion(pDstDrawable, pGC, dstx, dsty, width, height); RegionPtr pDstRegion = nxagentCreateRegion(pDstDrawable, pGC, dstx, dsty, width, height);
nxagentMarkCorruptedRegion(pDstDrawable, pDstRegion); nxagentMarkCorruptedRegion(pDstDrawable, pDstRegion);
...@@ -1034,7 +1021,9 @@ RegionPtr nxagentCopyPlane(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable, ...@@ -1034,7 +1021,9 @@ RegionPtr nxagentCopyPlane(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
} }
else else
{ {
pSrcRegion = nxagentCreateRegion(pSrcDrawable, NULL, srcx, srcy, width, height); RegionPtr pSrcRegion = nxagentCreateRegion(pSrcDrawable, NULL, srcx, srcy, width, height);
RegionRec corruptedRegion;
RegionInit(&corruptedRegion, NullBox, 1); RegionInit(&corruptedRegion, NullBox, 1);
...@@ -1050,7 +1039,7 @@ RegionPtr nxagentCopyPlane(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable, ...@@ -1050,7 +1039,7 @@ RegionPtr nxagentCopyPlane(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
nxagentSynchronizeRegion(pSrcDrawable, &corruptedRegion /*pSrcRegion*/, NEVER_BREAK, NULL); nxagentSynchronizeRegion(pSrcDrawable, &corruptedRegion /*pSrcRegion*/, NEVER_BREAK, NULL);
pDstRegion = nxagentCreateRegion(pDstDrawable, pGC, dstx, dsty, width, height); RegionPtr pDstRegion = nxagentCreateRegion(pDstDrawable, pGC, dstx, dsty, width, height);
nxagentUnmarkCorruptedRegion(pDstDrawable, pDstRegion); nxagentUnmarkCorruptedRegion(pDstDrawable, pDstRegion);
...@@ -1471,8 +1460,6 @@ void nxagentFillPolygon(DrawablePtr pDrawable, GCPtr pGC, int shape, ...@@ -1471,8 +1460,6 @@ void nxagentFillPolygon(DrawablePtr pDrawable, GCPtr pGC, int shape,
if (mode == CoordModeOrigin) if (mode == CoordModeOrigin)
{ {
int i;
mode = CoordModePrevious; mode = CoordModePrevious;
newPoints = malloc(nPoints * sizeof(xPoint)); newPoints = malloc(nPoints * sizeof(xPoint));
...@@ -1491,7 +1478,7 @@ void nxagentFillPolygon(DrawablePtr pDrawable, GCPtr pGC, int shape, ...@@ -1491,7 +1478,7 @@ void nxagentFillPolygon(DrawablePtr pDrawable, GCPtr pGC, int shape,
* tive to the previous point. * tive to the previous point.
*/ */
for (i = 1; i < nPoints; i++) for (int i = 1; i < nPoints; i++)
{ {
newPoints[i].x = pPoints[i].x - pPoints[i-1].x; newPoints[i].x = pPoints[i].x - pPoints[i-1].x;
newPoints[i].y = pPoints[i].y - pPoints[i-1].y; newPoints[i].y = pPoints[i].y - pPoints[i-1].y;
...@@ -1551,10 +1538,6 @@ void nxagentFillPolygon(DrawablePtr pDrawable, GCPtr pGC, int shape, ...@@ -1551,10 +1538,6 @@ void nxagentFillPolygon(DrawablePtr pDrawable, GCPtr pGC, int shape,
void nxagentPolyFillRect(DrawablePtr pDrawable, GCPtr pGC, void nxagentPolyFillRect(DrawablePtr pDrawable, GCPtr pGC,
int nRectangles, xRectangle *pRectangles) int nRectangles, xRectangle *pRectangles)
{ {
RegionPtr rectRegion;
int inheritCorruptedRegion;
#ifdef TEST #ifdef TEST
if (nRectangles == 1) if (nRectangles == 1)
...@@ -1594,7 +1577,7 @@ void nxagentPolyFillRect(DrawablePtr pDrawable, GCPtr pGC, ...@@ -1594,7 +1577,7 @@ void nxagentPolyFillRect(DrawablePtr pDrawable, GCPtr pGC,
* intersecting the target will be cleared. * intersecting the target will be cleared.
*/ */
inheritCorruptedRegion = 0; int inheritCorruptedRegion = 0;
if (pGC -> fillStyle == FillTiled && if (pGC -> fillStyle == FillTiled &&
pGC -> tileIsPixel == 0 && pGC -> tile.pixmap != NULL) pGC -> tileIsPixel == 0 && pGC -> tile.pixmap != NULL)
...@@ -1616,7 +1599,7 @@ void nxagentPolyFillRect(DrawablePtr pDrawable, GCPtr pGC, ...@@ -1616,7 +1599,7 @@ void nxagentPolyFillRect(DrawablePtr pDrawable, GCPtr pGC,
if (inheritCorruptedRegion == 1 || nxagentDrawableStatus(pDrawable) == NotSynchronized) if (inheritCorruptedRegion == 1 || nxagentDrawableStatus(pDrawable) == NotSynchronized)
{ {
rectRegion = RegionFromRects(nRectangles, pRectangles, CT_REGION); RegionPtr rectRegion = RegionFromRects(nRectangles, pRectangles, CT_REGION);
if (pGC -> clientClip != NULL) if (pGC -> clientClip != NULL)
{ {
...@@ -1784,8 +1767,6 @@ void nxagentPolyFillArc(DrawablePtr pDrawable, GCPtr pGC, ...@@ -1784,8 +1767,6 @@ void nxagentPolyFillArc(DrawablePtr pDrawable, GCPtr pGC,
int nxagentPolyText8(DrawablePtr pDrawable, GCPtr pGC, int x, int nxagentPolyText8(DrawablePtr pDrawable, GCPtr pGC, int x,
int y, int count, char *string) int y, int count, char *string)
{ {
int width;
/* /*
* While the session is suspended * While the session is suspended
* the font structure is NULL. * the font structure is NULL.
...@@ -1796,7 +1777,7 @@ int nxagentPolyText8(DrawablePtr pDrawable, GCPtr pGC, int x, ...@@ -1796,7 +1777,7 @@ int nxagentPolyText8(DrawablePtr pDrawable, GCPtr pGC, int x,
return x; return x;
} }
width = XTextWidth(nxagentFontStruct(pGC->font), string, count); int width = XTextWidth(nxagentFontStruct(pGC->font), string, count);
if (nxagentGCTrap == 1) if (nxagentGCTrap == 1)
{ {
...@@ -1857,8 +1838,6 @@ int nxagentPolyText8(DrawablePtr pDrawable, GCPtr pGC, int x, ...@@ -1857,8 +1838,6 @@ int nxagentPolyText8(DrawablePtr pDrawable, GCPtr pGC, int x,
int nxagentPolyText16(DrawablePtr pDrawable, GCPtr pGC, int x, int nxagentPolyText16(DrawablePtr pDrawable, GCPtr pGC, int x,
int y, int count, unsigned short *string) int y, int count, unsigned short *string)
{ {
int width;
/* /*
* While the session is suspended * While the session is suspended
* the font structure is NULL. * the font structure is NULL.
...@@ -1869,7 +1848,7 @@ int nxagentPolyText16(DrawablePtr pDrawable, GCPtr pGC, int x, ...@@ -1869,7 +1848,7 @@ int nxagentPolyText16(DrawablePtr pDrawable, GCPtr pGC, int x,
return x; return x;
} }
width = XTextWidth16(nxagentFontStruct(pGC->font), (XChar2b *)string, count); int width = XTextWidth16(nxagentFontStruct(pGC->font), (XChar2b *)string, count);
if (nxagentGCTrap == 1) if (nxagentGCTrap == 1)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment