diff options
author | Carolyn MacLeod <carolyn> | 2001-11-19 23:22:38 +0000 |
---|---|---|
committer | Carolyn MacLeod <carolyn> | 2001-11-19 23:22:38 +0000 |
commit | e812b9dfe4c79fb83c6958c31b84248b22b4e3e4 (patch) | |
tree | 0c07014b3a3a9ebd3035e285239e603727b9e85a | |
parent | 3f60fcacd616ca7d380ba17c3ae127fa333fd5c0 (diff) | |
download | eclipse.platform.swt-e812b9dfe4c79fb83c6958c31b84248b22b4e3e4.tar.gz eclipse.platform.swt-e812b9dfe4c79fb83c6958c31b84248b22b4e3e4.tar.xz eclipse.platform.swt-e812b9dfe4c79fb83c6958c31b84248b22b4e3e4.zip |
print page range
-rwxr-xr-x | bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextPrinter.java | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextPrinter.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextPrinter.java index e70fad3e2e..b333851d67 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextPrinter.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledTextPrinter.java @@ -28,6 +28,7 @@ class StyledTextPrinter implements Runnable { GC gc;
String rtf;
StringBuffer wordBuffer;
+ int startPage, endPage, currentPage;
int index, end;
String tabs = "";
int tabWidth = 0;
@@ -61,6 +62,13 @@ class StyledTextPrinter implements Runnable { StyledTextPrinter(StyledText styledText, Printer printer) {
this.printer = printer;
+ PrinterData data = printer.getPrinterData();
+ startPage = 1;
+ endPage = Integer.MAX_VALUE;
+ if (data.scope == PrinterData.PAGE_RANGE) {
+ startPage = data.startPage;
+ endPage = data.endPage;
+ }
/* Create a buffer for computing tab width. */
int tabSize = styledText.getTabs();
@@ -86,7 +94,10 @@ class StyledTextPrinter implements Runnable { gc = new GC(printer);
x = leftMargin;
y = topMargin;
- printer.startPage();
+ currentPage = 1;
+ if (startPage == 1) {
+ printer.startPage();
+ }
end = rtf.length();
index = 0;
wordBuffer = new StringBuffer();
@@ -211,7 +222,9 @@ class StyledTextPrinter implements Runnable { /* word doesn't fit on current line, so wrap */
newline();
}
- gc.drawString(word, x, y, true);
+ if (currentPage >= startPage && currentPage <= endPage) {
+ gc.drawString(word, x, y, true);
+ }
x += wordWidth;
wordBuffer = new StringBuffer();
}
@@ -325,7 +338,10 @@ class StyledTextPrinter implements Runnable { printer.endPage();
if (index + 1 < end) {
y = topMargin;
- printer.startPage();
+ currentPage++;
+ if (currentPage >= startPage && currentPage <= endPage) {
+ printer.startPage();
+ }
}
}
}
|