libkms++/plane: Add methods for getting details of the DRM object
[android/external-libkmsxx.git] / libkms++ / plane.cpp
index 93567f1e8fd261571860b386f996602daf6b0fd8..3ad3ddfa62c8503d25e8f4146becb684bd1dc2fb 100644 (file)
@@ -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;
+}
+
 }