resolveState method

FButtonThemeColors resolveState(
  1. FButton<T> btn
)

Implementation

FButtonThemeColors resolveState(FButton<T> btn) {
  ColorD bgColor = bg;
  if (btn.isWidgetDisabled) bgColor = bgDisabled;
  else if (btn.clickState.framesHeld > 0) bgColor = bgClicked;
  else if (btn.clickState.hovered) bgColor = bgHovered;

  ColorD fgColor = fg;
  if (btn.isWidgetDisabled) fgColor = fgDisabled;
  else if (btn.clickState.framesHeld > 0) fgColor = fgClicked;
  else if (btn.clickState.hovered) fgColor = fgHovered;

  ColorD borderColor = border;
  if (btn.isWidgetDisabled) borderColor = borderDisabled;
  else if (btn.clickState.framesHeld > 0) borderColor = borderClicked;
  else if (btn.clickState.hovered) borderColor = borderHovered;

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