Home | History | Annotate | Download | only in views
      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