0c232c03bceaae7c422150cae763585c3872eee3
[android/external-libkmsxx.git] / libkms++ / plane.h
1 #pragma once
3 #include "drmobject.h"
5 namespace kms
6 {
8 enum class PlaneType
9 {
10         Overlay = 0,
11         Primary = 1,
12         Cursor = 2,
13 };
15 struct PlanePriv;
17 class Plane : public DrmObject
18 {
19         friend class Card;
20 public:
21         void print_short() const;
23         bool supports_crtc(Crtc* crtc) const;
24         bool supports_format(PixelFormat fmt) const;
26         PlaneType plane_type() const;
28 private:
29         Plane(Card& card, uint32_t id);
30         ~Plane();
32         PlanePriv* m_priv;
33 };
34 }