// Path: webimageloader/src/main/java/com/webimageloader/util/InputSupplier.java
// public interface InputSupplier {
//     /**
//      * Get the length of the supplied {@link InputStream}
//      *
//      * @return the length
//      * @throws IOException if opening the stream or file failed
//      */
//     long getLength() throws IOException;
// 
//     /**
//      * Open a new {@link InputStream}, you should be sure to close any previously
//      * opened streams before
//      *
//      * @return a fresh stream which you are responsible for closing
//      * @throws IOException if opening the stream failed
//      */
//     InputStream getInput() throws IOException;
// }


import java.io.IOException;
import com.webimageloader.util.InputSupplier;
import android.graphics.Bitmap;
package com.webimageloader.transformation;




/**
 * Transformation to apply to an image while loading it
 * @author Alexander Blom <alexanderblom.se>
 */
public interface Transformation {
    /**
     * Get the identified for this transformation. It should be unique and include any
     * Parameters passed to this transformation.
     *
     * @return the identifier
     */
    String getIdentifier();

    /**
     * Get the format used when saving the result of this transformation. This
     * can be useful for example when relying on alpha.
     *
     * @return the bitmap compress format, null for default
     */
    Bitmap.CompressFormat getCompressFormat();

    /**
     * Transform this {@link InputSupplier} to a {@link Bitmap}.
     *
     * @param input original {@link InputSupplier}
     * @return transformed {@link Bitmap}
     * @throws IOException if the conversion failed
     */
// Path: webimageloader/src/main/java/com/webimageloader/util/InputSupplier.java
// public interface InputSupplier {
//     /**
//      * Get the length of the supplied {@link InputStream}
//      *
//      * @return the length
//      * @throws IOException if opening the stream or file failed
//      */
//     long getLength() throws IOException;
// 
//     /**
//      * Open a new {@link InputStream}, you should be sure to close any previously
//      * opened streams before
//      *
//      * @return a fresh stream which you are responsible for closing
//      * @throws IOException if opening the stream failed
//      */
//     InputStream getInput() throws IOException;
// }


// Path: webimageloader/src/main/java/com/webimageloader/transformation/Transformation.java
import java.io.IOException;
import com.webimageloader.util.InputSupplier;
import android.graphics.Bitmap;

package com.webimageloader.transformation;




/**
 * Transformation to apply to an image while loading it
 * @author Alexander Blom <alexanderblom.se>
 */
public interface Transformation {
    /**
     * Get the identified for this transformation. It should be unique and include any
     * Parameters passed to this transformation.
     *
     * @return the identifier
     */
    String getIdentifier();

    /**
     * Get the format used when saving the result of this transformation. This
     * can be useful for example when relying on alpha.
     *
     * @return the bitmap compress format, null for default
     */
    Bitmap.CompressFormat getCompressFormat();

    /**
     * Transform this {@link InputSupplier} to a {@link Bitmap}.
     *
     * @param input original {@link InputSupplier}
     * @return transformed {@link Bitmap}
     * @throws IOException if the conversion failed
     */
    Bitmap transform(InputSupplier input) throws IOException;