int __thick_radius = 1; void __thick_primitive_helper(BITMAP * bmp, int x, int y, int d) { circlefill(bmp, x, y, __thick_radius, d); } void thick_arc(BITMAP *bmp, int x, int y, fixed a1, fixed a2, int r, int thickness, int color) { if (!thickness){return;} if (thickness<0){thickness *=-1;} if (thickness == 1) { arc(bmp, x, y, a1, a2, r, color); return; } __thick_radius = thickness; do_arc(bmp, x, y, a1, a2, r, color, __thick_primitive_helper); } void thick_line(BITMAP * bmp, int x1, int y1, int x2, int y2, int thickness, int color) { if (!thickness){return;} if (thickness<0){thickness *=-1;} if (thickness == 1) { line(bmp, x1, y1, x2, y2, color); return; } __thick_radius = thickness; do_line(bmp, x1, y1, x2, y2, color, __thick_primitive_helper); } void thick_ellipse(BITMAP * bmp, int x1, int y1, int x2, int y2, int thickness, int color) { if (!thickness){return;} if (thickness<0){thickness *=-1;} if (thickness == 1) { ellipse(bmp, x1, y1, x2, y2, color); return; } __thick_radius = thickness; do_ellipse(bmp, x1, y1, x2, y2, color, __thick_primitive_helper); } void thick_circle(BITMAP * bmp, int x, int y, int radius, int thickness, int color) { if (!thickness){return;} if (thickness<0){thickness *=-1;} if (thickness == 1) { circle(bmp, x, y, radius, color); return; } __thick_radius = thickness; do_circle(bmp, x, y, radius, color, __thick_primitive_helper); } void thick_rect(BITMAP * bmp, int x1, int y1, int x2, int y2, int thickness, int color) { thick_line(bmp, x1, y1, x2, y1, thickness, color); thick_line(bmp, x1, y2, x2, y2, thickness, color); thick_line(bmp, x1, y1, x1, y2, thickness, color); thick_line(bmp, x2, y1, x2, y2, thickness, color); }