ContentImageItem.java
3.04 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
/*
* Decompiled with CFR 0_118.
*
* Could not load the following classes:
* com.adobe.internal.pdftoolkit.core.types.ASCoordinate
* com.adobe.internal.pdftoolkit.core.types.ASMatrix
*/
package com.adobe.internal.pdftoolkit.graphicsDOM;
import com.adobe.internal.pdftoolkit.core.types.ASCoordinate;
import com.adobe.internal.pdftoolkit.core.types.ASMatrix;
import com.adobe.internal.pdftoolkit.graphicsDOM.AbstractContentItem;
import com.adobe.internal.pdftoolkit.graphicsDOM.ContentType;
import com.adobe.internal.pdftoolkit.graphicsDOM.DocumentContext;
import com.adobe.internal.pdftoolkit.graphicsDOM.GraphicsState;
import com.adobe.internal.pdftoolkit.graphicsDOM.PrimitiveContentItem;
import com.adobe.internal.pdftoolkit.image.ARGBImage;
import java.awt.geom.Rectangle2D;
/*
* This class specifies class file version 49.0 but uses Java 6 signatures. Assumed Java 6.
*/
public abstract class ContentImageItem<G extends GraphicsState>
extends AbstractContentItem<G>
implements PrimitiveContentItem<G> {
private boolean isImageMask = false;
private double[] transformationMatrix;
private ARGBImage image = null;
private ARGBImage sMask = null;
private Rectangle2D boundingBox = null;
public ContentImageItem(G graphicsState, int id) {
super(graphicsState, id);
}
public boolean getIsImageMask() {
return this.isImageMask;
}
public void setIsImageMask(boolean isImageMask) {
this.isImageMask = isImageMask;
}
public ARGBImage getImage() {
return this.image;
}
public void setImage(ARGBImage image) {
this.image = image;
}
public ARGBImage getSoftMask() {
return this.sMask;
}
public void setSoftMask(ARGBImage sMask) {
this.sMask = sMask;
}
public void setTransformationMatrix(double[] matrix) {
this.transformationMatrix = matrix;
}
public double[] getTransformationMatrix() {
return this.transformationMatrix;
}
@Override
public ContentType getType() {
return ContentType.Image;
}
@Override
public Rectangle2D getBoundingBox(DocumentContext context) {
if (this.boundingBox != null) {
return this.boundingBox;
}
ASMatrix ctm = new ASMatrix(this.transformationMatrix);
ASCoordinate coord1 = new ASCoordinate(0.0, 0.0).transform(ctm);
ASCoordinate coord2 = new ASCoordinate(0.0, 1.0).transform(ctm);
ASCoordinate coord3 = new ASCoordinate(1.0, 0.0).transform(ctm);
ASCoordinate coord4 = new ASCoordinate(1.0, 1.0).transform(ctm);
double x = Math.min(Math.min(coord1.x(), coord2.x()), Math.min(coord3.x(), coord4.x()));
double y = Math.min(Math.min(coord1.y(), coord2.y()), Math.min(coord3.y(), coord4.y()));
double w = Math.max(Math.max(coord1.x(), coord2.x()), Math.max(coord3.x(), coord4.x())) - x;
double h = Math.max(Math.max(coord1.y(), coord2.y()), Math.max(coord3.y(), coord4.y())) - y;
this.boundingBox = new Rectangle2D.Double(x, y, w, h);
return this.boundingBox;
}
}