From 17d180891f1e237ea5d25835999a8b23a6e7946d Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Sat, 11 Jun 2016 20:17:35 +0300 Subject: rename dirs --- kms++/card.h | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 kms++/card.h (limited to 'kms++/card.h') diff --git a/kms++/card.h b/kms++/card.h new file mode 100644 index 0000000..5ecaecf --- /dev/null +++ b/kms++/card.h @@ -0,0 +1,71 @@ +#pragma once + +#include +#include +#include + +#include "decls.h" +#include "pipeline.h" + +namespace kms +{ +class Card +{ + friend class Framebuffer; +public: + Card(); + Card(const std::string& device); + ~Card(); + + Card(const Card& other) = delete; + Card& operator=(const Card& other) = delete; + + int fd() const { return m_fd; } + + void drop_master(); + + Connector* get_first_connected_connector() const; + + DrmObject* get_object(uint32_t id) const; + Connector* get_connector(uint32_t id) const; + Crtc* get_crtc(uint32_t id) const; + Encoder* get_encoder(uint32_t id) const; + Plane* get_plane(uint32_t id) const; + Property* get_prop(uint32_t id) const; + Property* get_prop(const std::string& name) const; + + bool master() const { return m_master; } + bool has_atomic() const { return m_has_atomic; } + bool has_has_universal_planes() const { return m_has_universal_planes; } + + const std::vector get_connectors() const { return m_connectors; } + const std::vector get_encoders() const { return m_encoders; } + const std::vector get_crtcs() const { return m_crtcs; } + const std::vector get_planes() const { return m_planes; } + const std::vector get_properties() const { return m_properties; } + + const std::vector get_objects() const; + + std::vector get_connected_pipelines(); + + void call_page_flip_handlers(); + +private: + void restore_modes(); + + std::map m_obmap; + + std::vector m_connectors; + std::vector m_encoders; + std::vector m_crtcs; + std::vector m_planes; + std::vector m_properties; + std::vector m_framebuffers; + + int m_fd; + bool m_master; + + bool m_has_atomic; + bool m_has_universal_planes; +}; +} -- cgit v1.2.3