Supervised user whitelists: Cleanup
[chromium-blink-merge.git] / ui / ozone / platform / drm / gpu / hardware_display_plane_atomic.h
blob415961164485cac69eb5261d71349fa957554fa8
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>
12 namespace ui {
14 class DrmDevice;
16 class HardwareDisplayPlaneAtomic : public HardwareDisplayPlane {
17 public:
18 HardwareDisplayPlaneAtomic(uint32_t plane_id, uint32_t possible_crtcs);
19 ~HardwareDisplayPlaneAtomic() override;
21 bool SetPlaneData(drmModePropertySet* property_set,
22 uint32_t crtc_id,
23 uint32_t framebuffer,
24 const gfx::Rect& crtc_rect,
25 const gfx::Rect& src_rect);
27 // HardwareDisplayPlane:
28 bool Initialize(DrmDevice* drm) override;
30 private:
31 struct Property {
32 Property();
33 bool Initialize(DrmDevice* drm,
34 const char* name,
35 const ScopedDrmObjectPropertyPtr& plane_properties);
36 uint32_t id;
39 Property crtc_prop_;
40 Property fb_prop_;
41 Property crtc_x_prop_;
42 Property crtc_y_prop_;
43 Property crtc_w_prop_;
44 Property crtc_h_prop_;
45 Property src_x_prop_;
46 Property src_y_prop_;
47 Property src_w_prop_;
48 Property src_h_prop_;
51 } // namespace ui
53 #endif // UI_OZONE_PLATFORM_DRM_GPU_HARDWARE_DISPLAY_PLANE_ATOMIC_H_