blob: 489d2e0ace83f6cbe25862e81522fddbc1cff9ea [file] [log] [blame]
timavfe53c2c62016-11-23 02:35:461// Copyright 2016 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#include "ui/android/dummy_screen_android.h"
6#include "ui/display/display.h"
7#include "ui/display/screen.h"
8
9namespace ui {
10
11using display::Display;
12using display::DisplayObserver;
13
14// A Screen for Android unit tests that do not talk to Java. The class contains
15// one primary display with default Display configuration and 256x512 dip size.
16class DummyScreenAndroid : public display::Screen {
17 public:
18 DummyScreenAndroid() {
19 const int display_id = 0;
20 const gfx::Rect bounds_in_dip(256, 512);
21 displays_.push_back(Display(display_id, bounds_in_dip));
22 }
23
24 ~DummyScreenAndroid() override {}
25
26 // Screen interface.
27
28 gfx::Point GetCursorScreenPoint() override { return gfx::Point(); }
29
30 bool IsWindowUnderCursor(gfx::NativeWindow window) override { return false; }
31
32 gfx::NativeWindow GetWindowAtScreenPoint(const gfx::Point& point) override {
33 return NULL;
34 }
35
Maksim Sisoveb235c1b2020-05-04 17:13:0436 gfx::NativeWindow GetLocalProcessWindowAtPoint(
37 const gfx::Point& point,
38 const std::set<gfx::NativeWindow>& ignore) override {
39 return nullptr;
40 }
41
timavfe53c2c62016-11-23 02:35:4642 int GetNumDisplays() const override { return 1; }
43
44 const std::vector<Display>& GetAllDisplays() const override {
45 return displays_;
46 }
47
jinsukkim2dd85f32017-03-17 01:54:2848 Display GetDisplayNearestWindow(gfx::NativeWindow window) const override {
49 return GetPrimaryDisplay();
50 }
51
52 Display GetDisplayNearestView(gfx::NativeView view) const override {
timavfe53c2c62016-11-23 02:35:4653 return GetPrimaryDisplay();
54 }
55
56 Display GetDisplayNearestPoint(const gfx::Point& point) const override {
57 return GetPrimaryDisplay();
58 }
59
60 Display GetDisplayMatching(const gfx::Rect& match_rect) const override {
61 return GetPrimaryDisplay();
62 }
63
64 Display GetPrimaryDisplay() const override { return displays_[0]; }
65
66 void AddObserver(DisplayObserver* observer) override {}
67 void RemoveObserver(DisplayObserver* observer) override {}
68
69 private:
70 std::vector<Display> displays_;
71};
72
73display::Screen* CreateDummyScreenAndroid() {
74 return new DummyScreenAndroid;
75}
76
77} // namespace ui