From 369936ad86a4ab92bab749eba6c18bdc7e21678a Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Sun, 2 Aug 2020 20:52:01 +0900 Subject: [PATCH] DSBuffer: add getSize from Buffer Change-Id: Icad8dc418720b4e8455f67028a49a7ddfb500105 --- src/DSBuffer/DSBufferTBMImpl.cpp | 9 +++++++++ src/DSBuffer/DSBufferTBMImpl.h | 1 + src/DSBuffer/IDSBuffer.h | 4 ++++ tests/DSBufferTBMImpl-test.cpp | 14 +++++++++++--- 4 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/DSBuffer/DSBufferTBMImpl.cpp b/src/DSBuffer/DSBufferTBMImpl.cpp index 2ccf911..f3f97cb 100644 --- a/src/DSBuffer/DSBufferTBMImpl.cpp +++ b/src/DSBuffer/DSBufferTBMImpl.cpp @@ -73,6 +73,15 @@ void DSBufferTBMImpl::unref() } } +std::shared_ptr DSBufferTBMImpl::getSize() +{ + std::shared_ptr bufferSize = std::make_shared(); + bufferSize->w = __width; + bufferSize->h = __height; + + return bufferSize; +} + tbm_format DSBufferTBMImpl::getTBMFormat(const IDSBuffer::Format &format) { tbm_format tformat = 0; // what is the error format? diff --git a/src/DSBuffer/DSBufferTBMImpl.h b/src/DSBuffer/DSBufferTBMImpl.h index 3519407..2be30fe 100644 --- a/src/DSBuffer/DSBufferTBMImpl.h +++ b/src/DSBuffer/DSBufferTBMImpl.h @@ -20,6 +20,7 @@ public: void setClientDestroyed() override; void ref() override; void unref() override; + std::shared_ptr getSize() override; static tbm_format getTBMFormat(const IDSBuffer::Format &format); static IDSBuffer::Format getBufferFormat(const tbm_format &tformat); diff --git a/src/DSBuffer/IDSBuffer.h b/src/DSBuffer/IDSBuffer.h index 9b3f726..27075c7 100644 --- a/src/DSBuffer/IDSBuffer.h +++ b/src/DSBuffer/IDSBuffer.h @@ -1,6 +1,9 @@ #ifndef __I_DS_BUFFER_H_ #define __I_DS_BUFFER_H_ +#include "DSCore.h" +#include "DSStruct.h" + namespace display_server { @@ -18,6 +21,7 @@ public: virtual void setClientDestroyed() = 0; virtual void ref() = 0; virtual void unref() = 0; + virtual std::shared_ptr getSize() = 0; }; } diff --git a/tests/DSBufferTBMImpl-test.cpp b/tests/DSBufferTBMImpl-test.cpp index 6a96113..4e4a357 100644 --- a/tests/DSBufferTBMImpl-test.cpp +++ b/tests/DSBufferTBMImpl-test.cpp @@ -9,15 +9,23 @@ class DSBufferTBMImplTest : public ::testing::Test { public: void SetUp(void) override - {} + { + setenv("XDG_RUNTIME_DIR", "/run", 1); + } void TearDown(void) override - {} + { + unsetenv("XDG_RUNTIME_DIR"); + } }; TEST_F(DSBufferTBMImplTest, CreateBuffer) { - std::unique_ptr buffer = std::make_unique(100, 100, IDSBuffer::FORMAT_ARGB8888); + std::unique_ptr buffer = std::make_unique(100, 200, IDSBuffer::FORMAT_ARGB8888); EXPECT_TRUE(buffer.get() != nullptr); + + std::shared_ptr size = buffer->getSize(); + EXPECT_TRUE(size->w == 100); + EXPECT_TRUE(size->h == 200); } TEST_F(DSBufferTBMImplTest, CreateBufferQueue) -- 2.7.4