예제 #1
0
 public TextTheme copyWith(
     TextStyle display4 = null,
     TextStyle display3 = null,
     TextStyle display2 = null,
     TextStyle display1 = null,
     TextStyle headline = null,
     TextStyle title    = null,
     TextStyle subhead  = null,
     TextStyle body2    = null,
     TextStyle body1    = null,
     TextStyle caption  = null,
     TextStyle button   = null,
     TextStyle subtitle = null,
     TextStyle overline = null
     )
 {
     return(new TextTheme(
                display4: display4 ?? this.display4,
                display3: display3 ?? this.display3,
                display2: display2 ?? this.display2,
                display1: display1 ?? this.display1,
                headline: headline ?? this.headline,
                title: title ?? this.title,
                subhead: subhead ?? this.subhead,
                body2: body2 ?? this.body2,
                body1: body1 ?? this.body1,
                caption: caption ?? this.caption,
                button: button ?? this.button,
                subtitle: subtitle ?? this.subtitle,
                overline: overline ?? this.overline
                ));
 }
예제 #2
0
 public CupertinoTextThemeData copyWith(
     Color primaryColor                = null,
     TextStyle textStyle               = null,
     TextStyle actionTextStyle         = null,
     TextStyle tabLabelTextStyle       = null,
     TextStyle navTitleTextStyle       = null,
     TextStyle navLargeTitleTextStyle  = null,
     TextStyle navActionTextStyle      = null,
     TextStyle pickerTextStyle         = null,
     TextStyle dateTimePickerTextStyle = null
     )
 {
     return(new CupertinoTextThemeData(
                _defaults,
                primaryColor: primaryColor ?? _primaryColor,
                textStyle: textStyle ?? _textStyle,
                actionTextStyle: actionTextStyle ?? _actionTextStyle,
                tabLabelTextStyle: tabLabelTextStyle ?? _tabLabelTextStyle,
                navTitleTextStyle: navTitleTextStyle ?? _navTitleTextStyle,
                navLargeTitleTextStyle: navLargeTitleTextStyle ?? _navLargeTitleTextStyle,
                navActionTextStyle: navActionTextStyle ?? _navActionTextStyle,
                pickerTextStyle ?? _pickerTextStyle,
                dateTimePickerTextStyle ?? _dateTimePickerTextStyle
                ));
 }
예제 #3
0
 public TextTheme(
     TextStyle display4 = null,
     TextStyle display3 = null,
     TextStyle display2 = null,
     TextStyle display1 = null,
     TextStyle headline = null,
     TextStyle title    = null,
     TextStyle subhead  = null,
     TextStyle body2    = null,
     TextStyle body1    = null,
     TextStyle caption  = null,
     TextStyle button   = null,
     TextStyle subtitle = null,
     TextStyle overline = null
     )
 {
     this.display4 = display4;
     this.display3 = display3;
     this.display2 = display2;
     this.display1 = display1;
     this.headline = headline;
     this.title    = title;
     this.subhead  = subhead;
     this.body2    = body2;
     this.body1    = body1;
     this.caption  = caption;
     this.button   = button;
     this.subtitle = subtitle;
     this.overline = overline;
 }
예제 #4
0
 public CupertinoTextThemeData(
     _TextThemeDefaultsBuilder defaults = null,
     Color primaryColor                = null,
     TextStyle textStyle               = null,
     TextStyle actionTextStyle         = null,
     TextStyle tabLabelTextStyle       = null,
     TextStyle navTitleTextStyle       = null,
     TextStyle navLargeTitleTextStyle  = null,
     TextStyle navActionTextStyle      = null,
     TextStyle pickerTextStyle         = null,
     TextStyle dateTimePickerTextStyle = null
     )
 {
     _defaults     = defaults ?? new _TextThemeDefaultsBuilder(CupertinoColors.label, CupertinoColors.inactiveGray);
     _primaryColor = primaryColor ?? CupertinoColors.systemBlue;
     D.assert((_navActionTextStyle != null && _actionTextStyle != null) || _primaryColor != null);
     _textStyle               = textStyle;
     _actionTextStyle         = actionTextStyle;
     _tabLabelTextStyle       = tabLabelTextStyle;
     _navTitleTextStyle       = navTitleTextStyle;
     _navLargeTitleTextStyle  = navLargeTitleTextStyle;
     _navActionTextStyle      = navActionTextStyle;
     _pickerTextStyle         = pickerTextStyle;
     _dateTimePickerTextStyle = dateTimePickerTextStyle;
 }
예제 #5
0
        public static CupertinoTextThemeData _raw(
            _TextThemeDefaultsBuilder _defaults,
            Color primaryColor,
            TextStyle textStyle,
            TextStyle actionTextStyle,
            TextStyle tabLabelTextStyle,
            TextStyle navTitleTextStyle,
            TextStyle navLargeTitleTextStyle,
            TextStyle navActionTextStyle,
            TextStyle pickerTextStyle,
            TextStyle dateTimePickerTextStyle
            )
        {
            var textThemeData = new CupertinoTextThemeData(
                _defaults,
                primaryColor,
                textStyle,
                actionTextStyle,
                tabLabelTextStyle,
                navTitleTextStyle,
                navLargeTitleTextStyle,
                navActionTextStyle,
                pickerTextStyle,
                dateTimePickerTextStyle
                );

            return(textThemeData);
        }
예제 #6
0
 public static TextStyle _resolveTextStyle(TextStyle style, BuildContext context, bool nullOk)
 {
     return(style?.copyWith(
                color: CupertinoDynamicColor.resolve(style?.color, context, nullOk: nullOk),
                backgroundColor: CupertinoDynamicColor.resolve(style?.backgroundColor, context, nullOk: nullOk),
                decorationColor: CupertinoDynamicColor.resolve(style?.decorationColor, context, nullOk: nullOk)
                ));
 }
예제 #7
0
 public TextTheme copyWith(
     TextStyle headline1 = null,
     TextStyle headline2 = null,
     TextStyle headline3 = null,
     TextStyle headline4 = null,
     TextStyle headline5 = null,
     TextStyle headline6 = null,
     TextStyle subtitle1 = null,
     TextStyle subtitle2 = null,
     TextStyle bodyText1 = null,
     TextStyle bodyText2 = null,
     TextStyle caption   = null,
     TextStyle button    = null,
     TextStyle overline  = null,
     TextStyle display4  = null,
     TextStyle display3  = null,
     TextStyle display2  = null,
     TextStyle display1  = null,
     TextStyle headline  = null,
     TextStyle title     = null,
     TextStyle subhead   = null,
     TextStyle subtitle  = null,
     TextStyle body2     = null,
     TextStyle body1     = null
     )
 {
     D.assert(
         (headline1 == null && headline2 == null && headline3 == null && headline4 == null &&
          headline5 == null && headline6 == null &&
          subtitle1 == null && subtitle2 == null &&
          bodyText1 == null && bodyText2 == null) ||
         (display4 == null && display3 == null && display2 == null && display1 == null && headline == null &&
          title == null &&
          subhead == null && subtitle == null &&
          body2 == null && body1 == null),
         () => "Cannot mix 2014 and 2018 terms in call to TextTheme.copyWith().");
     return(new TextTheme(
                headline1: headline1 ?? display4 ?? this.headline1,
                headline2: headline2 ?? display3 ?? this.headline2,
                headline3: headline3 ?? display2 ?? this.headline3,
                headline4: headline4 ?? display1 ?? this.headline4,
                headline5: headline5 ?? headline ?? this.headline5,
                headline6: headline6 ?? title ?? this.headline6,
                subtitle1: subtitle1 ?? subhead ?? this.subtitle1,
                subtitle2: subtitle2 ?? subtitle ?? this.subtitle2,
                bodyText1: bodyText1 ?? body2 ?? this.bodyText1,
                bodyText2: bodyText2 ?? body1 ?? this.bodyText2,
                caption: caption ?? this.caption,
                button: button ?? this.button,
                overline: overline ?? this.overline
                ));
 }
예제 #8
0
        public TextTheme(
            TextStyle headline1 = null,
            TextStyle headline2 = null,
            TextStyle headline3 = null,
            TextStyle headline4 = null,
            TextStyle headline5 = null,
            TextStyle headline6 = null,
            TextStyle subtitle1 = null,
            TextStyle subtitle2 = null,
            TextStyle bodyText1 = null,
            TextStyle bodyText2 = null,
            TextStyle display4  = null,
            TextStyle display3  = null,
            TextStyle display2  = null,
            TextStyle display1  = null,
            TextStyle headline  = null,
            TextStyle title     = null,
            TextStyle subhead   = null,
            TextStyle body2     = null,
            TextStyle body1     = null,
            TextStyle caption   = null,
            TextStyle button    = null,
            TextStyle subtitle  = null,
            TextStyle overline  = null
            )
        {
            D.assert(
                (headline1 == null && headline2 == null && headline3 == null && headline4 == null &&
                 headline5 == null && headline6 == null &&
                 subtitle1 == null && subtitle2 == null &&
                 bodyText1 == null && bodyText2 == null) ||
                (display4 == null && display3 == null && display2 == null && display1 == null && headline == null &&
                 title == null &&
                 subhead == null && subtitle == null &&
                 body2 == null && body1 == null),
                () => "Cannot mix 2014 and 2018 terms in call to TextTheme() constructor.");
            this.headline1 = headline1 ?? display4;
            this.headline2 = headline2 ?? display3;
            this.headline3 = headline3 ?? display2;
            this.headline4 = headline4 ?? display1;
            this.headline5 = headline5 ?? headline;
            this.headline6 = headline6 ?? title;
            this.subtitle1 = subtitle1 ?? subhead;
            this.subtitle2 = subtitle2 ?? subtitle;
            this.bodyText1 = bodyText1 ?? body2;
            this.bodyText2 = bodyText2 ?? body1;

            this.caption  = caption;
            this.button   = button;
            this.overline = overline;
        }
예제 #9
0
 public static TextTheme lerp(TextTheme a, TextTheme b, float t)
 {
     return(new TextTheme(
                display4: TextStyle.lerp(a?.display4, b?.display4, t),
                display3: TextStyle.lerp(a?.display3, b?.display3, t),
                display2: TextStyle.lerp(a?.display2, b?.display2, t),
                display1: TextStyle.lerp(a?.display1, b?.display1, t),
                headline: TextStyle.lerp(a?.headline, b?.headline, t),
                title: TextStyle.lerp(a?.title, b?.title, t),
                subhead: TextStyle.lerp(a?.subhead, b?.subhead, t),
                body2: TextStyle.lerp(a?.body2, b?.body2, t),
                body1: TextStyle.lerp(a?.body1, b?.body1, t),
                caption: TextStyle.lerp(a?.caption, b?.caption, t),
                button: TextStyle.lerp(a?.button, b?.button, t),
                subtitle: TextStyle.lerp(a?.subtitle, b?.subtitle, t),
                overline: TextStyle.lerp(a?.overline, b?.overline, t)
                ));
 }
예제 #10
0
 public static TextTheme lerp(TextTheme a, TextTheme b, float t)
 {
     return(new TextTheme(
                headline1: TextStyle.lerp(a?.headline1, b?.headline1, t),
                headline2: TextStyle.lerp(a?.headline2, b?.headline2, t),
                headline3: TextStyle.lerp(a?.headline3, b?.headline3, t),
                headline4: TextStyle.lerp(a?.headline4, b?.headline4, t),
                headline5: TextStyle.lerp(a?.headline5, b?.headline5, t),
                headline6: TextStyle.lerp(a?.headline6, b?.headline6, t),
                subtitle1: TextStyle.lerp(a?.subtitle1, b?.subtitle1, t),
                subtitle2: TextStyle.lerp(a?.subtitle2, b?.subtitle2, t),
                bodyText1: TextStyle.lerp(a?.bodyText1, b?.bodyText1, t),
                bodyText2: TextStyle.lerp(a?.bodyText2, b?.bodyText2, t),
                caption: TextStyle.lerp(a?.caption, b?.caption, t),
                button: TextStyle.lerp(a?.button, b?.button, t),
                overline: TextStyle.lerp(a?.overline, b?.overline, t)
                ));
 }
예제 #11
0
 public CupertinoTextThemeData(
     Color primaryColor               = null,
     Brightness?brightness            = null,
     TextStyle textStyle              = null,
     TextStyle actionTextStyle        = null,
     TextStyle tabLabelTextStyle      = null,
     TextStyle navTitleTextStyle      = null,
     TextStyle navLargeTitleTextStyle = null,
     TextStyle navActionTextStyle     = null
     )
 {
     this._primaryColor           = primaryColor ?? CupertinoColors.activeBlue;
     this._brightness             = brightness;
     this._textStyle              = textStyle;
     this._actionTextStyle        = actionTextStyle;
     this._tabLabelTextStyle      = tabLabelTextStyle;
     this._navTitleTextStyle      = navTitleTextStyle;
     this._navLargeTitleTextStyle = navLargeTitleTextStyle;
     this._navActionTextStyle     = navActionTextStyle;
 }
예제 #12
0
 public static TextTheme lerp(TextTheme a, TextTheme b, float t)
 {
     D.assert(a != null);
     D.assert(b != null);
     return(new TextTheme(
                display4: TextStyle.lerp(a.display4, b.display4, t),
                display3: TextStyle.lerp(a.display3, b.display3, t),
                display2: TextStyle.lerp(a.display2, b.display2, t),
                display1: TextStyle.lerp(a.display1, b.display1, t),
                headline: TextStyle.lerp(a.headline, b.headline, t),
                title: TextStyle.lerp(a.title, b.title, t),
                subhead: TextStyle.lerp(a.subhead, b.subhead, t),
                body2: TextStyle.lerp(a.body2, b.body2, t),
                body1: TextStyle.lerp(a.body1, b.body1, t),
                caption: TextStyle.lerp(a.caption, b.caption, t),
                button: TextStyle.lerp(a.button, b.button, t),
                subtitle: TextStyle.lerp(a.subtitle, b.subtitle, t),
                overline: TextStyle.lerp(a.overline, b.overline, t)
                ));
 }
예제 #13
0
 public CupertinoTextThemeData copyWith(
     Color primaryColor,
     Brightness?brightness,
     TextStyle textStyle,
     TextStyle actionTextStyle,
     TextStyle tabLabelTextStyle,
     TextStyle navTitleTextStyle,
     TextStyle navLargeTitleTextStyle,
     TextStyle navActionTextStyle
     )
 {
     return(new CupertinoTextThemeData(
                primaryColor: primaryColor ?? this._primaryColor,
                brightness: brightness ?? this._brightness,
                textStyle: textStyle ?? this._textStyle,
                actionTextStyle: actionTextStyle ?? this._actionTextStyle,
                tabLabelTextStyle: tabLabelTextStyle ?? this._tabLabelTextStyle,
                navTitleTextStyle: navTitleTextStyle ?? this._navTitleTextStyle,
                navLargeTitleTextStyle: navLargeTitleTextStyle ?? this._navLargeTitleTextStyle,
                navActionTextStyle: navActionTextStyle ?? this._navActionTextStyle
                ));
 }
예제 #14
0
 public static TextStyle _applyLabelColor(TextStyle original, Color color)
 {
     return(original?.color == color
         ?  original
         :  original?.copyWith(color: color));
 }