Class LinearGradientSvgNodeRenderer

All Implemented Interfaces:
IBranchSvgNodeRenderer, INoDrawSvgNodeRenderer, ISvgNodeRenderer, ISvgPaintServer

public class LinearGradientSvgNodeRenderer extends AbstractGradientSvgNodeRenderer
ISvgNodeRenderer implementation for the <linearGradient> tag.
  • Field Details

  • Constructor Details

    • LinearGradientSvgNodeRenderer

      public LinearGradientSvgNodeRenderer()
  • Method Details

    • createColor

      public Color createColor(SvgDrawContext context, Rectangle objectBoundingBox, float objectBoundingBoxMargin, float parentOpacity)
      Description copied from interface: ISvgPaintServer
      Creates the Color that represents the corresponding paint server for specified object box.
      Parameters:
      context - the current svg draw context
      objectBoundingBox - the coloring object bounding box without any adjustments (additional stroke width or others)
      objectBoundingBoxMargin - the objectBoundingBoxMargin of the object bounding box to be colored (for example - the part of stroke width that exceeds the object bounding box, i.e. the half of stroke width value)
      parentOpacity - current parent opacity modifier
      Returns:
      the created color
    • createDeepCopy

      public ISvgNodeRenderer createDeepCopy()
      Description copied from interface: ISvgNodeRenderer
      Creates a deep copy of this renderer, including it's subtree of children
      Specified by:
      createDeepCopy in interface ISvgNodeRenderer
      Specified by:
      createDeepCopy in class AbstractBranchSvgNodeRenderer
      Returns:
      deep copy of this renderer
    • getObjectBoundingBox

      public Rectangle getObjectBoundingBox(SvgDrawContext context)
      Description copied from interface: ISvgNodeRenderer
      Calculates the current object bounding box.
      Parameters:
      context - the current context, for instance it contains current viewport and available font data
      Returns:
      the Rectangle representing the current object's bounding box, or null if bounding box is undefined
    • parseStops

      private List<GradientColorStop> parseStops(float parentOpacity)
    • getGradientTransformToUserSpaceOnUse

      private AffineTransform getGradientTransformToUserSpaceOnUse(Rectangle objectBoundingBox, boolean isObjectBoundingBox)
    • getCoordinates

      private Point[] getCoordinates(SvgDrawContext context, boolean isObjectBoundingBox)