1 // Copyright 2014 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.
5 #ifndef UI_OZONE_COMMON_NATIVE_DISPLAY_DELEGATE_OZONE_H_
6 #define UI_OZONE_COMMON_NATIVE_DISPLAY_DELEGATE_OZONE_H_
8 #include "base/macros.h"
9 #include "base/memory/scoped_vector.h"
10 #include "ui/display/types/native_display_delegate.h"
14 class NativeDisplayDelegateOzone
: public NativeDisplayDelegate
{
16 NativeDisplayDelegateOzone();
17 ~NativeDisplayDelegateOzone() override
;
19 // NativeDisplayDelegate overrides:
20 void Initialize() override
;
21 void GrabServer() override
;
22 void UngrabServer() override
;
23 bool TakeDisplayControl() override
;
24 bool RelinquishDisplayControl() override
;
25 void SyncWithServer() override
;
26 void SetBackgroundColor(uint32_t color_argb
) override
;
27 void ForceDPMSOn() override
;
28 void GetDisplays(const GetDisplaysCallback
& callback
) override
;
29 void AddMode(const ui::DisplaySnapshot
& output
,
30 const ui::DisplayMode
* mode
) override
;
31 void Configure(const ui::DisplaySnapshot
& output
,
32 const ui::DisplayMode
* mode
,
33 const gfx::Point
& origin
,
34 const ConfigureCallback
& callback
) override
;
35 void CreateFrameBuffer(const gfx::Size
& size
) override
;
36 bool GetHDCPState(const ui::DisplaySnapshot
& output
,
37 ui::HDCPState
* state
) override
;
38 bool SetHDCPState(const ui::DisplaySnapshot
& output
,
39 ui::HDCPState state
) override
;
40 std::vector
<ui::ColorCalibrationProfile
> GetAvailableColorCalibrationProfiles(
41 const ui::DisplaySnapshot
& output
) override
;
42 bool SetColorCalibrationProfile(
43 const ui::DisplaySnapshot
& output
,
44 ui::ColorCalibrationProfile new_profile
) override
;
45 void AddObserver(NativeDisplayObserver
* observer
) override
;
46 void RemoveObserver(NativeDisplayObserver
* observer
) override
;
49 ScopedVector
<DisplaySnapshot
> displays_
;
51 DISALLOW_COPY_AND_ASSIGN(NativeDisplayDelegateOzone
);
56 #endif // UI_OZONE_COMMON_NATIVE_DISPLAY_DELEGATE_OZONE_H_