summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorCarolyn MacLeod <carolyn>2002-04-08 19:49:57 +0000
committerCarolyn MacLeod <carolyn>2002-04-08 19:49:57 +0000
commitc411a772f7d523907dedf47298ee783e421cde35 (patch)
tree18d72295a739c96e3d40c072d5414343dc04c3c7 /examples
parentab026b0c06f8776e3a2f705d1e6968df9d83816e (diff)
downloadeclipse.platform.swt-c411a772f7d523907dedf47298ee783e421cde35.tar.gz
eclipse.platform.swt-c411a772f7d523907dedf47298ee783e421cde35.tar.xz
eclipse.platform.swt-c411a772f7d523907dedf47298ee783e421cde35.zip
Fixed image printing for images with transparency.
(Allow the user to turn off transparency before printing).
Diffstat (limited to 'examples')
-rwxr-xr-xexamples/org.eclipse.swt.examples/org/eclipse/swt/examples/imageanalyzer/ImageAnalyzer.java15
-rwxr-xr-xexamples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/imageanalyzer/ImageAnalyzer.java15
2 files changed, 24 insertions, 6 deletions
diff --git a/examples/org.eclipse.swt.examples/org/eclipse/swt/examples/imageanalyzer/ImageAnalyzer.java b/examples/org.eclipse.swt.examples/org/eclipse/swt/examples/imageanalyzer/ImageAnalyzer.java
index ec2069d809..594663317a 100755
--- a/examples/org.eclipse.swt.examples/org/eclipse/swt/examples/imageanalyzer/ImageAnalyzer.java
+++ b/examples/org.eclipse.swt.examples/org/eclipse/swt/examples/imageanalyzer/ImageAnalyzer.java
@@ -1044,16 +1044,20 @@ public class ImageAnalyzer {
if (printerData == null) return;
Printer printer = new Printer(printerData);
-
Point screenDPI = display.getDPI();
Point printerDPI = printer.getDPI();
int scaleFactor = printerDPI.x / screenDPI.x;
Rectangle trim = printer.computeTrim(0, 0, 0, 0);
if (printer.startJob(currentName)) {
- GC gc = new GC(printer);
if (printer.startPage()) {
+ GC gc = new GC(printer);
+ int transparentPixel = imageData.transparentPixel;
+ if (transparentPixel != -1 && !transparent) {
+ imageData.transparentPixel = -1;
+ }
+ Image printerImage = new Image(printer, imageData);
gc.drawImage(
- image,
+ printerImage,
0,
0,
imageData.width,
@@ -1062,6 +1066,11 @@ public class ImageAnalyzer {
-trim.y,
scaleFactor * imageData.width,
scaleFactor * imageData.height);
+ if (transparentPixel != -1 && !transparent) {
+ imageData.transparentPixel = transparentPixel;
+ }
+ printerImage.dispose();
+ gc.dispose();
printer.endPage();
}
printer.endJob();
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/imageanalyzer/ImageAnalyzer.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/imageanalyzer/ImageAnalyzer.java
index ec2069d809..594663317a 100755
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/imageanalyzer/ImageAnalyzer.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/imageanalyzer/ImageAnalyzer.java
@@ -1044,16 +1044,20 @@ public class ImageAnalyzer {
if (printerData == null) return;
Printer printer = new Printer(printerData);
-
Point screenDPI = display.getDPI();
Point printerDPI = printer.getDPI();
int scaleFactor = printerDPI.x / screenDPI.x;
Rectangle trim = printer.computeTrim(0, 0, 0, 0);
if (printer.startJob(currentName)) {
- GC gc = new GC(printer);
if (printer.startPage()) {
+ GC gc = new GC(printer);
+ int transparentPixel = imageData.transparentPixel;
+ if (transparentPixel != -1 && !transparent) {
+ imageData.transparentPixel = -1;
+ }
+ Image printerImage = new Image(printer, imageData);
gc.drawImage(
- image,
+ printerImage,
0,
0,
imageData.width,
@@ -1062,6 +1066,11 @@ public class ImageAnalyzer {
-trim.y,
scaleFactor * imageData.width,
scaleFactor * imageData.height);
+ if (transparentPixel != -1 && !transparent) {
+ imageData.transparentPixel = transparentPixel;
+ }
+ printerImage.dispose();
+ gc.dispose();
printer.endPage();
}
printer.endJob();