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_PLATFORM_DRM_HOST_DRM_NATIVE_DISPLAY_DELEGATE_H_
6 #define UI_OZONE_PLATFORM_DRM_HOST_DRM_NATIVE_DISPLAY_DELEGATE_H_
8 #include "base/macros.h"
9 #include "base/observer_list.h"
10 #include "ui/display/types/native_display_delegate.h"
14 class DrmDisplayHostManager
;
16 class DrmNativeDisplayDelegate
: public NativeDisplayDelegate
{
18 DrmNativeDisplayDelegate(DrmDisplayHostManager
* display_manager
);
19 ~DrmNativeDisplayDelegate() override
;
21 void OnConfigurationChanged();
23 // NativeDisplayDelegate overrides:
24 void Initialize() override
;
25 void GrabServer() override
;
26 void UngrabServer() override
;
27 void TakeDisplayControl(const DisplayControlCallback
& callback
) override
;
28 void RelinquishDisplayControl(
29 const DisplayControlCallback
& callback
) override
;
30 void SyncWithServer() override
;
31 void SetBackgroundColor(uint32_t color_argb
) override
;
32 void ForceDPMSOn() override
;
33 void GetDisplays(const GetDisplaysCallback
& callback
) override
;
34 void AddMode(const ui::DisplaySnapshot
& output
,
35 const ui::DisplayMode
* mode
) override
;
36 void Configure(const ui::DisplaySnapshot
& output
,
37 const ui::DisplayMode
* mode
,
38 const gfx::Point
& origin
,
39 const ConfigureCallback
& callback
) override
;
40 void CreateFrameBuffer(const gfx::Size
& size
) override
;
41 void GetHDCPState(const ui::DisplaySnapshot
& output
,
42 const GetHDCPStateCallback
& callback
) override
;
43 void SetHDCPState(const ui::DisplaySnapshot
& output
,
45 const SetHDCPStateCallback
& callback
) override
;
46 std::vector
<ui::ColorCalibrationProfile
> GetAvailableColorCalibrationProfiles(
47 const ui::DisplaySnapshot
& output
) override
;
48 bool SetColorCalibrationProfile(
49 const ui::DisplaySnapshot
& output
,
50 ui::ColorCalibrationProfile new_profile
) override
;
51 bool SetGammaRamp(const ui::DisplaySnapshot
& output
,
52 const std::vector
<GammaRampRGBEntry
>& lut
) override
;
54 void AddObserver(NativeDisplayObserver
* observer
) override
;
55 void RemoveObserver(NativeDisplayObserver
* observer
) override
;
58 DrmDisplayHostManager
* display_manager_
; // Not owned.
60 base::ObserverList
<NativeDisplayObserver
> observers_
;
62 DISALLOW_COPY_AND_ASSIGN(DrmNativeDisplayDelegate
);
67 #endif // UI_OZONE_PLATFORM_DRM_HOST_DRM_NATIVE_DISPLAY_DELEGATE_H_