first commit
This commit is contained in:
77
hrmsEjb/jxl/biff/drawing/ClientAnchor.java
Normal file
77
hrmsEjb/jxl/biff/drawing/ClientAnchor.java
Normal file
@@ -0,0 +1,77 @@
|
||||
package jxl.biff.drawing;
|
||||
|
||||
import common.Logger;
|
||||
import jxl.biff.IntegerHelper;
|
||||
|
||||
class ClientAnchor extends EscherAtom {
|
||||
private static final Logger logger = Logger.getLogger(ClientAnchor.class);
|
||||
|
||||
private byte[] data;
|
||||
|
||||
private double x1;
|
||||
|
||||
private double y1;
|
||||
|
||||
private double x2;
|
||||
|
||||
private double y2;
|
||||
|
||||
public ClientAnchor(EscherRecordData erd) {
|
||||
super(erd);
|
||||
byte[] bytes = getBytes();
|
||||
int x1Cell = IntegerHelper.getInt(bytes[2], bytes[3]);
|
||||
int x1Fraction = IntegerHelper.getInt(bytes[4], bytes[5]);
|
||||
this.x1 = x1Cell + x1Fraction / 1024.0D;
|
||||
int y1Cell = IntegerHelper.getInt(bytes[6], bytes[7]);
|
||||
int y1Fraction = IntegerHelper.getInt(bytes[8], bytes[9]);
|
||||
this.y1 = y1Cell + y1Fraction / 256.0D;
|
||||
int x2Cell = IntegerHelper.getInt(bytes[10], bytes[11]);
|
||||
int x2Fraction = IntegerHelper.getInt(bytes[12], bytes[13]);
|
||||
this.x2 = x2Cell + x2Fraction / 1024.0D;
|
||||
int y2Cell = IntegerHelper.getInt(bytes[14], bytes[15]);
|
||||
int y2Fraction = IntegerHelper.getInt(bytes[16], bytes[17]);
|
||||
this.y2 = y2Cell + y2Fraction / 256.0D;
|
||||
}
|
||||
|
||||
public ClientAnchor(double x1, double y1, double x2, double y2) {
|
||||
super(EscherRecordType.CLIENT_ANCHOR);
|
||||
this.x1 = x1;
|
||||
this.y1 = y1;
|
||||
this.x2 = x2;
|
||||
this.y2 = y2;
|
||||
}
|
||||
|
||||
byte[] getData() {
|
||||
this.data = new byte[18];
|
||||
IntegerHelper.getTwoBytes(2, this.data, 0);
|
||||
IntegerHelper.getTwoBytes((int)this.x1, this.data, 2);
|
||||
int x1fraction = (int)((this.x1 - (int)this.x1) * 1024.0D);
|
||||
IntegerHelper.getTwoBytes(x1fraction, this.data, 4);
|
||||
IntegerHelper.getTwoBytes((int)this.y1, this.data, 6);
|
||||
int y1fraction = (int)((this.y1 - (int)this.y1) * 256.0D);
|
||||
IntegerHelper.getTwoBytes(y1fraction, this.data, 8);
|
||||
IntegerHelper.getTwoBytes((int)this.x2, this.data, 10);
|
||||
int x2fraction = (int)((this.x2 - (int)this.x2) * 1024.0D);
|
||||
IntegerHelper.getTwoBytes(x2fraction, this.data, 12);
|
||||
IntegerHelper.getTwoBytes((int)this.y2, this.data, 14);
|
||||
int y2fraction = (int)((this.y2 - (int)this.y2) * 256.0D);
|
||||
IntegerHelper.getTwoBytes(y2fraction, this.data, 16);
|
||||
return setHeaderData(this.data);
|
||||
}
|
||||
|
||||
double getX1() {
|
||||
return this.x1;
|
||||
}
|
||||
|
||||
double getY1() {
|
||||
return this.y1;
|
||||
}
|
||||
|
||||
double getX2() {
|
||||
return this.x2;
|
||||
}
|
||||
|
||||
double getY2() {
|
||||
return this.y2;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user