*/\r
public void makeEPS(File epsFile)\r
{\r
+ boolean accurateText = true;\r
+\r
+ String renderStyle = jalview.bin.Cache.getDefault("EPS_RENDERING",\r
+ "Prompt each time");\r
+\r
+ // If we need to prompt, and if the GUI is visible then\r
+ // Prompt for EPS rendering style\r
+ if (renderStyle.equalsIgnoreCase("Prompt each time")\r
+ && !\r
+ (System.getProperty("java.awt.headless") != null\r
+ && System.getProperty("java.awt.headless").equals("true")))\r
+ {\r
+ EPSOptions eps = new EPSOptions();\r
+ renderStyle = eps.getValue();\r
+\r
+ if(eps.cancelled || renderStyle==null)\r
+ return;\r
+\r
+ renderStyle = eps.getValue();\r
+ }\r
+\r
+ if (renderStyle.equalsIgnoreCase("text"))\r
+ {\r
+ accurateText = false;\r
+ }\r
+\r
+\r
if(epsFile == null)\r
{\r
jalview.io.JalviewFileChooser chooser = new jalview.io.\r
\r
try\r
{\r
- FileOutputStream out = new FileOutputStream(epsFile);\r
- EpsGraphics2D pg = new EpsGraphics2D("Example", out, 0, 0, width,\r
- height);\r
+ FileOutputStream out = new FileOutputStream(epsFile);\r
+ EpsGraphics2D pg = new EpsGraphics2D("Example", out, 0, 0, width,\r
+ height);\r
\r
- if (av.getWrapAlignment())\r
- {\r
+ pg.setAccurateTextMode(accurateText);\r
+\r
+ if (av.getWrapAlignment())\r
+ {\r
printWrappedAlignment(pg, width, height, 0);\r
}\r
else\r
\r
pg.flush();\r
pg.close();\r
- }\r
+ }\r
+ catch (OutOfMemoryError err)\r
+ {\r
+ System.out.println("########################\n"\r
+ + "OUT OF MEMORY " + epsFile + "\n"\r
+ + "########################");\r
+\r
+ JOptionPane.showInternalMessageDialog(Desktop.desktop,\r
+ "Out of memory creating EPS file!!"\r
+ +\r
+ "\nSee help files for increasing Java Virtual Machine memory."\r
+ , "Out of memory",\r
+ JOptionPane.WARNING_MESSAGE);\r
+ System.out.println("Create EPS: " + err);\r
+ System.gc();\r
+ }\r
catch (Exception ex)\r
{\r
ex.printStackTrace();\r
ImageIO.write(bi, "png", out);\r
out.close();\r
}\r
- catch(OutOfMemoryError err)\r
+ catch (OutOfMemoryError err)\r
{\r
System.out.println("########################\n"\r
- +"OUT OF MEMORY "+pngFile+"\n"\r
- +"########################");\r
+ + "OUT OF MEMORY " + pngFile + "\n"\r
+ + "########################");\r
+\r
+ JOptionPane.showInternalMessageDialog(Desktop.desktop,\r
+ "Out of memory creating PNG!!"\r
+ +\r
+ "\nSee help files for increasing Java Virtual Machine memory."\r
+ , "Out of memory",\r
+ JOptionPane.WARNING_MESSAGE);\r
+ System.out.println("Create PNG: " + err);\r
+ System.gc();\r
+\r
}\r
catch (Exception ex)\r
{\r