summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libkms++/plane.cpp47
-rw-r--r--libkms++/plane.h9
2 files changed, 56 insertions, 0 deletions
diff --git a/libkms++/plane.cpp b/libkms++/plane.cpp
index 93567f1..3ad3ddf 100644
--- a/libkms++/plane.cpp
+++ b/libkms++/plane.cpp
@@ -75,4 +75,51 @@ PlaneType Plane::plane_type() const
else
return PlaneType::Overlay;
}
+
+vector<PixelFormat> Plane::get_formats() const
+{
+ auto p = m_priv->drm_plane;
+ vector<PixelFormat> r;
+
+ for (unsigned i = 0; i < p->count_formats; ++i)
+ r.push_back((PixelFormat) p->formats[i]);
+
+ return r;
+}
+
+uint32_t Plane::crtc_id() const
+{
+ return m_priv->drm_plane->crtc_id;
+}
+
+uint32_t Plane::fb_id() const
+{
+ return m_priv->drm_plane->fb_id;
+}
+
+uint32_t Plane::crtc_x() const
+{
+ return m_priv->drm_plane->crtc_x;
+}
+
+uint32_t Plane::crtc_y() const
+{
+ return m_priv->drm_plane->crtc_y;
+}
+
+uint32_t Plane::x() const
+{
+ return m_priv->drm_plane->x;
+}
+
+uint32_t Plane::y() const
+{
+ return m_priv->drm_plane->y;
+}
+
+uint32_t Plane::gamma_size() const
+{
+ return m_priv->drm_plane->gamma_size;
+}
+
}
diff --git a/libkms++/plane.h b/libkms++/plane.h
index 0c232c0..2faca78 100644
--- a/libkms++/plane.h
+++ b/libkms++/plane.h
@@ -25,6 +25,15 @@ public:
PlaneType plane_type() const;
+ std::vector<PixelFormat> get_formats() const;
+ uint32_t crtc_id() const;
+ uint32_t fb_id() const;
+
+ uint32_t crtc_x() const;
+ uint32_t crtc_y() const;
+ uint32_t x() const;
+ uint32_t y() const;
+ uint32_t gamma_size() const;
private:
Plane(Card& card, uint32_t id);
~Plane();