11320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Copyright 2014 The Chromium Authors. All rights reserved. 21320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Use of this source code is governed by a BSD-style license that can be 31320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// found in the LICENSE file. 41320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#ifndef UI_VIEWS_CONTROLS_NATIVE_NATIVE_VIEW_HOST_MAC_H_ 61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define UI_VIEWS_CONTROLS_NATIVE_NATIVE_VIEW_HOST_MAC_H_ 71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "base/macros.h" 91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "ui/views/controls/native/native_view_host_wrapper.h" 101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "ui/views/views_export.h" 111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccinamespace views { 131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciclass NativeViewHost; 151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Mac implementation of NativeViewHostWrapper. 171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciclass VIEWS_EXPORT NativeViewHostMac : public NativeViewHostWrapper { 181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci public: 191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci explicit NativeViewHostMac(NativeViewHost* host); 201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci virtual ~NativeViewHostMac(); 211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci // Overridden from NativeViewHostWrapper: 231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci virtual void AttachNativeView() OVERRIDE; 241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci virtual void NativeViewDetaching(bool destroyed) OVERRIDE; 251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci virtual void AddedToWidget() OVERRIDE; 261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci virtual void RemovedFromWidget() OVERRIDE; 271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci virtual void InstallClip(int x, int y, int w, int h) OVERRIDE; 281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci virtual bool HasInstalledClip() OVERRIDE; 291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci virtual void UninstallClip() OVERRIDE; 301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci virtual void ShowWidget(int x, int y, int w, int h) OVERRIDE; 311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci virtual void HideWidget() OVERRIDE; 321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci virtual void SetFocus() OVERRIDE; 331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci virtual gfx::NativeViewAccessible GetNativeViewAccessible() OVERRIDE; 341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci virtual gfx::NativeCursor GetCursor(int x, int y) OVERRIDE; 351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci private: 371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci // Our associated NativeViewHost. Owns this. 381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci NativeViewHost* host_; 391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci DISALLOW_COPY_AND_ASSIGN(NativeViewHostMac); 411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}; 421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} // namespace views 441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif // UI_VIEWS_CONTROLS_NATIVE_NATIVE_VIEW_HOST_AURA_H_ 46