1 // Copyright 2019 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. 4 5 #ifndef UI_OZONE_PLATFORM_DRM_GPU_DRM_OVERLAY_CANDIDATES_H_ 6 #define UI_OZONE_PLATFORM_DRM_GPU_DRM_OVERLAY_CANDIDATES_H_ 7 8 #include <vector> 9 10 #include "base/macros.h" 11 #include "ui/gfx/native_widget_types.h" 12 #include "ui/ozone/public/overlay_candidates_ozone.h" 13 14 namespace ui { 15 class DrmOverlayManager; 16 class OverlaySurfaceCandidate; 17 18 // OverlayCandidatesOzone implementation that delegates decisions to 19 // DrmOverlayManager. 20 class DrmOverlayCandidates : public OverlayCandidatesOzone { 21 public: 22 DrmOverlayCandidates(DrmOverlayManager* manager, 23 gfx::AcceleratedWidget widget); 24 ~DrmOverlayCandidates() override; 25 26 // OverlayCandidatesOzone: 27 void CheckOverlaySupport( 28 std::vector<OverlaySurfaceCandidate>* candidates) override; 29 30 private: 31 DrmOverlayManager* const overlay_manager_; // Not owned. 32 const gfx::AcceleratedWidget widget_; 33 34 DISALLOW_COPY_AND_ASSIGN(DrmOverlayCandidates); 35 }; 36 37 } // namespace ui 38 39 #endif // UI_OZONE_PLATFORM_DRM_GPU_DRM_OVERLAY_CANDIDATES_H_ 40