Class DelegatingTheme

java.lang.Object
com.googlecode.lanterna.graphics.DelegatingTheme
All Implemented Interfaces:
Theme

public class DelegatingTheme extends Object implements Theme
Allows you to more easily wrap an existing theme and alter the behaviour in some special cases. You normally create a new class that extends from this and override some of the methods to divert the call depending on what you are trying to do. For an example, please see Issue409 in the test code.
See Also:
  • Field Details

    • theme

      private final Theme theme
  • Constructor Details

    • DelegatingTheme

      public DelegatingTheme(Theme theme)
      Creates a new DelegatingTheme with a default implementation that will forward all calls to the Theme that is passed in.
      Parameters:
      theme - Other theme to delegate all calls to
  • Method Details

    • getDefaultDefinition

      public ThemeDefinition getDefaultDefinition()
      Description copied from interface: Theme
      Returns what this theme considers to be the default definition
      Specified by:
      getDefaultDefinition in interface Theme
      Returns:
      The default theme definition
    • getDefinition

      public ThemeDefinition getDefinition(Class<?> clazz)
      Description copied from interface: Theme
      Returns the theme definition associated with this class. The implementation of Theme should ensure that this call never returns null, it should always give back a valid value (falling back to the default is nothing else can be used).
      Specified by:
      getDefinition in interface Theme
      Parameters:
      clazz - Class to get the theme definition for
      Returns:
      The ThemeDefinition for the class passed in
    • getWindowPostRenderer

      public WindowPostRenderer getWindowPostRenderer()
      Description copied from interface: Theme
      Returns a post-renderer to invoke after drawing each window, unless the GUI system or individual windows has their own renderers set. If null, no post-renderer will be done (unless the GUI system or the windows has a post-renderer).
      Specified by:
      getWindowPostRenderer in interface Theme
      Returns:
      A WindowPostRenderer to invoke after drawing each window unless overridden, or null if none
    • getWindowDecorationRenderer

      public WindowDecorationRenderer getWindowDecorationRenderer()
      Description copied from interface: Theme
      Returns the WindowDecorationRenderer to use for windows drawn in this theme. If null then lanterna will fall back to use DefaultWindowDecorationRenderer.
      Specified by:
      getWindowDecorationRenderer in interface Theme
      Returns:
      The decoration renderer to use for this theme, or null to use system default