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(drmModePropertySet
* property_set
,
25 const gfx::Rect
& crtc_rect
,
26 const gfx::Rect
& src_rect
);
28 // HardwareDisplayPlane:
29 bool Initialize(DrmDevice
* drm
) override
;
31 void set_crtc(CrtcController
* crtc
) { crtc_
= crtc
; }
32 CrtcController
* crtc() const { return crtc_
; }
37 bool Initialize(DrmDevice
* drm
,
39 const ScopedDrmObjectPropertyPtr
& plane_properties
);
45 Property crtc_x_prop_
;
46 Property crtc_y_prop_
;
47 Property crtc_w_prop_
;
48 Property crtc_h_prop_
;
53 CrtcController
* crtc_
= nullptr;
58 #endif // UI_OZONE_PLATFORM_DRM_GPU_HARDWARE_DISPLAY_PLANE_ATOMIC_H_