import 'package:flutter/material.dart'; class QRCodeTheme extends ThemeExtension { final Color qrCodeColor; final Color qrWidgetCopyButtonColor; QRCodeTheme( {required this.qrCodeColor, required this.qrWidgetCopyButtonColor}); @override QRCodeTheme copyWith({Color? qrCodeColor, Color? qrWidgetCopyButtonColor}) => QRCodeTheme( qrCodeColor: qrCodeColor ?? this.qrCodeColor, qrWidgetCopyButtonColor: qrWidgetCopyButtonColor ?? this.qrWidgetCopyButtonColor); @override QRCodeTheme lerp(ThemeExtension? other, double t) { if (other is! QRCodeTheme) { return this; } return QRCodeTheme( qrCodeColor: Color.lerp(qrCodeColor, other.qrCodeColor, t)!, qrWidgetCopyButtonColor: Color.lerp( qrWidgetCopyButtonColor, other.qrWidgetCopyButtonColor, t)!); } }