Moved the file writing in screen shot app state to its own

method... 1) because it's a little cleaner, 2) because it means
subclasses can hook it if desired.
cleanup_build_scripts v3.1.0-alpha3
Paul Speed 9 years ago
parent f391b9c3aa
commit 0b487ee9f3
  1. 20
      jme3-core/src/main/java/com/jme3/app/state/ScreenshotAppState.java

@ -249,21 +249,23 @@ public class ScreenshotAppState extends AbstractAppState implements ActionListen
}
logger.log(Level.FINE, "Saving ScreenShot to: {0}", file.getAbsolutePath());
OutputStream outStream = null;
try {
outStream = new FileOutputStream(file);
JmeSystem.writeImageFile(outStream, "png", outBuf, width, height);
} catch (IOException ex) {
logger.log(Level.SEVERE, "Error while saving screenshot", ex);
} finally {
if (outStream != null){
try {
outStream.close();
writeImageFile(file);
} catch (IOException ex) {
logger.log(Level.SEVERE, "Error while saving screenshot", ex);
}
}
}
/**
* Called by postFrame() once the screen has been captured to outBuf.
*/
protected void writeImageFile( File file ) throws IOException {
OutputStream outStream = new FileOutputStream(file);
try {
JmeSystem.writeImageFile(outStream, "png", outBuf, width, height);
} finally {
outStream.close();
}
}
}

Loading…
Cancel
Save