resolveState method

FTextInputThemeColors resolveState(
  1. FTextInput<T> input
)

Implementation

FTextInputThemeColors resolveState(FTextInput<T> input) {
  ColorD bgColor = bg;
  if (input.isWidgetDisabled) bgColor = bgDisabled;
  else if (input.isFocused)   bgColor = bgFocused;
  else if (input._hovered)    bgColor = bgHovered;

  ColorD fgColor = fg;
  if (input.isWidgetDisabled) fgColor = fgDisabled;
  else if (input.isFocused)   fgColor = fgFocused;
  else if (input._hovered)    fgColor = fgHovered;

  ColorD borderColor = border;
  if (input.isWidgetDisabled) borderColor = borderDisabled;
  else if (input.isFocused)   borderColor = borderFocused;
  else if (input._hovered)    borderColor = borderHovered;

  return .new(
    bg:          bgColor,
    fg:          fgColor,
    border:      borderColor,
    placeholder: placeholder,
    cursor:      cursor,
    selection:   selection,
  );
}