From a5db43b30b0e2a58b13548ef27a9b754d04ba492 Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Fri, 27 May 2016 16:31:09 +0300 Subject: Add Videomode::to_blob() --- libkms++/blob.h | 1 + libkms++/videomode.cpp | 19 +++++++++++++++++++ libkms++/videomode.h | 5 +++++ 3 files changed, 25 insertions(+) create mode 100644 libkms++/videomode.cpp (limited to 'libkms++') diff --git a/libkms++/blob.h b/libkms++/blob.h index c6c230c..fd872f1 100644 --- a/libkms++/blob.h +++ b/libkms++/blob.h @@ -1,6 +1,7 @@ #pragma once #include "drmobject.h" +#include namespace kms { diff --git a/libkms++/videomode.cpp b/libkms++/videomode.cpp new file mode 100644 index 0000000..5c98c00 --- /dev/null +++ b/libkms++/videomode.cpp @@ -0,0 +1,19 @@ +#include +#include + +#include "videomode.h" +#include "helpers.h" + +using namespace std; + +namespace kms +{ + +unique_ptr Videomode::to_blob(Card& card) const +{ + drmModeModeInfo drm_mode = video_mode_to_drm_mode(*this); + + return unique_ptr(new Blob(card, &drm_mode, sizeof(drm_mode))); +} + +} diff --git a/libkms++/videomode.h b/libkms++/videomode.h index 8bcdc8a..382c1cd 100644 --- a/libkms++/videomode.h +++ b/libkms++/videomode.h @@ -2,6 +2,9 @@ #include #include +#include + +#include "blob.h" namespace kms { @@ -18,6 +21,8 @@ struct Videomode uint32_t flags; // DRM_MODE_FLAG_* uint32_t type; // DRM_MODE_TYPE_* + + std::unique_ptr to_blob(Card& card) const; }; } -- cgit v1.2.3