package com.adealink.weparty.commonui.drag

import android.graphics.Rect
import android.view.MotionEvent

interface IDraggable {

    /**
     * 是否支持拖拽
     */
    fun isDraggable(): Boolean

    /**
     * 处理视图拖拽，当拖拽视图的时候，会回调到这里。
     *
     * @return true -- 处理拖拽 , false -- 不处理
     */
    fun handleDrag(deltaX: Float, deltaY: Float, curEvent: MotionEvent): Boolean

    /**
     * 限定拖拽的有效区域，如果拖拽的范围超过该区域，则不会生效
     * @return 限定的区域Rect
     */
    fun availableArea(): Rect

}
