TextGlyphRun.java
2.85 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
/*
* Decompiled with CFR 0_118.
*/
package com.adobe.xfa.text;
import com.adobe.xfa.text.TextAttr;
import com.adobe.xfa.text.TextIntArray;
import com.adobe.xfa.ut.CoordPair;
import com.adobe.xfa.ut.UniCharIterator;
import com.adobe.xfa.ut.UnitSpan;
public class TextGlyphRun {
private TextAttr mpoAttr;
private CoordPair moShift;
private CoordPair moPosition;
private final TextIntArray moGlyphs = new TextIntArray();
private boolean mbIsCharRun;
private boolean mbIsRTL;
private int meGlyphOrientation = 0;
public TextGlyphRun() {
}
public TextGlyphRun(TextGlyphRun oSource) {
this.copyFrom(oSource);
}
public void setAttr(TextAttr oAttr) {
this.mpoAttr = new TextAttr(oAttr);
}
public void setAttrRef(TextAttr poAttr) {
this.mpoAttr = poAttr;
}
public TextAttr getAttr() {
return this.mpoAttr;
}
public void setShift(CoordPair oShift) {
this.moShift = oShift;
}
public CoordPair getShift() {
return this.moShift == null ? CoordPair.zeroZero() : this.moShift;
}
public boolean isShifted() {
return this.moShift != null && (this.moShift.x().value() != 0 || this.moShift.y().value() != 0);
}
public CoordPair getPosition() {
return this.moPosition == null ? CoordPair.zeroZero() : this.moPosition;
}
public void addGlyph(int nAdd) {
this.moGlyphs.add(nAdd);
}
public void addCharGlyphs(String sCharGlyphs) {
UniCharIterator iter = new UniCharIterator(sCharGlyphs);
int c = iter.next();
while (c != 0) {
this.addGlyph(c);
c = iter.next();
}
}
public int getGlyphCount() {
return this.moGlyphs.getSize();
}
public int getGlyph(int nIndex) {
return this.moGlyphs.get(nIndex);
}
public void setCharRun(boolean bCharRun) {
this.mbIsCharRun = bCharRun;
}
public boolean isCharRun() {
return this.mbIsCharRun;
}
public void setRTL(boolean bRTL) {
this.mbIsRTL = bRTL;
}
public boolean isRTL() {
return this.mbIsRTL;
}
public void setGlyphOrientation(int eGlyphOrientation) {
this.meGlyphOrientation = eGlyphOrientation;
}
public int getGlyphOrientation() {
return this.meGlyphOrientation;
}
public void copyFrom(TextGlyphRun oSource) {
if (this != oSource) {
this.moShift = oSource.moShift;
this.moPosition = oSource.moPosition;
this.moGlyphs.copyFrom(oSource.moGlyphs);
this.mbIsCharRun = oSource.mbIsCharRun;
this.mbIsRTL = oSource.mbIsRTL;
this.meGlyphOrientation = oSource.meGlyphOrientation;
this.mpoAttr = oSource.mpoAttr;
}
}
void setPosition(CoordPair oPosition) {
this.moPosition = oPosition;
}
}