1a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
2a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch// found in the LICENSE file.
4a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
5a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch#ifndef ASH_HOST_REMOTE_WINDOW_TREE_HOST_WIN_H_
6a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch#define ASH_HOST_REMOTE_WINDOW_TREE_HOST_WIN_H_
7a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include <windows.h>
9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
10a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch#include "ash/ash_export.h"
11a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch#include "ash/host/ash_window_tree_host.h"
12a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch#include "ash/host/transformer_helper.h"
13a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch#include "ui/aura/remote_window_tree_host_win.h"
14a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
15a02191e04bc25c4935f804f2c080ae28663d096dBen Murdochnamespace ash {
16a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
17a02191e04bc25c4935f804f2c080ae28663d096dBen Murdochclass ASH_EXPORT AshRemoteWindowTreeHostWin
18a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch    : public AshWindowTreeHost,
19a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch      public aura::RemoteWindowTreeHostWin {
20a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch public:
21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  explicit AshRemoteWindowTreeHostWin(HWND remote_hwnd);
22a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
23a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch private:
24a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  virtual ~AshRemoteWindowTreeHostWin();
25a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
26a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  // AshWindowTreeHost:
27a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  virtual void ToggleFullScreen() OVERRIDE;
28a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  virtual bool ConfineCursorToRootWindow() OVERRIDE;
29a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  virtual void UnConfineCursor() OVERRIDE;
30a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  virtual void SetRootWindowTransformer(
31a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch      scoped_ptr<RootWindowTransformer> transformer) OVERRIDE;
32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  virtual gfx::Insets GetHostInsets() const OVERRIDE;
33a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  virtual aura::WindowTreeHost* AsWindowTreeHost() OVERRIDE;
34a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
35a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  // WindowTreeHostWin:
36a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  virtual gfx::Transform GetRootTransform() const OVERRIDE;
37a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  virtual void SetRootTransform(const gfx::Transform& transform) OVERRIDE;
38a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  virtual gfx::Transform GetInverseRootTransform() const OVERRIDE;
39a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  virtual void UpdateRootWindowSize(const gfx::Size& host_size) OVERRIDE;
40a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
41a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  TransformerHelper transformer_helper_;
42a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
43a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  DISALLOW_COPY_AND_ASSIGN(AshRemoteWindowTreeHostWin);
44a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch};
45a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
46a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch}  // namespace ash
47a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch
48a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch#endif  // ASH_HOST_REMOTE_WINDOW_TREE_HOST_WIN_H_
49