| // Copyright 2017 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef ASH_HOST_ASH_WINDOW_TREE_HOST_MIRRORING_DELEGATE_H_ |
| #define ASH_HOST_ASH_WINDOW_TREE_HOST_MIRRORING_DELEGATE_H_ |
| |
| #include <stdint.h> |
| |
| #include "ash/ash_export.h" |
| #include "base/macros.h" |
| |
| namespace aura { |
| class WindowTreeHost; |
| } // namespace aura |
| |
| namespace display { |
| class Display; |
| } // namespace display |
| |
| namespace ash { |
| |
| // A delegate for the unified window tree host as well as the mirroring display |
| // hosts. |
| class ASH_EXPORT AshWindowTreeHostMirroringDelegate { |
| public: |
| AshWindowTreeHostMirroringDelegate() = default; |
| virtual ~AshWindowTreeHostMirroringDelegate() = default; |
| |
| // Returns a pointer to the mirroring display with |display_id| if found, or |
| // nullptr if not found. |
| virtual const display::Display* GetMirroringDisplayById( |
| int64_t display_id) const = 0; |
| |
| // Sets the current window tree host that is the source of events which will |
| // be forwarded by the unified mode event targeter to the unified host. |
| virtual void SetCurrentEventTargeterSourceHost( |
| aura::WindowTreeHost* targeter_src_host) = 0; |
| |
| private: |
| DISALLOW_COPY_AND_ASSIGN(AshWindowTreeHostMirroringDelegate); |
| }; |
| |
| } // namespace ash |
| |
| #endif // ASH_HOST_ASH_WINDOW_TREE_HOST_MIRRORING_DELEGATE_H_ |