Class FractionBasedSurfacePainter

java.lang.Object
org.pushingpixels.radiance.theming.api.painter.FractionBasedPainter
org.pushingpixels.radiance.theming.api.painter.surface.FractionBasedSurfacePainter
All Implemented Interfaces:
RadianceSurfacePainter, RadianceTrait
Direct Known Subclasses:
ClassicSurfacePainter, GlassSurfacePainter, MatteSurfacePainter

public class FractionBasedSurfacePainter extends FractionBasedPainter implements RadianceSurfacePainter
Surface painter with fraction-based stops and a color query associated with each stop. This class allows creating multi-gradient fills with exact control over which color is used at every gradient control point.
  • Constructor Details

    • FractionBasedSurfacePainter

      public FractionBasedSurfacePainter(String displayName, float[] fractions, ContainerColorTokensSingleColorQuery[] colorQueries)
      Creates a new fraction-based surface painter.
      Parameters:
      displayName - The display name of this painter.
      fractions - The fractions of this painter. Must be strictly increasing, starting from 0.0 and ending at 1.0.
      colorQueries - The color queries of this painter. Must have the same size as the fractions array, and all entries must be non- null.
  • Method Details

    • paintSurface

      public void paintSurface(Graphics g, Component comp, float width, float height, Shape outline, ContainerColorTokens colorTokens)
      Description copied from interface: RadianceSurfacePainter
      Fills the surface defined by the specified outline.
      Specified by:
      paintSurface in interface RadianceSurfacePainter
      Parameters:
      g - Graphics context.
      comp - Component to paint.
      width - Width of a UI component.
      height - Height of a UI component.
      outline - Outline of a UI component.
      colorTokens - Color tokens.