render method

  1. @override
void render(
  1. Canvas canvas
)

Implementation

@override
void render(Canvas canvas) {
  super.render(canvas);

  final bg = isFocused ? backgroundFocused ?? background : background;

  if (bg is SpriteComponent && bg.sprite != null) {
    bg.sprite!.render(canvas, size: size);
  } else if (bg is NineTileBoxComponent && bg.nineTileBox != null) {
    bg.nineTileBox!.draw(canvas, Vector2.zero(), size);
  } else if (bg != null) {
    bg.position = Vector2.zero();
    bg.size = size;
    bg.render(canvas);
  }

  final textOffset = Vector2(
    padding.left,
    (size.y - textStyle.fontSize!) / 2,
  );
  if (_controller.text.isNotEmpty) {
    textPaint.render(canvas, _controller.text, textOffset);
  } else if (hintText?.isNotEmpty == true) {
    hintTextPaint.render(canvas, hintText!, textOffset);
  }
}