Ejemplo n.º 1
0
 public InkResponse(
     Key key                                    = null,
     Widget child                               = null,
     GestureTapCallback onTap                   = null,
     GestureTapDownCallback onTapDown           = null,
     GestureTapCancelCallback onTapCancel       = null,
     GestureTapCallback onDoubleTap             = null,
     GestureLongPressCallback onLongPress       = null,
     ValueChanged <bool> onHighlightChanged     = null,
     bool containedInkWell                      = false,
     BoxShape highlightShape                    = BoxShape.circle,
     float?radius                               = null,
     BorderRadius borderRadius                  = null,
     ShapeBorder customBorder                   = null,
     Color highlightColor                       = null,
     Color splashColor                          = null,
     InteractiveInkFeatureFactory splashFactory = null) : base(key: key)
 {
     this.child              = child;
     this.onTap              = onTap;
     this.onTapDown          = onTapDown;
     this.onTapCancel        = onTapCancel;
     this.onDoubleTap        = onDoubleTap;
     this.onLongPress        = onLongPress;
     this.onHighlightChanged = onHighlightChanged;
     this.containedInkWell   = containedInkWell;
     this.highlightShape     = highlightShape;
     this.radius             = radius;
     this.borderRadius       = borderRadius;
     this.customBorder       = customBorder;
     this.highlightColor     = highlightColor;
     this.splashColor        = splashColor;
     this.splashFactory      = splashFactory;
 }
Ejemplo n.º 2
0
 public ChipThemeData copyWith(
     Color backgroundColor         = null,
     Color deleteIconColor         = null,
     Color disabledColor           = null,
     Color selectedColor           = null,
     Color secondarySelectedColor  = null,
     EdgeInsets labelPadding       = null,
     EdgeInsets padding            = null,
     ShapeBorder shape             = null,
     TextStyle labelStyle          = null,
     TextStyle secondaryLabelStyle = null,
     Brightness?brightness         = null,
     float?elevation      = null,
     float?pressElevation = null
     )
 {
     return(new ChipThemeData(
                backgroundColor: backgroundColor ?? this.backgroundColor,
                deleteIconColor: deleteIconColor ?? this.deleteIconColor,
                disabledColor: disabledColor ?? this.disabledColor,
                selectedColor: selectedColor ?? this.selectedColor,
                secondarySelectedColor: secondarySelectedColor ?? this.secondarySelectedColor,
                labelPadding: labelPadding ?? this.labelPadding,
                padding: padding ?? this.padding,
                shape: shape ?? this.shape,
                labelStyle: labelStyle ?? this.labelStyle,
                secondaryLabelStyle: secondaryLabelStyle ?? this.secondaryLabelStyle,
                brightness: brightness ?? this.brightness,
                elevation: elevation ?? this.elevation,
                pressElevation: pressElevation ?? this.pressElevation
                ));
 }
Ejemplo n.º 3
0
        public static ChipThemeData lerp(ChipThemeData a, ChipThemeData b, float t)
        {
            if (a == null && b == null)
            {
                return(null);
            }

            return(new ChipThemeData(
                       backgroundColor: Color.lerp(a?.backgroundColor, b?.backgroundColor, t),
                       deleteIconColor: Color.lerp(a?.deleteIconColor, b?.deleteIconColor, t),
                       disabledColor: Color.lerp(a?.disabledColor, b?.disabledColor, t),
                       selectedColor: Color.lerp(a?.selectedColor, b?.selectedColor, t),
                       secondarySelectedColor: Color.lerp(a?.secondarySelectedColor, b?.secondarySelectedColor, t),
                       shadowColor: Color.lerp(a?.shadowColor, b?.shadowColor, t),
                       selectedShadowColor: Color.lerp(a?.selectedShadowColor, b?.selectedShadowColor, t),
                       labelPadding: EdgeInsets.lerp(a?.labelPadding, b?.labelPadding, t),
                       padding: EdgeInsets.lerp(a?.padding, b?.padding, t),
                       shape: ShapeBorder.lerp(a?.shape, b?.shape, t),
                       labelStyle: TextStyle.lerp(a?.labelStyle, b?.labelStyle, t),
                       secondaryLabelStyle: TextStyle.lerp(a?.secondaryLabelStyle, b?.secondaryLabelStyle, t),
                       brightness: t < 0.5f ? a?.brightness ?? Brightness.light : b?.brightness ?? Brightness.light,
                       elevation: MathUtils.lerpFloat(a?.elevation ?? 0.0f, b?.elevation ?? 0.0f, t),
                       pressElevation: MathUtils.lerpFloat(a?.pressElevation ?? 0.0f, b?.pressElevation ?? 0.0f, t)
                       ));
        }
Ejemplo n.º 4
0
 public FloatingActionButtonThemeData(
     Color foregroundColor    = null,
     Color backgroundColor    = null,
     Color focusColor         = null,
     Color hoverColor         = null,
     Color splashColor        = null,
     float?elevation          = null,
     float?focusElevation     = null,
     float?hoverElevation     = null,
     float?disabledElevation  = null,
     float?highlightElevation = null,
     ShapeBorder shape        = null
     )
 {
     this.foregroundColor    = foregroundColor;
     this.backgroundColor    = backgroundColor;
     this.focusColor         = focusColor;
     this.hoverColor         = hoverColor;
     this.splashColor        = splashColor;
     this.elevation          = elevation;
     this.focusElevation     = focusElevation;
     this.hoverElevation     = hoverElevation;
     this.disabledElevation  = disabledElevation;
     this.highlightElevation = highlightElevation;
     this.shape = shape;
 }
Ejemplo n.º 5
0
 public _PopupMenuRoute(
     RelativeRect position            = null,
     List <PopupMenuEntry <T> > items = null,
     T initialValue  = default,
     float?elevation = 8.0f,
     ThemeData theme = null,
     PopupMenuThemeData popupMenuTheme = null,
     string barrierLabel          = null,
     ShapeBorder shape            = null,
     Color color                  = null,
     BuildContext showMenuContext = null,
     bool?captureInheritedThemes  = null
     )
 {
     this.position               = position;
     this.items                  = items;
     this.initialValue           = initialValue;
     this.elevation              = elevation;
     this.theme                  = theme;
     this.popupMenuTheme         = popupMenuTheme;
     this.barrierLabel           = barrierLabel;
     this.shape                  = shape;
     this.color                  = color;
     this.showMenuContext        = showMenuContext;
     this.captureInheritedThemes = captureInheritedThemes;
     itemSizes = new List <Size>(new Size[items.Count]);
 }
Ejemplo n.º 6
0
        public InkHighlight(
            MaterialInkController controller = null,
            RenderBox referenceBox           = null,
            Color color               = null,
            BoxShape shape            = BoxShape.rectangle,
            BorderRadius borderRadius = null,
            ShapeBorder customBorder  = null,
            RectCallback rectCallback = null,
            VoidCallback onRemoved    = null) : base(
                controller: controller,
                referenceBox: referenceBox,
                color: color,
                onRemoved: onRemoved)
        {
            D.assert(color != null);
            D.assert(controller != null);
            D.assert(referenceBox != null);
            this._shape        = shape;
            this._borderRadius = borderRadius ?? BorderRadius.zero;
            this._customBorder = customBorder;
            this._rectCallback = rectCallback;

            this._alphaController = new AnimationController(
                duration: InkHighlightUtils._kHighlightFadeDuration,
                vsync: controller.vsync);
            this._alphaController.addListener(controller.markNeedsPaint);
            this._alphaController.addStatusListener(this._handleAlphaStatusChanged);
            this._alphaController.forward();

            this._alpha = this._alphaController.drive(new IntTween(
                                                          begin: 0, end: color.alpha));

            this.controller.addInkFeature(this);
        }
Ejemplo n.º 7
0
        public Dialog(
            Key key = null,
            Color backgroundColor           = null,
            float?elevation                 = null,
            TimeSpan?insetAnimationDuration = null,
            Curve insetAnimationCurve       = null,
            EdgeInsets insetPadding         = null,
            Clip clipBehavior               = Clip.none,
            ShapeBorder shape               = null,
            Widget child = null
            ) : base(key: key)
        {
            if (insetPadding == null)
            {
                insetPadding = material_._defaultInsetPadding;
            }

            this.child                  = child;
            this.backgroundColor        = backgroundColor;
            this.elevation              = elevation;
            this.insetAnimationDuration = insetAnimationDuration ?? new TimeSpan(0, 0, 0, 0, 100);
            this.insetAnimationCurve    = insetAnimationCurve ?? Curves.decelerate;
            this.insetPadding           = insetPadding;
            this.clipBehavior           = clipBehavior;
            this.shape                  = shape;
        }
Ejemplo n.º 8
0
 public _MaterialInterior(
     Key key                 = null,
     Widget child            = null,
     ShapeBorder shape       = null,
     bool borderOnForeground = true,
     Clip clipBehavior       = Clip.none,
     float?elevation         = null,
     Color color             = null,
     Color shadowColor       = null,
     Curve curve             = null,
     TimeSpan?duration       = null
     ) : base(key: key, curve: curve ?? Curves.linear, duration: duration)
 {
     D.assert(child != null);
     D.assert(shape != null);
     D.assert(elevation != null && elevation >= 0.0f);
     D.assert(color != null);
     D.assert(shadowColor != null);
     D.assert(duration != null);
     this.child = child;
     this.shape = shape;
     this.borderOnForeground = borderOnForeground;
     this.clipBehavior       = clipBehavior;
     this.elevation          = elevation ?? 0.0f;
     this.color       = color;
     this.shadowColor = shadowColor;
 }
Ejemplo n.º 9
0
 public ButtonThemeData(
     ButtonTextTheme textTheme = ButtonTextTheme.normal,
     float minWidth            = 88.0f,
     float height       = 36.0f,
     EdgeInsets padding = null,
     ShapeBorder shape  = null,
     ButtonBarLayoutBehavior layoutBehavior = ButtonBarLayoutBehavior.padded,
     bool alignedDropdown    = false,
     Color buttonColor       = null,
     Color disabledColor     = null,
     Color highlightColor    = null,
     Color splashColor       = null,
     ColorScheme colorScheme = null,
     MaterialTapTargetSize?materialTapTargetSize = null
     )
 {
     D.assert(minWidth >= 0.0);
     D.assert(height >= 0.0);
     this.textTheme              = textTheme;
     this.minWidth               = minWidth;
     this.height                 = height;
     this.layoutBehavior         = layoutBehavior;
     this.alignedDropdown        = alignedDropdown;
     this.colorScheme            = colorScheme;
     this._buttonColor           = buttonColor;
     this._disabledColor         = disabledColor;
     this._highlightColor        = highlightColor;
     this._splashColor           = splashColor;
     this._padding               = padding;
     this._shape                 = shape;
     this._materialTapTargetSize = materialTapTargetSize;
 }
Ejemplo n.º 10
0
 public FloatingActionButtonThemeData copyWith(
     Color foregroundColor    = null,
     Color backgroundColor    = null,
     Color focusColor         = null,
     Color hoverColor         = null,
     Color splashColor        = null,
     float?elevation          = null,
     float?focusElevation     = null,
     float?hoverElevation     = null,
     float?disabledElevation  = null,
     float?highlightElevation = null,
     ShapeBorder shape        = null
     )
 {
     return(new FloatingActionButtonThemeData(
                foregroundColor: foregroundColor ?? this.foregroundColor,
                backgroundColor: backgroundColor ?? this.backgroundColor,
                focusColor: focusColor ?? this.focusColor,
                hoverColor: hoverColor ?? this.hoverColor,
                splashColor: splashColor ?? this.splashColor,
                elevation: elevation ?? this.elevation,
                focusElevation: focusElevation ?? this.focusElevation,
                hoverElevation: hoverElevation ?? this.hoverElevation,
                disabledElevation: disabledElevation ?? this.disabledElevation,
                highlightElevation: highlightElevation ?? this.highlightElevation,
                shape: shape ?? this.shape
                ));
 }
Ejemplo n.º 11
0
 public _MaterialInterior(
     Key key           = null,
     Widget child      = null,
     ShapeBorder shape = null,
     Clip clipBehavior = Clip.none,
     double?elevation  = null,
     Color color       = null,
     Color shadowColor = null,
     Curve curve       = null,
     TimeSpan?duration = null
     ) : base(key: key, curve: curve ?? Curves.linear, duration: duration)
 {
     D.assert(child != null);
     D.assert(shape != null);
     D.assert(elevation != null);
     D.assert(color != null);
     D.assert(shadowColor != null);
     D.assert(duration != null);
     this.child        = child;
     this.shape        = shape;
     this.clipBehavior = clipBehavior;
     this.elevation    = elevation ?? 0.0;
     this.color        = color;
     this.shadowColor  = shadowColor;
 }
Ejemplo n.º 12
0
 public ButtonThemeData copyWith(
     ButtonTextTheme?textTheme = null,
     ButtonBarLayoutBehavior?layoutBehavior = null,
     float?minWidth             = null,
     float?height               = null,
     EdgeInsetsGeometry padding = null,
     ShapeBorder shape          = null,
     bool?alignedDropdown       = null,
     Color buttonColor          = null,
     Color disabledColor        = null,
     Color focusColor           = null,
     Color hoverColor           = null,
     Color highlightColor       = null,
     Color splashColor          = null,
     ColorScheme colorScheme    = null,
     MaterialTapTargetSize?materialTapTargetSize = null)
 {
     return(new ButtonThemeData(
                textTheme: textTheme ?? this.textTheme,
                layoutBehavior: layoutBehavior ?? this.layoutBehavior,
                minWidth: minWidth ?? this.minWidth,
                height: height ?? this.height,
                padding: padding ?? this.padding,
                shape: shape ?? this.shape,
                alignedDropdown: alignedDropdown ?? this.alignedDropdown,
                buttonColor: buttonColor ?? _buttonColor,
                disabledColor: disabledColor ?? _disabledColor,
                focusColor: focusColor ?? _focusColor,
                hoverColor: hoverColor ?? _hoverColor,
                highlightColor: highlightColor ?? _highlightColor,
                splashColor: splashColor ?? _splashColor,
                colorScheme: colorScheme ?? this.colorScheme,
                materialTapTargetSize: materialTapTargetSize ?? _materialTapTargetSize));
 }
Ejemplo n.º 13
0
        public override Widget build(BuildContext context)
        {
            BottomSheetThemeData bottomSheetTheme = Theme.of(context).bottomSheetTheme;
            Color       color        = widget.backgroundColor ?? bottomSheetTheme?.backgroundColor;
            float       elevation    = widget.elevation ?? bottomSheetTheme?.elevation ?? 0;
            ShapeBorder shape        = widget.shape ?? bottomSheetTheme?.shape;
            Clip        clipBehavior = widget.clipBehavior ?? bottomSheetTheme?.clipBehavior ?? Clip.none;

            Widget bottomSheet = new Material(
                key: _childKey,
                color: color,
                elevation: elevation,
                shape: shape,
                clipBehavior: clipBehavior,
                child: new NotificationListener <DraggableScrollableNotification>(
                    onNotification: extentChanged,
                    child: widget.builder(context)
                    )
                );

            return(!widget.enableDrag
                ? bottomSheet
                : new GestureDetector(
                       onVerticalDragStart: _handleDragStart,
                       onVerticalDragUpdate: _handleDragUpdate,
                       onVerticalDragEnd: _handleDragEnd,
                       child: bottomSheet
                       ));
        }
Ejemplo n.º 14
0
 public AlertDialog(
     Key key                    = null,
     Widget title               = null,
     EdgeInsets titlePadding    = null,
     TextStyle titleTextStyle   = null,
     Widget content             = null,
     EdgeInsets contentPadding  = null,
     TextStyle contentTextStyle = null,
     List <Widget> actions      = null,
     Color backgroundColor      = null,
     float?elevation            = null,
     ShapeBorder shape          = null
     ) : base(key: key)
 {
     this.title            = title;
     this.titlePadding     = titlePadding;
     this.titleTextStyle   = titleTextStyle;
     this.content          = content;
     this.contentPadding   = contentPadding ?? EdgeInsets.fromLTRB(24.0f, 20.0f, 24.0f, 24.0f);
     this.contentTextStyle = contentTextStyle;
     this.actions          = actions;
     this.backgroundColor  = backgroundColor;
     this.elevation        = elevation;
     this.shape            = shape;
 }
Ejemplo n.º 15
0
 public SnackBar(
     Key key                     = null,
     Widget content              = null,
     Color backgroundColor       = null,
     float?elevation             = null,
     ShapeBorder shape           = null,
     SnackBarBehavior?behavior   = null,
     SnackBarAction action       = null,
     TimeSpan?duration           = null,
     Animation <float> animation = null,
     VoidCallback onVisible      = null
     ) : base(key: key)
 {
     duration = duration ?? SnackBarUtils._snackBarDisplayDuration;
     D.assert(content != null);
     D.assert(elevation == null || elevation >= 0.0);
     this.content         = content;
     this.backgroundColor = backgroundColor;
     this.elevation       = elevation;
     this.shape           = shape;
     this.behavior        = behavior;
     this.action          = action;
     this.duration        = duration.Value;
     this.animation       = animation;
     this.onVisible       = onVisible;
 }
Ejemplo n.º 16
0
 public FlatButton(
     Key key = null,
     VoidCallback onPressed = null,
     ValueChanged <bool> onHighlightChanged = null,
     ButtonTextTheme?textTheme = null,
     Color textColor           = null,
     Color disabledTextColor   = null,
     Color color                = null,
     Color disabledColor        = null,
     Color highlightColor       = null,
     Color splashColor          = null,
     Brightness?colorBrightness = null,
     EdgeInsets padding         = null,
     ShapeBorder shape          = null,
     Clip?clipBehavior          = Clip.none,
     MaterialTapTargetSize?materialTapTargetSize = null,
     Widget child = null) : base(
         key: key,
         onPressed: onPressed,
         onHighlightChanged: onHighlightChanged,
         textTheme: textTheme,
         textColor: textColor,
         disabledTextColor: disabledTextColor,
         color: color,
         disabledColor: disabledColor,
         highlightColor: highlightColor,
         splashColor: splashColor,
         colorBrightness: colorBrightness,
         padding: padding,
         shape: shape,
         clipBehavior: clipBehavior,
         materialTapTargetSize: materialTapTargetSize,
         child: child)
 {
 }
Ejemplo n.º 17
0
 public static ButtonTheme bar(
     Key key = null,
     ButtonTextTheme textTheme = ButtonTextTheme.accent,
     float minWidth            = 64.0f,
     float height            = 36.0f,
     EdgeInsets padding      = null,
     ShapeBorder shape       = null,
     bool alignedDropdown    = false,
     Color buttonColor       = null,
     Color disabledColor     = null,
     Color highlightColor    = null,
     Color splashColor       = null,
     ColorScheme colorScheme = null,
     Widget child            = null,
     ButtonBarLayoutBehavior layoutBehavior = ButtonBarLayoutBehavior.padded
     )
 {
     D.assert(minWidth >= 0.0);
     D.assert(height >= 0.0);
     return(new ButtonTheme(key, new ButtonThemeData(
                                textTheme: textTheme,
                                minWidth: minWidth,
                                height: height,
                                padding: padding ?? EdgeInsets.symmetric(horizontal: 8.0f),
                                shape: shape,
                                alignedDropdown: alignedDropdown,
                                layoutBehavior: layoutBehavior,
                                buttonColor: buttonColor,
                                disabledColor: disabledColor,
                                highlightColor: highlightColor,
                                splashColor: splashColor,
                                colorScheme: colorScheme
                                ), child));
 }
Ejemplo n.º 18
0
 public ButtonTheme(
     Key key = null,
     ButtonTextTheme textTheme = ButtonTextTheme.normal,
     ButtonBarLayoutBehavior layoutBehavior = ButtonBarLayoutBehavior.padded,
     float minWidth          = 88.0f,
     float height            = 36.0f,
     EdgeInsets padding      = null,
     ShapeBorder shape       = null,
     bool alignedDropdown    = false,
     Color buttonColor       = null,
     Color disabledColor     = null,
     Color highlightColor    = null,
     Color splashColor       = null,
     ColorScheme colorScheme = null,
     MaterialTapTargetSize?materialTapTargetSize = null,
     Widget child = null) : base(key: key, child: child)
 {
     D.assert(minWidth >= 0.0);
     D.assert(height >= 0.0);
     this.data = new ButtonThemeData(
         textTheme: textTheme,
         minWidth: minWidth,
         height: height,
         padding: padding,
         shape: shape,
         alignedDropdown: alignedDropdown,
         layoutBehavior: layoutBehavior,
         buttonColor: buttonColor,
         disabledColor: disabledColor,
         highlightColor: highlightColor,
         splashColor: splashColor,
         colorScheme: colorScheme,
         materialTapTargetSize: materialTapTargetSize);
 }
Ejemplo n.º 19
0
 public _ModalBottomSheetRoute(
     WidgetBuilder builder   = null,
     ThemeData theme         = null,
     string barrierLabel     = null,
     Color backgroundColor   = null,
     float?elevation         = null,
     ShapeBorder shape       = null,
     Clip?clipBehavior       = null,
     Color modalBarrierColor = null,
     bool isDismissible      = true,
     bool enableDrag         = true,
     bool?isScrollControlled = null,
     RouteSettings settings  = null
     ) : base(settings: settings)
 {
     D.assert(isScrollControlled != null);
     this.builder           = builder;
     this.theme             = theme;
     this.barrierLabel      = barrierLabel;
     this.backgroundColor   = backgroundColor;
     this.elevation         = elevation;
     this.shape             = shape;
     this.clipBehavior      = clipBehavior;
     this.modalBarrierColor = modalBarrierColor;
     this.isDismissible     = isDismissible;
     this.enableDrag        = enableDrag;
 }
 public FloatingActionButton(
     Key key                  = null,
     Widget child             = null,
     string tooltip           = null,
     Color foregroundColor    = null,
     Color backgroundColor    = null,
     object heroTag           = null,
     float elevation          = 6.0f,
     float highlightElevation = 12.0f,
     VoidCallback onPressed   = null,
     bool mini                = false,
     ShapeBorder shape        = null,
     Clip clipBehavior        = Clip.none,
     MaterialTapTargetSize?materialTapTargetSize = null,
     bool isExtended = false
     ) : this(key : key,
              child : child,
              tooltip : tooltip,
              foregroundColor : foregroundColor,
              backgroundColor : backgroundColor,
              heroTag : heroTag,
              elevation : elevation,
              highlightElevation : highlightElevation,
              onPressed : onPressed,
              mini : mini,
              shape : shape,
              clipBehavior : clipBehavior,
              materialTapTargetSize : materialTapTargetSize,
              isExtended : isExtended,
              _sizeConstraints : null)
 {
 }
Ejemplo n.º 21
0
 public override InteractiveInkFeature create(
     MaterialInkController controller = null,
     RenderBox referenceBox           = null,
     Offset position           = null,
     Color color               = null,
     bool containedInkWell     = false,
     RectCallback rectCallback = null,
     BorderRadius borderRadius = null,
     ShapeBorder customBorder  = null,
     float?radius              = null,
     VoidCallback onRemoved    = null
     )
 {
     D.assert(controller != null);
     D.assert(referenceBox != null);
     D.assert(position != null);
     D.assert(color != null);
     return(new InkRipple(
                controller: controller,
                referenceBox: referenceBox,
                position: position,
                color: color,
                containedInkWell: containedInkWell,
                rectCallback: rectCallback,
                borderRadius: borderRadius,
                customBorder: customBorder,
                radius: radius,
                onRemoved: onRemoved));
 }
Ejemplo n.º 22
0
        public Material(
            Key key                    = null,
            MaterialType type          = MaterialType.canvas,
            float elevation            = 0.0f,
            Color color                = null,
            Color shadowColor          = null,
            TextStyle textStyle        = null,
            BorderRadius borderRadius  = null,
            ShapeBorder shape          = null,
            bool borderOnForeground    = true,
            Clip clipBehavior          = Clip.none,
            TimeSpan?animationDuration = null,
            Widget child               = null
            ) : base(key: key)
        {
            D.assert(elevation >= 0.0f);
            D.assert(!(shape != null && borderRadius != null));
            D.assert(!(type == MaterialType.circle && (borderRadius != null || shape != null)));

            this.type               = type;
            this.elevation          = elevation;
            this.color              = color;
            this.shadowColor        = shadowColor ?? new Color(0xFF000000);
            this.textStyle          = textStyle;
            this.borderRadius       = borderRadius;
            this.shape              = shape;
            this.borderOnForeground = borderOnForeground;
            this.clipBehavior       = clipBehavior;
            this.animationDuration  = animationDuration ?? Constants.kThemeChangeDuration;
            this.child              = child;
        }
Ejemplo n.º 23
0
 public SelectableTravelDestinationItem(Key key           = null, TravelDestination destination = null,
                                        ShapeBorder shape = null)
     : base(key: key)
 {
     D.assert(destination != null);
     this.destination = destination;
     this.shape       = shape;
 }
        public static FloatingActionButton extended(
            Key key                  = null,
            string tooltip           = null,
            Color foregroundColor    = null,
            Color backgroundColor    = null,
            object heroTag           = null,
            float elevation          = 6.0f,
            float highlightElevation = 12.0f,
            float?disabledElevation  = null,
            VoidCallback onPressed   = null,
            ShapeBorder shape        = null,
            bool isExtended          = true,
            MaterialTapTargetSize?materialTapTargetSize = null,
            Clip clipBehavior = Clip.none,
            Widget icon       = null,
            Widget label      = null
            )
        {
            D.assert(elevation >= 0.0f);
            D.assert(highlightElevation >= 0.0f);
            D.assert(disabledElevation == null || disabledElevation >= 0.0f);
            D.assert(icon != null);
            D.assert(label != null);
            heroTag = heroTag ?? new _DefaultHeroTag();
            shape   = shape ?? new StadiumBorder();

            BoxConstraints _sizeConstraints = FloatActionButtonUtils._kExtendedSizeConstraints;
            bool           mini             = false;
            Widget         child            = new _ChildOverflowBox(
                child: new Row(
                    mainAxisSize: MainAxisSize.min,
                    children: new List <Widget> {
                new SizedBox(width: 16.0f),
                icon,
                new SizedBox(width: 8.0f),
                label,
                new SizedBox(width: 20.0f)
            }));

            return(new FloatingActionButton(
                       key: key,
                       child: child,
                       tooltip: tooltip,
                       foregroundColor: foregroundColor,
                       backgroundColor: backgroundColor,
                       heroTag: heroTag,
                       elevation: elevation,
                       highlightElevation: highlightElevation,
                       disabledElevation: disabledElevation ?? elevation,
                       onPressed: onPressed,
                       mini: mini,
                       shape: shape,
                       clipBehavior: clipBehavior,
                       materialTapTargetSize: materialTapTargetSize,
                       isExtended: isExtended,
                       _sizeConstraints: _sizeConstraints
                       ));
        }
Ejemplo n.º 25
0
 public _ShapeBorderPaint(
     Widget child      = null,
     ShapeBorder shape = null)
 {
     D.assert(child != null);
     D.assert(shape != null);
     this.child = child;
     this.shape = shape;
 }
Ejemplo n.º 26
0
 public FloatingActionButton(
     Key key                  = null,
     Widget child             = null,
     string tooltip           = null,
     Color foregroundColor    = null,
     Color backgroundColor    = null,
     Color focusColor         = null,
     Color hoverColor         = null,
     Color splashColor        = null,
     object heroTag           = null,
     float?elevation          = null,
     float?focusElevation     = null,
     float?hoverElevation     = null,
     float?highlightElevation = null,
     float?disabledElevation  = null,
     VoidCallback onPressed   = null,
     bool mini                = false,
     ShapeBorder shape        = null,
     Clip clipBehavior        = Clip.none,
     FocusNode focusNode      = null,
     bool autofocus           = false,
     MaterialTapTargetSize?materialTapTargetSize = null,
     bool isExtended = false,
     BoxConstraints _sizeConstraints = null
     ) : base(key: key)
 {
     D.assert(elevation == null || elevation >= 0.0f);
     D.assert(focusElevation == null || focusElevation >= 0.0);
     D.assert(hoverElevation == null || hoverElevation >= 0.0);
     D.assert(highlightElevation == null || highlightElevation >= 0.0f);
     D.assert(disabledElevation == null || disabledElevation >= 0.0f);
     heroTag                    = heroTag ?? new _DefaultHeroTag();
     this.child                 = child;
     this.tooltip               = tooltip;
     this.foregroundColor       = foregroundColor;
     this.backgroundColor       = backgroundColor;
     this.focusColor            = focusColor;
     this.hoverColor            = hoverColor;
     this.splashColor           = splashColor;
     this.heroTag               = heroTag;
     this.elevation             = elevation;
     this.focusElevation        = focusElevation;
     this.hoverElevation        = hoverElevation;
     this.highlightElevation    = highlightElevation;
     this.onPressed             = onPressed;
     this.mini                  = mini;
     this.shape                 = shape;
     this.clipBehavior          = clipBehavior;
     this.focusNode             = focusNode;
     this.autofocus             = autofocus;
     this.materialTapTargetSize = materialTapTargetSize;
     this.isExtended            = isExtended;
     this.disabledElevation     = disabledElevation;
     this._sizeConstraints      = _sizeConstraints ?? (mini
         ? material_._kMiniSizeConstraints
         : material_._kSizeConstraints);
 }
Ejemplo n.º 27
0
 public _RaisedButtonWithIcon(
     Key key = null,
     VoidCallback onPressed = null,
     ValueChanged <bool> onHighlightChanged = null,
     ButtonTextTheme?textTheme = null,
     Color textColor           = null,
     Color disabledTextColor   = null,
     Color color                = null,
     Color disabledColor        = null,
     Color highlightColor       = null,
     Color splashColor          = null,
     Brightness?colorBrightness = null,
     double?elevation           = null,
     double?highlightElevation  = null,
     double?disabledElevation   = null,
     EdgeInsets padding         = null,
     ShapeBorder shape          = null,
     Clip?clipBehavior          = Clip.none,
     MaterialTapTargetSize?materialTapTargetSize = null,
     TimeSpan?animationDuration = null,
     Widget icon  = null,
     Widget label = null
     ) : base(
         key: key,
         onPressed: onPressed,
         onHighlightChanged: onHighlightChanged,
         textTheme: textTheme,
         textColor: textColor,
         disabledTextColor: disabledTextColor,
         color: color,
         disabledColor: disabledColor,
         highlightColor: highlightColor,
         splashColor: splashColor,
         colorBrightness: colorBrightness,
         elevation: elevation,
         highlightElevation: highlightElevation,
         disabledElevation: disabledElevation,
         padding: padding,
         shape: shape,
         clipBehavior: clipBehavior,
         materialTapTargetSize: materialTapTargetSize,
         animationDuration: animationDuration,
         child: new Row(
             mainAxisSize: MainAxisSize.min,
             children: new List <Widget> {
     icon,
     new SizedBox(width: 8.0),
     label
 }
             ))
 {
     D.assert(elevation == null || elevation >= 0.0);
     D.assert(highlightElevation == null || highlightElevation >= 0.0);
     D.assert(disabledElevation == null || disabledElevation >= 0.0);
     D.assert(icon != null);
     D.assert(label != null);
 }
Ejemplo n.º 28
0
        public SliverAppBar(
            Key key        = null,
            Widget leading = null,
            bool automaticallyImplyLeading = true,
            Widget title                   = null,
            List <Widget> actions          = null,
            Widget flexibleSpace           = null,
            PreferredSizeWidget bottom     = null,
            float?elevation                = null,
            bool forceElevated             = false,
            Color backgroundColor          = null,
            Brightness?brightness          = null,
            IconThemeData iconTheme        = null,
            IconThemeData actionsIconTheme = null,
            TextTheme textTheme            = null,
            bool primary                   = true,
            bool?centerTitle               = null,
            float titleSpacing             = NavigationToolbar.kMiddleSpacing,
            float?expandedHeight           = null,
            bool floating                  = false,
            bool pinned  = false,
            bool snap    = false,
            bool stretch = false,
            float stretchTriggerOffset     = 100.0f,
            AsyncCallback onStretchTrigger = null,
            ShapeBorder shape = null
            ) : base(key: key)
        {
            D.assert(floating || !snap, () => "The 'snap' argument only makes sense for floating app bars.");
            D.assert(stretchTriggerOffset > 0.0);

            this.leading = leading;
            this.automaticallyImplyLeading = true;
            this.title                = title;
            this.actions              = actions;
            this.flexibleSpace        = flexibleSpace;
            this.bottom               = bottom;
            this.elevation            = elevation;
            this.forceElevated        = forceElevated;
            this.backgroundColor      = backgroundColor;
            this.brightness           = brightness;
            this.iconTheme            = iconTheme;
            this.actionsIconTheme     = actionsIconTheme;
            this.textTheme            = textTheme;
            this.primary              = primary;
            this.centerTitle          = centerTitle;
            this.titleSpacing         = NavigationToolbar.kMiddleSpacing;
            this.expandedHeight       = expandedHeight;
            this.floating             = floating;
            this.pinned               = pinned;
            this.snap                 = snap;
            this.stretch              = stretch;
            this.stretchTriggerOffset = stretchTriggerOffset;
            this.onStretchTrigger     = onStretchTrigger;
            this.shape                = shape;
        }
Ejemplo n.º 29
0
 public static DialogTheme lerp(DialogTheme a, DialogTheme b, float t)
 {
     return(new DialogTheme(
                backgroundColor: Color.lerp(a?.backgroundColor, b?.backgroundColor, t),
                elevation: MathUtils.lerpNullableFloat(a?.elevation, b?.elevation, t),
                shape: ShapeBorder.lerp(a?.shape, b?.shape, t),
                titleTextStyle: TextStyle.lerp(a?.titleTextStyle, b?.titleTextStyle, t),
                contentTextStyle: TextStyle.lerp(a?.contentTextStyle, b?.contentTextStyle, t)
                ));
 }
Ejemplo n.º 30
0
 public _OutlineBorder(
     ShapeBorder shape,
     BorderSide side
     )
 {
     D.assert(shape != null);
     D.assert(side != null);
     this.shape = shape;
     this.side  = side;
 }