call method
Implementation
@override
Object? call(Interpreter interpreter, List<Object?> arguments,
Map<Symbol, Object?> namedArguments) {
Color penColor = Colors.black;
var penColorParsed = namedArguments[const Symbol('penColor')];
if (penColorParsed != null) {
penColor = penColorParsed as Color;
}
double penStrokeWidth =
parseDouble(namedArguments[const Symbol('penStrokeWidth')]) ?? 3.0;
Color? exportBackgroundColor;
var exportBackgroundColorParsed =
namedArguments[const Symbol('exportBackgroundColor')];
if (exportBackgroundColorParsed != null) {
exportBackgroundColor = exportBackgroundColorParsed as Color;
}
Color? exportPenColor;
var exportPenColorParsed = namedArguments[const Symbol('exportPenColor')];
if (exportPenColorParsed != null) {
exportPenColor = exportPenColorParsed as Color;
}
void Function()? onDrawStart;
var onDrawStartParsed = namedArguments[const Symbol('onDrawStart')];
if (onDrawStartParsed != null) {
onDrawStart = () {
(onDrawStartParsed as LoxFunction).call(interpreter, [], {});
};
}
void Function()? onDrawMove;
var onDrawMoveParsed = namedArguments[const Symbol('onDrawMove')];
if (onDrawMoveParsed != null) {
onDrawMove = () {
(onDrawMoveParsed as LoxFunction).call(interpreter, [], {});
};
}
void Function()? onDrawEnd;
var onDrawEndParsed = namedArguments[const Symbol('onDrawEnd')];
if (onDrawEndParsed != null) {
onDrawEnd = () {
(onDrawEndParsed as LoxFunction).call(interpreter, [], {});
};
}
List<Point> points = [];
var pointsParsed = namedArguments[const Symbol('points')];
if (pointsParsed != null) {
points = (pointsParsed as List).cast<Point>();
}
return SignatureControllerIns(
points: points,
onDrawStart: onDrawStart,
onDrawEnd: onDrawEnd,
onDrawMove: onDrawMove,
penStrokeWidth: penStrokeWidth,
penColor: penColor,
exportPenColor: exportPenColor,
exportBackgroundColor: exportBackgroundColor);
}