Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / ui / views / button_drag_utils.h
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef UI_VIEWS_BUTTON_DRAG_UTILS_H_
6 #define UI_VIEWS_BUTTON_DRAG_UTILS_H_
7
8 #include "base/strings/string16.h"
9 #include "ui/views/views_export.h"
10
11 class GURL;
12
13 namespace gfx {
14 class ImageSkia;
15 class Point;
16 }
17
18 namespace ui {
19 class OSExchangeData;
20 }
21
22 namespace views {
23 class Widget;
24 }
25
26 namespace button_drag_utils {
27
28 // Sets url and title on data as well as setting a suitable image for dragging.
29 // The image looks like that of the bookmark buttons. |press_pt| is optional
30 // offset; otherwise, it centers the drag image.
31 VIEWS_EXPORT void SetURLAndDragImage(const GURL& url,
32                                      const base::string16& title,
33                                      const gfx::ImageSkia& icon,
34                                      const gfx::Point* press_pt,
35                                      ui::OSExchangeData* data,
36                                      views::Widget* widget);
37
38 // As above, but only sets the image.
39 VIEWS_EXPORT void SetDragImage(const GURL& url,
40                                const base::string16& title,
41                                const gfx::ImageSkia& icon,
42                                const gfx::Point* press_pt,
43                                ui::OSExchangeData* data,
44                                views::Widget* widget);
45
46 }  // namespace drag_utils
47
48 #endif  // UI_VIEWS_BUTTON_DRAG_UTILS_H_