drawCrossLine method

void drawCrossLine(
  1. Canvas canvas,
  2. Size size
)
override

draw cross lines

Implementation

void drawCrossLine(Canvas canvas, Size size) {
  var index = calculateSelectedX(selectX);
  KLineEntity point = getItem(index);
  double x = getX(index);
  double y = getMainY(point.close);

  // K-line chart vertical line
  canvas.drawDashLine(
    Offset(x, 0),
    Offset(x, size.height),
    paintCross,
  );

  // K-line chart horizontal line
  canvas.drawDashLine(
    Offset(-mTranslateX, y),
    Offset(-mTranslateX + mWidth / scaleX, y),
    paintCross,
  );

  if (scaleX >= 1) {
    canvas.drawOval(
      Rect.fromCenter(center: Offset(x, y), height: 4.0 * scaleX, width: 4.0),
      paintCross,
    );
  } else {
    canvas.drawOval(
      Rect.fromCenter(center: Offset(x, y), height: 4.0, width: 4.0 / scaleX),
      paintCross,
    );
  }
}