libkms++/plane: Add methods for getting details of the DRM object
authorJyri Sarha <jsarha@ti.com>
Tue, 20 Oct 2015 13:48:08 +0000 (16:48 +0300)
committerJyri Sarha <jsarha@ti.com>
Tue, 20 Oct 2015 16:18:32 +0000 (19:18 +0300)
libkms++/plane.cpp
libkms++/plane.h

index 93567f1e8fd261571860b386f996602daf6b0fd8..3ad3ddfa62c8503d25e8f4146becb684bd1dc2fb 100644 (file)
@@ -75,4 +75,51 @@ PlaneType Plane::plane_type() const
        else
                return PlaneType::Overlay;
 }
        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;
+}
+
 }
 }
index 0c232c03bceaae7c422150cae763585c3872eee3..2faca78d3e25cfb0ce351d3715c30489315b3f4c 100644 (file)
@@ -25,6 +25,15 @@ public:
 
        PlaneType plane_type() const;
 
 
        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();
 private:
        Plane(Card& card, uint32_t id);
        ~Plane();