/* * Copyright (c) 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ package com.facebook.imagepipeline.request; import android.graphics.Bitmap; import com.facebook.common.references.CloseableReference; import com.facebook.imagepipeline.bitmaps.PlatformBitmapFactory; /** * Use an instance of this class to perform post-process operations on a bitmap. */ public interface Postprocessor { /** * Called by the pipeline after completing other steps. * * @param sourceBitmap The source bitmap. * @param bitmapFactory The factory to create a destination bitmap. * * <p> The Postprocessor must not modify the source bitmap as it may be shared by the other * clients. The implementation must create a new bitmap that is safe to be modified and return a * reference to it. To create a bitmap, use the provided <code>bitmapFactory</code>. */ CloseableReference<Bitmap> process(Bitmap sourceBitmap, PlatformBitmapFactory bitmapFactory); /** * Returns the name of this postprocessor. * * <p>Used for logging and analytics. */ String getName(); }