first commit

This commit is contained in:
2025-07-28 13:56:49 +05:30
commit e9eb805edb
3438 changed files with 520990 additions and 0 deletions

View 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;
}
}