initRect method

void initRect(
  1. Size size
)

Implementation

void initRect(Size size) {
  final volHeight = !volHidden ? mDisplayHeight * 0.2 : 0;
  final secondaryHeight = secondaryState != SecondaryState.NONE ? mDisplayHeight * 0.2 : 0;

  double mainHeight = mDisplayHeight;
  mainHeight -= volHeight;
  mainHeight -= secondaryHeight;

  mMainRect = Rect.fromLTRB(0, style.main.padding.top, mWidth, style.main.padding.top + mainHeight);
  if (volHidden != true) mVolRect = Rect.fromLTRB(0, mMainRect.bottom + style.secondary.padding.top, mWidth, mMainRect.bottom + volHeight);

  //secondaryState == SecondaryState.NONE隐藏副视图
  if (secondaryState != SecondaryState.NONE) {
    mSecondaryRect = Rect.fromLTRB(
      0,
      mMainRect.bottom + volHeight + style.secondary.padding.top,
      mWidth,
      mMainRect.bottom + volHeight + secondaryHeight
    );
  }
}