# Interface SyThemeComponentType

public interface SyThemeComponentType
A theme component.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `SyFontType`
  `font(SyThemeContextType context, SyComponentReadableType component)`
  Determine the font that should be used for a component.
  `SyRenderNodeType`
  `render(SyThemeContextType context, SyComponentReadableType component)`
  Produce a render node for a component.
  `default Optional<com.io7m.jregions.core.parameterized.sizes.PAreaSizeI<SySpaceParentRelativeType>>`
  `size(SyThemeContextType context, SyComponentReadableType component)`
  Produce a size for the component, if the theme defines one.

- ## Method Details

  - ### size

    default Optional<com.io7m.jregions.core.parameterized.sizes.PAreaSizeI<SySpaceParentRelativeType>> size(SyThemeContextType context, SyComponentReadableType component)
    Produce a size for the component, if the theme defines one.
    Parameters:
      `context` - The theme context
      `component` - The component
    Returns:
      The size, if the theme defines one

  - ### render

    SyRenderNodeType render(SyThemeContextType context, SyComponentReadableType component)
    Produce a render node for a component.
    Parameters:
      `context` - The theme context
      `component` - The component
    Returns:
      A render node

  - ### font

    SyFontType font(SyThemeContextType context, SyComponentReadableType component)
    Determine the font that should be used for a component.
    Parameters:
      `context` - The theme context
      `component` - The component
    Returns:
      A font