call method
Implementation
@override
Object? call(Interpreter interpreter, List<Object?> arguments,
Map<Symbol, Object?> namedArguments) {
TextStyle? style;
var styleParse = namedArguments[const Symbol('style')];
if (styleParse != null) {
style = styleParse as TextStyle;
}
TextAlign? textAlign;
var textAlignParse = namedArguments[const Symbol('textAlign')];
if (textAlignParse != null) {
textAlign = textAlignParse as TextAlign;
}
TextDirection? textDirection;
var textDirectionParse = namedArguments[const Symbol('textDirection')];
if (textDirectionParse != null) {
textDirection = textDirectionParse as TextDirection;
}
bool showCursor = false;
var showCursorParse = namedArguments[const Symbol('showCursor')];
if (showCursorParse != null) {
showCursor = showCursorParse as bool;
}
bool autofocus = false;
var autofocusParse = namedArguments[const Symbol('autofocus')];
if (autofocusParse != null) {
autofocus = autofocusParse as bool;
}
int? minLines;
var minLinesParse = namedArguments[const Symbol('minLines')];
if (minLinesParse != null) {
minLines = minLinesParse as int;
}
int? maxLines;
var maxLinesParse = namedArguments[const Symbol('maxLines')];
if (maxLinesParse != null) {
maxLines = maxLinesParse as int;
}
double cursorWidth =
parseDouble(namedArguments[const Symbol('cursorWidth')]) ?? 2.0;
double? cursorHeight =
parseDouble(namedArguments[const Symbol('cursorHeight')]);
Radius? cursorRadius;
var cursorRadiusParse = namedArguments[const Symbol('cursorRadius')];
if (cursorRadiusParse != null) {
cursorRadius = cursorRadiusParse as Radius;
}
Color? cursorColor;
var cursorColorParse = namedArguments[const Symbol('cursorColor')];
if (cursorColorParse != null) {
cursorColor = cursorColorParse as Color;
}
Widget Function(BuildContext, EditableTextState)? contextMenuBuilder = (
BuildContext context,
EditableTextState editableTextState,
) {
return AdaptiveTextSelectionToolbar.editableText(
editableTextState: editableTextState);
};
var contextMenuBuilderParse =
namedArguments[const Symbol('contextMenuBuilder')];
if (contextMenuBuilderParse != null) {
contextMenuBuilder = (BuildContext b, EditableTextState s) {
return (contextMenuBuilderParse as LoxFunction)
.call(interpreter, [b, EditableTextStateIns(s)], {}) as Widget;
};
}
return SelectableText(
arguments.first as String,
style: style,
textAlign: textAlign,
textDirection: textDirection,
showCursor: showCursor,
autofocus: autofocus,
minLines: minLines,
maxLines: maxLines,
contextMenuBuilder: contextMenuBuilder,
cursorWidth: cursorWidth,
cursorHeight: cursorHeight,
cursorRadius: cursorRadius,
cursorColor: cursorColor,
);
}