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