libmemdraw: remove static Point p00 and use ZP instead

front
cinap_lenrek 2019-03-09 17:36:19 +01:00
parent 5a724464d9
commit a0acae173e
2 changed files with 5 additions and 10 deletions

View File

@ -24,9 +24,6 @@ Point corners[] = {
{1,-1}
};
static
Point p00;
/*
* make a "wedge" mask covering the desired angle and contained in
* a surrounding square; draw a full ellipse; intersect that with the
@ -101,19 +98,19 @@ memarc(Memimage *dst, Point c, int a, int b, int t, Memimage *src, Point sp, int
if(wedge == nil)
goto Return;
memfillcolor(wedge, DTransparent);
memfillpoly(wedge, bnd, i, ~0, memopaque, p00, S);
memfillpoly(wedge, bnd, i, ~0, memopaque, ZP, S);
figure = allocmemimage(rect, GREY1);
if(figure == nil)
goto Return;
memfillcolor(figure, DTransparent);
memellipse(figure, p00, a, b, t, memopaque, p00, S);
memellipse(figure, ZP, a, b, t, memopaque, ZP, S);
mask = allocmemimage(rect, GREY1);
if(mask == nil)
goto Return;
memfillcolor(mask, DTransparent);
memimagedraw(mask, rect, figure, rect.min, wedge, rect.min, S);
c = subpt(c, dst->r.min);
memdraw(dst, dst->r, src, subpt(sp, c), mask, subpt(p00, c), op);
memdraw(dst, dst->r, src, subpt(sp, c), mask, subpt(ZP, c), op);
Return:
freememimage(wedge);

View File

@ -164,8 +164,6 @@ memellipse(Memimage *dst, Point c, int a, int b, int t, Memimage *src, Point sp,
}
}
static Point p00 = {0, 0};
/*
* a brushed ellipse
*/
@ -180,7 +178,7 @@ bellipse(int y, State *s, Param *p)
if(p->disc == nil)
return;
memfillcolor(p->disc, DTransparent);
memellipse(p->disc, p00, t, t, -1, memopaque, p00, p->op);
memellipse(p->disc, ZP, t, t, -1, memopaque, ZP, p->op);
oy = y;
ox = 0;
nx = x = step(s);
@ -211,7 +209,7 @@ erect(int x0, int y0, int x1, int y1, Param *p)
/* print("R %d,%d %d,%d\n", x0, y0, x1, y1); /**/
r = Rect(p->c.x+x0, p->c.y+y0, p->c.x+x1+1, p->c.y+y1+1);
memdraw(p->dst, r, p->src, addpt(p->sp, r.min), memopaque, p00, p->op);
memdraw(p->dst, r, p->src, addpt(p->sp, r.min), memopaque, ZP, p->op);
}
/*