summaryrefslogtreecommitdiffstats
path: root/awt/org/apache/harmony/x
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2009-03-03 18:28:45 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2009-03-03 18:28:45 -0800
commitd83a98f4ce9cfa908f5c54bbd70f03eec07e7553 (patch)
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904 /awt/org/apache/harmony/x
parent076357b8567458d4b6dfdcf839ef751634cd2bfb (diff)
downloadframeworks_base-d83a98f4ce9cfa908f5c54bbd70f03eec07e7553.zip
frameworks_base-d83a98f4ce9cfa908f5c54bbd70f03eec07e7553.tar.gz
frameworks_base-d83a98f4ce9cfa908f5c54bbd70f03eec07e7553.tar.bz2
auto import from //depot/cupcake/@135843
Diffstat (limited to 'awt/org/apache/harmony/x')
-rw-r--r--awt/org/apache/harmony/x/imageio/internal/nls/Messages.java124
-rw-r--r--awt/org/apache/harmony/x/imageio/internal/nls/messages.properties18
-rw-r--r--awt/org/apache/harmony/x/imageio/metadata/IIOMetadataUtils.java94
-rw-r--r--awt/org/apache/harmony/x/imageio/plugins/jpeg/IISDecodingImageSource.java115
-rw-r--r--awt/org/apache/harmony/x/imageio/plugins/jpeg/JPEGConsts.java44
-rw-r--r--awt/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageReader.java126
-rw-r--r--awt/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageReaderSpi.java86
-rw-r--r--awt/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageWriter.java402
-rw-r--r--awt/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageWriterSpi.java56
-rw-r--r--awt/org/apache/harmony/x/imageio/plugins/jpeg/JPEGSpiConsts.java57
-rw-r--r--awt/org/apache/harmony/x/imageio/plugins/png/PNGImageReader.java106
-rw-r--r--awt/org/apache/harmony/x/imageio/plugins/png/PNGImageReaderSpi.java88
-rw-r--r--awt/org/apache/harmony/x/imageio/plugins/png/PNGImageWriter.java247
-rw-r--r--awt/org/apache/harmony/x/imageio/plugins/png/PNGImageWriterParam.java41
-rw-r--r--awt/org/apache/harmony/x/imageio/plugins/png/PNGImageWriterSpi.java113
-rw-r--r--awt/org/apache/harmony/x/imageio/spi/FileIISSpi.java53
-rw-r--r--awt/org/apache/harmony/x/imageio/spi/FileIOSSpi.java52
-rw-r--r--awt/org/apache/harmony/x/imageio/spi/InputStreamIISSpi.java59
-rw-r--r--awt/org/apache/harmony/x/imageio/spi/OutputStreamIOSSpi.java60
-rw-r--r--awt/org/apache/harmony/x/imageio/spi/RAFIISSpi.java54
-rw-r--r--awt/org/apache/harmony/x/imageio/spi/RAFIOSSpi.java53
-rw-r--r--awt/org/apache/harmony/x/imageio/stream/RandomAccessMemoryCache.java226
22 files changed, 0 insertions, 2274 deletions
diff --git a/awt/org/apache/harmony/x/imageio/internal/nls/Messages.java b/awt/org/apache/harmony/x/imageio/internal/nls/Messages.java
deleted file mode 100644
index 498e1bb..0000000
--- a/awt/org/apache/harmony/x/imageio/internal/nls/Messages.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * THE FILE HAS BEEN AUTOGENERATED BY MSGTOOL TOOL.
- * All changes made to this file manually will be overwritten
- * if this tool runs again. Better make changes in the template file.
- */
-
-package org.apache.harmony.x.imageio.internal.nls;
-
-import org.apache.harmony.luni.util.MsgHelp;
-
-/**
- * This class retrieves strings from a resource bundle and returns them,
- * formatting them with MessageFormat when required.
- * <p>
- * It is used by the system classes to provide national language support, by
- * looking up messages in the <code>
- * org.apache.harmony.x.imageio.internal.nls.messages
- * </code>
- * resource bundle. Note that if this file is not available, or an invalid key
- * is looked up, or resource bundle support is not available, the key itself
- * will be returned as the associated message. This means that the <em>KEY</em>
- * should a reasonable human-readable (english) string.
- *
- */
-public class Messages {
-
- private static final String sResource =
- "org.apache.harmony.x.imageio.internal.nls.messages"; //$NON-NLS-1$
-
- /**
- * Retrieves a message which has no arguments.
- *
- * @param msg
- * String the key to look up.
- * @return String the message for that key in the system message bundle.
- */
- static public String getString(String msg) {
- return MsgHelp.getString(sResource, msg);
- }
-
- /**
- * Retrieves a message which takes 1 argument.
- *
- * @param msg
- * String the key to look up.
- * @param arg
- * Object the object to insert in the formatted output.
- * @return String the message for that key in the system message bundle.
- */
- static public String getString(String msg, Object arg) {
- return getString(msg, new Object[] { arg });
- }
-
- /**
- * Retrieves a message which takes 1 integer argument.
- *
- * @param msg
- * String the key to look up.
- * @param arg
- * int the integer to insert in the formatted output.
- * @return String the message for that key in the system message bundle.
- */
- static public String getString(String msg, int arg) {
- return getString(msg, new Object[] { Integer.toString(arg) });
- }
-
- /**
- * Retrieves a message which takes 1 character argument.
- *
- * @param msg
- * String the key to look up.
- * @param arg
- * char the character to insert in the formatted output.
- * @return String the message for that key in the system message bundle.
- */
- static public String getString(String msg, char arg) {
- return getString(msg, new Object[] { String.valueOf(arg) });
- }
-
- /**
- * Retrieves a message which takes 2 arguments.
- *
- * @param msg
- * String the key to look up.
- * @param arg1
- * Object an object to insert in the formatted output.
- * @param arg2
- * Object another object to insert in the formatted output.
- * @return String the message for that key in the system message bundle.
- */
- static public String getString(String msg, Object arg1, Object arg2) {
- return getString(msg, new Object[] { arg1, arg2 });
- }
-
- /**
- * Retrieves a message which takes several arguments.
- *
- * @param msg
- * String the key to look up.
- * @param args
- * Object[] the objects to insert in the formatted output.
- * @return String the message for that key in the system message bundle.
- */
- static public String getString(String msg, Object[] args) {
- return MsgHelp.getString(sResource, msg, args);
- }
-}
diff --git a/awt/org/apache/harmony/x/imageio/internal/nls/messages.properties b/awt/org/apache/harmony/x/imageio/internal/nls/messages.properties
deleted file mode 100644
index 8a49dd8..0000000
--- a/awt/org/apache/harmony/x/imageio/internal/nls/messages.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# messages for EN locale
-imageio.1=Wrong bitDepth-numBands composition \ No newline at end of file
diff --git a/awt/org/apache/harmony/x/imageio/metadata/IIOMetadataUtils.java b/awt/org/apache/harmony/x/imageio/metadata/IIOMetadataUtils.java
deleted file mode 100644
index caeefdd5..0000000
--- a/awt/org/apache/harmony/x/imageio/metadata/IIOMetadataUtils.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package org.apache.harmony.x.imageio.metadata;
-
-import java.lang.reflect.Method;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-
-import javax.imageio.metadata.IIOMetadataFormat;
-import javax.imageio.metadata.IIOMetadataFormatImpl;
-
-public class IIOMetadataUtils {
- private IIOMetadataUtils() {}
-
- public static IIOMetadataFormat instantiateMetadataFormat(
- String formatName, boolean standardFormatSupported,
- String nativeMetadataFormatName, String nativeMetadataFormatClassName,
- String [] extraMetadataFormatNames, String [] extraMetadataFormatClassNames
- ) {
- if (formatName == null) {
- throw new IllegalArgumentException("formatName == null!");
- }
- if (formatName.equals(IIOMetadataFormatImpl.standardMetadataFormatName)) {
- if (standardFormatSupported) {
- return IIOMetadataFormatImpl.getStandardFormatInstance();
- }
- }
-
- String className = null;
-
- if (formatName.equals(nativeMetadataFormatName)) {
- className = nativeMetadataFormatClassName;
- } else if (extraMetadataFormatNames != null) {
- for (int i = 0; i < extraMetadataFormatNames.length; i++) {
- if (formatName.equals(extraMetadataFormatNames[i])) {
- className = extraMetadataFormatClassNames[i];
- break;
- }
- }
- }
-
- if (className == null) {
- throw new IllegalArgumentException("Unsupported format name");
- }
-
- // Get the context class loader and try to use it first
- ClassLoader contextClassloader = AccessController.doPrivileged(
- new PrivilegedAction<ClassLoader>() {
- public ClassLoader run() {
- return Thread.currentThread().getContextClassLoader();
- }
- });
-
- Class cls;
-
- try {
- cls = Class.forName(className, true, contextClassloader);
- } catch (ClassNotFoundException e) {
- try {
- // Use current class loader
- cls = Class.forName(className);
- } catch (ClassNotFoundException e1) {
- throw new IllegalStateException ("Can't obtain format");
- }
- }
-
- try {
- //???AWT:
- //Method getInstance = cls.getMethod("getInstance");
- //return (IIOMetadataFormat) getInstance.invoke(null);
- return null;
- } catch (Exception e) {
- IllegalStateException e1 = new IllegalStateException("Can't obtain format");
- e1.initCause(e); // Add some details to the message
- throw e1;
- }
- }
-}
diff --git a/awt/org/apache/harmony/x/imageio/plugins/jpeg/IISDecodingImageSource.java b/awt/org/apache/harmony/x/imageio/plugins/jpeg/IISDecodingImageSource.java
deleted file mode 100644
index 051f906..0000000
--- a/awt/org/apache/harmony/x/imageio/plugins/jpeg/IISDecodingImageSource.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem Rafikov
- * @version $Revision: 1.2 $
- */
-package org.apache.harmony.x.imageio.plugins.jpeg;
-
-import javax.imageio.stream.ImageInputStream;
-
-import org.apache.harmony.awt.gl.image.DecodingImageSource;
-
-import java.io.InputStream;
-import java.io.IOException;
-
-/**
- * This allows usage of the java2d jpegdecoder with ImageInputStream in
- * the JPEGImageReader. Temporary, only to make JPEGImageReader#read(..)
- * working.
- *
- */
-public class IISDecodingImageSource extends DecodingImageSource {
-
- private final InputStream is;
-
- public IISDecodingImageSource(ImageInputStream iis) {
- is = new IISToInputStreamWrapper(iis);
- }
-
- @Override
- protected boolean checkConnection() {
- return true;
- }
-
- @Override
- protected InputStream getInputStream() {
- return is;
- }
-
- static class IISToInputStreamWrapper extends InputStream {
-
- private ImageInputStream input;
-
- public IISToInputStreamWrapper(ImageInputStream input) {
- this.input=input;
- }
-
- @Override
- public int read() throws IOException {
- return input.read();
- }
-
- @Override
- public int read(byte[] b) throws IOException {
- return input.read(b);
- }
-
- @Override
- public int read(byte[] b, int off, int len) throws IOException {
- return input.read(b, off, len);
- }
-
- @Override
- public long skip(long n) throws IOException {
- return input.skipBytes(n);
- }
-
- @Override
- public boolean markSupported() {
- return true; // This is orig
-
- // ???AWT: FIXME
- // This is an error in Harmony. Not all input streams
- // have mark support and it is not ok to just return true.
- // There should be an input.markSupported(). However, if
- // this call returns false, nothing works anymore.
-
- // The backside is that BitmapFactory uses a call to markSupport()
- // to find out if it needs to warp the stream in a
- // BufferedInputStream to get mark support, and this fails!
-
- // Currently, the hack is in BitmapFactory, where we always
- // wrap the stream in a BufferedInputStream.
- }
-
- @Override
- public void mark(int readlimit) {
- input.mark();
- }
-
- @Override
- public void reset() throws IOException {
- input.reset();
- }
-
- @Override
- public void close() throws IOException {
- input.close();
- }
- }
-}
diff --git a/awt/org/apache/harmony/x/imageio/plugins/jpeg/JPEGConsts.java b/awt/org/apache/harmony/x/imageio/plugins/jpeg/JPEGConsts.java
deleted file mode 100644
index 067a825..0000000
--- a/awt/org/apache/harmony/x/imageio/plugins/jpeg/JPEGConsts.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.2 $
- */
-package org.apache.harmony.x.imageio.plugins.jpeg;
-
-public class JPEGConsts {
-
- private JPEGConsts() {}
-
- public static final int SOI = 0xD8;
-
- //-- IJG (Independed JPEG Group) color spaces
- public static final int JCS_UNKNOW = 0;
- public static final int JCS_GRAYSCALE = 1;
- public static final int JCS_RGB = 2;
- public static final int JCS_YCbCr = 3;
- public static final int JCS_CMYK = 4;
- public static final int JCS_YCC = 5;
- public static final int JCS_RGBA = 6;
- public static final int JCS_YCbCrA = 7;
- public static final int JCS_YCCA = 10;
- public static final int JCS_YCCK = 11;
-
- public static int[][] BAND_OFFSETS = {{}, {0}, {0, 1}, {0, 1, 2}, {0, 1, 2, 3}};
-
- public static final float DEFAULT_JPEG_COMPRESSION_QUALITY = 0.75f;
-}
diff --git a/awt/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageReader.java b/awt/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageReader.java
deleted file mode 100644
index 110ed23..0000000
--- a/awt/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageReader.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.4 $
- */
-package org.apache.harmony.x.imageio.plugins.jpeg;
-
-
-import javax.imageio.ImageReader;
-import javax.imageio.ImageReadParam;
-import javax.imageio.ImageTypeSpecifier;
-import javax.imageio.plugins.jpeg.JPEGImageReadParam;
-import javax.imageio.stream.ImageInputStream;
-import javax.imageio.metadata.IIOMetadata;
-import javax.imageio.spi.ImageReaderSpi;
-
-import org.apache.harmony.awt.gl.image.DecodingImageSource;
-import org.apache.harmony.awt.gl.image.OffscreenImage;
-
-import java.io.IOException;
-import java.util.Iterator;
-import java.awt.image.BufferedImage;
-
-/**
- * This implementation uses org.apache.harmony.awt.gl.image.JpegDecoder to read
- * an image. The only implemented method is read(..);
- *
- * TODO: Implements generic decoder to be used by javad2 and imageio
- *
- * @see org.apache.harmony.awt.gl.image.JpegDecoder
- * @see org.apache.harmony.x.imageio.plugins.jpeg.IISDecodingImageSource
- */
-public class JPEGImageReader extends ImageReader {
-
- ImageInputStream iis;
-
- public JPEGImageReader(ImageReaderSpi imageReaderSpi) {
- super(imageReaderSpi);
- }
-
- @Override
- public int getHeight(int i) throws IOException {
- //-- TODO imlement
- throw new UnsupportedOperationException("not implemented yet");
- }
-
- @Override
- public int getWidth(int i) throws IOException {
- //-- TODO imlement
- throw new UnsupportedOperationException("not implemented yet");
- }
-
- @Override
- public int getNumImages(boolean b) throws IOException {
- //-- TODO imlement
- throw new UnsupportedOperationException("not implemented yet");
- }
-
- @Override
- public Iterator<ImageTypeSpecifier> getImageTypes(int i) throws IOException {
- //-- TODO imlement
- throw new UnsupportedOperationException("not implemented yet");
- }
-
- @Override
- public IIOMetadata getStreamMetadata() throws IOException {
- //-- TODO imlement
- throw new UnsupportedOperationException("not implemented yet");
- }
-
- @Override
- public IIOMetadata getImageMetadata(int i) throws IOException {
- //-- TODO imlement
- throw new UnsupportedOperationException("not implemented yet");
- }
-
- @Override
- public BufferedImage read(int i, ImageReadParam imageReadParam) throws IOException {
- if (iis == null) {
- throw new IllegalArgumentException("input stream == null");
- }
-
- DecodingImageSource source = new IISDecodingImageSource(iis);
- OffscreenImage image = new OffscreenImage(source);
- source.addConsumer(image);
- source.load();
- // The interrupted flag should be cleared because ImageDecoder interrupts
- // current thread while decoding. The same technique is used in
- // ImageLoader#run(). Another solution can be to create
- // a separate decoding thread. However, decoder keeps its own pool
- // of threads so creating a new thread will be just a waste of resources.
- Thread.interrupted();
- return image.getBufferedImage();
- }
-
- @Override
- public BufferedImage read(int i) throws IOException {
- return read(i, null);
- }
-
- @Override
- public void setInput(Object input, boolean seekForwardOnly, boolean ignoreMetadata) {
- super.setInput(input, seekForwardOnly, ignoreMetadata);
- iis = (ImageInputStream) input;
- }
-
- @Override
- public ImageReadParam getDefaultReadParam() {
- return new JPEGImageReadParam();
- }
-}
diff --git a/awt/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageReaderSpi.java b/awt/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageReaderSpi.java
deleted file mode 100644
index c719ce7..0000000
--- a/awt/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageReaderSpi.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-package org.apache.harmony.x.imageio.plugins.jpeg;
-
-import java.io.IOException;
-import java.util.Locale;
-import javax.imageio.ImageReader;
-import javax.imageio.spi.ImageReaderSpi;
-import javax.imageio.spi.ServiceRegistry;
-import javax.imageio.stream.ImageInputStream;
-
-public class JPEGImageReaderSpi extends ImageReaderSpi {
-
- public JPEGImageReaderSpi() {
- super(JPEGSpiConsts.vendorName, JPEGSpiConsts.version,
- JPEGSpiConsts.names, JPEGSpiConsts.suffixes,
- JPEGSpiConsts.MIMETypes, JPEGSpiConsts.readerClassName,
- STANDARD_INPUT_TYPE, JPEGSpiConsts.writerSpiNames,
- JPEGSpiConsts.supportsStandardStreamMetadataFormat,
- JPEGSpiConsts.nativeStreamMetadataFormatName,
- JPEGSpiConsts.nativeStreamMetadataFormatClassName,
- JPEGSpiConsts.extraStreamMetadataFormatNames,
- JPEGSpiConsts.extraStreamMetadataFormatClassNames,
- JPEGSpiConsts.supportsStandardImageMetadataFormat,
- JPEGSpiConsts.nativeImageMetadataFormatName,
- JPEGSpiConsts.nativeImageMetadataFormatClassName,
- JPEGSpiConsts.extraImageMetadataFormatNames,
- JPEGSpiConsts.extraImageMetadataFormatClassNames);
- }
-
-
- @Override
- public boolean canDecodeInput(Object source) throws IOException {
- ImageInputStream markable = (ImageInputStream) source;
- try {
- markable.mark();
-
- byte[] signature = new byte[3];
- markable.seek(0);
- markable.read(signature, 0, 3);
- markable.reset();
-
- if ((signature[0] & 0xFF) == 0xFF &&
- (signature[1] & 0xFF) == JPEGConsts.SOI &&
- (signature[2] & 0xFF) == 0xFF) { // JPEG
- return true;
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- return false;
- }
-
- @Override
- public ImageReader createReaderInstance(Object extension) throws IOException {
- return new JPEGImageReader(this);
- }
-
- @Override
- public String getDescription(Locale locale) {
- return "DRL JPEG decoder";
- }
-
- @Override
- public void onRegistration(ServiceRegistry registry, Class<?> category) {
- // super.onRegistration(registry, category);
- }
-}
diff --git a/awt/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageWriter.java b/awt/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageWriter.java
deleted file mode 100644
index ae3e876..0000000
--- a/awt/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageWriter.java
+++ /dev/null
@@ -1,402 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-package org.apache.harmony.x.imageio.plugins.jpeg;
-
-import com.android.internal.awt.ImageOutputStreamWrapper;
-
-import javax.imageio.ImageWriter;
-import javax.imageio.IIOImage;
-import javax.imageio.ImageTypeSpecifier;
-import javax.imageio.ImageWriteParam;
-import javax.imageio.plugins.jpeg.JPEGImageWriteParam;
-import javax.imageio.stream.ImageOutputStream;
-import javax.imageio.spi.ImageWriterSpi;
-import javax.imageio.metadata.IIOMetadata;
-
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.graphics.Bitmap.CompressFormat;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.awt.image.*;
-import java.awt.*;
-import java.awt.color.ColorSpace;
-
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-public class JPEGImageWriter extends ImageWriter {
-
- // /* ???AWT: Debugging
- private static final boolean DEBUG = false;
- private static Bitmap bm;
- public static Bitmap getBitmap() {
- return bm;
- }
- private static BufferedImage bufImg;
- public static BufferedImage getBufImage() {
- return bufImg;
- }
- static private RenderedImage renImg;
- static public RenderedImage getRenImage() {
- return renImg;
- }
- // */
-
- private long cinfo;
- private RenderedImage image;
- private Raster sourceRaster;
- private WritableRaster scanRaster;
- private int srcXOff = 0;
- private int srcYOff = 0;
- private int srcWidth;
- private int srcHeight;
-
- //-- y step for image subsampling
- private int deltaY = 1;
- //-- x step for image subsampling
- private int deltaX = 1;
-
- private ImageOutputStream ios;
-
- public JPEGImageWriter(ImageWriterSpi imageWriterSpi) {
- super(imageWriterSpi);
- //???AWT: cinfo = initCompressionObj();
- cinfo = System.currentTimeMillis();
- }
-
- static {
- //???AWT
- /*
- System.loadLibrary("jpegencoder");
- initWriterIds(ImageOutputStream.class);
- */
- }
-
- @Override
- public void write(IIOMetadata iioMetadata, IIOImage iioImage, ImageWriteParam param)
- throws IOException {
-
- if (ios == null) {
- throw new IllegalArgumentException("ios == null");
- }
- if (iioImage == null) {
- throw new IllegalArgumentException("Image equals null");
- }
-
- RenderedImage img = null;
- if (!iioImage.hasRaster()) {
- img = iioImage.getRenderedImage();
- if (img instanceof BufferedImage) {
- sourceRaster = ((BufferedImage) img).getRaster();
- } else {
- sourceRaster = img.getData();
- }
- } else {
- sourceRaster = iioImage.getRaster();
- }
-
- // AWT???: Debugging
- if (DEBUG) {
- if( img==null ) {
- System.out.println("****J: Image is NULL");
- } else {
- renImg = img;
- bufImg = (BufferedImage)img;
- }
- }
-
- int numBands = sourceRaster.getNumBands();
- int sourceIJGCs = img == null ? JPEGConsts.JCS_UNKNOW : getSourceCSType(img);
-
- srcWidth = sourceRaster.getWidth();
- srcHeight = sourceRaster.getHeight();
-
- int destWidth = srcWidth;
- int destHeight = srcHeight;
-
- boolean progressive = false;
-
- if (param != null) {
- Rectangle reg = param.getSourceRegion();
- if (reg != null) {
- srcXOff = reg.x;
- srcYOff = reg.y;
-
- srcWidth = reg.width + srcXOff > srcWidth
- ? srcWidth - srcXOff
- : reg.width;
- srcHeight = reg.height + srcYOff > srcHeight
- ? srcHeight - srcYOff
- : reg.height;
- }
-
- //-- TODO uncomment when JPEGImageWriteParam be implemented
- //-- Only default progressive mode yet
- // progressive = param.getProgressiveMode() == ImageWriteParam.MODE_DEFAULT;
-
- //-- def is 1
- deltaX = param.getSourceXSubsampling();
- deltaY = param.getSourceYSubsampling();
-
- //-- def is 0
- int offsetX = param.getSubsamplingXOffset();
- int offsetY = param.getSubsamplingYOffset();
-
- srcXOff += offsetX;
- srcYOff += offsetY;
- srcWidth -= offsetX;
- srcHeight -= offsetY;
-
- destWidth = (srcWidth + deltaX - 1) / deltaX;
- destHeight = (srcHeight + deltaY - 1) / deltaY;
- }
-
- //-- default DQTs (see JPEGQTable java doc and JPEG spec K1 & K2 tables)
- //-- at http://www.w3.org/Graphics/JPEG/itu-t81.pdf
- //-- Only figuring out how to set DQT in IJG library for future metadata
- //-- support. IJG def tables are the same.
- //JPEGQTable[] dqt = new JPEGQTable[2];
-// int[][] dqt = null;
-// int[][] dqt = new int[2][];
-// dqt[0] = JPEGQTable.K1Div2Luminance.getTable();
-// dqt[1] = JPEGQTable.K2Div2Chrominance.getTable();
-
- //???AWT: I think we don't need this amymore
- /*
- //-- using default color space
- //-- TODO: Take destination cs from param or use default if there is no cs
- int destIJGCs = img == null ? JPEGConsts.JCS_UNKNOW : getDestinationCSType(img);
-
- DataBufferByte dbuffer = new DataBufferByte(numBands * srcWidth);
-
- scanRaster = Raster.createInterleavedRaster(dbuffer, srcWidth, 1,
- numBands * srcWidth, numBands, JPEGConsts.BAND_OFFSETS[numBands], null);
-
- encode(dbuffer.getData(), srcWidth, destWidth, destHeight, deltaX,
- sourceIJGCs, destIJGCs, numBands, progressive,
- null, cinfo);
- */
-
- SampleModel model = sourceRaster.getSampleModel();
-
- if (model instanceof SinglePixelPackedSampleModel) {
- DataBufferInt ibuf = (DataBufferInt)sourceRaster.getDataBuffer();
- int[] pixels = ibuf.getData();
-
- // Create a bitmap with the pixel
- bm = Bitmap.createBitmap(pixels, srcWidth, srcHeight, Bitmap.Config.ARGB_8888);
-
- // Use Bitmap.compress() to write the image
- ImageOutputStreamWrapper iosw = new ImageOutputStreamWrapper(ios);
- bm.compress(CompressFormat.JPEG, 100, iosw);
- } else {
- // ???AWT: Add support for other color models
- throw new RuntimeException("Color model not supported yet");
- }
-
- }
-
- @Override
- public void dispose() {
- super.dispose();
- if (cinfo != 0) {
- //???AWT: dispose(cinfo);
- cinfo = 0;
- ios = null;
- }
- }
-
-
- public IIOMetadata getDefaultStreamMetadata(ImageWriteParam imageWriteParam) {
- throw new UnsupportedOperationException("not supported yet");
- }
-
- public IIOMetadata getDefaultImageMetadata(ImageTypeSpecifier imageTypeSpecifier, ImageWriteParam imageWriteParam) {
- throw new UnsupportedOperationException("not supported yet");
- }
-
- @Override
- public IIOMetadata convertStreamMetadata(IIOMetadata iioMetadata, ImageWriteParam imageWriteParam) {
- throw new UnsupportedOperationException("not supported yet");
- }
-
- @Override
- public IIOMetadata convertImageMetadata(IIOMetadata iioMetadata, ImageTypeSpecifier imageTypeSpecifier, ImageWriteParam imageWriteParam) {
- throw new UnsupportedOperationException("not supported yet");
- }
-
- @Override
- public void setOutput(Object output) {
- super.setOutput(output);
- ios = (ImageOutputStream) output;
- //???AWT: setIOS(ios, cinfo);
- sourceRaster = null;
- scanRaster = null;
- srcXOff = 0;
- srcYOff = 0;
- srcWidth = 0;
- srcHeight = 0;
- deltaY = 1;
- }
-
- /**
- * Frees resources
- * @param structPointer
- */
- //???AWT: private native void dispose(long structPointer);
-
- /**
- * Inits methods Ids for native to java callbacks
- * @param iosClass
- */
- //???AWT: private native static void initWriterIds(Class<ImageOutputStream> iosClass);
-
- /**
- * Inits compression objects
- * @return pointer to the native structure
- */
- //???AWT: private native long initCompressionObj();
-
- /**
- * Sets image output stream in IJG layer
- * @param stream
- */
- //???AWT: private native void setIOS(ImageOutputStream stream, long structPointer);
-
- /**
- * Runs encoding process.
- *
- * @param data image data buffer to encode
- * @param srcWidth - source width
- * @param width - destination width
- * @param height destination height
- * @param deltaX - x subsampling step
- * @param inColorSpace - original color space
- * @param outColorSpace - destination color space
- * @param numBands - number of bands
- * @param cinfo - native handler
- * @return
- */
- //???AWT:
- /*
- private native boolean encode(byte[] data, int srcWidth,
- int width, int height, int deltaX,
- int inColorSpace, int outColorSpace,
- int numBands, boolean progressive,
- int[][] dqt,
- long cinfo);
- */
-
- /**
- * Callback for getting a next scanline
- * @param scanline scan line number
- */
- @SuppressWarnings("unused")
- private void getScanLine(int scanline) {
- //-- TODO: processImageProgress in ImageWriter
- Raster child = sourceRaster.createChild(srcXOff,
- srcYOff + scanline * deltaY, srcWidth, 1, 0, 0, null);
-
- scanRaster.setRect(child);
- }
-
- /**
- * Maps color space types to IJG color spaces
- * @param image
- * @return
- */
- private int getSourceCSType(RenderedImage image) {
- int type = JPEGConsts.JCS_UNKNOW;
- ColorModel cm = image.getColorModel();
-
- if (null == cm) {
- return type;
- }
-
- if (cm instanceof IndexColorModel) {
- throw new UnsupportedOperationException("IndexColorModel is not supported yet");
- }
-
- boolean hasAlpha = cm.hasAlpha();
- ColorSpace cs = cm.getColorSpace();
- switch(cs.getType()) {
- case ColorSpace.TYPE_GRAY:
- type = JPEGConsts.JCS_GRAYSCALE;
- break;
- case ColorSpace.TYPE_RGB:
- type = hasAlpha ? JPEGConsts.JCS_RGBA : JPEGConsts.JCS_RGB;
- break;
- case ColorSpace.TYPE_YCbCr:
- type = hasAlpha ? JPEGConsts.JCS_YCbCrA : JPEGConsts.JCS_YCbCr;
- break;
- case ColorSpace.TYPE_3CLR:
- type = hasAlpha ? JPEGConsts.JCS_YCCA : JPEGConsts.JCS_YCC;
- break;
- case ColorSpace.TYPE_CMYK:
- type = JPEGConsts.JCS_CMYK;
- break;
- }
- return type;
- }
-
- /**
- * Returns destination color space.
- * (YCbCr[A] for RGB)
- *
- * @param image
- * @return
- */
- private int getDestinationCSType(RenderedImage image) {
- int type = JPEGConsts.JCS_UNKNOW;
- ColorModel cm = image.getColorModel();
- if (null != cm) {
- boolean hasAlpha = cm.hasAlpha();
- ColorSpace cs = cm.getColorSpace();
-
- switch(cs.getType()) {
- case ColorSpace.TYPE_GRAY:
- type = JPEGConsts.JCS_GRAYSCALE;
- break;
- case ColorSpace.TYPE_RGB:
- type = hasAlpha ? JPEGConsts.JCS_YCbCrA : JPEGConsts.JCS_YCbCr;
- break;
- case ColorSpace.TYPE_YCbCr:
- type = hasAlpha ? JPEGConsts.JCS_YCbCrA : JPEGConsts.JCS_YCbCr;
- break;
- case ColorSpace.TYPE_3CLR:
- type = hasAlpha ? JPEGConsts.JCS_YCCA : JPEGConsts.JCS_YCC;
- break;
- case ColorSpace.TYPE_CMYK:
- type = JPEGConsts.JCS_CMYK;
- break;
- }
- }
- return type;
- }
-
- public ImageWriteParam getDefaultWriteParam() {
- return new JPEGImageWriteParam(getLocale());
- }
-}
diff --git a/awt/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageWriterSpi.java b/awt/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageWriterSpi.java
deleted file mode 100644
index b7990e0..0000000
--- a/awt/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageWriterSpi.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-package org.apache.harmony.x.imageio.plugins.jpeg;
-
-import javax.imageio.spi.ImageWriterSpi;
-import javax.imageio.ImageWriter;
-import javax.imageio.ImageTypeSpecifier;
-import java.io.IOException;
-import java.util.Locale;
-
-public class JPEGImageWriterSpi extends ImageWriterSpi {
-
- public JPEGImageWriterSpi() {
- super(JPEGSpiConsts.vendorName, JPEGSpiConsts.version,
- JPEGSpiConsts.names, JPEGSpiConsts.suffixes, JPEGSpiConsts.MIMETypes,
- JPEGSpiConsts.writerClassName, STANDARD_OUTPUT_TYPE,
- JPEGSpiConsts.readerSpiNames, JPEGSpiConsts.supportsStandardStreamMetadataFormat /*TODO: support st. metadata format*/,
- JPEGSpiConsts.nativeStreamMetadataFormatName, JPEGSpiConsts.nativeStreamMetadataFormatClassName,
- JPEGSpiConsts.extraStreamMetadataFormatNames, JPEGSpiConsts.extraStreamMetadataFormatClassNames,
- JPEGSpiConsts.supportsStandardImageMetadataFormat, JPEGSpiConsts.nativeImageMetadataFormatName, JPEGSpiConsts.nativeImageMetadataFormatClassName,
- JPEGSpiConsts.extraImageMetadataFormatNames, JPEGSpiConsts.extraImageMetadataFormatClassNames);
- }
-
- @Override
- public boolean canEncodeImage(ImageTypeSpecifier imageTypeSpecifier) {
- return true;
- }
-
- @Override
- public ImageWriter createWriterInstance(Object o) throws IOException {
- return new JPEGImageWriter(this);
- }
-
- @Override
- public String getDescription(Locale locale) {
- return "DRL JPEG Encoder";
- }
-}
diff --git a/awt/org/apache/harmony/x/imageio/plugins/jpeg/JPEGSpiConsts.java b/awt/org/apache/harmony/x/imageio/plugins/jpeg/JPEGSpiConsts.java
deleted file mode 100644
index c3b4a50..0000000
--- a/awt/org/apache/harmony/x/imageio/plugins/jpeg/JPEGSpiConsts.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.2 $
- */
-package org.apache.harmony.x.imageio.plugins.jpeg;
-
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.2 $
- */
-public class JPEGSpiConsts {
- private JPEGSpiConsts() {}
-
- public static final String vendorName = "Intel Corporation";
- public static final String version = "0.1 beta";
-
- static final String readerClassName = "org.apache.harmony.x.imageio.plugins.jpeg.JPEGImageReader";
- static final String writerClassName = "org.apache.harmony.x.imageio.plugins.jpeg.JPEGImageWriter";
-
- static final String[] names = {"jpeg", "jpg", "JPEG", "JPG"};
- static final String[] suffixes = {"jpeg", "jpg"};
- static final String[] MIMETypes = {"image/jpeg"};
-
- static final String[] writerSpiNames = {"org.apache.harmony.x.imageio.plugins.jpeg.JPEGImageWriterSpi"};
- static final String[] readerSpiNames = {"org.apache.harmony.x.imageio.plugins.jpeg.JPEGImageReaderSpi"};
-
- //-- TODO fill this stuff with correct data
- static final boolean supportsStandardStreamMetadataFormat = false;
- static final String nativeStreamMetadataFormatName = null;
- static final String nativeStreamMetadataFormatClassName = null;
- static final String[] extraStreamMetadataFormatNames = null;
- static final String[] extraStreamMetadataFormatClassNames = null;
- static final boolean supportsStandardImageMetadataFormat = false;
- static final String nativeImageMetadataFormatName =
- "org.apache.harmony.x.imageio.plugins.jpeg.MyFormatMetadata_1.0";
- static final String nativeImageMetadataFormatClassName =
- "org.apache.harmony.x.imageio.plugins.jpeg.MyFormatMetadata";
- static final String[] extraImageMetadataFormatNames = null;
- static final String[] extraImageMetadataFormatClassNames = null;
-
-}
diff --git a/awt/org/apache/harmony/x/imageio/plugins/png/PNGImageReader.java b/awt/org/apache/harmony/x/imageio/plugins/png/PNGImageReader.java
deleted file mode 100644
index 480041c..0000000
--- a/awt/org/apache/harmony/x/imageio/plugins/png/PNGImageReader.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package org.apache.harmony.x.imageio.plugins.png;
-
-import org.apache.harmony.awt.gl.image.DecodingImageSource;
-import org.apache.harmony.awt.gl.image.OffscreenImage;
-import org.apache.harmony.x.imageio.plugins.jpeg.IISDecodingImageSource;
-
-import javax.imageio.ImageReader;
-import javax.imageio.ImageTypeSpecifier;
-import javax.imageio.ImageReadParam;
-import javax.imageio.plugins.jpeg.JPEGImageReadParam;
-import javax.imageio.spi.ImageReaderSpi;
-import javax.imageio.stream.ImageInputStream;
-import javax.imageio.metadata.IIOMetadata;
-import java.io.IOException;
-import java.util.Iterator;
-import java.awt.image.BufferedImage;
-
-public class PNGImageReader extends ImageReader {
- ImageInputStream iis;
-
- public PNGImageReader(ImageReaderSpi imageReaderSpi) {
- super(imageReaderSpi);
- }
-
- public int getNumImages(boolean allowSearch) throws IOException {
- //-- TODO imlement
- throw new UnsupportedOperationException("not implemented yet");
- }
-
- public int getWidth(int imageIndex) throws IOException {
- //-- TODO imlement
- throw new UnsupportedOperationException("not implemented yet");
- }
-
- public int getHeight(int imageIndex) throws IOException {
- //-- TODO imlement
- throw new UnsupportedOperationException("not implemented yet");
- }
-
- public Iterator<ImageTypeSpecifier> getImageTypes(int imageIndex) throws IOException {
- //-- TODO imlement
- throw new UnsupportedOperationException("not implemented yet");
- }
-
- @Override
- public IIOMetadata getStreamMetadata() throws IOException {
- //-- TODO imlement
- throw new UnsupportedOperationException("not implemented yet");
- }
-
- @Override
- public IIOMetadata getImageMetadata(int imageIndex) throws IOException {
- //-- TODO imlement
- throw new UnsupportedOperationException("not implemented yet");
- }
-
- @Override
- public BufferedImage read(int i, ImageReadParam imageReadParam) throws IOException {
- if (iis == null) {
- throw new IllegalArgumentException("input stream == null");
- }
-
- DecodingImageSource source = new IISDecodingImageSource(iis);
- OffscreenImage image = new OffscreenImage(source);
- source.addConsumer(image);
- source.load();
- // The interrupted flag should be cleared because ImageDecoder interrupts
- // current thread while decoding (due its architecture).
- Thread.interrupted();
- return image.getBufferedImage();
- }
-
- @Override
- public BufferedImage read(int i) throws IOException {
- return read(i, null);
- }
-
- @Override
- public void setInput(Object input, boolean seekForwardOnly, boolean ignoreMetadata) {
- super.setInput(input, seekForwardOnly, ignoreMetadata);
- iis = (ImageInputStream) input;
- }
-
- @Override
- public ImageReadParam getDefaultReadParam() {
- return new ImageReadParam();
- }
-}
diff --git a/awt/org/apache/harmony/x/imageio/plugins/png/PNGImageReaderSpi.java b/awt/org/apache/harmony/x/imageio/plugins/png/PNGImageReaderSpi.java
deleted file mode 100644
index 50f8b10..0000000
--- a/awt/org/apache/harmony/x/imageio/plugins/png/PNGImageReaderSpi.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package org.apache.harmony.x.imageio.plugins.png;
-
-import org.apache.harmony.x.imageio.plugins.jpeg.JPEGSpiConsts;
-
-import javax.imageio.spi.ImageReaderSpi;
-import javax.imageio.spi.ServiceRegistry;
-import javax.imageio.ImageReader;
-import javax.imageio.stream.ImageInputStream;
-import java.io.IOException;
-import java.util.Locale;
-
-public class PNGImageReaderSpi extends ImageReaderSpi {
- static final String PNG_NAMES[] = new String[] {"png", "PNG"};
- static final String PNG_SUFFIXES[] = new String[] {"png"};
- static final String PNG_MIME_TYPES[] = new String[] {"image/png"};
- static final String PNG_READER_CLASS_NAME = "org.apache.harmony.x.imageio.plugins.png.PNGImageReader";
- static final String PNG_READER_SPI_NAMES[] = {"org.apache.harmony.x.imageio.plugins.png.PNGImageReaderSpi"};
-
- public PNGImageReaderSpi() {
- super(
- JPEGSpiConsts.vendorName, JPEGSpiConsts.version,
- PNG_NAMES, PNG_SUFFIXES,
- PNG_MIME_TYPES, PNG_READER_CLASS_NAME,
- STANDARD_INPUT_TYPE, null,
- false, null,
- null, null,
- null, false,
- null, null,
- null, null
- );
- }
-
- @Override
- public boolean canDecodeInput(Object source) throws IOException {
- ImageInputStream markable = (ImageInputStream) source;
- markable.mark();
-
- byte[] signature = new byte[8];
- markable.seek(0);
-
- int nBytes = markable.read(signature, 0, 8);
- if(nBytes != 8) markable.read(signature, nBytes, 8-nBytes);
- markable.reset();
-
- // PNG signature: 137 80 78 71 13 10 26 10
- return (signature[0] & 0xFF) == 137 &&
- (signature[1] & 0xFF) == 80 &&
- (signature[2] & 0xFF) == 78 &&
- (signature[3] & 0xFF) == 71 &&
- (signature[4] & 0xFF) == 13 &&
- (signature[5] & 0xFF) == 10 &&
- (signature[6] & 0xFF) == 26 &&
- (signature[7] & 0xFF) == 10;
- }
-
- @Override
- public ImageReader createReaderInstance(Object extension) throws IOException {
- return new PNGImageReader(this);
- }
-
- @Override
- public String getDescription(Locale locale) {
- return "DRL PNG decoder";
- }
-
- @Override
- public void onRegistration(ServiceRegistry registry, Class<?> category) {
- super.onRegistration(registry, category);
- }
-}
diff --git a/awt/org/apache/harmony/x/imageio/plugins/png/PNGImageWriter.java b/awt/org/apache/harmony/x/imageio/plugins/png/PNGImageWriter.java
deleted file mode 100644
index e2a8d7d..0000000
--- a/awt/org/apache/harmony/x/imageio/plugins/png/PNGImageWriter.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Viskov Nikolay
- * @version $Revision$
- */
-package org.apache.harmony.x.imageio.plugins.png;
-
-import com.android.internal.awt.ImageOutputStreamWrapper;
-
-import java.awt.image.BufferedImage;
-import java.awt.image.ColorModel;
-import java.awt.image.DataBufferByte;
-import java.awt.image.DataBufferInt;
-import java.awt.image.IndexColorModel;
-import java.awt.image.Raster;
-import java.awt.image.RenderedImage;
-import java.awt.image.SampleModel;
-import java.awt.image.SinglePixelPackedSampleModel;
-import java.awt.image.WritableRaster;
-import java.io.IOException;
-
-import javax.imageio.IIOImage;
-import javax.imageio.ImageTypeSpecifier;
-import javax.imageio.ImageWriteParam;
-import javax.imageio.ImageWriter;
-import javax.imageio.metadata.IIOMetadata;
-import javax.imageio.spi.ImageWriterSpi;
-import javax.imageio.stream.ImageOutputStream;
-
-import org.apache.harmony.x.imageio.internal.nls.Messages;
-
-import org.apache.harmony.luni.util.NotImplementedException;
-
-import android.graphics.Bitmap;
-import android.graphics.Bitmap.CompressFormat;
-
-public class PNGImageWriter extends ImageWriter {
-
- // /* ???AWT: Debugging
- private static final boolean DEBUG = false;
- private static Bitmap bm;
- public static Bitmap getBitmap() {
- return bm;
- }
- // */
-
- private static int[][] BAND_OFFSETS = {
- {}, {
- 0 }, {
- 0, 1 }, {
- 0, 1, 2 }, {
- 0, 1, 2, 3 } };
-
- // Each pixel is a grayscale sample.
- private static final int PNG_COLOR_TYPE_GRAY = 0;
- // Each pixel is an R,G,B triple.
- private static final int PNG_COLOR_TYPE_RGB = 2;
- // Each pixel is a palette index, a PLTE chunk must appear.
- private static final int PNG_COLOR_TYPE_PLTE = 3;
- // Each pixel is a grayscale sample, followed by an alpha sample.
- private static final int PNG_COLOR_TYPE_GRAY_ALPHA = 4;
- // Each pixel is an R,G,B triple, followed by an alpha sample.
- private static final int PNG_COLOR_TYPE_RGBA = 6;
-
- //???AWT: private static native void initIDs(Class<ImageOutputStream> iosClass);
-
- static {
- //???AWT
- /*
- System.loadLibrary("pngencoder"); //$NON-NLS-1$
- initIDs(ImageOutputStream.class);
- */
- }
-
- /*
- private native int encode(byte[] input, int bytesInBuffer, int bytePixelSize, Object ios, int imageWidth,
- int imageHeight, int bitDepth, int colorType, int[] palette, int i, boolean b);
- */
-
- protected PNGImageWriter(ImageWriterSpi iwSpi) {
- super(iwSpi);
- }
-
- @Override
- public IIOMetadata convertStreamMetadata(IIOMetadata arg0, ImageWriteParam arg1) {
- throw new NotImplementedException();
- }
-
- @Override
- public IIOMetadata convertImageMetadata(IIOMetadata arg0, ImageTypeSpecifier arg1, ImageWriteParam arg2) {
- throw new NotImplementedException();
- }
-
- @Override
- public IIOMetadata getDefaultImageMetadata(ImageTypeSpecifier arg0, ImageWriteParam arg1) {
- throw new NotImplementedException();
- }
-
- @Override
- public IIOMetadata getDefaultStreamMetadata(ImageWriteParam arg0) {
- throw new NotImplementedException();
- }
-
- @Override
- public void write(IIOMetadata streamMetadata, IIOImage iioImage, ImageWriteParam param) throws IOException {
- if (output == null) {
- throw new IllegalStateException("Output not been set");
- }
- if (iioImage == null) {
- throw new IllegalArgumentException("Image equals null");
- }
- // AWT???: I think this is not needed anymore
- // if (iioImage.hasRaster() && !canWriteRasters()) {
- // throw new UnsupportedOperationException("Can't write raster");
- //}// ImageOutputStreamImpl
-
- Raster sourceRaster;
- RenderedImage img = null;
- if (!iioImage.hasRaster()) {
- img = iioImage.getRenderedImage();
- if (img instanceof BufferedImage) {
- sourceRaster = ((BufferedImage) img).getRaster();
- } else {
- sourceRaster = img.getData();
- }
- } else {
- sourceRaster = iioImage.getRaster();
- }
-
- SampleModel model = sourceRaster.getSampleModel();
- int srcWidth = sourceRaster.getWidth();
- int srcHeight = sourceRaster.getHeight();
- int numBands = model.getNumBands();
-
- ColorModel colorModel = img.getColorModel();
- int pixelSize = colorModel.getPixelSize();
- int bytePixelSize = pixelSize / 8;
- int bitDepth = pixelSize / numBands;
-
- // byte per band
- int bpb = bitDepth > 8 ? 2 : 1;
-
- boolean isInterlace = true;
- if (param instanceof PNGImageWriterParam) {
- isInterlace = ((PNGImageWriterParam) param).getInterlace();
- }
-
- int colorType = PNG_COLOR_TYPE_GRAY;
- int[] palette = null;
-
- if (colorModel instanceof IndexColorModel) {
- if (bitDepth != 1 && bitDepth != 2 && bitDepth != 4 && bitDepth != 8) {
-// Wrong bitDepth-numBands composition
- throw new IllegalArgumentException(Messages.getString("imageio.1"));//$NON-NLS-1$
- }
- if (numBands != 1) {
-// Wrong bitDepth-numBands composition
- throw new IllegalArgumentException(Messages.getString("imageio.1"));//$NON-NLS-1$
- }
-
- IndexColorModel icm = (IndexColorModel) colorModel;
- palette = new int[icm.getMapSize()];
- icm.getRGBs(palette);
- colorType = PNG_COLOR_TYPE_PLTE;
- }
- else if (numBands == 1) {
- if (bitDepth != 1 && bitDepth != 2 && bitDepth != 4 && bitDepth != 8 && bitDepth != 16) {
-// Wrong bitDepth-numBands composition
- throw new IllegalArgumentException(Messages.getString("imageio.1"));//$NON-NLS-1$
- }
- colorType = PNG_COLOR_TYPE_GRAY;
- }
- else if (numBands == 2) {
- if (bitDepth != 8 && bitDepth != 16) {
-// Wrong bitDepth-numBands composition
- throw new IllegalArgumentException(Messages.getString("imageio.1"));//$NON-NLS-1$
- }
- colorType = PNG_COLOR_TYPE_GRAY_ALPHA;
- }
- else if (numBands == 3) {
- if (bitDepth != 8 && bitDepth != 16) {
-// Wrong bitDepth-numBands composition
- throw new IllegalArgumentException(Messages.getString("imageio.1")); //$NON-NLS-1$
- }
- colorType = PNG_COLOR_TYPE_RGB;
- }
- else if (numBands == 4) {
- if (bitDepth != 8 && bitDepth != 16) {
- //Wrong bitDepth-numBands composition
- throw new IllegalArgumentException(Messages.getString("imageio.1")); //$NON-NLS-1$
- }
- colorType = PNG_COLOR_TYPE_RGBA;
- }
-
- /* ???AWT: I think this is not needed anymore
- int dbufferLenght = bytePixelSize * imageHeight * imageWidth;
- DataBufferByte dbuffer = new DataBufferByte(dbufferLenght);
-
- WritableRaster scanRaster = Raster.createInterleavedRaster(dbuffer, imageWidth, imageHeight, bpb * numBands
- * imageWidth, bpb * numBands, BAND_OFFSETS[numBands], null);
-
- scanRaster.setRect(((BufferedImage) image).getRaster()// image.getData()
- .createChild(0, 0, imageWidth, imageHeight, 0, 0, null));
- */
-
- if (DEBUG) {
- System.out.println("**** raster:" + sourceRaster);
- System.out.println("**** model:" + model);
- System.out.println("**** type:" + colorType);
- }
-
- if (model instanceof SinglePixelPackedSampleModel) {
- DataBufferInt ibuf = (DataBufferInt)sourceRaster.getDataBuffer();
- int[] pixels = ibuf.getData();
-
- // Create a bitmap with the pixel
- bm = Bitmap.createBitmap(pixels, srcWidth, srcHeight, Bitmap.Config.ARGB_8888);
-
- // Use Bitmap.compress() to write the image
- ImageOutputStream ios = (ImageOutputStream) getOutput();
- ImageOutputStreamWrapper iosw = new ImageOutputStreamWrapper(ios);
- bm.compress(CompressFormat.PNG, 100, iosw);
- } else {
- // ???AWT: Add support for other color models
- throw new RuntimeException("Color model not supported yet");
- }
- }
-
- public ImageWriteParam getDefaultWriteParam() {
- return new PNGImageWriterParam();
- }
-}
diff --git a/awt/org/apache/harmony/x/imageio/plugins/png/PNGImageWriterParam.java b/awt/org/apache/harmony/x/imageio/plugins/png/PNGImageWriterParam.java
deleted file mode 100644
index bf3a000..0000000
--- a/awt/org/apache/harmony/x/imageio/plugins/png/PNGImageWriterParam.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Viskov Nikolay
- * @version $Revision$
- */
-package org.apache.harmony.x.imageio.plugins.png;
-
-import javax.imageio.ImageWriteParam;
-
-public class PNGImageWriterParam extends ImageWriteParam {
-
- private boolean isInterlace = true;
-
- public PNGImageWriterParam() {
- super();
- }
-
- public boolean getInterlace() {
- return isInterlace;
- }
-
- public void setInterlace(boolean b) {
- isInterlace = b;
- }
-
-}
diff --git a/awt/org/apache/harmony/x/imageio/plugins/png/PNGImageWriterSpi.java b/awt/org/apache/harmony/x/imageio/plugins/png/PNGImageWriterSpi.java
deleted file mode 100644
index 6eed14d..0000000
--- a/awt/org/apache/harmony/x/imageio/plugins/png/PNGImageWriterSpi.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Viskov Nikolay
- * @version $Revision$
- */
-package org.apache.harmony.x.imageio.plugins.png;
-
-import java.awt.image.ColorModel;
-import java.awt.image.DataBufferByte;
-import java.awt.image.IndexColorModel;
-import java.io.IOException;
-import java.util.Locale;
-
-import javax.imageio.ImageTypeSpecifier;
-import javax.imageio.ImageWriter;
-import javax.imageio.spi.ImageWriterSpi;
-
-public class PNGImageWriterSpi extends ImageWriterSpi {
-
- public PNGImageWriterSpi() {
- super("Intel Corporation",// vendorName
- "1.0",// version
- new String[] {
- "png", "PNG" },// names
- new String[] {
- "png", "PNG" },// suffixes
- new String[] {
- "image/png" },// MIMETypes
- "org.apache.harmony.x.imageio.plugins.png.PNGImageWriter",// writerClassName
- STANDARD_OUTPUT_TYPE,// outputTypes
- new String[] {
- "org.apache.harmony.x.imageio.plugins.png.PNGImageWriterSpi" },// readerSpiNames
- false,// supportsStandardStreamMetadataFormat
- null,// nativeStreamMetadataFormatName
- null,// nativeStreamMetadataFormatClassName
- null,// extraStreamMetadataFormatNames
- null,// extraStreamMetadataFormatClassNames
- false,// supportsStandardImageMetadataFormat
- null,// nativeImageMetadataFormatName
- null,// nativeImageMetadataFormatClassName
- null,// extraImageMetadataFormatNames
- null// extraImageMetadataFormatClassNames
- );
- }
-
- @Override
- public boolean canEncodeImage(ImageTypeSpecifier type) {
- boolean canEncode = true;
-
- int numBands = type.getSampleModel().getNumBands();
-
- ColorModel colorModel = type.getColorModel();
-
- int bitDepth = colorModel.getPixelSize() / numBands;
-
- if (colorModel instanceof IndexColorModel) {
- if (bitDepth != 1 && bitDepth != 2 && bitDepth != 4 && bitDepth != 8) {
- canEncode = false;
- }
- if (numBands != 1) {
- canEncode = false;
- }
- }
- else if (numBands == 1) {
- if (bitDepth != 1 && bitDepth != 2 && bitDepth != 4 && bitDepth != 8 && bitDepth != 16) {
- canEncode = false;
- }
- }
- else if (numBands == 2) {
- if (bitDepth != 8 && bitDepth != 16) {
- canEncode = false;
- }
- }
- else if (numBands == 3) {
- if (bitDepth != 8 && bitDepth != 16) {
- canEncode = false;
- }
- }
- else if (numBands == 4) {
- if (bitDepth != 8 && bitDepth != 16) {
- canEncode = false;
- }
- }
-
- return canEncode;
- }
-
- @Override
- public ImageWriter createWriterInstance(Object arg0) throws IOException {
- return new PNGImageWriter(this);
- }
-
- @Override
- public String getDescription(Locale arg0) {
- return "DRL PNG encoder";
- }
-
-}
diff --git a/awt/org/apache/harmony/x/imageio/spi/FileIISSpi.java b/awt/org/apache/harmony/x/imageio/spi/FileIISSpi.java
deleted file mode 100644
index d4fdd76..0000000
--- a/awt/org/apache/harmony/x/imageio/spi/FileIISSpi.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.2 $
- */
-package org.apache.harmony.x.imageio.spi;
-
-import javax.imageio.spi.ImageInputStreamSpi;
-import javax.imageio.stream.ImageInputStream;
-import javax.imageio.stream.FileImageOutputStream;
-import javax.imageio.stream.FileImageInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.util.Locale;
-
-public class FileIISSpi extends ImageInputStreamSpi {
- private static final String vendor = "Apache";
-
- private static final String ver = "0.1";
-
- public FileIISSpi() {
- super(vendor, ver, File.class);
- }
-
- @Override
- public ImageInputStream createInputStreamInstance(Object input, boolean useCache,
- File cacheDir) throws IOException {
- if (File.class.isInstance(input)) {
- return new FileImageInputStream((File) input);
- }
- throw new IllegalArgumentException("input is not an instance of java.io.File");
- }
-
- @Override
- public String getDescription(Locale locale) {
- return "File IIS Spi";
- }
-}
diff --git a/awt/org/apache/harmony/x/imageio/spi/FileIOSSpi.java b/awt/org/apache/harmony/x/imageio/spi/FileIOSSpi.java
deleted file mode 100644
index acda6a1..0000000
--- a/awt/org/apache/harmony/x/imageio/spi/FileIOSSpi.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.2 $
- */
-package org.apache.harmony.x.imageio.spi;
-
-import javax.imageio.spi.ImageOutputStreamSpi;
-import javax.imageio.stream.ImageOutputStream;
-import javax.imageio.stream.FileImageOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.util.Locale;
-
-public class FileIOSSpi extends ImageOutputStreamSpi {
- private static final String vendor = "Apache";
-
- private static final String ver = "0.1";
-
- public FileIOSSpi() {
- super(vendor, ver, File.class);
- }
-
- @Override
- public ImageOutputStream createOutputStreamInstance(Object output, boolean useCache,
- File cacheDir) throws IOException {
- if (output instanceof File) {
- return new FileImageOutputStream((File) output);
- }
- throw new IllegalArgumentException("output is not instance of File");
- }
-
- @Override
- public String getDescription(Locale locale) {
- return "File IOS Spi";
- }
-}
diff --git a/awt/org/apache/harmony/x/imageio/spi/InputStreamIISSpi.java b/awt/org/apache/harmony/x/imageio/spi/InputStreamIISSpi.java
deleted file mode 100644
index ed2fef0..0000000
--- a/awt/org/apache/harmony/x/imageio/spi/InputStreamIISSpi.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package org.apache.harmony.x.imageio.spi;
-
-import javax.imageio.spi.ImageInputStreamSpi;
-import javax.imageio.stream.*;
-import java.io.OutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Locale;
-
-public class InputStreamIISSpi extends ImageInputStreamSpi {
- private static final String vendor = "Apache";
-
- private static final String ver = "0.1";
-
- public InputStreamIISSpi() {
- super(vendor, ver, InputStream.class);
- }
-
- @Override
- public String getDescription(Locale locale) {
- return "Output Stream IOS Spi";
- }
-
- @Override
- public boolean canUseCacheFile() {
- return true;
- }
-
- @Override
- public ImageInputStream createInputStreamInstance(Object input, boolean useCache, File cacheDir) throws IOException {
- if (input instanceof InputStream) {
- if (useCache) {
- return new FileCacheImageInputStream((InputStream) input, cacheDir);
- } else {
- return new MemoryCacheImageInputStream((InputStream) input);
- }
- }
- throw new IllegalArgumentException("Output is not an instance of InputStream");
- }
-}
diff --git a/awt/org/apache/harmony/x/imageio/spi/OutputStreamIOSSpi.java b/awt/org/apache/harmony/x/imageio/spi/OutputStreamIOSSpi.java
deleted file mode 100644
index dd1e88d..0000000
--- a/awt/org/apache/harmony/x/imageio/spi/OutputStreamIOSSpi.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package org.apache.harmony.x.imageio.spi;
-
-import javax.imageio.spi.ImageOutputStreamSpi;
-import javax.imageio.stream.ImageOutputStream;
-import javax.imageio.stream.FileCacheImageOutputStream;
-import javax.imageio.stream.MemoryCacheImageOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.Locale;
-
-public class OutputStreamIOSSpi extends ImageOutputStreamSpi {
- private static final String vendor = "Apache";
-
- private static final String ver = "0.1";
-
- public OutputStreamIOSSpi() {
- super(vendor, ver, OutputStream.class);
- }
-
- @Override
- public ImageOutputStream createOutputStreamInstance(Object output, boolean useCache, File cacheDir) throws IOException {
- if (output instanceof OutputStream) {
- if (useCache) {
- return new FileCacheImageOutputStream((OutputStream) output, cacheDir);
- } else {
- return new MemoryCacheImageOutputStream((OutputStream) output);
- }
- }
- throw new IllegalArgumentException("Output is not an instance of OutputStream");
- }
-
- @Override
- public String getDescription(Locale locale) {
- return "Output Stream IOS Spi";
- }
-
- @Override
- public boolean canUseCacheFile() {
- return true;
- }
-}
diff --git a/awt/org/apache/harmony/x/imageio/spi/RAFIISSpi.java b/awt/org/apache/harmony/x/imageio/spi/RAFIISSpi.java
deleted file mode 100644
index f97eb87..0000000
--- a/awt/org/apache/harmony/x/imageio/spi/RAFIISSpi.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.2 $
- */
-package org.apache.harmony.x.imageio.spi;
-
-import javax.imageio.spi.ImageInputStreamSpi;
-import javax.imageio.stream.ImageInputStream;
-import javax.imageio.stream.FileImageInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.util.Locale;
-
-public class RAFIISSpi extends ImageInputStreamSpi {
- private static final String vendor = "Apache";
-
- private static final String ver = "0.1";
-
- public RAFIISSpi() {
- super(vendor, ver, RandomAccessFile.class);
- }
-
- @Override
- public ImageInputStream createInputStreamInstance(Object input, boolean useCache,
- File cacheDir) throws IOException {
- if (RandomAccessFile.class.isInstance(input)) {
- return new FileImageInputStream((RandomAccessFile) input);
- }
- throw new IllegalArgumentException(
- "input is not an instance of java.io.RandomAccessFile");
- }
-
- @Override
- public String getDescription(Locale locale) {
- return "RandomAccessFile IIS Spi";
- }
-}
diff --git a/awt/org/apache/harmony/x/imageio/spi/RAFIOSSpi.java b/awt/org/apache/harmony/x/imageio/spi/RAFIOSSpi.java
deleted file mode 100644
index a9d3649..0000000
--- a/awt/org/apache/harmony/x/imageio/spi/RAFIOSSpi.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.2 $
- */
-package org.apache.harmony.x.imageio.spi;
-
-import javax.imageio.spi.ImageOutputStreamSpi;
-import javax.imageio.stream.ImageOutputStream;
-import javax.imageio.stream.FileImageOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.util.Locale;
-
-public class RAFIOSSpi extends ImageOutputStreamSpi {
- private static final String vendor = "Apache";
-
- private static final String ver = "0.1";
-
- public RAFIOSSpi() {
- super(vendor, ver, RandomAccessFile.class);
- }
-
- @Override
- public ImageOutputStream createOutputStreamInstance(Object output, boolean useCache,
- File cacheDir) throws IOException {
- if (output instanceof RandomAccessFile) {
- return new FileImageOutputStream((RandomAccessFile) output);
- }
- throw new IllegalArgumentException("output is not instance of java.io.RandomAccessFile");
- }
-
- @Override
- public String getDescription(Locale locale) {
- return "RandomAccessFile IOS Spi";
- }
-}
diff --git a/awt/org/apache/harmony/x/imageio/stream/RandomAccessMemoryCache.java b/awt/org/apache/harmony/x/imageio/stream/RandomAccessMemoryCache.java
deleted file mode 100644
index 64f7b2a..0000000
--- a/awt/org/apache/harmony/x/imageio/stream/RandomAccessMemoryCache.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package org.apache.harmony.x.imageio.stream;
-
-import java.util.ArrayList;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-public final class RandomAccessMemoryCache {
- private static final int BLOCK_SHIFT = 9;
- private static final int BLOCK_SIZE = 1 << BLOCK_SHIFT;
- private static final int BLOCK_MASK = BLOCK_SIZE - 1;
-
- private long length;
-
- private int firstUndisposed = 0;
-
- private ArrayList<byte[]> blocks = new ArrayList<byte[]>();
-
- public RandomAccessMemoryCache() {
- }
-
- public long length() {
- return length;
- }
-
- public void close() {
- blocks.clear();
- length = 0;
- }
-
- private void grow(long pos) {
- int blocksNeeded = (int)(pos >> BLOCK_SHIFT) - blocks.size() + 1;
- for (int i=0; i < blocksNeeded; i++) {
- blocks.add(new byte[BLOCK_SIZE]);
- }
-
- length = pos + 1;
- }
-
- public void putData(int oneByte, long pos) {
- if (pos >= length) {
- grow(pos);
- }
-
- byte[] block = blocks.get((int)(pos >> BLOCK_SHIFT));
- block[(int)(pos & BLOCK_MASK)] = (byte) oneByte;
- }
-
- public void putData(byte[] buffer, int offset, int count, long pos) {
- if (count > buffer.length - offset || count < 0 || offset < 0) {
- throw new IndexOutOfBoundsException();
- }
- if (count == 0){
- return;
- }
-
- long lastPos = pos + count - 1;
- if (lastPos >= length) {
- grow(lastPos);
- }
-
- while (count > 0) {
- byte[] block = blocks.get((int)(pos >> BLOCK_SHIFT));
- int blockOffset = (int)(pos & BLOCK_MASK);
- int toCopy = Math.min(BLOCK_SIZE - blockOffset, count);
- System.arraycopy(buffer, offset, block, blockOffset, toCopy);
- pos += toCopy;
- count -= toCopy;
- offset += toCopy;
- }
- }
-
- public int getData(long pos) {
- if (pos >= length) {
- return -1;
- }
-
- byte[] block = blocks.get((int)(pos >> BLOCK_SHIFT));
- return block[(int)(pos & BLOCK_MASK)] & 0xFF;
- }
-
- public int getData(byte[] buffer, int offset, int count, long pos) {
- if (count > buffer.length - offset || count < 0 || offset < 0) {
- throw new IndexOutOfBoundsException();
- }
- if (count == 0) {
- return 0;
- }
- if (pos >= length) {
- return -1;
- }
-
- if (count + pos > length) {
- count = (int) (length - pos);
- }
-
- byte[] block = blocks.get((int)(pos >> BLOCK_SHIFT));
- int nbytes = Math.min(count, BLOCK_SIZE - (int)(pos & BLOCK_MASK));
- System.arraycopy(block, (int)(pos & BLOCK_MASK), buffer, offset, nbytes);
-
- return nbytes;
- }
- /*
- public void seek(long pos) throws IOException {
- if (pos < 0) {
- throw new IOException("seek position is negative");
- }
- this.pos = pos;
- }
-
- public void readFully(byte[] buffer) throws IOException {
- readFully(buffer, 0, buffer.length);
- }
-
- public void readFully(byte[] buffer, int offset, int count) throws IOException {
- if (0 <= offset && offset <= buffer.length && 0 <= count && count <= buffer.length - offset) {
- while (count > 0) {
- int result = read(buffer, offset, count);
- if (result >= 0) {
- offset += result;
- count -= result;
- } else {
- throw new EOFException();
- }
- }
- } else {
- throw new IndexOutOfBoundsException();
- }
- }
-
- public long getFilePointer() {
- return pos;
- }
-*/
-
- public void freeBefore(long pos) {
- int blockIdx = (int)(pos >> BLOCK_SHIFT);
- if (blockIdx <= firstUndisposed) { // Nothing to do
- return;
- }
-
- for (int i = firstUndisposed; i < blockIdx; i++) {
- blocks.set(i, null);
- }
-
- firstUndisposed = blockIdx;
- }
-
- public int appendData(InputStream is, int count) throws IOException {
- if (count <= 0) {
- return 0;
- }
-
- long startPos = length;
- long lastPos = length + count - 1;
- grow(lastPos); // Changes length
-
- int blockIdx = (int)(startPos >> BLOCK_SHIFT);
- int offset = (int) (startPos & BLOCK_MASK);
-
- int bytesAppended = 0;
-
- while (count > 0) {
- byte[] block = blocks.get(blockIdx);
- int toCopy = Math.min(BLOCK_SIZE - offset, count);
- count -= toCopy;
-
- while (toCopy > 0) {
- int bytesRead = is.read(block, offset, toCopy);
-
- if (bytesRead < 0) {
- length -= (count - bytesAppended);
- return bytesAppended;
- }
-
- toCopy -= bytesRead;
- offset += bytesRead;
- }
-
- blockIdx++;
- offset = 0;
- }
-
- return count;
- }
-
- public void getData(OutputStream os, int count, long pos) throws IOException {
- if (pos + count > length) {
- throw new IndexOutOfBoundsException("Argument out of cache");
- }
-
- int blockIdx = (int)(pos >> BLOCK_SHIFT);
- int offset = (int) (pos & BLOCK_MASK);
- if (blockIdx < firstUndisposed) {
- throw new IndexOutOfBoundsException("The requested data are already disposed");
- }
-
- while (count > 0) {
- byte[] block = blocks.get(blockIdx);
- int toWrite = Math.min(BLOCK_SIZE - offset, count);
- os.write(block, offset, toWrite);
-
- blockIdx++;
- offset = 0;
- count -= toWrite;
- }
- }
-}