Class StrategyBasedLinearGradientBuilder
java.lang.Object
com.itextpdf.kernel.colors.gradients.AbstractLinearGradientBuilder
com.itextpdf.kernel.colors.gradients.StrategyBasedLinearGradientBuilder
The linear gradient builder with automatic coordinates vector evaluation for the target filled area based on configured strategy
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
Specifies the predefined strategies -
Field Summary
Fields inherited from class com.itextpdf.kernel.colors.gradients.AbstractLinearGradientBuilder
ZERO_EPSILON
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionGet the last set predefined strategyprotected Point[]
getGradientVector
(Rectangle targetBoundingBox, AffineTransform contextTransform) Returns the base gradient vector in gradient vector space.double
Get the last set rotate vector angleboolean
Is the central rotation angle strategy was set lastsetGradientDirectionAsCentralRotationAngle
(double radians) Set the strategy to use the minimal coordinates vector that passes through the central point of the target rectangle area, rotated by the specified amount of radians counter clockwise and covers the area to be filled.setGradientDirectionAsStrategy
(StrategyBasedLinearGradientBuilder.GradientStrategy gradientStrategy) Set the strategy to predefined oneMethods inherited from class com.itextpdf.kernel.colors.gradients.AbstractLinearGradientBuilder
addColorStop, buildColor, createCoordinatesForNewDomain, evaluateCoveringDomain, getColorStops, getCurrentSpaceToGradientVectorSpaceTransformation, getSpreadMethod, setSpreadMethod
-
Constructor Details
-
StrategyBasedLinearGradientBuilder
public StrategyBasedLinearGradientBuilder()Create a new instance of the builder
-
-
Method Details
-
setGradientDirectionAsCentralRotationAngle
public StrategyBasedLinearGradientBuilder setGradientDirectionAsCentralRotationAngle(double radians) Set the strategy to use the minimal coordinates vector that passes through the central point of the target rectangle area, rotated by the specified amount of radians counter clockwise and covers the area to be filled. Zero angle corresponds to the vector from bottom to top.- Parameters:
-
radians
- the radians value to rotate the coordinates vector - Returns:
- the current builder instance
-
setGradientDirectionAsStrategy
public StrategyBasedLinearGradientBuilder setGradientDirectionAsStrategy(StrategyBasedLinearGradientBuilder.GradientStrategy gradientStrategy) Set the strategy to predefined one- Parameters:
-
gradientStrategy
- the strategy to set - Returns:
- the current builder instance
-
getRotateVectorAngle
public double getRotateVectorAngle()Get the last set rotate vector angle- Returns:
- the last set rotate vector angle
-
getGradientStrategy
Get the last set predefined strategy- Returns:
- the last set predefined strategy
-
isCentralRotationAngleStrategy
public boolean isCentralRotationAngleStrategy()Is the central rotation angle strategy was set last- Returns:
-
true
if the last strategy that has been set is a custom rotation angle
-
getGradientVector
Description copied from class:AbstractLinearGradientBuilder
Returns the base gradient vector in gradient vector space. This vector would be set as shading coordinates vector and its length would be used to translate all color stops absolute offsets into the relatives.- Specified by:
-
getGradientVector
in classAbstractLinearGradientBuilder
- Parameters:
-
targetBoundingBox
- the rectangle to be covered by constructed color in current space -
contextTransform
- the current canvas transformation - Returns:
- the array of exactly two elements specifying the gradient coordinates vector
-