/*******************************************************************************
* Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Exadel, Inc. and Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.jsf.ui.editor.print;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.printing.Printer;
import org.eclipse.swt.widgets.Display;
public class PageFormat {
int imgWidth = 1;
int imgHeight = 1;
Printer printer;
Display display;
double scaleFactorX = 1;
double scaleFactorY = 1;
int fieldH = 40;
int fieldW = 40;
public static double printScale = 1;
public PageFormat(Printer printer, Display display){
super();
this.printer = printer;
this.display = display;
Point screenDPI = this.display.getDPI();
Point printerDPI = this.printer.getDPI();
this.imgWidth = printer.getClientArea().width;
this.imgHeight = printer.getClientArea().height;
if(screenDPI.x<=0)screenDPI.x=1;
if(screenDPI.y<=0)screenDPI.y=1;
this.scaleFactorX = printerDPI.x / screenDPI.x;
this.scaleFactorY = printerDPI.y / screenDPI.y;
}
public PageFormat(int imgWidth, int imgHeight){
super();
this.imgWidth = imgWidth;
this.imgHeight = imgHeight;
}
public int getImageableWidth(){
return (int)(this.imgWidth/scaleFactorX)-this.fieldW;
}
public int getImageableHeight(){
return (int)(this.imgHeight/scaleFactorY)-this.fieldH;
}
public Printer getPrinter(){
return this.printer;
}
public void setPrinter(Printer printer){
this.printer = printer;
}
public Display getDisplay(){
return this.display;
}
public void setDisplay(Display display){
this.display = display;
}
}