void cdboxSIM(cdCtxCanvas* ctxcanvas, int xmin, int xmax, int ymin, int ymax) { cdCanvas* canvas = ((cdCtxCanvasBase*)ctxcanvas)->canvas; if (canvas->use_matrix) { cdPoint poly[5]; /* leave room of one more point */ poly[0].x = xmin; poly[0].y = ymin; poly[1].x = xmin; poly[1].y = ymax; poly[2].x = xmax; poly[2].y = ymax; poly[3].x = xmax; poly[3].y = ymin; canvas->cxPoly(canvas->ctxcanvas, CD_FILL, poly, 4); } else { cdSimulation* simulation = canvas->simulation; int y; /* must set line attributes here, because fill simulation use cxLine and cxPixel */ int old_line_style = cdCanvasLineStyle(canvas, CD_CONTINUOUS); int old_line_width = cdCanvasLineWidth(canvas, 1); for(y=ymin;y<=ymax;y++) simFillHorizLine(simulation, xmin, y, xmax); cdCanvasLineStyle(canvas, old_line_style); cdCanvasLineWidth(canvas, old_line_width); } }
void simFillHorizBox(cdSimulation* simulation, int xmin, int xmax, int ymin, int ymax) { int y; for(y=ymin;y<=ymax;y++) simFillHorizLine(simulation, xmin, y, xmax); }