From: Tony Cook Date: Mon, 6 Aug 2012 01:21:49 +0000 (+1000) Subject: update draw.c to IMAGER_NO_CONTEXT X-Git-Tag: v0.92_01~45 X-Git-Url: http://git.imager.perl.org/imager.git/commitdiff_plain/a06780f0449be5e0c866ad238c2f3ec46e9bf376 update draw.c to IMAGER_NO_CONTEXT --- diff --git a/draw.c b/draw.c index f36949aa..b60c7f9b 100644 --- a/draw.c +++ b/draw.c @@ -1,3 +1,4 @@ +#define IMAGER_NO_CONTEXT #include "imager.h" #include "draw.h" #include "log.h" @@ -413,12 +414,12 @@ polar_to_plane(double cx, double cy, float angle, double radius, frac *x, frac * static void -make_minmax_list(i_mmarray *dot, double x, double y, double radius) { +make_minmax_list(pIMCTX, i_mmarray *dot, double x, double y, double radius) { float angle = 0.0; float astep = radius>0.1 ? .5/radius : 10; frac cx, cy, lx, ly, sx, sy; - mm_log((1, "make_minmax_list(dot %p, x %.2f, y %.2f, radius %.2f)\n", dot, x, y, radius)); + im_log((aIMCTX, 1, "make_minmax_list(dot %p, x %.2f, y %.2f, radius %.2f)\n", dot, x, y, radius)); polar_to_plane(x, y, angle, radius, &sx, &sy); @@ -494,12 +495,13 @@ i_circle_aa(i_img *im, double x, double y, double rad, const i_color *val) { i_mmarray dot; i_color temp; i_img_dim ly; + dIMCTXim(im); - mm_log((1, "i_circle_aa(im %p, centre(" i_DFp "), rad %.2f, val %p)\n", + im_log((aIMCTX, 1, "i_circle_aa(im %p, centre(" i_DFp "), rad %.2f, val %p)\n", im, i_DFcp(x, y), rad, val)); i_mmarray_cr(&dot,16*im->ysize); - make_minmax_list(&dot, x, y, rad); + make_minmax_list(aIMCTX, &dot, x, y, rad); for(ly = 0; lyysize; ly++) { int ix, cy, minx = INT_MAX, maxx = INT_MIN; @@ -569,11 +571,12 @@ i_circle_out(i_img *im, i_img_dim xc, i_img_dim yc, i_img_dim r, i_img_dim x, y; i_img_dim dx, dy; int error; + dIMCTXim(im); - i_clear_error(); + im_clear_error(aIMCTX); if (r < 0) { - i_push_error(0, "circle: radius must be non-negative"); + im_push_error(aIMCTX, 0, "circle: radius must be non-negative"); return 0; } @@ -685,10 +688,10 @@ i_arc_out(i_img *im, i_img_dim xc, i_img_dim yc, i_img_dim r, i_img_dim seg3 = scale * 6; i_img_dim seg4 = scale * 8; - i_clear_error(); + im_clear_error(aIMCTX); if (r <= 0) { - i_push_error(0, "arc: radius must be non-negative"); + im_push_error(aIMCTX, 0, "arc: radius must be non-negative"); return 0; } if (d1 + 360 <= d2) @@ -820,10 +823,11 @@ i_circle_out_aa(i_img *im, i_img_dim xc, i_img_dim yc, i_img_dim r, const i_colo double t; i_color workc = *col; int orig_alpha = col->channel[3]; + dIMCTXim(im); - i_clear_error(); + im_clear_error(aIMCTX); if (r <= 0) { - i_push_error(0, "arc: radius must be non-negative"); + im_push_error(aIMCTX, 0, "arc: radius must be non-negative"); return 0; } i = r; @@ -930,10 +934,11 @@ i_arc_out_aa(i_img *im, i_img_dim xc, i_img_dim yc, i_img_dim r, double d1, doub i_img_dim seg2 = scale * 4; i_img_dim seg3 = scale * 6; i_img_dim seg4 = scale * 8; + dIMCTXim(im); - i_clear_error(); + im_clear_error(aIMCTX); if (r <= 0) { - i_push_error(0, "arc: radius must be non-negative"); + im_push_error(aIMCTX, 0, "arc: radius must be non-negative"); return 0; } if (d1 + 360 <= d2) @@ -1816,11 +1821,12 @@ i_flood_fill(i_img *im, i_img_dim seedx, i_img_dim seedy, const i_color *dcol) { struct i_bitmap *btm; i_img_dim x, y; i_color val; + dIMCTXim(im); - i_clear_error(); + im_clear_error(aIMCTX); if (seedx < 0 || seedx >= im->xsize || seedy < 0 || seedy >= im->ysize) { - i_push_error(0, "i_flood_cfill: Seed pixel outside of image"); + im_push_error(aIMCTX, 0, "i_flood_cfill: Seed pixel outside of image"); return 0; } @@ -1857,12 +1863,13 @@ i_flood_cfill(i_img *im, i_img_dim seedx, i_img_dim seedy, i_fill_t *fill) { i_img_dim bxmin, bxmax, bymin, bymax; struct i_bitmap *btm; i_color val; + dIMCTXim(im); - i_clear_error(); + im_clear_error(aIMCTX); if (seedx < 0 || seedx >= im->xsize || seedy < 0 || seedy >= im->ysize) { - i_push_error(0, "i_flood_cfill: Seed pixel outside of image"); + im_push_error(aIMCTX, 0, "i_flood_cfill: Seed pixel outside of image"); return 0; } @@ -1899,11 +1906,12 @@ i_flood_fill_border(i_img *im, i_img_dim seedx, i_img_dim seedy, const i_color * i_img_dim bxmin, bxmax, bymin, bymax; struct i_bitmap *btm; i_img_dim x, y; + dIMCTXim(im); - i_clear_error(); + im_clear_error(aIMCTX); if (seedx < 0 || seedx >= im->xsize || seedy < 0 || seedy >= im->ysize) { - i_push_error(0, "i_flood_cfill: Seed pixel outside of image"); + im_push_error(aIMCTX, 0, "i_flood_cfill: Seed pixel outside of image"); return 0; } @@ -1938,12 +1946,13 @@ i_flood_cfill_border(i_img *im, i_img_dim seedx, i_img_dim seedy, i_fill_t *fill const i_color *border) { i_img_dim bxmin, bxmax, bymin, bymax; struct i_bitmap *btm; + dIMCTXim(im); - i_clear_error(); + im_clear_error(aIMCTX); if (seedx < 0 || seedx >= im->xsize || seedy < 0 || seedy >= im->ysize) { - i_push_error(0, "i_flood_cfill_border: Seed pixel outside of image"); + im_push_error(aIMCTX, 0, "i_flood_cfill_border: Seed pixel outside of image"); return 0; }