vdr-plugin-softhddevice-drm-gles 1.6.2
drmplane.h
Go to the documentation of this file.
1// SPDX-License-Identifier: AGPL-3.0-or-later
2
13#ifndef __DRMPLANE_H
14#define __DRMPLANE_H
15
16#include <xf86drmMode.h>
17
26class cDrmPlane {
27public:
28 cDrmPlane(void) = default;
29
33 void DumpParameters(const char *);
34 void FillProperties(int);
35 void FreeProperties(void);
39 int HasZpos(int);
40
41 // getters and setters
42 uint32_t GetId(void) { return m_planeId; };
43 void SetId(uint32_t id) { m_planeId = id; };
44 uint64_t GetType(void) { return m_type; };
45 void SetType(uint64_t type) { m_type = type; };
46 uint64_t GetCrtcId(void) { return m_crtcId; };
47 uint64_t GetFbId(void) { return m_fbId; };
48 uint64_t GetCrtcX(void) { return m_crtcX; };
49 uint64_t GetCrtcY(void) { return m_crtcY; };
50 uint64_t GetCrtcW(void) { return m_crtcW; };
51 uint64_t GetCrtcH(void) { return m_crtcH; };
52 uint64_t GetSrcX(void) { return m_srcX; };
53 uint64_t GetSrcY(void) { return m_srcY; };
54 uint64_t GetSrcW(void) { return m_srcW; };
55 uint64_t GetSrcH(void) { return m_srcH; };
56 uint64_t GetZpos(void) { return m_zpos; };
58
59 int GetCountProps(void) { return m_props ? m_props->count_props : 0; };
60 char *GetPropsInfoName(int prop) { return m_propsInfo[prop]->name; };
61 uint32_t GetPropsInfoPropId(int prop) { return m_propsInfo[prop]->prop_id; };
66
67private:
73
74 // The modesetting parameters for a drm commit
86
88};
89
92#endif
DRM Plane.
Definition drmplane.h:26
uint64_t m_crtcX
CRTC_X.
Definition drmplane.h:77
uint64_t GetCrtcX(void)
Definition drmplane.h:48
uint64_t m_fbId
FB_ID.
Definition drmplane.h:76
uint64_t GetCrtcId(void)
Definition drmplane.h:46
uint64_t GetCrtcH(void)
Definition drmplane.h:51
uint64_t m_crtcId
CRTC_ID.
Definition drmplane.h:75
drmModePropertyRes ** GetPropsInfoElem(int elem)
Definition drmplane.h:65
void SetProps(drmModeObjectProperties *props)
Definition drmplane.h:63
uint64_t GetType(void)
Definition drmplane.h:44
uint64_t GetSrcH(void)
Definition drmplane.h:55
uint32_t GetPropsInfoPropId(int prop)
Definition drmplane.h:61
uint64_t GetZpos(void)
Definition drmplane.h:56
uint64_t m_type
type: DRM_PLANE_TYPE_PRIMARY or DRM_PLANE_TYPE_OVERLAY
Definition drmplane.h:69
void SetId(uint32_t id)
Definition drmplane.h:43
char * GetPropsInfoName(int prop)
Definition drmplane.h:60
uint64_t GetSrcY(void)
Definition drmplane.h:53
uint64_t m_zpos
ZPOS.
Definition drmplane.h:85
uint64_t m_crtcW
CRTC_W.
Definition drmplane.h:79
uint64_t m_srcW
SRC_W.
Definition drmplane.h:83
void SetZpos(uint64_t zpos)
Definition drmplane.h:57
uint64_t GetFbId(void)
Definition drmplane.h:47
drmModeObjectProperties * m_props
Definition drmplane.h:71
drmModePropertyRes ** GetPropsInfo(void)
Definition drmplane.h:64
uint64_t m_crtcH
CRTC_H.
Definition drmplane.h:80
cDrmPlane(void)=default
int GetCountProps(void)
Definition drmplane.h:59
drmModePropertyRes ** m_propsInfo
Definition drmplane.h:72
uint64_t m_crtcY
CRTC_Y.
Definition drmplane.h:78
uint32_t m_planeId
the plane's ID
Definition drmplane.h:68
uint64_t GetSrcW(void)
Definition drmplane.h:54
uint64_t m_srcY
SRC_Y.
Definition drmplane.h:82
uint64_t m_srcH
SRC_H.
Definition drmplane.h:84
drmModeObjectProperties * GetProps(void)
Definition drmplane.h:62
uint64_t GetSrcX(void)
Definition drmplane.h:52
uint64_t GetCrtcW(void)
Definition drmplane.h:50
uint64_t m_srcX
SRC_X.
Definition drmplane.h:81
void SetType(uint64_t type)
Definition drmplane.h:45
uint32_t GetId(void)
Definition drmplane.h:42
uint64_t GetCrtcY(void)
Definition drmplane.h:49
void SetParams(uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t)
Caches the modesetting parameters of a plane.
Definition drmplane.cpp:91
void ClearPlane(drmModeAtomicReqPtr)
Clear plane from drm.
Definition drmplane.cpp:170
int SetPropertyRequest(drmModeAtomicReqPtr, const char *, uint64_t)
Add the properties to the mode setting request.
Definition drmplane.cpp:114
int HasZpos(int)
Check, if the plane is able to set the zpos property.
Definition drmplane.cpp:184
void FillProperties(int)
Fill the plane properties.
Definition drmplane.cpp:39
void FreeProperties(void)
Free the previously filled plane properties.
Definition drmplane.cpp:58
void SetPlane(drmModeAtomicReqPtr)
Set all plane properties (except zpos)
Definition drmplane.cpp:149
void SetPlaneZpos(drmModeAtomicReqPtr)
Set the plane zpos property.
Definition drmplane.cpp:139
void DumpParameters(const char *)
Dump the cached plane parameter modesetting values.
Definition drmplane.cpp:211