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