Class AbstractPdfShading
- java.lang.Object
-
- com.itextpdf.kernel.pdf.PdfObjectWrapper<PdfDictionary>
-
- com.itextpdf.kernel.pdf.colorspace.shading.AbstractPdfShading
-
- Direct Known Subclasses:
AbstractPdfShadingBlend,AbstractPdfShadingMesh,PdfFunctionBasedShading
public abstract class AbstractPdfShading extends PdfObjectWrapper<PdfDictionary>
The PdfShading class that represents the Shading Dictionary PDF object.
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractPdfShading(PdfDictionary pdfObject)Creates theAbstractPdfShadingobject from the existingPdfDictionary.protectedAbstractPdfShading(PdfDictionary pdfObject, int type, PdfColorSpace colorSpace)Creates theAbstractPdfShadingobject from the existingPdfDictionary, using provided type and colorspace.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidflush()To manually flush aPdfObjectbehind this wrapper, you have to ensure that this object is added to the document, i.e.PdfObjectgetColorSpace()Gets the color space in which colour values shall be expressed.PdfObjectgetFunction()Gets the function PdfObject that represents color transitions across the shading geometry.intgetShadingType()Gets the shading type.protected booleanisWrappedObjectMustBeIndirect()Defines if the object behind this wrapper must be an indirect object in the resultant document.static AbstractPdfShadingmakeShading(PdfDictionary shadingDictionary)Creates theAbstractPdfShadingobject from the existingPdfDictionarywith corresponding type.voidsetFunction(IPdfFunction function)Sets the function that represents color transitions across the shading geometry as one object.voidsetFunction(IPdfFunction[] functions)Sets the function object that represents color transitions across the shading geometry as an array of functions.-
Methods inherited from class com.itextpdf.kernel.pdf.PdfObjectWrapper
ensureObjectIsAddedToDocument, ensureUnderlyingObjectHasIndirectReference, getPdfObject, isFlushed, makeIndirect, makeIndirect, markObjectAsIndirect, setForbidRelease, setModified, setPdfObject, unsetForbidRelease
-
-
-
-
Constructor Detail
-
AbstractPdfShading
protected AbstractPdfShading(PdfDictionary pdfObject)
Creates theAbstractPdfShadingobject from the existingPdfDictionary.- Parameters:
pdfObject-PdfDictionaryfrom which theAbstractPdfShadingobject will be created
-
AbstractPdfShading
protected AbstractPdfShading(PdfDictionary pdfObject, int type, PdfColorSpace colorSpace)
Creates theAbstractPdfShadingobject from the existingPdfDictionary, using provided type and colorspace.- Parameters:
pdfObject-PdfDictionaryfrom which theAbstractPdfShadingobject will be createdtype- type with which thisAbstractPdfShadingobject will be createdcolorSpace-PdfColorSpacewith which thisAbstractPdfShadingobject will be created
-
-
Method Detail
-
makeShading
public static AbstractPdfShading makeShading(PdfDictionary shadingDictionary)
Creates theAbstractPdfShadingobject from the existingPdfDictionarywith corresponding type.- Parameters:
shadingDictionary-PdfDictionaryfrom which theAbstractPdfShadingobject will be created- Returns:
- Created
AbstractPdfShadingobject
-
getShadingType
public int getShadingType()
Gets the shading type.- Returns:
- int value of
PdfName.ShadingType
-
getColorSpace
public PdfObject getColorSpace()
Gets the color space in which colour values shall be expressed.- Returns:
PdfObjectColor space
-
getFunction
public PdfObject getFunction()
Gets the function PdfObject that represents color transitions across the shading geometry.- Returns:
PdfObjectFunction
-
setFunction
public final void setFunction(IPdfFunction function)
Sets the function that represents color transitions across the shading geometry as one object.- Parameters:
function- TheIPdfFunctionto set
-
setFunction
public final void setFunction(IPdfFunction[] functions)
Sets the function object that represents color transitions across the shading geometry as an array of functions.- Parameters:
functions- The array ofIPdfFunctionto be set
-
flush
public final void flush()
To manually flush aPdfObjectbehind this wrapper, you have to ensure that this object is added to the document, i.e. it has an indirect reference. Basically this means that before flushing you need to explicitly callPdfObjectWrapper.makeIndirect(PdfDocument). For example: wrapperInstance.makeIndirect(document).flush(); Note that not every wrapper require this, only those that have such warning in documentation.- Overrides:
flushin classPdfObjectWrapper<PdfDictionary>
-
isWrappedObjectMustBeIndirect
protected boolean isWrappedObjectMustBeIndirect()
Defines if the object behind this wrapper must be an indirect object in the resultant document.
If this method returns true it doesn't necessarily mean that object must be in the indirect state at any moment, but rather defines that when the object will be written to the document it will be transformed into indirect object if it's not indirect yet.
Return value of this method shouldn't depend on any logic, it should return always true or false.- Specified by:
isWrappedObjectMustBeIndirectin classPdfObjectWrapper<PdfDictionary>- Returns:
- true if in the resultant document the object behind the wrapper must be indirect, otherwise false.
-
-