< prev index next >
src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
@@ -192,10 +192,11 @@
structPointer = initJPEGImageWriter();
disposerRecord = new JPEGWriterDisposerRecord(structPointer);
Disposer.addRecord(disposerReferent, disposerRecord);
}
+ @Override
public void setOutput(Object output) {
setThreadLock();
try {
cbLock.check();
@@ -207,23 +208,26 @@
} finally {
clearThreadLock();
}
}
+ @Override
public ImageWriteParam getDefaultWriteParam() {
return new JPEGImageWriteParam(null);
}
+ @Override
public IIOMetadata getDefaultStreamMetadata(ImageWriteParam param) {
setThreadLock();
try {
return new JPEGMetadata(param, this);
} finally {
clearThreadLock();
}
}
+ @Override
public IIOMetadata
getDefaultImageMetadata(ImageTypeSpecifier imageType,
ImageWriteParam param) {
setThreadLock();
try {
@@ -231,10 +235,11 @@
} finally {
clearThreadLock();
}
}
+ @Override
public IIOMetadata convertStreamMetadata(IIOMetadata inData,
ImageWriteParam param) {
// There isn't much we can do. If it's one of ours, then
// return it. Otherwise just return null. We use it only
// for tables, so we can't get a default and modify it,
@@ -246,10 +251,11 @@
}
}
return null;
}
+ @Override
public IIOMetadata
convertImageMetadata(IIOMetadata inData,
ImageTypeSpecifier imageType,
ImageWriteParam param) {
setThreadLock();
@@ -297,10 +303,11 @@
}
}
return null;
}
+ @Override
public int getNumThumbnailsSupported(ImageTypeSpecifier imageType,
ImageWriteParam param,
IIOMetadata streamMetadata,
IIOMetadata imageMetadata) {
// Check whether sufficient data is available.
@@ -317,11 +324,11 @@
return 0;
}
static final Dimension [] preferredThumbSizes = {new Dimension(1, 1),
new Dimension(255, 255)};
-
+ @Override
public Dimension[] getPreferredThumbnailSizes(ImageTypeSpecifier imageType,
ImageWriteParam param,
IIOMetadata streamMetadata,
IIOMetadata imageMetadata) {
if (jfifOK(imageType, param, streamMetadata, imageMetadata)) {
@@ -355,14 +362,16 @@
}
}
return true;
}
+ @Override
public boolean canWriteRasters() {
return true;
}
+ @Override
public void write(IIOMetadata streamMetadata,
IIOImage image,
ImageWriteParam param) throws IOException {
setThreadLock();
try {
@@ -1047,10 +1056,11 @@
@Override
public boolean canWriteSequence() {
return true;
}
+ @Override
public void prepareWriteSequence(IIOMetadata streamMetadata)
throws IOException {
setThreadLock();
try {
cbLock.check();
@@ -1128,10 +1138,11 @@
}
}
sequencePrepared = true;
}
+ @Override
public void writeToSequence(IIOImage image, ImageWriteParam param)
throws IOException {
setThreadLock();
try {
cbLock.check();
@@ -1144,10 +1155,11 @@
} finally {
clearThreadLock();
}
}
+ @Override
public void endWriteSequence() throws IOException {
setThreadLock();
try {
cbLock.check();
@@ -1158,10 +1170,11 @@
} finally {
clearThreadLock();
}
}
+ @Override
public synchronized void abort() {
setThreadLock();
try {
/**
* NB: we do not check the call back lock here, we allow to abort
@@ -1202,10 +1215,11 @@
currentImage = 0;
numScans = 0;
metadata = null;
}
+ @Override
public void reset() {
setThreadLock();
try {
cbLock.check();
@@ -1213,10 +1227,11 @@
} finally {
clearThreadLock();
}
}
+ @Override
public void dispose() {
setThreadLock();
try {
cbLock.check();
@@ -1733,10 +1748,11 @@
public JPEGWriterDisposerRecord(long pData) {
this.pData = pData;
}
+ @Override
public synchronized void dispose() {
if (pData != 0) {
disposeWriter(pData);
pData = 0;
}
< prev index next >