X-Git-Url: https://git.sesse.net/?p=rdpsrv;a=blobdiff_plain;f=Xserver%2Fprograms%2FXserver%2Fmi%2Fmipolyrect.c;fp=Xserver%2Fprograms%2FXserver%2Fmi%2Fmipolyrect.c;h=0000000000000000000000000000000000000000;hp=acaa95ac31d56f3af39c7658c2c07c82dcab02cf;hb=ce66b81460e5353db09d45c02339d4583fbda255;hpb=7772d71ffd742cfc9b7ff214659d16c5bb56a391 diff --git a/Xserver/programs/Xserver/mi/mipolyrect.c b/Xserver/programs/Xserver/mi/mipolyrect.c deleted file mode 100644 index acaa95a..0000000 --- a/Xserver/programs/Xserver/mi/mipolyrect.c +++ /dev/null @@ -1,188 +0,0 @@ -/*********************************************************** - -Copyright (c) 1987 X Consortium - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of the X Consortium shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from the X Consortium. - - -Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. - - All Rights Reserved - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of Digital not be -used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. - -DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING -ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL -DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR -ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -SOFTWARE. - -******************************************************************/ -/* $XConsortium: mipolyrect.c,v 5.8 94/04/17 20:27:44 keith Exp $ */ -#include "X.h" -#include "Xprotostr.h" -#include "miscstruct.h" -#include "gcstruct.h" -#include "pixmap.h" - -void -miPolyRectangle(pDraw, pGC, nrects, pRects) - DrawablePtr pDraw; - GCPtr pGC; - int nrects; - xRectangle *pRects; -{ - int i; - xRectangle *pR = pRects; - DDXPointRec rect[5]; - int bound_tmp; - -#define MINBOUND(dst,eqn) bound_tmp = eqn; \ - if (bound_tmp < -32768) \ - bound_tmp = -32768; \ - dst = bound_tmp; - -#define MAXBOUND(dst,eqn) bound_tmp = eqn; \ - if (bound_tmp > 32767) \ - bound_tmp = 32767; \ - dst = bound_tmp; - -#define MAXUBOUND(dst,eqn) bound_tmp = eqn; \ - if (bound_tmp > 65535) \ - bound_tmp = 65535; \ - dst = bound_tmp; - - if (pGC->lineStyle == LineSolid && pGC->joinStyle == JoinMiter && - pGC->lineWidth != 0) - { - xRectangle *tmp, *t; - int ntmp; - int offset1, offset2, offset3; - int x, y, width, height; - - ntmp = (nrects << 2); - offset2 = pGC->lineWidth; - offset1 = offset2 >> 1; - offset3 = offset2 - offset1; - tmp = (xRectangle *) ALLOCATE_LOCAL(ntmp * sizeof (xRectangle)); - if (!tmp) - return; - t = tmp; - for (i = 0; i < nrects; i++) - { - x = pR->x; - y = pR->y; - width = pR->width; - height = pR->height; - pR++; - if (width == 0 && height == 0) - { - rect[0].x = x; - rect[0].y = y; - rect[1].x = x; - rect[1].y = y; - (*pGC->ops->Polylines)(pDraw, pGC, CoordModeOrigin, 2, rect); - } - else if (height < offset2 || width < offset1) - { - if (height == 0) - { - t->x = x; - t->width = width; - } - else - { - MINBOUND (t->x, x - offset1) - MAXUBOUND (t->width, width + offset2) - } - if (width == 0) - { - t->y = y; - t->height = height; - } - else - { - MINBOUND (t->y, y - offset1) - MAXUBOUND (t->height, height + offset2) - } - t++; - } - else - { - MINBOUND(t->x, x - offset1) - MINBOUND(t->y, y - offset1) - MAXUBOUND(t->width, width + offset2) - t->height = offset2; - t++; - MINBOUND(t->x, x - offset1) - MAXBOUND(t->y, y + offset3); - t->width = offset2; - t->height = height - offset2; - t++; - MAXBOUND(t->x, x + width - offset1); - MAXBOUND(t->y, y + offset3) - t->width = offset2; - t->height = height - offset2; - t++; - MINBOUND(t->x, x - offset1) - MAXBOUND(t->y, y + height - offset1) - MAXUBOUND(t->width, width + offset2) - t->height = offset2; - t++; - } - } - (*pGC->ops->PolyFillRect) (pDraw, pGC, t - tmp, tmp); - DEALLOCATE_LOCAL ((pointer) tmp); - } - else - { - - for (i=0; ix; - rect[0].y = pR->y; - - MAXBOUND(rect[1].x, pR->x + (int) pR->width) - rect[1].y = rect[0].y; - - rect[2].x = rect[1].x; - MAXBOUND(rect[2].y, pR->y + (int) pR->height); - - rect[3].x = rect[0].x; - rect[3].y = rect[2].y; - - rect[4].x = rect[0].x; - rect[4].y = rect[0].y; - - (*pGC->ops->Polylines)(pDraw, pGC, CoordModeOrigin, 5, rect); - pR++; - } - } -}