window_tree_host_mac.h revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
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 RootWindow* GetRootWindow() 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 QueryMouseLocation(gfx::Point* location_return) OVERRIDE; 46 virtual bool ConfineCursorToRootWindow() OVERRIDE; 47 virtual void UnConfineCursor() OVERRIDE; 48 virtual void SetCursorNative(gfx::NativeCursor cursor_type) OVERRIDE; 49 virtual void MoveCursorToNative(const gfx::Point& location) OVERRIDE; 50 virtual void OnCursorVisibilityChangedNative(bool show) OVERRIDE; 51 virtual void PostNativeEvent(const base::NativeEvent& event) OVERRIDE; 52 virtual void OnDeviceScaleFactorChanged(float device_scale_factor) OVERRIDE; 53 virtual void PrepareForShutdown() OVERRIDE; 54 55 private: 56 base::scoped_nsobject<NSWindow> window_; 57 58 DISALLOW_COPY_AND_ASSIGN(WindowTreeHostMac); 59}; 60 61} // namespace aura 62 63#endif // UI_AURA_WINDOW_TREE_HOST_MAC_H_ 64