summaryrefslogtreecommitdiff
path: root/kms++/plane.h
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2016-06-11 20:17:35 +0300
committerTomi Valkeinen <tomi.valkeinen@ti.com>2016-06-11 20:17:35 +0300
commit17d180891f1e237ea5d25835999a8b23a6e7946d (patch)
tree5963fe4d338f6272daf55c76ed355effb47afc71 /kms++/plane.h
parent38a71ee72c47f3287c327113ce411f236cac05ef (diff)
rename dirs
Diffstat (limited to 'kms++/plane.h')
-rw-r--r--kms++/plane.h41
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;
+};
+}