1 // Copyright 2015 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_GPU_HARDWARE_DISPLAY_PLANE_ATOMIC_H_
6 #define UI_OZONE_PLATFORM_DRM_GPU_HARDWARE_DISPLAY_PLANE_ATOMIC_H_
8 #include "ui/ozone/platform/drm/gpu/hardware_display_plane.h"
10 #include <xf86drmMode.h>
17 class HardwareDisplayPlaneAtomic
: public HardwareDisplayPlane
{
19 HardwareDisplayPlaneAtomic(uint32_t plane_id
, uint32_t possible_crtcs
);
20 ~HardwareDisplayPlaneAtomic() override
;
22 bool SetPlaneData(drmModeAtomicReq
* property_set
,
25 const gfx::Rect
& crtc_rect
,
26 const gfx::Rect
& src_rect
);
28 void set_crtc(CrtcController
* crtc
) { crtc_
= crtc
; }
29 CrtcController
* crtc() const { return crtc_
; }
32 bool InitializeProperties(
34 const ScopedDrmObjectPropertyPtr
& plane_props
) override
;
38 bool Initialize(DrmDevice
* drm
,
40 const ScopedDrmObjectPropertyPtr
& plane_properties
);
46 Property crtc_x_prop_
;
47 Property crtc_y_prop_
;
48 Property crtc_w_prop_
;
49 Property crtc_h_prop_
;
54 CrtcController
* crtc_
= nullptr;
59 #endif // UI_OZONE_PLATFORM_DRM_GPU_HARDWARE_DISPLAY_PLANE_ATOMIC_H_