blob: 4c46c48e9458100bb728b57cb1751bbb1015e8ba [file] [log] [blame]
Zijie He70fbbad2017-08-15 15:45:00 -07001/*
2 * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11#ifndef WEBRTC_MODULES_DESKTOP_CAPTURE_WINDOW_FINDER_H_
12#define WEBRTC_MODULES_DESKTOP_CAPTURE_WINDOW_FINDER_H_
13
14#include "webrtc/modules/desktop_capture/desktop_capture_types.h"
15#include "webrtc/modules/desktop_capture/desktop_geometry.h"
16
17namespace webrtc {
18
19// An interface to return the id of the visible window under a certain point.
20class WindowFinder {
21 public:
22 WindowFinder() = default;
23 virtual ~WindowFinder() = default;
24
25 // Returns the id of the visible window under |point|. This function returns
26 // kNullWindowId if no window is under |point| and the platform does not have
27 // "root window" concept, i.e. the visible area under |point| is the desktop.
28 virtual WindowId GetWindowUnderPoint(DesktopVector point) = 0;
29};
30
31} // namespace webrtc
32
33#endif // WEBRTC_MODULES_DESKTOP_CAPTURE_WINDOW_FINDER_H_