diff options
author | Ulrich Sibiller <uli42@gmx.de> | 2019-09-06 01:23:29 +0200 |
---|---|---|
committer | Ulrich Sibiller <uli42@gmx.de> | 2020-01-05 22:37:36 +0100 |
commit | d94f472744355c71987d145727aecace1e8455b6 (patch) | |
tree | 94a0632d7a9e368819702e0b8253e98d4f782e14 /nx-X11/programs/Xserver/hw/nxagent/Drawable.c | |
parent | 0133d4619d3d7fbe216b6ce6f507818eff8b98d4 (diff) | |
download | nx-libs-d94f472744355c71987d145727aecace1e8455b6.tar.gz nx-libs-d94f472744355c71987d145727aecace1e8455b6.tar.bz2 nx-libs-d94f472744355c71987d145727aecace1e8455b6.zip |
Drawable.c: code simplifications / scope improvements
Diffstat (limited to 'nx-X11/programs/Xserver/hw/nxagent/Drawable.c')
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/Drawable.c | 364 |
1 files changed, 116 insertions, 248 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Drawable.c b/nx-X11/programs/Xserver/hw/nxagent/Drawable.c index d8a5fb60f..7c69c99d9 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Drawable.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Drawable.c @@ -122,12 +122,8 @@ int nxagentSkipImage = 0; static int nxagentTooManyImageData(void) { - unsigned int r; - unsigned int limit; - - limit = nxagentOption(ImageRateLimit); - - r = nxagentGetDataRate() / 1000; + unsigned int limit = nxagentOption(ImageRateLimit); + unsigned int r = nxagentGetDataRate() / 1000; #ifdef TEST if (r > limit) @@ -141,8 +137,6 @@ static int nxagentTooManyImageData(void) int nxagentSynchronizeDrawable(DrawablePtr pDrawable, int wait, unsigned int breakMask, WindowPtr owner) { - int result; - pDrawable = nxagentSplitDrawable(pDrawable); if (nxagentLosslessTrap == 0) @@ -170,7 +164,7 @@ int nxagentSynchronizeDrawable(DrawablePtr pDrawable, int wait, unsigned int bre nxagentSplitTrap = 1; - result = nxagentSynchronizeDrawableData(pDrawable, breakMask, owner); + int result = nxagentSynchronizeDrawableData(pDrawable, breakMask, owner); nxagentSplitTrap = 0; @@ -182,7 +176,6 @@ int nxagentSynchronizeDrawable(DrawablePtr pDrawable, int wait, unsigned int bre } #ifdef TEST - if (nxagentDrawableStatus(pDrawable) == Synchronized) { fprintf(stderr, "nxagentSynchronizeDrawable: Drawable %s [%p] with id [%ld] now synchronized.\n", @@ -193,7 +186,6 @@ int nxagentSynchronizeDrawable(DrawablePtr pDrawable, int wait, unsigned int bre fprintf(stderr, "nxagentSynchronizeDrawable: Drawable %s [%p] with id [%ld] not fully synchronized.\n", nxagentDrawableType(pDrawable), (void *) pDrawable, pDrawable -> id); } - #endif return result; @@ -201,31 +193,27 @@ int nxagentSynchronizeDrawable(DrawablePtr pDrawable, int wait, unsigned int bre int nxagentSynchronizeDrawableData(DrawablePtr pDrawable, unsigned int breakMask, WindowPtr owner) { - int width, height, depth, length; - unsigned int leftPad, format; - char *data = NULL; - DrawablePtr pSrcDrawable; - GCPtr pGC; - int success; if (pDrawable -> type == DRAWABLE_PIXMAP) { - leftPad = 0; + GCPtr pGC; + + unsigned int leftPad = 0; - width = pDrawable -> width; - height = pDrawable -> height; - depth = pDrawable -> depth; + int width = pDrawable -> width; + int height = pDrawable -> height; + int depth = pDrawable -> depth; #ifdef TEST fprintf(stderr, "nxagentSynchronizeDrawableData: Synchronizing drawable (%s) with geometry [%d][%d][%d].\n", nxagentDrawableType(pDrawable), width, height, depth); #endif - format = (depth == 1) ? XYPixmap : ZPixmap; + unsigned int format = (depth == 1) ? XYPixmap : ZPixmap; - length = nxagentImageLength(width, height, format, leftPad, depth); + int length = nxagentImageLength(width, height, format, leftPad, depth); if ((data = malloc(length)) == NULL) { @@ -238,9 +226,9 @@ int nxagentSynchronizeDrawableData(DrawablePtr pDrawable, unsigned int breakMask goto nxagentSynchronizeDrawableDataEnd; } - pSrcDrawable = (pDrawable -> type == DRAWABLE_PIXMAP ? - ((DrawablePtr) nxagentVirtualPixmap((PixmapPtr) pDrawable)) : - pDrawable); + DrawablePtr pSrcDrawable = (pDrawable -> type == DRAWABLE_PIXMAP ? + ((DrawablePtr) nxagentVirtualPixmap((PixmapPtr) pDrawable)) : + pDrawable); /* * Synchronize the whole pixmap if we need to download a fresh @@ -369,47 +357,20 @@ nxagentSynchronizeDrawableDataEnd: int nxagentSynchronizeRegion(DrawablePtr pDrawable, RegionPtr pRegion, unsigned int breakMask, WindowPtr owner) { - GCPtr pGC; DrawablePtr pSrcDrawable; - BoxPtr pBox; - RegionPtr clipRegion; - RegionRec tileRegion; - RegionRec exposeRegion; - BoxRec box; - BoxRec tileBox; + int leftPad = 0; + int success = 0; + char *data = NULL; + GCPtr pGC = NULL; + RegionPtr clipRegion = NullRegion; #ifdef COLLECTED_UPDATES RegionRec collectedUpdates; - #endif - - char *data; - - int nBox; - int x, y; - int w, h; - int extentWidth, extentHeight; - int tileWidth, tileHeight; - int length, format, leftPad; - int i; - int saveTrap; - int success; - int useStoredBitmap; - - unsigned long now; - unsigned long elapsedTime; - - - leftPad = 0; - success = 0; - data = NULL; - pGC = NULL; - clipRegion = NullRegion; - - #ifdef COLLECTED_UPDATES RegionInit(&collectedUpdates, NullBox, 1); #endif + RegionRec exposeRegion; RegionInit(&exposeRegion, NullBox, 1); if (nxagentDrawableBitmap(pDrawable) != NullPixmap && @@ -429,7 +390,7 @@ int nxagentSynchronizeRegion(DrawablePtr pDrawable, RegionPtr pRegion, unsigned * full drawable. */ - useStoredBitmap = (nxagentDrawableBitmap(pDrawable) != NullPixmap && pRegion == NullRegion); + int useStoredBitmap = (nxagentDrawableBitmap(pDrawable) != NullPixmap && pRegion == NullRegion); if (useStoredBitmap != 0) { @@ -570,7 +531,7 @@ int nxagentSynchronizeRegion(DrawablePtr pDrawable, RegionPtr pRegion, unsigned nxagentDrawableType(pDrawable), (void *) pDrawable); #endif - saveTrap = nxagentGCTrap; + int saveTrap = nxagentGCTrap; nxagentGCTrap = 0; @@ -609,6 +570,7 @@ int nxagentSynchronizeRegion(DrawablePtr pDrawable, RegionPtr pRegion, unsigned * huge window it had to result in a failed data memory allocation. */ + int w, h, extentWidth, extentHeight, tileWidth, tileHeight; extentWidth = clipRegion -> extents.x2 - clipRegion -> extents.x1; extentHeight = clipRegion -> extents.y2 - clipRegion -> extents.y1; @@ -619,6 +581,7 @@ int nxagentSynchronizeRegion(DrawablePtr pDrawable, RegionPtr pRegion, unsigned fprintf(stderr, "nxagentSynchronizeRegion: Using tiles of size [%dx%d].\n", tileWidth, tileHeight); #endif + int length, format; data = nxagentAllocateImageData(w, h, pDrawable -> depth, &length, &format); if (data == NULL) @@ -646,17 +609,17 @@ int nxagentSynchronizeRegion(DrawablePtr pDrawable, RegionPtr pRegion, unsigned #ifndef USE_OPTIMIZED_BOXES - pBox = RegionRects(clipRegion); + BoxPtr pBox = RegionRects(clipRegion); #else - pBox = nxagentGetOptimizedRegionBoxes(clipRegion); + BoxPtr pBox = nxagentGetOptimizedRegionBoxes(clipRegion); #endif /* USE_OPTIMIZED_BOXES */ - nBox = RegionNumRects(clipRegion); + int nBox = RegionNumRects(clipRegion); - now = GetTimeInMillis(); + unsigned long now = GetTimeInMillis(); nxagentSynchronization.abort = 0; @@ -664,7 +627,7 @@ int nxagentSynchronizeRegion(DrawablePtr pDrawable, RegionPtr pRegion, unsigned * Going to split the updated region into small blocks. */ - for (i = 0; i < nBox; i++) + for (int i = 0; i < nBox; i++) { #ifdef USE_OPTIMIZED_BOXES @@ -676,13 +639,13 @@ int nxagentSynchronizeRegion(DrawablePtr pDrawable, RegionPtr pRegion, unsigned #endif - box = pBox[i]; + BoxRec box = pBox[i]; - for (y = box.y1; y < box.y2; y += h) + for (int y = box.y1; y < box.y2; y += h) { h = min(box.y2 - y, tileHeight); - for (x = box.x1; x < box.x2; x += w) + for (int x = box.x1; x < box.x2; x += w) { w = min(box.x2 - x, tileWidth); @@ -713,7 +676,7 @@ int nxagentSynchronizeRegion(DrawablePtr pDrawable, RegionPtr pRegion, unsigned * DeferTimeout milliseconds. */ - elapsedTime = GetTimeInMillis() - now; + unsigned long elapsedTime = GetTimeInMillis() - now; if (elapsedTime > nxagentOption(DeferTimeout)) { @@ -762,10 +725,7 @@ int nxagentSynchronizeRegion(DrawablePtr pDrawable, RegionPtr pRegion, unsigned goto nxagentSynchronizeRegionStop; } - tileBox.x1 = x; - tileBox.y1 = y; - tileBox.x2 = x + w; - tileBox.y2 = y + h; + BoxRec tileBox = {.x1 = x, .y1 = y, .x2 = x + w, .y2 = y + h}; #ifdef DEBUG fprintf(stderr, "nxagentSynchronizeRegion: Going to synchronize tile [%d,%d,%d,%d].\n", @@ -778,6 +738,7 @@ int nxagentSynchronizeRegion(DrawablePtr pDrawable, RegionPtr pRegion, unsigned * Going to unmark the synchronized region. */ + RegionRec tileRegion; RegionInit(&tileRegion, &tileBox, 1); RegionUnion(&exposeRegion, &exposeRegion, &tileRegion); @@ -806,11 +767,9 @@ int nxagentSynchronizeRegion(DrawablePtr pDrawable, RegionPtr pRegion, unsigned if (nxagentDrawableStatus(pDrawable) == NotSynchronized) { - char *cmpData; - int cmpLength, cmpFormat; - cmpData = nxagentAllocateImageData(w, h, pDrawable -> depth, &cmpLength, &cmpFormat); + char *cmpData = nxagentAllocateImageData(w, h, pDrawable -> depth, &cmpLength, &cmpFormat); if (cmpData != NULL) { @@ -877,16 +836,11 @@ int nxagentSynchronizeRegion(DrawablePtr pDrawable, RegionPtr pRegion, unsigned (nxagentOption(XRatio) != DONT_SCALE || nxagentOption(YRatio) != DONT_SCALE)) { - int scaledx; - int scaledy; - int scaledw; - int scaledh; + int scaledx = nxagentScale(x, nxagentOption(XRatio)); + int scaledy = nxagentScale(y, nxagentOption(YRatio)); - scaledx = nxagentScale(x, nxagentOption(XRatio)); - scaledy = nxagentScale(y, nxagentOption(YRatio)); - - scaledw = nxagentScale(x + w, nxagentOption(XRatio)) - scaledx; - scaledh = nxagentScale(y + h, nxagentOption(YRatio)) - scaledy; + int scaledw = nxagentScale(x + w, nxagentOption(XRatio)) - scaledx; + int scaledh = nxagentScale(y + h, nxagentOption(YRatio)) - scaledy; XClearArea(nxagentDisplay, nxagentWindow(owner), scaledx, scaledy, scaledw, scaledh, 0); } @@ -969,14 +923,12 @@ nxagentSynchronizeRegionStop: nxagentIsCorruptedBackground((PixmapPtr) pDrawable) == 1 && RegionNil(&exposeRegion) == 0) { - struct nxagentExposeBackground eb; - - int i; + struct nxagentExposeBackground eb = { + .pBackground = (PixmapPtr) pDrawable, + .pExpose = &exposeRegion, + }; - eb.pBackground = (PixmapPtr) pDrawable; - eb.pExpose = &exposeRegion; - - for (i = 0; i < MAXCLIENTS; i++) + for (int i = 0; i < MAXCLIENTS; i++) { if (clients[i] != NULL) { @@ -995,27 +947,22 @@ nxagentSynchronizeRegionStop: RegionValidate(&collectedUpdates, &overlap); - for (i = 0; i < RegionNumRects(&collectedUpdates); i++) + for (int i = 0; i < RegionNumRects(&collectedUpdates); i++) { - x = RegionRects(&collectedUpdates)[i].x1; - y = RegionRects(&collectedUpdates)[i].y1; - w = RegionRects(&collectedUpdates)[i].x2 - RegionRects(&collectedUpdates)[i].x1; - h = RegionRects(&collectedUpdates)[i].y2 - RegionRects(&collectedUpdates)[i].y1; + int x = RegionRects(&collectedUpdates)[i].x1; + int y = RegionRects(&collectedUpdates)[i].y1; + int w = RegionRects(&collectedUpdates)[i].x2 - RegionRects(&collectedUpdates)[i].x1; + int h = RegionRects(&collectedUpdates)[i].y2 - RegionRects(&collectedUpdates)[i].y1; if (nxagentOption(Shadow) == 1 && (nxagentOption(XRatio) != DONT_SCALE || nxagentOption(YRatio) != DONT_SCALE)) { - int scaledx; - int scaledy; - int scaledw; - int scaledh; - - scaledx = nxagentScale(x, nxagentOption(XRatio)); - scaledy = nxagentScale(y, nxagentOption(YRatio)); + int scaledx = nxagentScale(x, nxagentOption(XRatio)); + int scaledy = nxagentScale(y, nxagentOption(YRatio)); - scaledw = nxagentScale(x + w, nxagentOption(XRatio)) - scaledx; - scaledh = nxagentScale(y + h, nxagentOption(YRatio)) - scaledy; + int scaledw = nxagentScale(x + w, nxagentOption(XRatio)) - scaledx; + int scaledh = nxagentScale(y + h, nxagentOption(YRatio)) - scaledy; XClearArea(nxagentDisplay, nxagentWindow(owner), scaledx, scaledy, scaledw, scaledh, 0); } @@ -1050,8 +997,6 @@ nxagentSynchronizeRegionFree: void nxagentSynchronizeBox(DrawablePtr pDrawable, BoxPtr pBox, unsigned int breakMask) { - RegionPtr pRegion; - if (nxagentDrawableStatus(pDrawable) == Synchronized) { #ifdef TEST @@ -1078,7 +1023,7 @@ void nxagentSynchronizeBox(DrawablePtr pDrawable, BoxPtr pBox, unsigned int brea pBox -> x1, pBox -> y1, pBox -> x2, pBox -> y2); #endif - pRegion = nxagentCreateRegion(pDrawable, NULL, pBox -> x1, pBox -> y1, + RegionPtr pRegion = nxagentCreateRegion(pDrawable, NULL, pBox -> x1, pBox -> y1, pBox -> x2 - pBox -> x1, pBox -> y2 - pBox -> y1); @@ -1282,10 +1227,6 @@ FIXME: This condition sounds only as a complication, as the break void nxagentSynchronizationLoop(unsigned int mask) { - unsigned int breakMask; - - int doRoundRobin; - /* FIXME: All drawables should be set as synchronized and never marked as corrupted while the display is down. @@ -1325,7 +1266,7 @@ FIXME: All drawables should be set as synchronized and never marked as "blocking [%d].\n", nxagentCongestion, nxagentBlocking); #endif - breakMask = mask; + unsigned int breakMask = mask; /* * The resource counter can be reset if we have not aborted the @@ -1333,7 +1274,7 @@ FIXME: All drawables should be set as synchronized and never marked as * round-robin and if the bitmaps are all synchronized. */ - doRoundRobin = (nxagentSynchronization.pDrawable != NULL); + int doRoundRobin = (nxagentSynchronization.pDrawable != NULL); nxagentSynchronization.abort = 0; @@ -1471,15 +1412,8 @@ FIXME: All drawables should be set as synchronized and never marked as RegionPtr nxagentCreateRegion(DrawablePtr pDrawable, GCPtr pGC, int x, int y, int width, int height) { - RegionPtr pRegion; - BoxRec box; - - box.x1 = x; - box.y1 = y; - box.x2 = x + width; - box.y2 = y + height; - - pRegion = RegionCreate(&box, 1); + BoxRec box = {.x1 = x, .y1 = y, .x2 = x + width, .y2 = y + height}; + RegionPtr pRegion = RegionCreate(&box, 1); /* * Clipping the region. @@ -1487,22 +1421,17 @@ RegionPtr nxagentCreateRegion(DrawablePtr pDrawable, GCPtr pGC, int x, int y, if (pDrawable -> type == DRAWABLE_PIXMAP) { - BoxRec tmpBox; - RegionRec tmpRegion; - /* - * The region created doesn't need to be clipped - * if it has the pixmap dimensions. + * The region created doesn't need to be clipped if it has the + * pixmap dimensions. */ if (x != 0 || y != 0 || width != pDrawable -> width || height != pDrawable -> height) { - tmpBox.x1 = 0; - tmpBox.y1 = 0; - tmpBox.x2 = pDrawable -> width; - tmpBox.y2 = pDrawable -> height; + BoxRec tmpBox = {.x1 = 0, .y1 = 0, .x2 = pDrawable -> width, .y2 = pDrawable -> height}; + RegionRec tmpRegion; RegionInit(&tmpRegion, &tmpBox, 1); @@ -1582,11 +1511,6 @@ RegionPtr nxagentCreateRegion(DrawablePtr pDrawable, GCPtr pGC, int x, int y, void nxagentMarkCorruptedRegion(DrawablePtr pDrawable, RegionPtr pRegion) { - int x; - int y; - int width; - int height; - if (pRegion != NullRegion && RegionNil(pRegion) == 1) { #ifdef TEST @@ -1615,11 +1539,11 @@ void nxagentMarkCorruptedRegion(DrawablePtr pDrawable, RegionPtr pRegion) if (pRegion == NullRegion) { - x = 0; - y = 0; + int x = 0; + int y = 0; - width = pDrawable -> width; - height = pDrawable -> height; + int width = pDrawable -> width; + int height = pDrawable -> height; #ifdef TEST fprintf(stderr, "nxagentMarkCorruptedRegion: Fully invalidating %s [%p] with " @@ -1661,8 +1585,6 @@ void nxagentMarkCorruptedRegion(DrawablePtr pDrawable, RegionPtr pRegion) void nxagentUnmarkCorruptedRegion(DrawablePtr pDrawable, RegionPtr pRegion) { - int oldStatus; - if (pRegion != NullRegion && RegionNil(pRegion) == 1) { #ifdef TEST @@ -1673,7 +1595,7 @@ void nxagentUnmarkCorruptedRegion(DrawablePtr pDrawable, RegionPtr pRegion) return; } - oldStatus = nxagentDrawableStatus(pDrawable); + int oldStatus = nxagentDrawableStatus(pDrawable); if (oldStatus == Synchronized) { @@ -1829,20 +1751,11 @@ void nxagentMoveCorruptedRegion(WindowPtr pWin, unsigned int mask) BoxPtr nxagentGetOptimizedRegionBoxes(RegionPtr pRegion) { - BoxPtr pBox; - BoxRec boxExtents; - int nBox; - int i, j; - - #ifdef DEBUG - int nBoxOptim; - #endif - - pBox = RegionRects(pRegion); + BoxPtr pBox = RegionRects(pRegion); - nBox = RegionNumRects(pRegion); + int nBox = RegionNumRects(pRegion); #ifdef TEST fprintf(stderr, "nxagentGetOptimizedRegionBoxes: Going to optimize region at [%p] with [%d] rects.\n", @@ -1855,7 +1768,7 @@ BoxPtr nxagentGetOptimizedRegionBoxes(RegionPtr pRegion) } #ifdef DEBUG - nBoxOptim = nBox; + int nBoxOptim = nBox; #endif /* @@ -1863,7 +1776,7 @@ BoxPtr nxagentGetOptimizedRegionBoxes(RegionPtr pRegion) * their overlapping vertex as rule. */ - for (i = 0; i < nBox; i++) + for (int i = 0; i < nBox; i++) { /* * If the coordinates are (0,0) the box has been already merged, @@ -1891,7 +1804,7 @@ BoxPtr nxagentGetOptimizedRegionBoxes(RegionPtr pRegion) boxExtents.y2 = pBox[i].y2; - for (j = i+1; j < nBox; j++) + for (int j = i+1; j < nBox; j++) { if (pBox[j].x1 == 0 && pBox[j].y1 == 0 && pBox[j].x2 == 0 && pBox[j].y2 == 0) @@ -1994,7 +1907,7 @@ BoxPtr nxagentGetOptimizedRegionBoxes(RegionPtr pRegion) * partial- ly overlapping boxes. */ - for (i = 0; i < nBox; i++) + for (int i = 0; i < nBox; i++) { if (pBox[i].x1 == 0 && pBox[i].y1 == 0 && pBox[i].x2 == 0 && pBox[i].y2 == 0) @@ -2012,7 +1925,7 @@ BoxPtr nxagentGetOptimizedRegionBoxes(RegionPtr pRegion) boxExtents.x2 = pBox[i].x2; boxExtents.y2 = pBox[i].y2; - for (j = i+1; j < nBox; j++) + for (int j = i+1; j < nBox; j++) { if (pBox[j].x1 == 0 && pBox[j].y1 == 0 && pBox[j].x2 == 0 && pBox[j].y2 == 0) @@ -2063,19 +1976,14 @@ BoxPtr nxagentGetOptimizedRegionBoxes(RegionPtr pRegion) unsigned long nxagentGetColor(DrawablePtr pDrawable, int xPixel, int yPixel) { - XImage *ximage; - Visual *pVisual; - char *data; - - int depth, format, length; int leftPad = 0; - unsigned long pixel; - depth = pDrawable -> depth; - format = (depth == 1) ? XYPixmap : ZPixmap; - length = nxagentImageLength(1, 1, format, leftPad, depth); + int depth = pDrawable -> depth; + int format = (depth == 1) ? XYPixmap : ZPixmap; + int length = nxagentImageLength(1, 1, format, leftPad, depth); - if ((data = malloc(length)) == NULL) + char * data = malloc(length); + if (data == NULL) { #ifdef WARNING fprintf(stderr, "nxagentGetColor: WARNING! Failed to allocate memory for the operation.\n"); @@ -2084,7 +1992,7 @@ unsigned long nxagentGetColor(DrawablePtr pDrawable, int xPixel, int yPixel) return -1; } - pVisual = nxagentImageVisual(pDrawable, depth); + Visual *pVisual = nxagentImageVisual(pDrawable, depth); if (pVisual == NULL) { @@ -2097,9 +2005,9 @@ unsigned long nxagentGetColor(DrawablePtr pDrawable, int xPixel, int yPixel) fbGetImage(pDrawable, xPixel, yPixel, 1, 1, format, AllPlanes, data); - ximage = XCreateImage(nxagentDisplay, pVisual, depth, format, leftPad, (char *) data, - 1, 1, BitmapPad(nxagentDisplay), - nxagentImagePad(1, format, leftPad, 1)); + XImage *ximage = XCreateImage(nxagentDisplay, pVisual, depth, format, leftPad, (char *) data, + 1, 1, BitmapPad(nxagentDisplay), + nxagentImagePad(1, format, leftPad, 1)); if (ximage == NULL) { @@ -2112,7 +2020,7 @@ unsigned long nxagentGetColor(DrawablePtr pDrawable, int xPixel, int yPixel) return -1; } - pixel = XGetPixel(ximage, 0, 0); + unsigned long pixel = XGetPixel(ximage, 0, 0); XDestroyImage(ximage); @@ -2126,8 +2034,6 @@ unsigned long nxagentGetColor(DrawablePtr pDrawable, int xPixel, int yPixel) unsigned long nxagentGetRegionColor(DrawablePtr pDrawable, RegionPtr pRegion) { - int xPicker, yPicker; - if (RegionNil(pRegion) == 1) { return nxagentGetDrawableColor(pDrawable); @@ -2138,14 +2044,14 @@ unsigned long nxagentGetRegionColor(DrawablePtr pDrawable, RegionPtr pRegion) * bottom right corner of corrupted region extents. */ - xPicker = pRegion -> extents.x2 + 1; + int xPicker = pRegion -> extents.x2 + 1; if (xPicker > pDrawable -> width) { xPicker = pDrawable -> width; } - yPicker = pRegion -> extents.y2 + 1; + int yPicker = pRegion -> extents.y2 + 1; if (yPicker > pDrawable -> height) { @@ -2157,29 +2063,17 @@ unsigned long nxagentGetRegionColor(DrawablePtr pDrawable, RegionPtr pRegion) unsigned long nxagentGetDrawableColor(DrawablePtr pDrawable) { - int xPicker, yPicker; - /* * The pixel used to determine the color of a drawable is at * coordinates (x + width - 4, y + 4). */ - xPicker = pDrawable -> width - 4; - - yPicker = 4; - - return nxagentGetColor(pDrawable, xPicker, yPicker); + return nxagentGetColor(pDrawable, pDrawable -> width - 4, 4); } void nxagentClearRegion(DrawablePtr pDrawable, RegionPtr pRegion) { - WindowPtr pWin; - BoxPtr pBox; - - unsigned long color; unsigned long backupPixel = 0; - int nBox, i; - int restore; #ifdef DEBUG static int nBoxCleared; @@ -2203,9 +2097,9 @@ void nxagentClearRegion(DrawablePtr pDrawable, RegionPtr pRegion) return; } - pWin = (WindowPtr) pDrawable; + WindowPtr pWin = (WindowPtr) pDrawable; - restore = 0; + int restore = 0; /* * If the window has already a background, we can hope it will be @@ -2227,7 +2121,7 @@ void nxagentClearRegion(DrawablePtr pDrawable, RegionPtr pRegion) backupPixel = pWin -> background.pixel; - color = nxagentGetDrawableColor((DrawablePtr) pWin); + unsigned long color = nxagentGetDrawableColor((DrawablePtr) pWin); if (color == -1) { @@ -2247,11 +2141,11 @@ void nxagentClearRegion(DrawablePtr pDrawable, RegionPtr pRegion) restore = 1; } - pBox = nxagentGetOptimizedRegionBoxes(pRegion); + BoxPtr pBox = nxagentGetOptimizedRegionBoxes(pRegion); - nBox = RegionNumRects(pRegion); + int nBox = RegionNumRects(pRegion); - for (i = 0; i < nBox; i++) + for (int i = 0; i < nBox; i++) { if (pBox[i].x1 == 0 && pBox[i].y1 == 0 && pBox[i].x2 == 0 && pBox[i].y2 == 0) @@ -2284,21 +2178,14 @@ void nxagentClearRegion(DrawablePtr pDrawable, RegionPtr pRegion) void nxagentFillRemoteRegion(DrawablePtr pDrawable, RegionPtr pRegion) { - GCPtr pGC; - BoxPtr pBox; - XRectangle *pRects; - - int nrects; - int i; - if (RegionNil(pRegion) == 1) { return; } - pGC = nxagentGetGraphicContext(pDrawable); + GCPtr pGC = nxagentGetGraphicContext(pDrawable); - nrects = RegionNumRects(pRegion); + int nrects = RegionNumRects(pRegion); #ifdef TEST fprintf(stderr, "nxagentFillRemoteRegion: Going to fill remote region [%d,%d,%d,%d] rects [%d] with color [%lu].\n", @@ -2315,11 +2202,10 @@ void nxagentFillRemoteRegion(DrawablePtr pDrawable, RegionPtr pRegion) } else { - pBox = RegionRects(pRegion); + BoxPtr pBox = RegionRects(pRegion); + XRectangle *pRects = malloc(nrects * sizeof(XRectangle)); - pRects = malloc(nrects * sizeof(XRectangle)); - - for (i = 0; i < nrects; i++) + for (int i = 0; i < nrects; i++) { pRects[i].x = pBox[i].x1; pRects[i].y = pBox[i].y1; @@ -2373,20 +2259,14 @@ int nxagentDestroyCorruptedBackgroundResource(void * p, XID id) void nxagentPointsToDirtyRegion(DrawablePtr pDrawable, int mode, int nPoints, xPoint *pPoints) { - RegionPtr pRegion; - RegionRec tmpRegion; - BoxRec box, extents; - - xPoint *xp; - int np; - - np = nPoints; - xp = pPoints; - - pRegion = RegionCreate(NullBox, 1); + RegionPtr pRegion = RegionCreate(NullBox, 1); + int np = nPoints; while (np--) { + BoxRec box; + xPoint *xp = pPoints; + if (CoordModePrevious) { box.x1 = box.x2 = (xp-1) -> x + xp -> x; @@ -2408,6 +2288,7 @@ void nxagentPointsToDirtyRegion(DrawablePtr pDrawable, int mode, * this loop could become less expensive. */ + RegionRec tmpRegion; RegionInit(&tmpRegion, &box, 1); RegionUnion(pRegion, pRegion, &tmpRegion); @@ -2417,7 +2298,7 @@ void nxagentPointsToDirtyRegion(DrawablePtr pDrawable, int mode, xp++; } - extents = *RegionExtents(pRegion); + BoxRec extents = *RegionExtents(pRegion); RegionReset(pRegion, &extents); @@ -2557,14 +2438,9 @@ void nxagentRegionsOnScreen(void) void nxagentCreateDrawableBitmap(DrawablePtr pDrawable) { - PixmapPtr pBitmap; GCPtr pGC = NULL; RegionPtr pClipRegion = NullRegion; - int x, y; - int w, h; - int saveTrap; - #ifdef TEST fprintf(stderr, "nxagentCreateDrawableBitmap: Creating synchronization bitmap for [%s] at [%p].\n", nxagentDrawableType(pDrawable), (void *) pDrawable); @@ -2574,7 +2450,7 @@ void nxagentCreateDrawableBitmap(DrawablePtr pDrawable) * The bitmap is created only in the nxagent. */ - saveTrap = nxagentGCTrap; + int saveTrap = nxagentGCTrap; nxagentGCTrap = 1; @@ -2631,6 +2507,7 @@ void nxagentCreateDrawableBitmap(DrawablePtr pDrawable) * window, because the pixmap creation would fail. */ + PixmapPtr pBitmap; pBitmap = nxagentCreatePixmap(pDrawable -> pScreen, pDrawable -> width, pDrawable -> height, pDrawable -> depth, 0); if (pBitmap == NULL) @@ -2646,10 +2523,10 @@ void nxagentCreateDrawableBitmap(DrawablePtr pDrawable) ValidateGC((DrawablePtr) pBitmap, pGC); - x = pClipRegion -> extents.x1; - y = pClipRegion -> extents.y1; - w = pClipRegion -> extents.x2 - pClipRegion -> extents.x1; - h = pClipRegion -> extents.y2 - pClipRegion -> extents.y1; + int x = pClipRegion -> extents.x1; + int y = pClipRegion -> extents.y1; + int w = pClipRegion -> extents.x2 - pClipRegion -> extents.x1; + int h = pClipRegion -> extents.y2 - pClipRegion -> extents.y1; nxagentCopyArea(pDrawable, (DrawablePtr) pBitmap, pGC, x, y, w, h, x, y); @@ -3086,7 +2963,6 @@ nxagentSendBackgroundExposeEnd: void nxagentExposeBackgroundPredicate(void *p0, XID x1, void *p2) { WindowPtr pWin = (WindowPtr) p0; - WindowPtr pParent; struct nxagentExposeBackground *pPair = p2; @@ -3112,7 +2988,7 @@ void nxagentExposeBackgroundPredicate(void *p0, XID x1, void *p2) (void *) pWin); #endif - pParent = pWin -> parent; + WindowPtr pParent = pWin -> parent; while (pParent != NULL) { @@ -3140,21 +3016,14 @@ void nxagentExposeBackgroundPredicate(void *p0, XID x1, void *p2) int nxagentClipAndSendClearExpose(WindowPtr pWin, void * ptr) { - RegionPtr exposeRgn; - RegionPtr remoteExposeRgn; - - #ifdef DEBUG - BoxRec box; - #endif - - remoteExposeRgn = (RegionRec *) ptr; + RegionPtr remoteExposeRgn = (RegionRec *) ptr; if (nxagentWindowPriv(pWin) -> deferredBackgroundExpose == 1) { - exposeRgn = RegionCreate(NULL, 1); + RegionPtr exposeRgn = RegionCreate(NULL, 1); #ifdef DEBUG - box = *RegionExtents(remoteExposeRgn); + BoxRec box = *RegionExtents(remoteExposeRgn); fprintf(stderr, "nxagentClipAndSendClearExpose: Background expose extents: [%d,%d,%d,%d].\n", box.x1, box.y1, box.x2, box.y2); @@ -3230,4 +3099,3 @@ void nxagentSendDeferredBackgroundExposures(void) RegionEmpty(nxagentDeferredBackgroundExposures); } } - |