callKMouseI method

dynamic callKMouseI()

Implementation

callKMouseI() {
  //计算鼠标x轴坐标所在k线索引 采用floor方式(比如在0.6根k线上,则算在0根k线 比如在1.1根k线上 则算在1根k线上)
  if (klineState.currentPosition.dx >= 0) {
    kMouseI =
        ((klineState.currentPosition.dx - kElement['k']!['x'] - kStartX) /
                    kWG)
                .floor() +
            kStartI;
    if (kMouseI < 0) {
      kMouseI = 0;
    } else if (kMouseI >= chartData.kDataL) {
      kMouseI = chartData.kDataL - 1;
    }
    //计算鼠标x轴坐标所在k线中影线坐标
    kMouseX = (kStartX + (kMouseI - kStartI) * kWG + kGap + kW / 2);
    //计算鼠标x轴坐标所在k线距离开始绘制k线间有多少跟k线
    kMouseINum = kMouseI - kStartI;
  }
}