draw method
dynamic
draw(
- Canvas canvas,
- dynamic param
)
Implementation
draw(Canvas canvas, param) {
myLogAll('draw');
for (int i = 0; i < param.length; i++) {
Map item = param.elementAt(i);
dynamic type = item['type'];
if (type == 'line') {
double seg = 2.0;
dynamic paint = item['paint']['paint0'];
dynamic paint1 = item['paint']['paint1'];
double x0 = item['x0'];
double x1 = item['x1'];
double y0 = item['y0'];
double y1 = item['y1'];
double left = item['left'];
double top = item['top'];
double width = item['width'];
double height = item['height'];
bool horizon = item['horizen'];
if (x0 == x1) {
if (y0 < y1) {
canvas.drawLine(Offset(x0, y0), Offset(x0, top - seg), paint);
drawline1(canvas, paint, paint1, x0, top + height + seg, x1, y1);
} else if (y0 > y1) {
canvas.drawLine(Offset(x0, y0), Offset(x0, y0 - seg), paint);
drawline1(canvas, paint, paint1, x0, top - seg, x1, y1);
}
} else if (y0 == y1) {
if (x0 < x1) {
canvas.drawLine(Offset(x0, y0), Offset(left - seg, y0), paint);
drawline1(canvas, paint, paint1, left + width + seg, y0, x1, y1);
} else if (x0 > x1) {
canvas.drawLine(
Offset(x0, y0), Offset(left + width + seg, y0), paint);
drawline1(canvas, paint, paint1, left - seg, y0, x1, y1);
}
} else if (horizon) {
drawline(canvas, paint, x0, y0, x1, y0, left, top, width, height);
drawline1(canvas, paint, paint1, x1, y0, x1, y1);
} else {
drawline(canvas, paint, x0, y0, x0, y1, left, top, width, height);
drawline1(canvas, paint, paint1, x0, y1, x1, y1);
}
}
}
}