getPointByDirection method

dynamic getPointByDirection(
  1. dynamic x0,
  2. dynamic y0,
  3. dynamic width0,
  4. dynamic heightI,
  5. dynamic seg,
  6. dynamic direction,
)

Implementation

getPointByDirection(x0, y0, width0, heightI, seg, direction) {
  myLogAll('getPointByDirection');
  double x, y;
  x = x0 + width0 + seg;
  y = y0 + heightI / 2;

  if (direction.toString().startsWith(gBottom) ||
      direction.toString().startsWith(gTop)) {
    x = x0 + (width0 + seg) / 2;
    if (direction == '$gBottom$gRight' || direction == '$gTop$gRight') {
      x = x0 + (width0 + seg) * 2 / 3;
    } else if (direction == '$gBottom$gLeft' || direction == '$gTop$gLeft') {
      x = x0 + (width0 + seg) * 1 / 3;
    }
    y = y0 * 1.0;
    if (direction.toString().startsWith(gBottom)) {
      y = y0 + heightI;
    }
  } else if (direction == gLeft) {
    x = x0 * 1.0;
  }
  return {gX: x, gY: y};
}