diff options
Diffstat (limited to 'kms++/plane.h')
-rw-r--r-- | kms++/plane.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/kms++/plane.h b/kms++/plane.h new file mode 100644 index 0000000..d50e539 --- /dev/null +++ b/kms++/plane.h @@ -0,0 +1,41 @@ +#pragma once + +#include "drmpropobject.h" + +namespace kms +{ + +enum class PlaneType +{ + Overlay = 0, + Primary = 1, + Cursor = 2, +}; + +struct PlanePriv; + +class Plane : public DrmPropObject +{ + friend class Card; +public: + bool supports_crtc(Crtc* crtc) const; + bool supports_format(PixelFormat fmt) 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, uint32_t idx); + ~Plane(); + + PlanePriv* m_priv; +}; +} |