toJson method
Abstract function that concrete classes must implement. This must encode the internal data model to a JSON compatible representation.
While not required, it is suggested to call removeNull before returning.
Implementation
@override
Map<String, dynamic> toJson() {
return JsonClass.removeNull({
'alignment':
Alignment.center == alignment
? null
: ThemeEncoder.encodeAlignment(alignment),
'cacheHeight': cacheHeight,
'cacheWidth': cacheWidth,
'centerSlice': ThemeEncoder.encodeRect(centerSlice),
'color': ThemeEncoder.encodeColor(color),
'colorBlendMode': ThemeEncoder.encodeBlendMode(colorBlendMode),
'errorBuilder': errorBuilder,
'excludeFromSemantics':
false == excludeFromSemantics ? null : excludeFromSemantics,
'filterQuality':
FilterQuality.low == filterQuality
? null
: ThemeEncoder.encodeFilterQuality(filterQuality),
'fit': ThemeEncoder.encodeBoxFit(fit),
'frameBuilder': frameBuilder,
'gaplessPlayback': false == gaplessPlayback ? null : gaplessPlayback,
'height': height,
'image': image,
'isAntiAlias': false == isAntiAlias ? null : isAntiAlias,
'matchTextDirection':
false == matchTextDirection ? null : matchTextDirection,
'opacity': opacity,
'repeat':
ImageRepeat.noRepeat == repeat
? null
: ThemeEncoder.encodeImageRepeat(repeat),
'scale': 1.0 == scale ? null : scale,
'semanticLabel': semanticLabel,
'width': width,
...args,
});
}