From 7372d214af51c622d77b18b9b51ea58960ab554e Mon Sep 17 00:00:00 2001
From: Anthony Green <green@gcc.gnu.org>
Date: Mon, 7 Feb 2005 13:22:36 +0000
Subject: [multiple changes]

2005-02-06  Jerry Quinn  <jlquinn@optonline.net>

        * javax/imageio/metadata/IIOMetadataNode.java:
        Implemented.
        * javax/imageio/metadata/IIOAttr.java,
        javax/imageio/metadata/IIONamedNodeMap.java,
        javax/imageio/metadata/IIONodeList.java:
        New files

2005-02-06  Graydon Hoare  <graydon@redhat.com>

        * gnu/java/awt/ClasspathToolkit.java
        (registerImageIOSpis): New method.
        * javax/imageio/ImageIO.java
        (WriterFormatFilter.filter): Fix copy-and-paste typos.
        (WriterMIMETypeFilter.filter): Likewise.
        (ImageReaderIterator): Pass extension argument through to SPI.
        (getReadersByFilter): Likewise.
        (getWritersByFilter): Likewise.
        (getImageReadersByFormatName): Likewise.
        (getImageReadersByMIMEType): Likewise.
        (getImageReadersBySuffix): Likewise.
        (getImageWritersByFormatName): Likewise.
        (getImageWritersByMIMEType): Likewise.
        (getImageWritersBySuffix): Likewise.
        (read): Implement.
        (write): Implement.
        * javax/imageio/ImageReader.java
        (progressListeners): Initialize.
        (setInput): Implement.
        * javax/imageio/ImageWriter.java
        (progressListeners): Initialize.
        (warningListeners): Likewise.
        (warningLocales): Likewise.
        (setOutput): Test "isInstance" rather than class equality.
        * javax/imageio/spi/IIORegistry.java
        (static): Add reader and writer SPIs.
        (IIORegistry): Call ClasspathToolkit.registerImageIOSpis.

2004-02-06  Michael Koch  <konqueror@gmx.de>

        * javax/imageio/metadata/IIOInvalidTreeException.java
        (IIOInvalidTreeException): Reformatted.
        * javax/imageio/spi/IIORegistry.java
        (static): Register ImageReaderSpi.class and ImageWriterSpi.class.
        * javax/imageio/stream/MemoryCacheImageInputStream.java:
        Reworked import statements.

2004-02-06  Michael Koch  <konqueror@gmx.de>

        * javax/imageio/stream/FileImageOutputStream.java:
        Implemented.

2004-02-06  Michael Koch  <konqueror@gmx.de>

        * javax/imageio/stream/FileCacheImageInputStream.java,
        javax/imageio/stream/FileCacheImageOutputStream.java,
        javax/imageio/stream/FileImageInputStream.java,
        javax/imageio/stream/ImageInputStreamImpl.java,
        javax/imageio/stream/ImageOutputStreamImpl.java,
        javax/imageio/stream/MemoryCacheImageInputStream.java,
        javax/imageio/stream/MemoryCacheImageOutputStream.java:
        Added all missing methods in javax.imageio.stream.

From-SVN: r94698
---
 .../imageio/stream/ImageOutputStreamImpl.java      | 180 +++++++++++++++++++++
 1 file changed, 180 insertions(+)

(limited to 'libjava/javax/imageio/stream/ImageOutputStreamImpl.java')

diff --git a/libjava/javax/imageio/stream/ImageOutputStreamImpl.java b/libjava/javax/imageio/stream/ImageOutputStreamImpl.java
index d600943..2149255 100644
--- a/libjava/javax/imageio/stream/ImageOutputStreamImpl.java
+++ b/libjava/javax/imageio/stream/ImageOutputStreamImpl.java
@@ -39,6 +39,7 @@ exception statement from your version. */
 package javax.imageio.stream;
 
 import java.io.IOException;
+import java.nio.ByteOrder;
 
 /**
  * @author Michael Koch (konqueror@gmx.de)
@@ -51,6 +52,13 @@ public abstract class ImageOutputStreamImpl extends ImageInputStreamImpl
     // Do nothing here.
   }
 
+  protected void flushBits()
+    throws IOException
+  {
+    // FIXME: Implement me.
+    throw new Error("not implemented");
+  }
+
   public void write(byte[] data)
     throws IOException
   {
@@ -62,4 +70,176 @@ public abstract class ImageOutputStreamImpl extends ImageInputStreamImpl
 
   public abstract void write(int value)
     throws IOException;
+
+  public void writeBit(int bit)
+    throws IOException
+  {
+    // FIXME: Implement me.
+    throw new Error("not implemented");
+  }
+
+  public void writeBits(long bits, int numBits)
+    throws IOException
+  {
+    // FIXME: Implement me.
+    throw new Error("not implemented");
+  }
+
+  public void writeBoolean(boolean value)
+    throws IOException
+  {
+    writeByte(value ? 1 : 0);
+  }
+
+  public void writeByte(int value)
+    throws IOException
+  {
+    write(value & 0xff);
+  }
+
+  public void writeBytes(String data)
+    throws IOException
+  {
+    write(data.getBytes());
+  }
+
+  public void writeChar(int value)
+    throws IOException
+  {
+    writeShort((short) value);
+  }
+
+  public void writeChars(char[] data, int offset, int len)
+    throws IOException
+  {
+    for(int i = 0; i < len; ++len)
+      writeChar(data[offset + i]);
+  }
+
+  public void writeChars(String data)
+    throws IOException
+  {
+    // FIXME: Implement me.
+    throw new Error("not implemented");
+  }
+
+  public void writeDouble(double value)
+    throws IOException
+  {
+    writeLong((long) value);
+  }
+
+  public void writeDoubles(double[] data, int offset, int len)
+    throws IOException
+  {
+    for(int i = 0; i < len; ++len)
+      writeDouble(data[offset + i]);
+  }
+  
+  public void writeFloat(float value)
+    throws IOException
+  {
+    writeInt((int) value);
+  }
+  
+  public void writeFloats(float[] data, int offset, int len)
+    throws IOException
+  {
+    for(int i = 0; i < len; ++len)
+      writeFloat(data[offset + i]);
+  }
+  
+  public void writeInt(int value)
+    throws IOException
+  {
+    if (getByteOrder() == ByteOrder.LITTLE_ENDIAN)
+      {
+        buffer[0] = ((byte) value);
+        buffer[1] = ((byte) (value >> 8));
+        buffer[2] = ((byte) (value >> 16));
+        buffer[3] = ((byte) (value >> 24));
+      }
+    else
+      {
+        buffer[0] = ((byte) (value >> 24));
+        buffer[1] = ((byte) (value >> 16));
+        buffer[2] = ((byte) (value >> 8));
+        buffer[3] = ((byte) value);
+      }
+    
+    write(buffer, 0, 4);
+  }
+  
+  public void writeInts(int[] data, int offset, int len)
+    throws IOException
+  {
+    for(int i = 0; i < len; ++len)
+      writeInt(data[offset + i]);
+  }
+  
+  public void writeLong(long value)
+    throws IOException
+  {
+    if (getByteOrder() == ByteOrder.LITTLE_ENDIAN)
+      {
+        buffer[0] = ((byte) value);
+        buffer[1] = ((byte) (value >> 8));
+        buffer[2] = ((byte) (value >> 16));
+        buffer[3] = ((byte) (value >> 24));
+        buffer[4] = ((byte) (value >> 32));
+        buffer[5] = ((byte) (value >> 40));
+        buffer[6] = ((byte) (value >> 48));
+        buffer[7] = ((byte) (value >> 56));
+      }
+    else
+      {
+        buffer[0] = ((byte) (value >> 56));
+        buffer[1] = ((byte) (value >> 48));
+        buffer[2] = ((byte) (value >> 40));
+        buffer[3] = ((byte) (value >> 32));
+        buffer[4] = ((byte) (value >> 24));
+        buffer[5] = ((byte) (value >> 16));
+        buffer[6] = ((byte) (value >> 8));
+        buffer[7] = ((byte) value);
+      }
+    
+    write(buffer, 0, 8);
+  }
+  
+  public void writeLongs(long[] data, int offset, int len)
+    throws IOException
+  {
+    for(int i = 0; i < len; ++len)
+      writeLong(data[offset + i]);
+  }
+  
+  public void writeShort(int value)
+    throws IOException
+  {
+    if (getByteOrder() == ByteOrder.LITTLE_ENDIAN)
+      {
+        buffer[0] = ((byte) value);
+        buffer[1] = ((byte) (value >> 8));
+      }
+    else
+      {
+        buffer[0] = ((byte) (value >> 8));
+        buffer[1] = ((byte) value);
+      }
+    
+    write(buffer, 0, 2);
+  }
+  
+  public void writeShorts(short[] data, int offset, int len)
+    throws IOException
+  {
+    for(int i = 0; i < len; ++len)
+      writeShort(data[offset + i]);
+  }
+  
+  public void writeUTF(String data)
+    throws IOException
+  {
+    throw new Error("not implemented");
+  }
 }
-- 
cgit v1.1