call method

  1. @override
Object? call(
  1. Interpreter interpreter,
  2. List<Object?> arguments,
  3. Map<Symbol, Object?> namedArguments
)
override

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,
  );
}