Remove or move java.awt dependencies
[nikiroo-utils.git] / src / be / nikiroo / fanfix / output / Epub.java
index 2c47dcbcad68c5d12c2626f22b0771a867eabcd3..09a9944d78932b40c806a13a6f8b4fcef3d55ba8 100644 (file)
@@ -7,8 +7,6 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStreamWriter;
 
-import javax.imageio.ImageIO;
-
 import be.nikiroo.fanfix.Instance;
 import be.nikiroo.fanfix.bundles.Config;
 import be.nikiroo.fanfix.bundles.StringId;
@@ -26,6 +24,7 @@ class Epub extends BasicOutput {
        private boolean inDialogue = false;
        private boolean inNormal = false;
        private File images;
+       private boolean nextParaIsCover = true;
 
        @Override
        public File process(Story story, File targetDir, String targetName)
@@ -44,7 +43,8 @@ class Epub extends BasicOutput {
                // "Originals"
                File data = new File(tmpDir, "DATA");
                data.mkdir();
-               new InfoText().process(story, data, targetNameOrig);
+               BasicOutput.getOutput(OutputType.TEXT, isWriteInfo(), isWriteCover())
+                               .process(story, data, targetNameOrig);
                InfoCover.writeInfo(data, targetNameOrig, story.getMeta());
                IOUtils.writeSmallFile(data, "version", "3.0");
 
@@ -103,7 +103,8 @@ class Epub extends BasicOutput {
                        String format = Instance.getConfig()
                                        .getString(Config.IMAGE_FORMAT_COVER).toLowerCase();
                        File file = new File(images, "cover." + format);
-                       ImageIO.write(story.getMeta().getCover(), format, file);
+                       Instance.getCache().saveAsImage(story.getMeta().getCover(), file,
+                                       true);
                }
 
                // OPS/* except chapters
@@ -208,11 +209,14 @@ class Epub extends BasicOutput {
                        break;
                case IMAGE:
                        File file = new File(images, getCurrentImageBestName(false));
-                       Instance.getCache().saveAsImage(para.getContentImage(), file);
+                       Instance.getCache().saveAsImage(para.getContentImage(), file,
+                                       nextParaIsCover);
                        writer.write("                  <img class='page-image' src='images/"
                                        + getCurrentImageBestName(false) + "'/>");
                        break;
                }
+
+               nextParaIsCover = false;
        }
 
        @Override