buildVertical method

Widget buildVertical()

Implementation

Widget buildVertical() {
  return Row(
    children: [
      if (domainAxis != null && !useSecondaryDomain)
        Column(
          crossAxisAlignment: CrossAxisAlignment.end,
          children: [
            if (measureAxis != null && useSecondaryMeasure)
              SizedBox(
                height: measureAxis!.tickLength +
                    measureAxis!.gapTickLabel +
                    measureAxis!.xAxisLabelSpace,
              ),
            Expanded(
              child: Row(
                children: [
                  DomainLabelLayout(
                    labelsInViewport: domain.labelsInViewport,
                    domainAxis: domainAxis!,
                    direction: direction,
                  ),
                  SizedBox(width: domainAxis!.gapTickLabel),
                  DomainTickLayout(
                    labelsInViewport: domain.labelsInViewport,
                    domainAxis: domainAxis!,
                    direction: direction,
                  ),
                ],
              ),
            ),
            if (measureAxis != null && !useSecondaryMeasure)
              SizedBox(
                height: measureAxis!.tickLength +
                    measureAxis!.gapTickLabel +
                    measureAxis!.xAxisLabelSpace,
              ),
          ],
        ),
      Expanded(
        child: Column(
          children: [
            if (measureAxis != null && useSecondaryMeasure) ...[
              MeasureLabelLayout(
                max: measure.max,
                measureAxis: measureAxis!,
                direction: direction,
                labelsInViewport: measure.labelsInViewport,
              ),
              SizedBox(height: measureAxis!.gapTickLabel),
              MeasureTickLayout(
                max: measure.max,
                measureAxis: measureAxis!,
                direction: direction,
                labelsInViewport: measure.labelsInViewport,
              ),
            ],
            Expanded(
              child: Stack(
                fit: StackFit.expand,
                children: [
                  if (measureAxis != null)
                    MeasureGridLineLayout(
                      max: measure.max,
                      measureAxis: measureAxis!,
                      direction: direction,
                      labelsInViewport: measure.labelsInViewport,
                    ),
                  if (domainAxis != null)
                    DomainGridLineLayout(
                      labelsInViewport: domain.labelsInViewport,
                      domainAxis: domainAxis!,
                      direction: direction,
                    ),
                  DecoratedBox(
                    position:
                        axisLine?.position == AxisLinePosition.background
                            ? DecorationPosition.background
                            : DecorationPosition.foreground,
                    decoration: BoxDecoration(
                      border: Border(
                        bottom:
                            axisLine?.bottom?.borderSide ?? BorderSide.none,
                        left: axisLine?.left?.borderSide ?? BorderSide.none,
                        top: axisLine?.top?.borderSide ?? BorderSide.none,
                        right: axisLine?.right?.borderSide ?? BorderSide.none,
                      ),
                    ),
                    child: drawVertical(),
                  ),
                ],
              ),
            ),
            if (measureAxis != null && !useSecondaryMeasure) ...[
              MeasureTickLayout(
                max: measure.max,
                measureAxis: measureAxis!,
                direction: direction,
                labelsInViewport: measure.labelsInViewport,
              ),
              SizedBox(height: measureAxis!.gapTickLabel),
              MeasureLabelLayout(
                max: measure.max,
                measureAxis: measureAxis!,
                direction: direction,
                labelsInViewport: measure.labelsInViewport,
              ),
            ],
          ],
        ),
      ),
      if (domainAxis != null && useSecondaryDomain)
        Column(
          crossAxisAlignment: CrossAxisAlignment.end,
          children: [
            if (measureAxis != null && useSecondaryMeasure)
              SizedBox(
                height: measureAxis!.tickLength +
                    measureAxis!.gapTickLabel +
                    measureAxis!.xAxisLabelSpace,
              ),
            Expanded(
              child: Row(
                children: [
                  DomainTickLayout(
                    labelsInViewport: domain.labelsInViewport,
                    domainAxis: domainAxis!,
                    direction: direction,
                  ),
                  SizedBox(width: domainAxis!.gapTickLabel),
                  DomainLabelLayout(
                    labelsInViewport: domain.labelsInViewport,
                    domainAxis: domainAxis!,
                    direction: direction,
                  ),
                ],
              ),
            ),
            if (measureAxis != null && !useSecondaryMeasure)
              SizedBox(
                height: measureAxis!.tickLength +
                    measureAxis!.gapTickLabel +
                    measureAxis!.xAxisLabelSpace,
              ),
          ],
        ),
    ],
  );
}