]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - android/external-libkmsxx.git/blob - libkms++/plane.h
crtc: add disable_plane()
[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         bool supports_crtc(Crtc* crtc) const;
22         bool supports_format(PixelFormat fmt) const;
24         PlaneType plane_type() const;
26         std::vector<PixelFormat> get_formats() const;
27         uint32_t crtc_id() const;
28         uint32_t fb_id() const;
30         uint32_t crtc_x() const;
31         uint32_t crtc_y() const;
32         uint32_t x() const;
33         uint32_t y() const;
34         uint32_t gamma_size() const;
35 private:
36         Plane(Card& card, uint32_t id);
37         ~Plane();
39         PlanePriv* m_priv;
40 };
41 }