draw method

dynamic draw(
  1. Canvas canvas,
  2. 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);
      }
    }
  }
}