package com.beloo.widget.chipslayoutmanager;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import com.beloo.widget.chipslayoutmanager.anchor.AnchorViewState;
public interface IScrollingController {
RecyclerView.SmoothScroller createSmoothScroller(@NonNull Context context, int position, int timeMs, AnchorViewState anchor);
boolean canScrollVertically();
boolean canScrollHorizontally();
/**
* calculate offset of views while scrolling, layout items on new places
*/
int scrollVerticallyBy(int d, RecyclerView.Recycler recycler, RecyclerView.State state);
int scrollHorizontallyBy(int d, RecyclerView.Recycler recycler, RecyclerView.State state);
/** changes may cause gaps on the UI, try to fix them */
boolean normalizeGaps(RecyclerView.Recycler recycler, RecyclerView.State state);
/** @see ChipsLayoutManager#computeVerticalScrollOffset(RecyclerView.State) */
int computeVerticalScrollOffset(RecyclerView.State state);
/** @see ChipsLayoutManager#computeVerticalScrollExtent(RecyclerView.State) */
int computeVerticalScrollExtent(RecyclerView.State state);
/** @see ChipsLayoutManager#computeVerticalScrollRange(RecyclerView.State) */
int computeVerticalScrollRange(RecyclerView.State state);
/** @see ChipsLayoutManager#computeHorizontalScrollOffset(RecyclerView.State) */
int computeHorizontalScrollOffset(RecyclerView.State state);
/** @see ChipsLayoutManager#computeHorizontalScrollExtent(RecyclerView.State) */
int computeHorizontalScrollExtent(RecyclerView.State state);
/** @see ChipsLayoutManager#computeHorizontalScrollRange(RecyclerView.State) */
int computeHorizontalScrollRange(RecyclerView.State state);
}