vdr-plugin-softhddevice-drm-gles 1.6.4-d0291bb
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
23class cDrmPlane {
24public:
25 cDrmPlane(void) = default;
26
30 void DumpParameters(const char *);
31 void FillProperties(int);
32 void FreeProperties(void);
36 int HasZpos(int);
37
38 // getters and setters
39 uint32_t GetId(void) { return m_planeId; };
40 void SetId(uint32_t id) { m_planeId = id; };
41 uint64_t GetType(void) { return m_type; };
42 void SetType(uint64_t type) { m_type = type; };
43 uint64_t GetCrtcId(void) { return m_crtcId; };
44 uint64_t GetFbId(void) { return m_fbId; };
45 uint64_t GetCrtcX(void) { return m_crtcX; };
46 uint64_t GetCrtcY(void) { return m_crtcY; };
47 uint64_t GetCrtcW(void) { return m_crtcW; };
48 uint64_t GetCrtcH(void) { return m_crtcH; };
49 uint64_t GetSrcX(void) { return m_srcX; };
50 uint64_t GetSrcY(void) { return m_srcY; };
51 uint64_t GetSrcW(void) { return m_srcW; };
52 uint64_t GetSrcH(void) { return m_srcH; };
53 uint64_t GetZpos(void) { return m_zpos; };
55
56 int GetCountProps(void) { return m_props ? m_props->count_props : 0; };
57 char *GetPropsInfoName(int prop) { return m_propsInfo[prop]->name; };
58 uint32_t GetPropsInfoPropId(int prop) { return m_propsInfo[prop]->prop_id; };
63
64private:
70
71 // The modesetting parameters for a drm commit
83
85};
86
87#endif
DRM Plane.
Definition drmplane.h:23
uint64_t m_crtcX
CRTC_X.
Definition drmplane.h:74
uint64_t GetCrtcX(void)
Definition drmplane.h:45
uint64_t m_fbId
FB_ID.
Definition drmplane.h:73
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:86
uint64_t GetCrtcId(void)
Definition drmplane.h:43
void ClearPlane(drmModeAtomicReqPtr)
Clear plane from drm.
Definition drmplane.cpp:165
uint64_t GetCrtcH(void)
Definition drmplane.h:48
uint64_t m_crtcId
CRTC_ID.
Definition drmplane.h:72
drmModePropertyRes ** GetPropsInfoElem(int elem)
Definition drmplane.h:62
void SetProps(drmModeObjectProperties *props)
Definition drmplane.h:60
uint64_t GetType(void)
Definition drmplane.h:41
uint64_t GetSrcH(void)
Definition drmplane.h:52
uint32_t GetPropsInfoPropId(int prop)
Definition drmplane.h:58
int SetPropertyRequest(drmModeAtomicReqPtr, const char *, uint64_t)
Add the properties to the mode setting request.
Definition drmplane.cpp:109
uint64_t GetZpos(void)
Definition drmplane.h:53
uint64_t m_type
type: DRM_PLANE_TYPE_PRIMARY or DRM_PLANE_TYPE_OVERLAY
Definition drmplane.h:66
void SetId(uint32_t id)
Definition drmplane.h:40
int HasZpos(int)
Check, if the plane is able to set the zpos property.
Definition drmplane.cpp:179
void FillProperties(int)
Fill the plane properties.
Definition drmplane.cpp:34
char * GetPropsInfoName(int prop)
Definition drmplane.h:57
uint64_t GetSrcY(void)
Definition drmplane.h:50
uint64_t m_zpos
ZPOS.
Definition drmplane.h:82
uint64_t m_crtcW
CRTC_W.
Definition drmplane.h:76
uint64_t m_srcW
SRC_W.
Definition drmplane.h:80
void SetZpos(uint64_t zpos)
Definition drmplane.h:54
uint64_t GetFbId(void)
Definition drmplane.h:44
drmModeObjectProperties * m_props
Definition drmplane.h:68
drmModePropertyRes ** GetPropsInfo(void)
Definition drmplane.h:61
uint64_t m_crtcH
CRTC_H.
Definition drmplane.h:77
cDrmPlane(void)=default
void FreeProperties(void)
Free the previously filled plane properties.
Definition drmplane.cpp:53
void SetPlane(drmModeAtomicReqPtr)
Set all plane properties (except zpos)
Definition drmplane.cpp:144
int GetCountProps(void)
Definition drmplane.h:56
drmModePropertyRes ** m_propsInfo
Definition drmplane.h:69
uint64_t m_crtcY
CRTC_Y.
Definition drmplane.h:75
void SetPlaneZpos(drmModeAtomicReqPtr)
Set the plane zpos property.
Definition drmplane.cpp:134
uint32_t m_planeId
the plane's ID
Definition drmplane.h:65
uint64_t GetSrcW(void)
Definition drmplane.h:51
uint64_t m_srcY
SRC_Y.
Definition drmplane.h:79
uint64_t m_srcH
SRC_H.
Definition drmplane.h:81
drmModeObjectProperties * GetProps(void)
Definition drmplane.h:59
uint64_t GetSrcX(void)
Definition drmplane.h:49
uint64_t GetCrtcW(void)
Definition drmplane.h:47
uint64_t m_srcX
SRC_X.
Definition drmplane.h:78
void SetType(uint64_t type)
Definition drmplane.h:42
uint32_t GetId(void)
Definition drmplane.h:39
uint64_t GetCrtcY(void)
Definition drmplane.h:46
void DumpParameters(const char *)
Dump the cached plane parameter modesetting values.
Definition drmplane.cpp:206