Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / ui / aura / window_tree_host_mac.h
blob5c7ca989652e8f3645b25fec8aee2dd59b78b66e
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.
5 #ifndef UI_AURA_WINDOW_TREE_HOST_MAC_H_
6 #define UI_AURA_WINDOW_TREE_HOST_MAC_H_
8 #include <vector>
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/geometry/insets.h"
14 #include "ui/gfx/geometry/rect.h"
16 namespace ui {
17 class MouseEvent;
20 namespace aura {
22 namespace internal {
23 class TouchEventCalibrate;
26 class AURA_EXPORT WindowTreeHostMac : public WindowTreeHost {
27 public:
28 explicit WindowTreeHostMac(const gfx::Rect& bounds);
29 ~WindowTreeHostMac() override;
31 private:
32 // WindowTreeHost Overrides.
33 ui::EventSource* GetEventSource() override;
34 gfx::AcceleratedWidget GetAcceleratedWidget() override;
35 void Show() override;
36 void Hide() override;
37 void ToggleFullScreen() override;
38 gfx::Rect GetBounds() const override;
39 void SetBounds(const gfx::Rect& bounds) override;
40 gfx::Insets GetInsets() const override;
41 void SetInsets(const gfx::Insets& insets) override;
42 gfx::Point GetLocationOnNativeScreen() const override;
43 void SetCapture() override;
44 void ReleaseCapture() override;
45 bool ConfineCursorToRootWindow() override;
46 void UnConfineCursor() override;
47 void SetCursorNative(gfx::NativeCursor cursor_type) override;
48 void MoveCursorToNative(const gfx::Point& location) override;
49 void OnCursorVisibilityChangedNative(bool show) override;
50 void OnDeviceScaleFactorChanged(float device_scale_factor) override;
52 private:
53 base::scoped_nsobject<NSWindow> window_;
55 DISALLOW_COPY_AND_ASSIGN(WindowTreeHostMac);
58 } // namespace aura
60 #endif // UI_AURA_WINDOW_TREE_HOST_MAC_H_