Merge branch 'develop' into feature/JAL-3416_update_to_flatlaf_3.1.1_with_unpacked_na...
[jalview.git] / src / jalview / gui / ImageExporter.java
index 785d206..32704d6 100644 (file)
@@ -23,7 +23,6 @@ package jalview.gui;
 import java.awt.Component;
 import java.awt.Graphics;
 import java.io.File;
-import java.util.concurrent.Callable;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import jalview.bin.Cache;
@@ -34,6 +33,7 @@ import jalview.util.ImageMaker;
 import jalview.util.ImageMaker.TYPE;
 import jalview.util.MessageManager;
 import jalview.util.Platform;
+import jalview.util.imagemaker.BitmapImageSizing;
 
 /**
  * A class that marshals steps in exporting a view in image graphics format
@@ -105,12 +105,12 @@ public class ImageExporter
   public void doExport(File file, Component parent, int width, int height,
           String imageSource)
   {
-    doExport(file, parent, width, height, imageSource, null, 0.0f, 0, 0);
+    doExport(file, parent, width, height, imageSource, null,
+            BitmapImageSizing.nullBitmapImageSizing());
   }
 
   public void doExport(File file, Component parent, int width, int height,
-          String imageSource, String renderer, float bitmapscale,
-          int bitmapwidth, int bitmapheight)
+          String imageSource, String renderer, BitmapImageSizing userBis)
   {
     final long messageId = System.currentTimeMillis();
     setStatus(
@@ -164,23 +164,16 @@ public class ImageExporter
             && !Jalview.isHeadlessMode())
     {
       final File chosenFile = file;
-      Callable<Void> okAction = () -> {
+      Runnable okAction = () -> {
         exportImage(chosenFile, !textSelected.get(), width, height,
-                messageId, bitmapscale, bitmapwidth, bitmapheight);
-        return null;
+                messageId, userBis);
       };
       LineartOptions epsOption = new LineartOptions(TYPE.EPS.getName(),
               textSelected);
-      epsOption.setResponseAction(1, new Callable<Void>()
-      {
-        @Override
-        public Void call()
-        {
-          setStatus(MessageManager.formatMessage(
-                  "status.cancelled_image_export_operation",
-                  imageType.getName()), messageId);
-          return null;
-        }
+      epsOption.setResponseAction(1, () -> {
+        setStatus(MessageManager.formatMessage(
+                "status.cancelled_image_export_operation",
+                imageType.getName()), messageId);
       });
       epsOption.setResponseAction(0, okAction);
       epsOption.showDialog();
@@ -193,7 +186,7 @@ public class ImageExporter
        * - just do the export
        */
       exportImage(file, !textSelected.get(), width, height, messageId,
-              bitmapscale, bitmapwidth, bitmapheight);
+              userBis);
     }
   }
 
@@ -209,8 +202,7 @@ public class ImageExporter
    * @param messageId
    */
   protected void exportImage(File chosenFile, boolean asLineart, int width,
-          int height, long messageId, float bitmapscale, int bitmapwidth,
-          int bitmapheight)
+          int height, long messageId, BitmapImageSizing userBis)
   {
     String type = imageType.getName();
     try
@@ -220,7 +212,7 @@ public class ImageExporter
       // "status.exporting_alignment_as_x_file", type),
       // messageId);
       ImageMaker im = new ImageMaker(imageType, width, height, chosenFile,
-              title, asLineart, bitmapscale, bitmapwidth, bitmapheight);
+              title, asLineart, userBis);
       imageWriter.exportImage(im.getGraphics());
       im.writeImage();
       setStatus(