X-Git-Url: https://git.mdrn.pl/wl-app.git/blobdiff_plain/48b2fe9f7c2dc3d9aeaaa6dbfb27c7da4f3235ff..269195b3729c1bdc22e9053ee4ebca667ea8549d:/Android/webViewMarker/src/main/java/com/blahti/drag/DropTarget.java diff --git a/Android/webViewMarker/src/main/java/com/blahti/drag/DropTarget.java b/Android/webViewMarker/src/main/java/com/blahti/drag/DropTarget.java new file mode 100755 index 0000000..9f5b394 --- /dev/null +++ b/Android/webViewMarker/src/main/java/com/blahti/drag/DropTarget.java @@ -0,0 +1,95 @@ +/* + * This is a modified version of a class from the Android Open Source Project. + * The original copyright and license information follows. + * + * Copyright (C) 2008 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.blahti.drag; + +import android.graphics.Rect; + +/** + * Interface defining an object that can receive a view at the end of a drag operation. + * + */ +public interface DropTarget { + + /** + * Handle an object being dropped on the DropTarget + * + * @param source DragSource where the drag started + * @param x X coordinate of the drop location + * @param y Y coordinate of the drop location + * @param xOffset Horizontal offset with the object being dragged where the original + * touch happened + * @param yOffset Vertical offset with the object being dragged where the original + * touch happened + * @param dragView The DragView that's being dragged around on screen. + * @param dragInfo Data associated with the object being dragged + * + */ + void onDrop(DragSource source, int x, int y, int xOffset, int yOffset, DragView dragView, Object dragInfo); + + void onDragEnter(DragSource source, int x, int y, int xOffset, int yOffset, DragView dragView, Object dragInfo); + + void onDragOver(DragSource source, int x, int y, int xOffset, int yOffset, DragView dragView, Object dragInfo); + + void onDragExit(DragSource source, int x, int y, int xOffset, int yOffset, DragView dragView, Object dragInfo); + + /** + * Check if a drop action can occur at, or near, the requested location. + * This may be called repeatedly during a drag, so any calls should return + * quickly. + * + * @param source DragSource where the drag started + * @param x X coordinate of the drop location + * @param y Y coordinate of the drop location + * @param xOffset Horizontal offset with the object being dragged where the + * original touch happened + * @param yOffset Vertical offset with the object being dragged where the + * original touch happened + * @param dragView The DragView that's being dragged around on screen. + * @param dragInfo Data associated with the object being dragged + * @return True if the drop will be accepted, false otherwise. + */ + boolean acceptDrop(DragSource source, int x, int y, int xOffset, int yOffset, DragView dragView, Object dragInfo); + + /** + * Estimate the surface area where this object would land if dropped at the + * given location. + * + * @param source DragSource where the drag started + * @param x X coordinate of the drop location + * @param y Y coordinate of the drop location + * @param xOffset Horizontal offset with the object being dragged where the + * original touch happened + * @param yOffset Vertical offset with the object being dragged where the + * original touch happened + * @param dragView The DragView that's being dragged around on screen. + * @param dragInfo Data associated with the object being dragged + * @param recycle {@link Rect} object to be possibly recycled. + * @return Estimated area that would be occupied if object was dropped at + * the given location. Should return null if no estimate is found, + * or if this target doesn't provide estimations. + */ + Rect estimateDropLocation(DragSource source, int x, int y, int xOffset, int yOffset, DragView dragView, Object dragInfo, Rect recycle); + + // These methods are implemented in Views + void getHitRect(Rect outRect); + void getLocationOnScreen(int[] loc); + int getLeft(); + int getTop(); +}