示例#1
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;
 }
示例#2
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)
 {
 }
示例#3
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);
 }
示例#4
0
        protected override async Task <int> DoReadAsync(byte[] outputBuffer, int offset, int count, CancellationToken cancellationToken)
        {
            void _complete()
            {
                var completedClip = _currentClip;

                if (completedClip != null)
                {
                    _ = completedClip.DisposeAsync();
                    _playlist.Remove(completedClip);
                    _currentClip = null;
                    OnClipCompleted?.Invoke(this, completedClip);
                }
            }

            // Check if the current song should be skipped
            if (_shouldSkip)
            {
                _shouldSkip = false;
                _complete();
            }

            // Check if any items need to start preparing
            if (_playlist.Count(p => (p.IsReady || p.IsPreparing) && p != _currentClip) == 0)
            {
                var toPrepare = _playlist.FirstOrDefault(p => !p.IsReady && !p.IsPreparing);
                if (toPrepare != null)
                {
                    _ = toPrepare.PrepareAsync();
                }
            }

            // Set the current clip to the next clip if necessary
            if (_currentClip == null)
            {
                _currentClip = _playlist.FirstOrDefault(p => p.IsReady);
            }

            if (_currentClip == null)
            {
                return(0);
            }

            if (_paused)
            {
                return(0);
            }

            var byteCount = await _currentClip.ReadAsync(outputBuffer, offset, count, cancellationToken);

            if (byteCount == 0)
            {
                _complete();
            }

            return(byteCount);
        }
 public _OutlineButton(
     Key key = null,
     VoidCallback onPressed    = null,
     VoidCallback onLongPress  = null,
     Brightness?brightness     = null,
     ButtonTextTheme?textTheme = null,
     Color textColor           = null,
     Color disabledTextColor   = null,
     Color color                  = null,
     Color focusColor             = null,
     Color hoverColor             = null,
     Color highlightColor         = null,
     Color splashColor            = null,
     float?highlightElevation     = null,
     BorderSide borderSide        = null,
     Color disabledBorderColor    = null,
     Color highlightedBorderColor = null,
     EdgeInsetsGeometry padding   = null,
     VisualDensity visualDensity  = null,
     ShapeBorder shape            = null,
     Clip?clipBehavior            = Clip.none,
     FocusNode focusNode          = null,
     bool autofocus               = false,
     Widget child                 = null
     ) : base(key: key)
 {
     D.assert(highlightElevation != null && highlightElevation >= 0.0f);
     D.assert(highlightedBorderColor != null);
     this.onPressed              = onPressed;
     this.onLongPress            = onLongPress;
     this.brightness             = brightness;
     this.textTheme              = textTheme;
     this.textColor              = textColor;
     this.disabledTextColor      = disabledTextColor;
     this.color                  = color;
     this.focusColor             = focusColor;
     this.hoverColor             = hoverColor;
     this.highlightColor         = highlightColor;
     this.splashColor            = splashColor;
     this.highlightElevation     = highlightElevation;
     this.borderSide             = borderSide;
     this.disabledBorderColor    = disabledBorderColor;
     this.highlightedBorderColor = highlightedBorderColor;
     this.padding                = padding;
     this.visualDensity          = visualDensity;
     this.shape                  = shape;
     this.clipBehavior           = clipBehavior;
     this.focusNode              = focusNode;
     this.autofocus              = autofocus;
     this.child                  = child;
 }
示例#6
0
        public static RaisedButton icon(
            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          = null,
            MaterialTapTargetSize?materialTapTargetSize = null,
            TimeSpan?animationDuration = null,
            Widget icon  = null,
            Widget label = null)
        {
            D.assert(icon != null);
            D.assert(label != null);

            return(new _RaisedButtonWithIcon(
                       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,
                       icon: icon,
                       label: label));
        }
示例#7
0
 public CardTheme(
     Clip?clipBehavior = null,
     Color color       = null,
     float?elevation   = null,
     EdgeInsets margin = null,
     ShapeBorder shape = null
     )
 {
     D.assert(elevation == null || elevation >= 0.0f);
     this.clipBehavior = clipBehavior;
     this.color        = color;
     this.elevation    = elevation;
     this.margin       = margin;
     this.shape        = shape;
 }
示例#8
0
 public BottomSheetThemeData(
     Color backgroundColor      = null,
     float?elevation            = null,
     Color modalBackgroundColor = null,
     float?modalElevation       = null,
     ShapeBorder shape          = null,
     Clip?clipBehavior          = null
     )
 {
     this.backgroundColor      = backgroundColor;
     this.elevation            = elevation;
     this.modalBackgroundColor = modalBackgroundColor;
     this.modalElevation       = modalElevation;
     this.shape        = shape;
     this.clipBehavior = clipBehavior;
 }
示例#9
0
 CardTheme copyWith(
     Clip?clipBehavior = null,
     Color color       = null,
     float?elevation   = null,
     EdgeInsets margin = null,
     ShapeBorder shape = null
     )
 {
     return(new CardTheme(
                clipBehavior: clipBehavior ?? this.clipBehavior,
                color: color ?? this.color,
                elevation: elevation ?? this.elevation,
                margin: margin ?? this.margin,
                shape: shape ?? this.shape
                ));
 }
示例#10
0
 public MaterialButton(
     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,
     double?minWidth            = null,
     double?height = null,
     Widget child  = null
     ) : base(key: key)
 {
     this.onPressed          = onPressed;
     this.onHighlightChanged = onHighlightChanged;
     this.textTheme          = textTheme;
     this.textColor          = textColor;
     this.disabledTextColor  = disabledTextColor;
     this.color                 = color;
     this.disabledColor         = disabledColor;
     this.highlightColor        = highlightColor;
     this.splashColor           = splashColor;
     this.colorBrightness       = colorBrightness;
     this.elevation             = elevation;
     this.highlightElevation    = highlightElevation;
     this.disabledElevation     = disabledElevation;
     this.padding               = padding;
     this.shape                 = shape;
     this.clipBehavior          = clipBehavior;
     this.materialTapTargetSize = materialTapTargetSize;
     this.animationDuration     = animationDuration;
     this.minWidth              = minWidth;
     this.height                = height;
     this.child                 = child;
 }
示例#11
0
 public RaisedButton(
     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 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,
         elevation: elevation,
         highlightElevation: highlightElevation,
         disabledElevation: disabledElevation,
         padding: padding,
         shape: shape,
         clipBehavior: clipBehavior,
         materialTapTargetSize: materialTapTargetSize,
         animationDuration: animationDuration,
         child: child)
 {
     D.assert(elevation == null || elevation >= 0.0);
     D.assert(highlightElevation == null || highlightElevation >= 0.0);
     D.assert(disabledElevation == null || disabledElevation >= 0.0);
 }
示例#12
0
 public _FlatButtonWithIcon(
     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          = null,
     MaterialTapTargetSize?materialTapTargetSize = 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,
         padding: padding,
         shape: shape,
         clipBehavior: clipBehavior,
         materialTapTargetSize: materialTapTargetSize,
         child: new Row(
             mainAxisSize: MainAxisSize.min,
             children: new List <Widget> {
     icon,
     new SizedBox(width: 8.0),
     label
 }
             ))
 {
     D.assert(icon != null);
     D.assert(label != null);
 }
示例#13
0
 public BottomSheetThemeData copyWith(
     Color backgroundColor      = null,
     float?elevation            = null,
     Color modalBackgroundColor = null,
     float?modalElevation       = null,
     ShapeBorder shape          = null,
     Clip?clipBehavior          = null
     )
 {
     return(new BottomSheetThemeData(
                backgroundColor: backgroundColor ?? this.backgroundColor,
                elevation: elevation ?? this.elevation,
                modalBackgroundColor: modalBackgroundColor ?? this.modalBackgroundColor,
                modalElevation: modalElevation ?? this.modalElevation,
                shape: shape ?? this.shape,
                clipBehavior: clipBehavior ?? this.clipBehavior
                ));
 }
示例#14
0
 public _ModalBottomSheet(
     Key key = null,
     _ModalBottomSheetRoute <T> route = null,
     Color backgroundColor            = null,
     float?elevation         = null,
     ShapeBorder shape       = null,
     Clip?clipBehavior       = null,
     bool isScrollControlled = false,
     bool enableDrag         = true
     ) : base(key: key)
 {
     this.route              = route;
     this.backgroundColor    = backgroundColor;
     this.elevation          = elevation;
     this.shape              = shape;
     this.clipBehavior       = clipBehavior;
     this.isScrollControlled = isScrollControlled;
     this.enableDrag         = enableDrag;
 }
示例#15
0
文件: card.cs 项目: JC-ut0/CubeGame
 public Card(
     Key key                 = null,
     Color color             = null,
     float?elevation         = null,
     ShapeBorder shape       = null,
     bool borderOnForeground = true,
     EdgeInsets margin       = null,
     Clip?clipBehavior       = null,
     Widget child            = null) : base(key: key)
 {
     D.assert(elevation == null || elevation >= 0.0f);
     this.color              = color;
     this.elevation          = elevation;
     this.shape              = shape;
     this.borderOnForeground = borderOnForeground;
     this.margin             = margin;
     this.clipBehavior       = clipBehavior;
     this.child              = child;
 }
示例#16
0
        static Widget _transparentInterior(
            ShapeBorder shape = null,
            Clip?clipBehavior = null,
            Widget contents   = null)
        {
            _ShapeBorderPaint child = new _ShapeBorderPaint(
                child: contents,
                shape: shape);

            if (clipBehavior == Clip.none)
            {
                return(child);
            }

            return(new ClipPath(
                       child: child,
                       clipper: new ShapeBorderClipper(shape: shape),
                       clipBehavior: clipBehavior ?? Clip.none
                       ));
        }
示例#17
0
 public _OutlineButton(
     Key key = null,
     VoidCallback onPressed    = null,
     Brightness?brightness     = null,
     ButtonTextTheme?textTheme = null,
     Color textColor           = null,
     Color disabledTextColor   = null,
     Color color                  = null,
     Color highlightColor         = null,
     Color splashColor            = null,
     float?highlightElevation     = null,
     BorderSide borderSide        = null,
     Color disabledBorderColor    = null,
     Color highlightedBorderColor = null,
     EdgeInsets padding           = null,
     ShapeBorder shape            = null,
     Clip?clipBehavior            = Clip.none,
     Widget child                 = null
     ) : base(key: key)
 {
     D.assert(highlightElevation != null && highlightElevation >= 0.0f);
     D.assert(highlightedBorderColor != null);
     this.onPressed              = onPressed;
     this.brightness             = brightness;
     this.textTheme              = textTheme;
     this.textColor              = textColor;
     this.disabledTextColor      = disabledTextColor;
     this.color                  = color;
     this.highlightColor         = highlightColor;
     this.splashColor            = splashColor;
     this.highlightElevation     = highlightElevation;
     this.borderSide             = borderSide;
     this.disabledBorderColor    = disabledBorderColor;
     this.highlightedBorderColor = highlightedBorderColor;
     this.padding                = padding;
     this.shape                  = shape;
     this.clipBehavior           = clipBehavior;
     this.child                  = child;
 }
示例#18
0
        public BottomSheet(
            Key key = null,
            AnimationController animationController = null,
            bool enableDrag = true,
            material_.BottomSheetDragStartHandler onDragStart = null,
            material_.BottomSheetDragEndHandler onDragEnd     = null,
            Color backgroundColor  = null,
            float?elevation        = null,
            ShapeBorder shape      = null,
            Clip?clipBehavior      = null,
            VoidCallback onClosing = null,
            WidgetBuilder builder  = null
            ) : base(key: key)
        {
            D.assert(onClosing != null);
            D.assert(builder != null);
            D.assert(elevation == null || elevation >= 0.0);

            this.animationController = animationController;
            this.enableDrag          = enableDrag;
            this.elevation           = elevation;
            this.onClosing           = onClosing;
            this.builder             = builder;
        }
示例#19
0
 public RaisedButton(
     Key key = null,
     VoidCallback onPressed   = null,
     VoidCallback onLongPress = null,
     ValueChanged <bool> onHighlightChanged = null,
     ButtonTextTheme?textTheme = null,
     Color textColor           = null,
     Color disabledTextColor   = null,
     Color color                 = null,
     Color disabledColor         = null,
     Color focusColor            = null,
     Color hoverColor            = null,
     Color highlightColor        = null,
     Color splashColor           = null,
     Brightness?colorBrightness  = null,
     float?elevation             = null,
     float?focusElevation        = null,
     float?hoverElevation        = null,
     float?highlightElevation    = null,
     float?disabledElevation     = null,
     EdgeInsetsGeometry padding  = null,
     VisualDensity visualDensity = null,
     ShapeBorder shape           = null,
     Clip?clipBehavior           = Clip.none,
     FocusNode focusNode         = null,
     bool autofocus              = false,
     MaterialTapTargetSize?materialTapTargetSize = null,
     TimeSpan?animationDuration = null,
     Widget child = null
     ) : base(
         key: key,
         onPressed: onPressed,
         onLongPress: onLongPress,
         onHighlightChanged: onHighlightChanged,
         textTheme: textTheme,
         textColor: textColor,
         disabledTextColor: disabledTextColor,
         color: color,
         disabledColor: disabledColor,
         focusColor: focusColor,
         hoverColor: hoverColor,
         highlightColor: highlightColor,
         splashColor: splashColor,
         colorBrightness: colorBrightness,
         elevation: elevation,
         focusElevation: focusElevation,
         hoverElevation: hoverElevation,
         highlightElevation: highlightElevation,
         disabledElevation: disabledElevation,
         padding: padding,
         visualDensity: visualDensity,
         shape: shape,
         clipBehavior: clipBehavior,
         focusNode: focusNode,
         autofocus: autofocus,
         materialTapTargetSize: materialTapTargetSize,
         animationDuration: animationDuration,
         child: child)
 {
     D.assert(elevation == null || elevation >= 0.0);
     D.assert(focusElevation == null || focusElevation >= 0.0);
     D.assert(hoverElevation == null || hoverElevation >= 0.0);
     D.assert(highlightElevation == null || highlightElevation >= 0.0);
     D.assert(disabledElevation == null || disabledElevation >= 0.0);
     D.assert(clipBehavior != null);
 }
示例#20
0
 public MaterialButton(
     Key key = null,
     VoidCallback onPressed   = null,
     VoidCallback onLongPress = null,
     ValueChanged <bool> onHighlightChanged = null,
     ButtonTextTheme?textTheme = null,
     Color textColor           = null,
     Color disabledTextColor   = null,
     Color color                 = null,
     Color disabledColor         = null,
     Color focusColor            = null,
     Color hoverColor            = null,
     Color highlightColor        = null,
     Color splashColor           = null,
     Brightness?colorBrightness  = null,
     float?elevation             = null,
     float?focusElevation        = null,
     float?hoverElevation        = null,
     float?highlightElevation    = null,
     float?disabledElevation     = null,
     EdgeInsetsGeometry padding  = null,
     VisualDensity visualDensity = null,
     ShapeBorder shape           = null,
     Clip?clipBehavior           = Clip.none,
     FocusNode focusNode         = null,
     bool?autofocus              = false,
     MaterialTapTargetSize?materialTapTargetSize = null,
     TimeSpan?animationDuration = null,
     float?minWidth             = null,
     float?height        = null,
     bool?enableFeedback = true,
     Widget child        = null
     ) : base(key: key)
 {
     D.assert(clipBehavior != null);
     D.assert(autofocus != null);
     D.assert(elevation == null || elevation >= 0.0f);
     D.assert(focusElevation == null || focusElevation >= 0.0f);
     D.assert(hoverElevation == null || hoverElevation >= 0.0f);
     D.assert(highlightElevation == null || highlightElevation >= 0.0f);
     D.assert(disabledElevation == null || disabledElevation >= 0.0f);
     this.onPressed          = onPressed;
     this.onLongPress        = onLongPress;
     this.onHighlightChanged = onHighlightChanged;
     this.textTheme          = textTheme;
     this.textColor          = textColor;
     this.disabledTextColor  = disabledTextColor;
     this.color                 = color;
     this.disabledColor         = disabledColor;
     this.focusColor            = focusColor;
     this.hoverColor            = hoverColor;
     this.highlightColor        = highlightColor;
     this.splashColor           = splashColor;
     this.colorBrightness       = colorBrightness;
     this.elevation             = elevation;
     this.focusElevation        = focusElevation;
     this.hoverElevation        = hoverElevation;
     this.highlightElevation    = highlightElevation;
     this.disabledElevation     = disabledElevation;
     this.padding               = padding;
     this.visualDensity         = visualDensity;
     this.shape                 = shape;
     this.clipBehavior          = clipBehavior;
     this.focusNode             = focusNode;
     this.materialTapTargetSize = materialTapTargetSize;
     this.animationDuration     = animationDuration;
     this.minWidth              = minWidth;
     this.height                = height;
     this.enableFeedback        = enableFeedback;
     this.child                 = child;
     this.autofocus             = autofocus;
 }
示例#21
0
        public static RaisedButton icon(
            Key key = null,
            VoidCallback onPressed   = null,
            VoidCallback onLongPress = null,
            ValueChanged <bool> onHighlightChanged = null,
            ButtonTextTheme?textTheme = null,
            Color textColor           = null,
            Color disabledTextColor   = null,
            Color color                = null,
            Color disabledColor        = null,
            Color focusColor           = null,
            Color hoverColor           = null,
            Color highlightColor       = null,
            Color splashColor          = null,
            Brightness?colorBrightness = null,
            float?elevation            = null,
            float?highlightElevation   = null,
            float?disabledElevation    = null,
            ShapeBorder shape          = null,
            Clip?clipBehavior          = null,
            FocusNode focusNode        = null,
            bool autofocus             = false,
            EdgeInsetsGeometry padding = null,
            MaterialTapTargetSize?materialTapTargetSize = null,
            TimeSpan?animationDuration = null,
            Widget icon  = null,
            Widget label = null)
        {
            D.assert(icon != null);
            D.assert(label != null);

            clipBehavior = clipBehavior ?? Clip.none;

            return(new _RaisedButtonWithIcon(
                       key: key,
                       onPressed: onPressed,
                       onLongPress: onLongPress,
                       onHighlightChanged: onHighlightChanged,
                       textTheme: textTheme,
                       textColor: textColor,
                       disabledTextColor: disabledTextColor,
                       color: color,
                       disabledColor: disabledColor,
                       focusColor: focusColor,
                       hoverColor: hoverColor,
                       highlightColor: highlightColor,
                       splashColor: splashColor,
                       colorBrightness: colorBrightness,
                       elevation: elevation,
                       highlightElevation: highlightElevation,
                       disabledElevation: disabledElevation,
                       padding: padding,
                       shape: shape,
                       clipBehavior: clipBehavior,
                       focusNode: focusNode,
                       autofocus: autofocus,
                       materialTapTargetSize: materialTapTargetSize,
                       animationDuration: animationDuration,
                       icon: icon,
                       label: label));
        }