/*
* Copyright (c) 2017-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.fresco.animation.bitmap.preparation;
import com.facebook.fresco.animation.backend.AnimationBackend;
import com.facebook.fresco.animation.bitmap.BitmapFrameCache;
/**
* Frame preparation strategy to prepare next animation frames.
*/
public interface BitmapFramePreparationStrategy {
/**
* Decide whether frames should be prepared ahead of time when a frame is drawn.
*
* @param bitmapFramePreparer the preparer to be used to create frames
* @param bitmapFrameCache the cache to pass to the preparer
* @param animationBackend the animation backend to prepare frames for
* @param lastDrawnFrameNumber the last drawn frame number
*/
void prepareFrames(
BitmapFramePreparer bitmapFramePreparer,
BitmapFrameCache bitmapFrameCache,
AnimationBackend animationBackend,
int lastDrawnFrameNumber);
}