PDFSoftMask.java
6.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
/*
* Decompiled with CFR 0_118.
*
* Could not load the following classes:
* 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.transparency;
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.graphics.PDFFunction;
import com.adobe.internal.pdftoolkit.pdf.graphics.PDFFunctionFactory;
import com.adobe.internal.pdftoolkit.pdf.graphics.xobject.PDFXObject;
import com.adobe.internal.pdftoolkit.pdf.graphics.xobject.PDFXObjectFactory;
import com.adobe.internal.pdftoolkit.pdf.transparency.PDFSoftMaskLuminosity;
public abstract class PDFSoftMask
extends PDFCosDictionary {
protected PDFSoftMask(CosObject cosObject) throws PDFInvalidDocumentException {
super(cosObject);
}
public static PDFSoftMask getInstance(CosObject cosObject) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
if (PDFCosObject.checkNullCosObject(cosObject) == null) {
return null;
}
if (!(cosObject instanceof CosDictionary)) {
throw new PDFInvalidDocumentException("CosDictionary expected");
}
ASName nameSubtype = ((CosDictionary)cosObject).getName(ASName.k_S);
if (nameSubtype == null) {
throw new PDFInvalidDocumentException("Unknown type.");
}
if (nameSubtype == ASName.k_Luminosity) {
return PDFSoftMaskLuminosity.getInstance(cosObject);
}
throw new PDFInvalidDocumentException("Unknown type.");
}
public ASName getType() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.getDictionaryNameValue(ASName.k_Type);
}
public void setType(ASName value) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException, PDFInvalidParameterException {
if (value == null) {
this.removeValue(ASName.k_Type);
} else if (value.equals((Object)ASName.create((String)"Mask"))) {
this.setDictionaryNameValue(ASName.k_Type, value);
} else {
throw new PDFInvalidParameterException("Value " + (Object)value + " is outside of bound for Type.");
}
}
public boolean hasType() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.dictionaryContains(ASName.k_Type);
}
public ASName getSubtype() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.getDictionaryNameValue(ASName.k_S);
}
public void setSubtype(ASName value) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException, PDFInvalidParameterException {
if (value == null) {
throw new PDFInvalidParameterException("Subtype is a required key therefore cannot be removed.");
}
if (!value.equals((Object)ASName.create((String)"Alpha")) && !value.equals((Object)ASName.create((String)"Luminosity"))) {
throw new PDFInvalidParameterException("Value " + (Object)value + " is outside of bound for Subtype.");
}
this.setDictionaryNameValue(ASName.k_S, value);
}
public ASName requireSubtype() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
ASName name = this.getDictionaryNameValue(ASName.k_S);
if (name == null) {
throw new PDFInvalidDocumentException("Unable to get Subtype.");
}
return name;
}
public boolean hasSubtype() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.dictionaryContains(ASName.k_S);
}
public PDFFunction getTRAsDict() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return PDFFunctionFactory.getInstance(this.getDictionaryCosObjectValue(ASName.k_TR));
}
public void setTR(PDFFunction value) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException, PDFInvalidParameterException {
this.setDictionaryValue(ASName.k_TR, value);
}
public ASName getTRAsName() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.getDictionaryNameValue(ASName.k_TR);
}
public void setTR(ASName value) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException, PDFInvalidParameterException {
if (value == null) {
this.removeValue(ASName.k_TR);
} else if (value.equals((Object)ASName.create((String)"Identity"))) {
this.setDictionaryNameValue(ASName.k_TR, value);
} else {
throw new PDFInvalidParameterException("Value " + (Object)value + " is outside of bound for TR.");
}
}
public boolean hasTR() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.dictionaryContains(ASName.k_TR);
}
public PDFXObject getG() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return PDFXObjectFactory.getInstance(this.getDictionaryCosObjectValue(ASName.k_G));
}
public void setG(PDFXObject value) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException, PDFInvalidParameterException {
if (value == null) {
throw new PDFInvalidParameterException("G is a required key therefore cannot be removed.");
}
this.setDictionaryValue(ASName.k_G, value);
}
public boolean hasG() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
return this.dictionaryContains(ASName.k_G);
}
}