native_view_host_aura.h revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
1// Copyright (c) 2011 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_CONTROLS_NATIVE_NATIVE_VIEW_HOST_AURA_H_
6#define UI_VIEWS_CONTROLS_NATIVE_NATIVE_VIEW_HOST_AURA_H_
7
8#include "base/basictypes.h"
9#include "base/compiler_specific.h"
10#include "ui/aura/window_observer.h"
11#include "ui/views/controls/native/native_view_host_wrapper.h"
12#include "ui/views/views_export.h"
13
14namespace views {
15
16class NativeViewHost;
17
18// Aura implementation of NativeViewHostWrapper.
19class VIEWS_EXPORT NativeViewHostAura : public NativeViewHostWrapper,
20                                        public aura::WindowObserver {
21 public:
22  explicit NativeViewHostAura(NativeViewHost* host);
23  virtual ~NativeViewHostAura();
24
25  // Overridden from NativeViewHostWrapper:
26  virtual void NativeViewWillAttach() OVERRIDE;
27  virtual void NativeViewDetaching(bool destroyed) OVERRIDE;
28  virtual void AddedToWidget() OVERRIDE;
29  virtual void RemovedFromWidget() OVERRIDE;
30  virtual void InstallClip(int x, int y, int w, int h) OVERRIDE;
31  virtual bool HasInstalledClip() OVERRIDE;
32  virtual void UninstallClip() OVERRIDE;
33  virtual void ShowWidget(int x, int y, int w, int h) OVERRIDE;
34  virtual void HideWidget() OVERRIDE;
35  virtual void SetFocus() OVERRIDE;
36  virtual gfx::NativeViewAccessible GetNativeViewAccessible() OVERRIDE;
37  virtual gfx::NativeCursor GetCursor(int x, int y) OVERRIDE;
38
39 private:
40  // Overridden from aura::WindowObserver:
41  virtual void OnWindowDestroyed(aura::Window* window) OVERRIDE;
42
43  // Our associated NativeViewHost.
44  NativeViewHost* host_;
45
46  // Have we installed a clip region?
47  bool installed_clip_;
48
49  DISALLOW_COPY_AND_ASSIGN(NativeViewHostAura);
50};
51
52}  // namespace views
53
54#endif  // UI_VIEWS_CONTROLS_NATIVE_NATIVE_VIEW_HOST_AURA_H_
55