package com.twotoasters.jazzylistview.effects;

import android.view.View;
import android.view.ViewPropertyAnimator;

import com.twotoasters.jazzylistview.JazzyEffect;

public class TwirlEffect implements JazzyEffect {

    private static final int INITIAL_ROTATION_X = 80;
    private static final int INITIAL_ROTATION_Y = 70;
    private static final int INITIAL_ROTATION_Z = 10;

    @Override
    public void initView(View item, int position, int scrollDirection) {
        item.setPivotX(item.getWidth() / 2);
        item.setPivotY(item.getWidth() / 2);
        item.setRotationX(INITIAL_ROTATION_X);
        item.setRotationY(INITIAL_ROTATION_Y * scrollDirection);
        item.setRotation(INITIAL_ROTATION_Z);
    }

    @Override
    public void setupAnimation(View item, int position, int scrollDirection, ViewPropertyAnimator animator) {
        animator.rotationXBy(-INITIAL_ROTATION_X)
                .rotationYBy(-INITIAL_ROTATION_Y * scrollDirection)
                .rotationBy(-INITIAL_ROTATION_Z);
    }
}