| Index: services/ui/display/platform_screen_ozone.h
|
| diff --git a/services/ui/display/platform_screen_ozone.h b/services/ui/display/platform_screen_ozone.h
|
| index b60b8e6bcd8425b8f05280566ebc26719ff851bf..4f3531c150842a752dbd142f1181a8f899c97c01 100644
|
| --- a/services/ui/display/platform_screen_ozone.h
|
| +++ b/services/ui/display/platform_screen_ozone.h
|
| @@ -16,6 +16,7 @@
|
| #include "services/service_manager/public/cpp/connection.h"
|
| #include "services/service_manager/public/cpp/interface_factory.h"
|
| #include "services/ui/display/platform_screen.h"
|
| +#include "services/ui/display/viewport_metrics.h"
|
| #include "services/ui/public/interfaces/display/display_controller.mojom.h"
|
| #include "services/ui/public/interfaces/display/test_display_controller.mojom.h"
|
| #include "ui/display/chromeos/display_configurator.h"
|
| @@ -29,6 +30,7 @@ namespace display {
|
| class PlatformScreenOzone
|
| : public PlatformScreen,
|
| public ui::DisplayConfigurator::Observer,
|
| + public ui::DisplayConfigurator::StateController,
|
| public service_manager::InterfaceFactory<mojom::DisplayController>,
|
| public service_manager::InterfaceFactory<mojom::TestDisplayController>,
|
| public mojom::DisplayController,
|
| @@ -45,6 +47,7 @@ class PlatformScreenOzone
|
|
|
| // mojom::TestDisplayController:
|
| void ToggleAddRemoveDisplay() override;
|
| + void ToggleDisplayResolution() override;
|
|
|
| // mojom::DisplayController:
|
| void SwapPrimaryDisplay() override;
|
| @@ -56,13 +59,20 @@ class PlatformScreenOzone
|
| // TODO(kylechar): This struct is just temporary until we migrate
|
| // DisplayManager code out of ash so it can be used here.
|
| struct DisplayInfo {
|
| + DisplayInfo();
|
| + DisplayInfo(const DisplayInfo& other);
|
| + ~DisplayInfo();
|
| +
|
| int64_t id = Display::kInvalidDisplayID;
|
| - // The display bounds in DIP.
|
| - gfx::Rect bounds;
|
| - // Display size in DDP.
|
| - gfx::Size pixel_size;
|
| - // The display device pixel scale factor, either 1 or 2.
|
| - float device_scale_factor = 1.0f;
|
| + // Information about display viewport.
|
| + ViewportMetrics metrics;
|
| + // Last insets received from WM.
|
| + gfx::Insets last_work_area_insets;
|
| +
|
| + // Temporary hack to allow changing display resolution.
|
| + std::vector<gfx::Size> supported_sizes;
|
| + gfx::Size requested_size;
|
| +
|
| // The display bounds have been modified and delegate should be updated.
|
| bool modified = false;
|
| // The display has been removed and delegate should be updated.
|
| @@ -100,8 +110,9 @@ class PlatformScreenOzone
|
| // iterator if there is no display with that id.
|
| CachedDisplayIterator GetCachedDisplayIterator(int64_t display_id);
|
|
|
| - // Converts |snapshot| into a DisplayInfo.
|
| - DisplayInfo DisplayInfoFromSnapshot(const ui::DisplaySnapshot& snapshot);
|
| + // Converts |snapshot| into ViewportMetrics.
|
| + ViewportMetrics MetricsFromSnapshot(const ui::DisplaySnapshot& snapshot,
|
| + const gfx::Point& origin);
|
|
|
| // ui::DisplayConfigurator::Observer:
|
| void OnDisplayModeChanged(
|
| @@ -110,6 +121,13 @@ class PlatformScreenOzone
|
| const ui::DisplayConfigurator::DisplayStateList& displays,
|
| ui::MultipleDisplayState failed_new_state) override;
|
|
|
| + // ui::DisplayConfigurator::StateController:
|
| + ui::MultipleDisplayState GetStateForDisplayIds(
|
| + const ui::DisplayConfigurator::DisplayStateList& display_states)
|
| + const override;
|
| + bool GetResolutionForDisplayId(int64_t display_id,
|
| + gfx::Size* size) const override;
|
| +
|
| // mojo::InterfaceFactory<mojom::DisplayController>:
|
| void Create(const service_manager::Identity& remote_identity,
|
| mojom::DisplayControllerRequest request) override;
|
|
|