Class CanvasObjectFactory

  • Direct Known Subclasses:
    DatasetCanvasObjectFactory

    public abstract class CanvasObjectFactory
    extends Object
    Abstract utility class which creates a canvas gradient and pattern java script objects using a Charba gradient or pattern.
    A Charba gradient or pattern describes how a canvas gradient or pattern must be created.
    Author:
    Andrea "Stock" Stocchero
    See Also:
    Gradient, Pattern, CanvasGradientItem, CanvasPatternItem
    • Constructor Detail

      • CanvasObjectFactory

        protected CanvasObjectFactory​(Key scope)
        Creates the object using the scope of this factory.
        Parameters:
        scope - scope of this factory
    • Method Detail

      • getScope

        public final Key getScope()
        Returns the scope of this factory.
        Returns:
        the scope of this factory
      • createPattern

        public final CanvasPatternItem createPattern​(IsChart chart,
                                                     Pattern pattern)
        Creates a canvas pattern java script object using a Charba pattern and a chart instance which must provide a canvas instance and its context.
        Parameters:
        chart - chart instance which must provide a canvas instance and its context
        pattern - pattern instance created at configuration level
        Returns:
        a canvas pattern
      • resetGradients

        public final void resetGradients​(IsChart chart)
        Removes from cache all loaded gradients, needed during the resize of chart.
        Parameters:
        chart - chart instance on which removes all loaded gradients
      • clear

        public final void clear​(IsChart chart)
        Clears the cache of loaded patterns and gradients, needed when a chart is destroy.
        Parameters:
        chart - chart instance on which removes all loaded objects.
      • createGradient

        public final CanvasGradientItem createGradient​(IsChart chart,
                                                       Gradient gradient,
                                                       int datasetIndex)
        Creates a canvas gradient java script object using a Charba gradient and a chart instance which must provide a canvas instance and its context.
        Parameters:
        chart - chart instance which must provide a canvas instance and its context
        gradient - gradient instance created at configuration level
        datasetIndex - data set index
        Returns:
        a canvas gradient
      • getArea

        protected abstract Area getArea​(IsChart chart,
                                        Gradient gradient)
        Returns an area object used to define the area of LINEAR gradient.
        Parameters:
        chart - chart instance
        gradient - gradient instance
        Returns:
        an area object used to define the area of LINEAR gradient
      • getCenter

        protected abstract Center getCenter​(IsChart chart,
                                            Gradient gradient,
                                            int datasetIndex)
        Returns the coordinates of a center of arc for RADIAL gradient.
        Parameters:
        chart - chart instance
        gradient - gradient instance
        datasetIndex - data set index
        Returns:
        the coordinates of a center of arc
      • getRadius

        protected abstract Radius getRadius​(IsChart chart,
                                            Gradient gradient,
                                            int datasetIndex)
        Returns the inner and outer radius of arc for RADIAL gradient.
        Parameters:
        chart - chart instance
        gradient - gradient instance
        datasetIndex - data set index
        Returns:
        the inner and outer radius of arc