@@ -882,74 +882,30 @@ List<ResponsiveBreakpointSegment> getBreakpointSegments(
882882 responsiveBreakpoint: breakpoint);
883883 break ;
884884 case ResponsiveBreakpointBehavior .AUTOSCALEDOWN :
885- if (breakpointHolder.isAutoScaleDown) {
886- breakpointSegmentHolder = ResponsiveBreakpointSegment (
887- breakpoint: breakpoint.breakpoint,
888- segmentType: breakpoint.behavior,
889- responsiveBreakpoint: ResponsiveBreakpoint (
890- breakpoint: breakpoint.breakpoint,
891- name: breakpoint.name,
892- behavior: ResponsiveBreakpointBehavior .AUTOSCALE ,
893- scaleFactor: breakpoint.scaleFactor));
894- // Construct override breakpoint segment.
895- int overrideBreakpointIndex = i;
896- ResponsiveBreakpointSegment overrideBreakpointSegment =
897- breakpointSegments[overrideBreakpointIndex];
898- overrideBreakpointSegment = overrideBreakpointSegment.copyWith (
899- responsiveBreakpoint:
900- overrideBreakpointSegment.responsiveBreakpoint.copyWith (
901- breakpoint: breakpoint.breakpoint,
902- behavior: ResponsiveBreakpointBehavior .AUTOSCALE ));
903- breakpointSegments[overrideBreakpointIndex] =
904- overrideBreakpointSegment;
905- } else {
906- // Split AutoScale behavior between autoScale and autoScaleDown.
907- if (breakpointHolder.isAutoScale) {
908- // If breakpoints are duplicate, skip adding midway segment.
909- if (breakpoint.breakpoint != breakpointHolder.breakpoint) {
910- // Construct midway breakpoint segment.
911- ResponsiveBreakpointSegment midwayBreakpointSegment =
912- ResponsiveBreakpointSegment (
913- breakpoint: (breakpoint.breakpoint -
914- breakpointHolder.breakpoint) /
915- 2 +
916- breakpointHolder.breakpoint,
917- segmentType: ResponsiveBreakpointBehavior .AUTOSCALEDOWN ,
918- responsiveBreakpoint: ResponsiveBreakpoint (
919- breakpoint: breakpoint.breakpoint,
920- name: breakpointHolder.name,
921- behavior: ResponsiveBreakpointBehavior .AUTOSCALE ,
922- scaleFactor: breakpoint.scaleFactor));
923- breakpointSegments.add (midwayBreakpointSegment);
924- }
925- }
926- // AutoScaleDown overrides resize behavior.
927- if (breakpointHolder.isResize) {
928- // Construct override breakpoint segment.
929- int overrideBreakpointIndex = breakpointSegments.lastIndexWhere (
930- (element) =>
931- element.breakpoint <= breakpointHolder.breakpoint &&
932- element.isResize);
933- ResponsiveBreakpointSegment overrideBreakpointSegment =
934- breakpointSegments[overrideBreakpointIndex];
935- overrideBreakpointSegment = overrideBreakpointSegment.copyWith (
936- responsiveBreakpoint:
937- overrideBreakpointSegment.responsiveBreakpoint.copyWith (
938- breakpoint: breakpoint.breakpoint,
939- behavior: ResponsiveBreakpointBehavior .AUTOSCALE ));
940- breakpointSegments[overrideBreakpointIndex] =
941- overrideBreakpointSegment;
942- }
943- // Construct autoScaleDown breakpoint.
944- breakpointSegmentHolder = ResponsiveBreakpointSegment (
945- breakpoint: breakpoint.breakpoint,
946- segmentType: breakpoint.behavior,
947- responsiveBreakpoint: ResponsiveBreakpoint (
948- breakpoint: breakpoint.breakpoint,
949- name: breakpoint.name,
950- behavior: ResponsiveBreakpointBehavior .AUTOSCALE ,
951- scaleFactor: breakpoint.scaleFactor));
952- }
885+ // Construct override breakpoint segment.
886+ // AutoScaleDown needs to override the breakpoint
887+ // interval because responsive calculations are
888+ // performed from 0 - ∞.
889+ int overrideBreakpointIndex = i;
890+ ResponsiveBreakpointSegment overrideBreakpointSegment =
891+ breakpointSegments[overrideBreakpointIndex];
892+ overrideBreakpointSegment = overrideBreakpointSegment.copyWith (
893+ responsiveBreakpoint: overrideBreakpointSegment.responsiveBreakpoint
894+ .copyWith (
895+ breakpoint: breakpoint.breakpoint,
896+ behavior: ResponsiveBreakpointBehavior .AUTOSCALE ));
897+ breakpointSegments[overrideBreakpointIndex] = overrideBreakpointSegment;
898+
899+ // AutoScaleDown acts as an AutoScale breakpoint
900+ // in the 0 - ∞ direction.
901+ breakpointSegmentHolder = ResponsiveBreakpointSegment (
902+ breakpoint: breakpoint.breakpoint,
903+ segmentType: breakpoint.behavior,
904+ responsiveBreakpoint: ResponsiveBreakpoint (
905+ breakpoint: breakpoint.breakpoint,
906+ name: breakpoint.name,
907+ behavior: ResponsiveBreakpointBehavior .AUTOSCALE ,
908+ scaleFactor: breakpoint.scaleFactor));
953909 break ;
954910 case ResponsiveBreakpointBehavior .TAG :
955911 break ;
0 commit comments