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++/framebuffer.cpp | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 kms++/framebuffer.cpp (limited to 'kms++/framebuffer.cpp') diff --git a/kms++/framebuffer.cpp b/kms++/framebuffer.cpp new file mode 100644 index 0000000..bf9ab01 --- /dev/null +++ b/kms++/framebuffer.cpp @@ -0,0 +1,42 @@ +#include +#include +#include +#include +#include +#include + +#include "kms++.h" + +using namespace std; + +namespace kms +{ + +Framebuffer::Framebuffer(Card& card, uint32_t width, uint32_t height) + : DrmObject(card, DRM_MODE_OBJECT_FB), m_width(width), m_height(height) +{ + card.m_framebuffers.push_back(this); +} + +Framebuffer::Framebuffer(Card& card, uint32_t id) + : DrmObject(card, id, DRM_MODE_OBJECT_FB) +{ + auto fb = drmModeGetFB(card.fd(), id); + + m_width = fb->width; + m_height = fb->height; + + drmModeFreeFB(fb); + + card.m_framebuffers.push_back(this); +} + +Framebuffer::~Framebuffer() +{ + auto& fbs = card().m_framebuffers; + auto iter = find(fbs.begin(), fbs.end(), this); + card().m_framebuffers.erase(iter); +} + + +} -- cgit v1.2.3