Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Unified Diff: ui/display/android/screen_android.h

Issue 2428383006: Decouple VR Shell DPR and CSS size from Physical Displays. (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/display/android/screen_android.h
diff --git a/ui/display/test/test_screen.h b/ui/display/android/screen_android.h
similarity index 54%
copy from ui/display/test/test_screen.h
copy to ui/display/android/screen_android.h
index fb822f5d8dcd67e11426add22056ad13f72583b6..9f262e846775f39fc6097f859d7d561517d3d06f 100644
--- a/ui/display/test/test_screen.h
+++ b/ui/display/android/screen_android.h
@@ -1,53 +1,62 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
+// Copyright 2016 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 UI_DISPLAY_TEST_TEST_SCREEN_H_
-#define UI_DISPLAY_TEST_TEST_SCREEN_H_
+#ifndef UI_DISPLAY_ANDROID_SCREEN_ANDROID_H_
+#define UI_DISPLAY_ANDROID_SCREEN_ANDROID_H_
-#include <vector>
+#include <map>
+#include "base/logging.h"
#include "base/macros.h"
+#include "base/synchronization/lock.h"
#include "ui/display/display.h"
#include "ui/display/screen.h"
+#include "ui/gfx/native_widget_types.h"
namespace display {
-namespace test {
-
-// A dummy implementation of display::Screen that contains a single
-// display::Display only. The contained Display can be accessed and modified via
-// TestScreen::display().
-//
-// NOTE: Adding and removing display::DisplayOberver's are no-ops and observers
-// will NOT be notified ever.
-class TestScreen : public Screen {
- public:
- TestScreen();
- ~TestScreen() override;
- Display* display() { return &display_; }
+class DISPLAY_EXPORT ScreenAndroid : public Screen {
+ public:
+ ScreenAndroid();
+ ~ScreenAndroid() override;
- // display::Screen:
gfx::Point GetCursorScreenPoint() override;
+
bool IsWindowUnderCursor(gfx::NativeWindow window) override;
+
gfx::NativeWindow GetWindowAtScreenPoint(const gfx::Point& point) override;
- int GetNumDisplays() const override;
- std::vector<Display> GetAllDisplays() const override;
+
+ Display GetPrimaryDisplay() const override;
+
+ // Used to control the display properties for a specific window.
+ void SetDisplayForWindow(gfx::NativeView view, const Display& display);
+
+ void ClearDisplayForWindow(gfx::NativeView view);
+
Display GetDisplayNearestWindow(gfx::NativeView view) const override;
+
Display GetDisplayNearestPoint(const gfx::Point& point) const override;
+
+ int GetNumDisplays() const override;
+
+ std::vector<Display> GetAllDisplays() const override;
+
Display GetDisplayMatching(const gfx::Rect& match_rect) const override;
- Display GetPrimaryDisplay() const override;
+
void AddObserver(DisplayObserver* observer) override;
+
void RemoveObserver(DisplayObserver* observer) override;
private:
- // The only display.
- Display display_;
+ Display dislpay_;
+ std::map<gfx::NativeView, Display> vr_display_map_;
+ mutable base::Lock vr_display_lock_;
- DISALLOW_COPY_AND_ASSIGN(TestScreen);
+ DISALLOW_COPY_AND_ASSIGN(ScreenAndroid);
};
-} // namespace test
} // namespace display
-#endif // UI_DISPLAY_TEST_TEST_SCREEN_H_
+#endif // UI_DISPLAY_ANDROID_SCREEN_ANDROID_H_
+

Powered by Google App Engine
This is Rietveld 408576698