DragClientAndroid.h revision 8e35f3cfc7fba1d1c829dc557ebad6409cbe16a2
1dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat/*
2dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * Copyright 2007, The Android Open Source Project
3dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat *
4dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * Redistribution and use in source and binary forms, with or without
5dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * modification, are permitted provided that the following conditions
6dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * are met:
7dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat *  * Redistributions of source code must retain the above copyright
8dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat *    notice, this list of conditions and the following disclaimer.
9dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat *  * Redistributions in binary form must reproduce the above copyright
10dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat *    notice, this list of conditions and the following disclaimer in the
11dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat *    documentation and/or other materials provided with the distribution.
12dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat *
13dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
14dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
17dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat */
25dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat
26dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat#ifndef DragClientAndroid_h
27dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat#define DragClientAndroid_h
28dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat
29dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat#include "DragClient.h"
30dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat
31dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehatusing namespace WebCore;
32dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat
33dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehatnamespace android {
34dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat
35dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat    class DragClientAndroid : public DragClient {
36dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat    public:
37dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat        virtual void willPerformDragDestinationAction(DragDestinationAction, DragData*);
38dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat        virtual void willPerformDragSourceAction(DragSourceAction, const IntPoint&, Clipboard*);
39dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat        virtual DragDestinationAction actionMaskForDrag(DragData*);
40dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat        //We work in window rather than view coordinates here
41dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat        virtual DragSourceAction dragSourceActionMaskForPoint(const IntPoint&);
42dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat
43dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat        virtual void startDrag(DragImageRef dragImage, const IntPoint& dragImageOrigin, const IntPoint& eventPos, Clipboard*, Frame*, bool linkDrag = false);
44dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat        virtual DragImageRef createDragImageForLink(KURL&, const String& label, Frame*);
45dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat
46dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat        virtual void dragControllerDestroyed();
47dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat    };
48dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat
49dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat}
50dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat
51dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat#endif
52dcfb7a77f8709125e97c313cb8ab6ec4d87468f4San Mehat