1// Copyright 2014 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_MAC_H_ 6#define UI_VIEWS_CONTROLS_NATIVE_NATIVE_VIEW_HOST_MAC_H_ 7 8#include "base/macros.h" 9#include "ui/views/controls/native/native_view_host_wrapper.h" 10#include "ui/views/views_export.h" 11 12namespace views { 13 14class NativeViewHost; 15 16// Mac implementation of NativeViewHostWrapper. 17class VIEWS_EXPORT NativeViewHostMac : public NativeViewHostWrapper { 18 public: 19 explicit NativeViewHostMac(NativeViewHost* host); 20 virtual ~NativeViewHostMac(); 21 22 // Overridden from NativeViewHostWrapper: 23 virtual void AttachNativeView() OVERRIDE; 24 virtual void NativeViewDetaching(bool destroyed) OVERRIDE; 25 virtual void AddedToWidget() OVERRIDE; 26 virtual void RemovedFromWidget() OVERRIDE; 27 virtual void InstallClip(int x, int y, int w, int h) OVERRIDE; 28 virtual bool HasInstalledClip() OVERRIDE; 29 virtual void UninstallClip() OVERRIDE; 30 virtual void ShowWidget(int x, int y, int w, int h) OVERRIDE; 31 virtual void HideWidget() OVERRIDE; 32 virtual void SetFocus() OVERRIDE; 33 virtual gfx::NativeViewAccessible GetNativeViewAccessible() OVERRIDE; 34 virtual gfx::NativeCursor GetCursor(int x, int y) OVERRIDE; 35 36 private: 37 // Our associated NativeViewHost. Owns this. 38 NativeViewHost* host_; 39 40 DISALLOW_COPY_AND_ASSIGN(NativeViewHostMac); 41}; 42 43} // namespace views 44 45#endif // UI_VIEWS_CONTROLS_NATIVE_NATIVE_VIEW_HOST_AURA_H_ 46