// Copyright 2015 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_GPU_HARDWARE_DISPLAY_PLANE_MANAGER_ATOMIC_H_ #define UI_OZONE_PLATFORM_DRM_GPU_HARDWARE_DISPLAY_PLANE_MANAGER_ATOMIC_H_ #include "ui/ozone/ozone_export.h" #include "ui/ozone/platform/drm/gpu/hardware_display_plane_manager.h" namespace ui { class OZONE_EXPORT HardwareDisplayPlaneManagerAtomic : public HardwareDisplayPlaneManager { public: HardwareDisplayPlaneManagerAtomic(); ~HardwareDisplayPlaneManagerAtomic() override; // HardwareDisplayPlaneManager: bool AssignOverlayPlanes(HardwareDisplayPlaneList* plane_list, const OverlayPlaneList& overlay_list, uint32_t crtc_id, CrtcController* crtc) override; bool Commit(HardwareDisplayPlaneList* plane_list, bool is_sync) override; private: bool SetPlaneData(HardwareDisplayPlaneList* plane_list, HardwareDisplayPlane* hw_plane, const OverlayPlane& overlay, uint32_t crtc_id, const gfx::Rect& src_rect, CrtcController* crtc) override; scoped_ptr CreatePlane( uint32_t plane_id, uint32_t possible_crtcs) override; DISALLOW_COPY_AND_ASSIGN(HardwareDisplayPlaneManagerAtomic); }; } // namespace ui #endif // UI_OZONE_PLATFORM_DRM_GPU_HARDWARE_DISPLAY_PLANE_MANAGER_ATOMIC_H_