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_ 49