desktop_background_view.h revision 5f1c94371a64b3196d4be9466099bb892df9b88e
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
13namespace ash {
14
15class PreEventDispatchHandler;
16
17class 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