initRect method

void initRect(
  1. Size size
)

Implementation

void initRect(Size size) {
  double volHeight = volHidden != true ? mDisplayHeight * 0.2 : 0;
  double secondaryHeight =
      secondaryStates.isNotEmpty ? mDisplayHeight * 0.2 : 0;

  // 主图表高度计算
  double mainHeight =
      mDisplayHeight - volHeight - (secondaryHeight * secondaryStates.length);

  // 主图表区域
  mMainRect = Rect.fromLTRB(0, mTopPadding, mWidth, mTopPadding + mainHeight);

  // 成交量图表区域
  if (volHidden != true) {
    mVolRect = Rect.fromLTRB(0, mMainRect.bottom + mChildPadding, mWidth,
        mMainRect.bottom + volHeight);
  }

  // 副图区域
  if (secondaryStates.isNotEmpty) {
    mSecondaryRect = Rect.fromLTRB(
        0,
        mVolRect?.bottom ?? mMainRect.bottom + mChildPadding,
        mWidth,
        (mVolRect?.bottom ?? mMainRect.bottom) + secondaryHeight);
  }

  // 添加日志
  // print('[initRect] Main Rect: $mMainRect');
  // print('[initRect] Vol Rect: $mVolRect');
  // print('[initRect] Secondary Rect: $mSecondaryRect');
}