first commit
This commit is contained in:
113
hrmsEjb/jxl/write/biff/SetupRecord.java
Normal file
113
hrmsEjb/jxl/write/biff/SetupRecord.java
Normal file
@@ -0,0 +1,113 @@
|
||||
package jxl.write.biff;
|
||||
|
||||
import common.Logger;
|
||||
import jxl.SheetSettings;
|
||||
import jxl.biff.DoubleHelper;
|
||||
import jxl.biff.IntegerHelper;
|
||||
import jxl.biff.Type;
|
||||
import jxl.biff.WritableRecordData;
|
||||
import jxl.format.PageOrientation;
|
||||
import jxl.format.PaperSize;
|
||||
|
||||
class SetupRecord extends WritableRecordData {
|
||||
Logger logger = Logger.getLogger(SetupRecord.class);
|
||||
|
||||
private byte[] data;
|
||||
|
||||
private double headerMargin;
|
||||
|
||||
private double footerMargin;
|
||||
|
||||
private PageOrientation orientation;
|
||||
|
||||
private int paperSize;
|
||||
|
||||
private int scaleFactor;
|
||||
|
||||
private int pageStart;
|
||||
|
||||
private int fitWidth;
|
||||
|
||||
private int fitHeight;
|
||||
|
||||
private int horizontalPrintResolution;
|
||||
|
||||
private int verticalPrintResolution;
|
||||
|
||||
private int copies;
|
||||
|
||||
public SetupRecord() {
|
||||
super(Type.SETUP);
|
||||
this.orientation = PageOrientation.PORTRAIT;
|
||||
this.headerMargin = 0.5D;
|
||||
this.footerMargin = 0.5D;
|
||||
this.paperSize = PaperSize.A4.getValue();
|
||||
this.horizontalPrintResolution = 300;
|
||||
this.verticalPrintResolution = 300;
|
||||
this.copies = 1;
|
||||
}
|
||||
|
||||
public SetupRecord(SheetSettings s) {
|
||||
super(Type.SETUP);
|
||||
this.orientation = s.getOrientation();
|
||||
this.headerMargin = s.getHeaderMargin();
|
||||
this.footerMargin = s.getFooterMargin();
|
||||
this.paperSize = s.getPaperSize().getValue();
|
||||
this.horizontalPrintResolution = s.getHorizontalPrintResolution();
|
||||
this.verticalPrintResolution = s.getVerticalPrintResolution();
|
||||
this.fitWidth = s.getFitWidth();
|
||||
this.fitHeight = s.getFitHeight();
|
||||
this.pageStart = s.getPageStart();
|
||||
this.scaleFactor = s.getScaleFactor();
|
||||
this.copies = s.getCopies();
|
||||
}
|
||||
|
||||
public SetupRecord(jxl.read.biff.SetupRecord sr) {
|
||||
super(Type.SETUP);
|
||||
this.orientation = sr.isPortrait() ? PageOrientation.PORTRAIT : PageOrientation.LANDSCAPE;
|
||||
this.paperSize = sr.getPaperSize();
|
||||
this.headerMargin = sr.getHeaderMargin();
|
||||
this.footerMargin = sr.getFooterMargin();
|
||||
this.scaleFactor = sr.getScaleFactor();
|
||||
this.pageStart = sr.getPageStart();
|
||||
this.fitWidth = sr.getFitWidth();
|
||||
this.fitHeight = sr.getFitHeight();
|
||||
this.horizontalPrintResolution = sr.getHorizontalPrintResolution();
|
||||
this.verticalPrintResolution = sr.getVerticalPrintResolution();
|
||||
this.copies = sr.getCopies();
|
||||
}
|
||||
|
||||
public void setOrientation(PageOrientation o) {
|
||||
this.orientation = o;
|
||||
}
|
||||
|
||||
public void setMargins(double hm, double fm) {
|
||||
this.headerMargin = hm;
|
||||
this.footerMargin = fm;
|
||||
}
|
||||
|
||||
public void setPaperSize(PaperSize ps) {
|
||||
this.paperSize = ps.getValue();
|
||||
}
|
||||
|
||||
public byte[] getData() {
|
||||
this.data = new byte[34];
|
||||
IntegerHelper.getTwoBytes(this.paperSize, this.data, 0);
|
||||
IntegerHelper.getTwoBytes(this.scaleFactor, this.data, 2);
|
||||
IntegerHelper.getTwoBytes(this.pageStart, this.data, 4);
|
||||
IntegerHelper.getTwoBytes(this.fitWidth, this.data, 6);
|
||||
IntegerHelper.getTwoBytes(this.fitHeight, this.data, 8);
|
||||
int options = 0;
|
||||
if (this.orientation == PageOrientation.PORTRAIT)
|
||||
options |= 0x2;
|
||||
if (this.pageStart != 0)
|
||||
options |= 0x80;
|
||||
IntegerHelper.getTwoBytes(options, this.data, 10);
|
||||
IntegerHelper.getTwoBytes(this.horizontalPrintResolution, this.data, 12);
|
||||
IntegerHelper.getTwoBytes(this.verticalPrintResolution, this.data, 14);
|
||||
DoubleHelper.getIEEEBytes(this.headerMargin, this.data, 16);
|
||||
DoubleHelper.getIEEEBytes(this.footerMargin, this.data, 24);
|
||||
IntegerHelper.getTwoBytes(this.copies, this.data, 32);
|
||||
return this.data;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user