Index: ui/ozone/platform/drm/host/drm_native_display_delegate.h |
diff --git a/ui/ozone/platform/drm/host/drm_native_display_delegate.h b/ui/ozone/platform/drm/host/drm_native_display_delegate.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6b8e69076d8914907f1e6b22c08f57285c6100e9 |
--- /dev/null |
+++ b/ui/ozone/platform/drm/host/drm_native_display_delegate.h |
@@ -0,0 +1,67 @@ |
+// 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 UI_OZONE_PLATFORM_DRM_HOST_DRM_NATIVE_DISPLAY_DELEGATE_H_ |
+#define UI_OZONE_PLATFORM_DRM_HOST_DRM_NATIVE_DISPLAY_DELEGATE_H_ |
+ |
+#include "base/macros.h" |
+#include "base/observer_list.h" |
+#include "ui/display/types/native_display_delegate.h" |
+ |
+namespace ui { |
+ |
+class DrmDisplayHostManager; |
+ |
+class DrmNativeDisplayDelegate : public NativeDisplayDelegate { |
+ public: |
+ DrmNativeDisplayDelegate(DrmDisplayHostManager* display_manager); |
+ ~DrmNativeDisplayDelegate() override; |
+ |
+ void OnConfigurationChanged(); |
+ |
+ // NativeDisplayDelegate overrides: |
+ void Initialize() override; |
+ void GrabServer() override; |
+ void UngrabServer() override; |
+ void TakeDisplayControl(const DisplayControlCallback& callback) override; |
+ void RelinquishDisplayControl( |
+ const DisplayControlCallback& callback) override; |
+ void SyncWithServer() override; |
+ void SetBackgroundColor(uint32_t color_argb) override; |
+ void ForceDPMSOn() override; |
+ void GetDisplays(const GetDisplaysCallback& callback) override; |
+ void AddMode(const ui::DisplaySnapshot& output, |
+ const ui::DisplayMode* mode) override; |
+ void Configure(const ui::DisplaySnapshot& output, |
+ const ui::DisplayMode* mode, |
+ const gfx::Point& origin, |
+ const ConfigureCallback& callback) override; |
+ void CreateFrameBuffer(const gfx::Size& size) override; |
+ void GetHDCPState(const ui::DisplaySnapshot& output, |
+ const GetHDCPStateCallback& callback) override; |
+ void SetHDCPState(const ui::DisplaySnapshot& output, |
+ ui::HDCPState state, |
+ const SetHDCPStateCallback& callback) override; |
+ std::vector<ui::ColorCalibrationProfile> GetAvailableColorCalibrationProfiles( |
+ const ui::DisplaySnapshot& output) override; |
+ bool SetColorCalibrationProfile( |
+ const ui::DisplaySnapshot& output, |
+ ui::ColorCalibrationProfile new_profile) override; |
+ bool SetGammaRamp(const ui::DisplaySnapshot& output, |
+ const std::vector<GammaRampRGBEntry>& lut) override; |
+ |
+ void AddObserver(NativeDisplayObserver* observer) override; |
+ void RemoveObserver(NativeDisplayObserver* observer) override; |
+ |
+ private: |
+ DrmDisplayHostManager* display_manager_; // Not owned. |
+ |
+ base::ObserverList<NativeDisplayObserver> observers_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(DrmNativeDisplayDelegate); |
+}; |
+ |
+} // namespace ui |
+ |
+#endif // UI_OZONE_PLATFORM_DRM_HOST_DRM_NATIVE_DISPLAY_DELEGATE_H_ |