131dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project/*
231dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * Copyright (C) 2008 The Android Open Source Project
331dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project *
431dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
531dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * you may not use this file except in compliance with the License.
631dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * You may obtain a copy of the License at
731dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project *
831dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
931dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project *
1031dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
1131dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
1231dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1331dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * See the License for the specific language governing permissions and
1431dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * limitations under the License.
1531dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project */
1631dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project
17325dc23624160689e59fbac708cf6f222b20d025Daniel Sandlerpackage com.android.launcher3;
1831dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project
1931dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project/**
2031dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project * Handles scrolling while dragging
2131dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project *
2231dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project */
2331dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Projectpublic interface DragScroller {
2431dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project    void scrollLeft();
2531dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project    void scrollRight();
261262e369484ce7f2565655ed80e6299232c70bd7Patrick Dubroy
271262e369484ce7f2565655ed80e6299232c70bd7Patrick Dubroy    /**
281262e369484ce7f2565655ed80e6299232c70bd7Patrick Dubroy     * The touch point has entered the scroll area; a scroll is imminent.
29b0a6bbeeab0960419dcd1f695c209ca0ec36ab8aPatrick Dubroy     * This event will only occur while a drag is active.
301262e369484ce7f2565655ed80e6299232c70bd7Patrick Dubroy     *
311262e369484ce7f2565655ed80e6299232c70bd7Patrick Dubroy     * @param direction The scroll direction
321262e369484ce7f2565655ed80e6299232c70bd7Patrick Dubroy     */
333e0839e5f830ab7e64223ebe186d97729eda3e22Winson Chung    boolean onEnterScrollArea(int x, int y, int direction);
341262e369484ce7f2565655ed80e6299232c70bd7Patrick Dubroy
351262e369484ce7f2565655ed80e6299232c70bd7Patrick Dubroy    /**
361262e369484ce7f2565655ed80e6299232c70bd7Patrick Dubroy     * The touch point has left the scroll area.
37b0a6bbeeab0960419dcd1f695c209ca0ec36ab8aPatrick Dubroy     * NOTE: This may not be called, if a drop occurs inside the scroll area.
381262e369484ce7f2565655ed80e6299232c70bd7Patrick Dubroy     */
393e0839e5f830ab7e64223ebe186d97729eda3e22Winson Chung    boolean onExitScrollArea();
4031dd503c6aa69018e694d91724d46db49ea09327The Android Open Source Project}
41