123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- // Copyright 2014 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 EXTENSIONS_SHELL_BROWSER_SHELL_SCREEN_H_
- #define EXTENSIONS_SHELL_BROWSER_SHELL_SCREEN_H_
- #include "ui/aura/window_tree_host_observer.h"
- #include "ui/display/display.h"
- #include "ui/display/screen_base.h"
- namespace aura {
- class WindowTreeHost;
- }
- namespace gfx {
- class Size;
- }
- namespace extensions {
- class ShellDesktopControllerAura;
- // A minimal Aura implementation of a screen. Scale factor is locked at 1.0.
- // When running on a Linux desktop resizing the main window resizes the screen.
- class ShellScreen : public display::ScreenBase,
- public aura::WindowTreeHostObserver {
- public:
- // Creates a screen occupying |size| physical pixels. |desktop_controller|
- // can be null in tests.
- ShellScreen(ShellDesktopControllerAura* desktop_controller,
- const gfx::Size& size);
- ShellScreen(const ShellScreen&) = delete;
- ShellScreen& operator=(const ShellScreen&) = delete;
- ~ShellScreen() override;
- // aura::WindowTreeHostObserver overrides:
- void OnHostResized(aura::WindowTreeHost* host) override;
- // display::Screen overrides:
- gfx::Point GetCursorScreenPoint() override;
- bool IsWindowUnderCursor(gfx::NativeWindow window) override;
- gfx::NativeWindow GetWindowAtScreenPoint(const gfx::Point& point) override;
- display::Display GetDisplayNearestWindow(
- gfx::NativeWindow window) const override;
- private:
- ShellDesktopControllerAura* const desktop_controller_;
- };
- } // namespace extensions
- #endif // EXTENSIONS_SHELL_BROWSER_SHELL_SCREEN_H_
|