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

index 9716c97c2fa92a324be5a32b209e099b28adbdb9..321670c96e77556fe09fbb7149f9491db576c2d6 100644 (file)
@@ -87,4 +87,45 @@ int Crtc::page_flip(Framebuffer& fb, void *data)
 {
        return drmModePageFlip(card().fd(), id(), fb.id(), DRM_MODE_PAGE_FLIP_EVENT, data);
 }
+
+uint32_t Crtc::buffer_id() const
+{
+       return m_priv->drm_crtc->buffer_id;
+}
+
+uint32_t Crtc::x() const
+{
+       return m_priv->drm_crtc->x;
+}
+
+uint32_t Crtc::y() const
+{
+       return m_priv->drm_crtc->y;
+}
+
+uint32_t Crtc::width() const
+{
+       return m_priv->drm_crtc->width;
+}
+
+uint32_t Crtc::height() const
+{
+       return m_priv->drm_crtc->height;
+}
+
+int Crtc::mode_valid() const
+{
+       return m_priv->drm_crtc->mode_valid;
+}
+
+Videomode Crtc::mode() const
+{
+       return drm_mode_to_video_mode(m_priv->drm_crtc->mode);
+}
+
+int Crtc::gamma_size() const
+{
+       return m_priv->drm_crtc->gamma_size;
+}
+
 }
index 053c77d57c0c4bb027fe7d77149c72efaf397146..7581302e46f08889e32603e841a3c1f31d6fa47e 100644 (file)
@@ -26,6 +26,15 @@ public:
 
        int page_flip(Framebuffer& fb, void *data);
        int page_flip(Framebuffer& fb, PageFlipHandlerBase* data) { return page_flip(fb, (void*)data); }
+
+       uint32_t buffer_id() const;
+       uint32_t x() const;
+       uint32_t y() const;
+       uint32_t width() const;
+       uint32_t height() const;
+       int mode_valid() const;
+       Videomode mode() const;
+       int gamma_size() const;
 private:
        Crtc(Card& card, uint32_t id, uint32_t idx);
        ~Crtc();