Home | History | Annotate | Download | only in desktop_background
      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 ASH_DESKTOP_BACKGROUND_DESKTOP_BACKGROUND_VIEW_H_
      6 #define ASH_DESKTOP_BACKGROUND_DESKTOP_BACKGROUND_VIEW_H_
      7 
      8 #include "ui/events/event.h"
      9 #include "ui/gfx/image/image_skia.h"
     10 #include "ui/views/context_menu_controller.h"
     11 #include "ui/views/view.h"
     12 
     13 namespace ash {
     14 
     15 class PreEventDispatchHandler;
     16 
     17 class DesktopBackgroundView : public views::View,
     18                               public views::ContextMenuController {
     19  public:
     20   DesktopBackgroundView();
     21   virtual ~DesktopBackgroundView();
     22 
     23  private:
     24   // Overridden from views::View:
     25   virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE;
     26   virtual bool OnMousePressed(const ui::MouseEvent& event) OVERRIDE;
     27 
     28   // Overridden from views::ContextMenuController:
     29   virtual void ShowContextMenuForView(views::View* source,
     30                                       const gfx::Point& point,
     31                                       ui::MenuSourceType source_type) OVERRIDE;
     32   scoped_ptr<PreEventDispatchHandler> pre_dispatch_handler_;
     33 
     34   DISALLOW_COPY_AND_ASSIGN(DesktopBackgroundView);
     35 };
     36 
     37 }  // namespace ash
     38 
     39 #endif  // ASH_DESKTOP_BACKGROUND_DESKTOP_BACKGROUND_VIEW_H_
     40