PDFShadingMeshes.java 9 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  com.adobe.internal.pdftoolkit.core.cos.CosArray
 *  com.adobe.internal.pdftoolkit.core.cos.CosDictionary
 *  com.adobe.internal.pdftoolkit.core.cos.CosObject
 *  com.adobe.internal.pdftoolkit.core.exceptions.PDFIOException
 *  com.adobe.internal.pdftoolkit.core.exceptions.PDFInvalidDocumentException
 *  com.adobe.internal.pdftoolkit.core.exceptions.PDFInvalidParameterException
 *  com.adobe.internal.pdftoolkit.core.exceptions.PDFSecurityException
 *  com.adobe.internal.pdftoolkit.core.types.ASName
 */
package com.adobe.internal.pdftoolkit.pdf.graphics.shading;

import com.adobe.internal.pdftoolkit.core.cos.CosArray;
import com.adobe.internal.pdftoolkit.core.cos.CosDictionary;
import com.adobe.internal.pdftoolkit.core.cos.CosObject;
import com.adobe.internal.pdftoolkit.core.exceptions.PDFIOException;
import com.adobe.internal.pdftoolkit.core.exceptions.PDFInvalidDocumentException;
import com.adobe.internal.pdftoolkit.core.exceptions.PDFInvalidParameterException;
import com.adobe.internal.pdftoolkit.core.exceptions.PDFSecurityException;
import com.adobe.internal.pdftoolkit.core.types.ASName;
import com.adobe.internal.pdftoolkit.pdf.document.PDFCosDictionary;
import com.adobe.internal.pdftoolkit.pdf.document.PDFCosObject;
import com.adobe.internal.pdftoolkit.pdf.document.PDFCosStream;
import com.adobe.internal.pdftoolkit.pdf.document.PDFDocument;
import com.adobe.internal.pdftoolkit.pdf.graphics.PDFFunction;
import com.adobe.internal.pdftoolkit.pdf.graphics.PDFFunctionFactory;
import com.adobe.internal.pdftoolkit.pdf.graphics.PDFFunctionsArray;
import com.adobe.internal.pdftoolkit.pdf.graphics.PDFRectangle;
import com.adobe.internal.pdftoolkit.pdf.graphics.colorspaces.PDFColorSpace;
import com.adobe.internal.pdftoolkit.pdf.graphics.colorspaces.PDFColorSpaceFactory;
import com.adobe.internal.pdftoolkit.pdf.graphics.shading.PDFShading;
import java.util.ArrayList;
import java.util.List;

public abstract class PDFShadingMeshes
extends PDFCosStream
implements PDFShading {
    protected PDFShadingMeshes(CosObject cosObject) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        super(cosObject);
    }

    public CosArray getDecode() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        return this.getDictionaryArrayValue(ASName.k_Decode);
    }

    public void setDecode(CosArray value) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException, PDFInvalidParameterException {
        this.setDictionaryValue(ASName.k_Decode, (CosObject)value);
    }

    public boolean hasDecode() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        return this.dictionaryContains(ASName.k_Decode);
    }

    public int getBitsPerComponent() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        return this.getDictionaryIntValue(ASName.k_BitsPerComponent);
    }

    public void setBitsPerComponent(int value) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        this.setDictionaryIntValue(ASName.k_BitsPerComponent, value);
    }

    public int requireBitsPerComponent() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        return this.getDictionaryIntValue(ASName.k_BitsPerComponent);
    }

    public boolean hasBitsPerComponent() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        return this.dictionaryContains(ASName.k_BitsPerComponent);
    }

    public int getBitsPerCoordinate() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        return this.getDictionaryIntValue(ASName.k_BitsPerCoordinate);
    }

    public void setBitsPerCoordinate(int value) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        this.setDictionaryIntValue(ASName.k_BitsPerCoordinate, value);
    }

    public int requireBitsPerCoordinate() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        return this.getDictionaryIntValue(ASName.k_BitsPerCoordinate);
    }

    public boolean hasBitsPerCoordinate() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        return this.dictionaryContains(ASName.k_BitsPerCoordinate);
    }

    public PDFColorSpace getColorSpace() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        return PDFColorSpaceFactory.getInstance(this.getCosDictionary().get(ASName.k_ColorSpace));
    }

    public void setColorSpace(PDFColorSpace children) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException, PDFInvalidParameterException {
        if (children == null) {
            throw new PDFInvalidParameterException("ColorSpace is a required key");
        }
        this.setDictionaryArrayValue(ASName.k_ColorSpace, children.getCosArray());
    }

    public PDFRectangle getBBox() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        return PDFRectangle.getInstance(this.getDictionaryCosObjectValue(ASName.k_BBox));
    }

    public void setBBox(PDFRectangle rect) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        if (rect == null) {
            this.removeValue(ASName.k_BBox);
        } else {
            this.setDictionaryArrayValue(ASName.k_BBox, rect.getCosArray());
        }
    }

    public void setBBox(double llx, double lly, double urx, double ury) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        ArrayList<Double> rectArray = new ArrayList<Double>(4);
        rectArray.add(0, llx);
        rectArray.add(1, lly);
        rectArray.add(2, urx);
        rectArray.add(3, ury);
        this.setDictionaryArrayValue(ASName.k_BBox, rectArray);
    }

    public double[] getBackground() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        return this.getDictionaryArrayValue(ASName.k_Background).getArrayDouble();
    }

    protected void setBackground(double[] value) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException, PDFInvalidParameterException {
        this.setDictionaryArrayValue(ASName.k_Background, value);
    }

    public boolean getAntiAlias() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        return this.getDictionaryBooleanValue(ASName.k_AntiAlias);
    }

    protected void setAntiAlias(boolean value) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException, PDFInvalidParameterException {
        this.setDictionaryBooleanValue(ASName.k_AntiAlias, value);
    }

    protected void setShadingType(long shadingType) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        this.setDictionaryIntValue(ASName.k_ShadingType, shadingType);
    }

    public boolean hasShadingType() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        return this.dictionaryContains(ASName.k_ShadingType);
    }

    public int requireShadingType() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        return this.getDictionaryIntValue(ASName.k_ShadingType);
    }

    public int getShadingType() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        return this.getDictionaryIntValue(ASName.k_ShadingType);
    }

    public PDFFunctionsArray getFunction() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        CosObject cosObject = this.getDictionaryCosObjectValue(ASName.k_Function);
        if (cosObject instanceof CosArray) {
            return PDFFunctionsArray.getInstance(cosObject);
        }
        PDFFunctionsArray pdfFunctionArray = PDFFunctionsArray.newInstance(this.getPDFDocument());
        pdfFunctionArray.add(PDFFunctionFactory.getInstance(cosObject));
        return pdfFunctionArray;
    }

    public boolean hasFunction() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        return this.dictionaryContains(ASName.k_Function);
    }

    protected void setFunctionArray(PDFFunction value, boolean requiredType) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException, PDFInvalidParameterException {
        if (value == null && requiredType) {
            throw new PDFInvalidParameterException("FunctionArray is a required key therefore cannot be removed.");
        }
        this.setDictionaryValue(ASName.k_Function, value);
    }

    protected void setFunctionArray(PDFFunctionsArray children, boolean requiredType) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException, PDFInvalidParameterException {
        if (children == null) {
            if (requiredType) {
                throw new PDFInvalidParameterException("FunctionArray is a required key therefore cannot be removed.");
            }
            this.removeValue(ASName.k_Function);
        } else {
            this.setDictionaryArrayValue(ASName.k_Function, children.getCosArray());
        }
    }

    public PDFCosDictionary getPDFCosObject() {
        return this;
    }
}