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_AURA_WINDOW_TREE_HOST_MAC_H_ 6#define UI_AURA_WINDOW_TREE_HOST_MAC_H_ 7 8#include <vector> 9 10#include "base/mac/scoped_nsobject.h" 11#include "ui/aura/aura_export.h" 12#include "ui/aura/window_tree_host.h" 13#include "ui/gfx/insets.h" 14#include "ui/gfx/rect.h" 15 16namespace ui { 17class MouseEvent; 18} 19 20namespace aura { 21 22namespace internal { 23class TouchEventCalibrate; 24} 25 26class AURA_EXPORT WindowTreeHostMac : public WindowTreeHost { 27 public: 28 explicit WindowTreeHostMac(const gfx::Rect& bounds); 29 virtual ~WindowTreeHostMac(); 30 31 private: 32 // WindowTreeHost Overrides. 33 virtual ui::EventSource* GetEventSource() OVERRIDE; 34 virtual gfx::AcceleratedWidget GetAcceleratedWidget() OVERRIDE; 35 virtual void Show() OVERRIDE; 36 virtual void Hide() OVERRIDE; 37 virtual void ToggleFullScreen() OVERRIDE; 38 virtual gfx::Rect GetBounds() const OVERRIDE; 39 virtual void SetBounds(const gfx::Rect& bounds) OVERRIDE; 40 virtual gfx::Insets GetInsets() const OVERRIDE; 41 virtual void SetInsets(const gfx::Insets& insets) OVERRIDE; 42 virtual gfx::Point GetLocationOnNativeScreen() const OVERRIDE; 43 virtual void SetCapture() OVERRIDE; 44 virtual void ReleaseCapture() OVERRIDE; 45 virtual bool ConfineCursorToRootWindow() OVERRIDE; 46 virtual void UnConfineCursor() OVERRIDE; 47 virtual void SetCursorNative(gfx::NativeCursor cursor_type) OVERRIDE; 48 virtual void MoveCursorToNative(const gfx::Point& location) OVERRIDE; 49 virtual void OnCursorVisibilityChangedNative(bool show) OVERRIDE; 50 virtual void PostNativeEvent(const base::NativeEvent& event) OVERRIDE; 51 virtual void OnDeviceScaleFactorChanged(float device_scale_factor) OVERRIDE; 52 53 private: 54 base::scoped_nsobject<NSWindow> window_; 55 56 DISALLOW_COPY_AND_ASSIGN(WindowTreeHostMac); 57}; 58 59} // namespace aura 60 61#endif // UI_AURA_WINDOW_TREE_HOST_MAC_H_ 62