From 6228bb3eacea64ec0493a74295ed55e3154c5ff7 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Mon, 24 Aug 2020 16:59:21 +0900 Subject: [PATCH] DSRenderViewDaliImpl: change the visibility of the dali actor. when buffer exist, set visible. when buffer is null, set unvisible. Change-Id: I944f99582bde658a7aac9ce6fe602b5f3a9761b4 --- src/DSRender/DSRenderViewDaliImpl.cpp | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/src/DSRender/DSRenderViewDaliImpl.cpp b/src/DSRender/DSRenderViewDaliImpl.cpp index b76a004..1b64d5b 100644 --- a/src/DSRender/DSRenderViewDaliImpl.cpp +++ b/src/DSRender/DSRenderViewDaliImpl.cpp @@ -115,19 +115,28 @@ DSRenderViewDaliImpl::~DSRenderViewDaliImpl() bool DSRenderViewDaliImpl::setBuffer(std::shared_ptr buffer) { - tbm_surface_h nativeBuffer = (tbm_surface_h)buffer->getNativeBuffer(); - std::shared_ptr bufferSize = buffer->getSize(); + if (buffer) { + DSLOG_INF("DSRenderViewDaliImpl", "buffer set."); - __textureViewActor.SetProperty(Actor::Property::SIZE, Vector2(bufferSize->w, bufferSize->h)); + __textureViewActor.SetProperty(Actor::Property::VISIBLE, true); - NativeImageSourcePtr nativeImageSource = NativeImageSource::New(Any(nativeBuffer)); + tbm_surface_h nativeBuffer = (tbm_surface_h)buffer->getNativeBuffer(); + std::shared_ptr bufferSize = buffer->getSize(); - Texture nativeTexture = Texture::New(*nativeImageSource); + __textureViewActor.SetProperty(Actor::Property::SIZE, Vector2(bufferSize->w, bufferSize->h)); - TextureSet textureSet = TextureSet::New(); - textureSet.SetTexture(0u, nativeTexture); + NativeImageSourcePtr nativeImageSource = NativeImageSource::New(Any(nativeBuffer)); - __renderer.SetTextures(textureSet); + Texture nativeTexture = Texture::New(*nativeImageSource); + + TextureSet textureSet = TextureSet::New(); + textureSet.SetTexture(0u, nativeTexture); + + __renderer.SetTextures(textureSet); + } else { + DSLOG_INF("DSRenderViewDaliImpl", "buffer NULL."); + __textureViewActor.SetProperty(Actor::Property::VISIBLE, false); + } return true; } @@ -139,9 +148,12 @@ std::shared_ptr DSRenderViewDaliImpl::getWindow() void DSRenderViewDaliImpl::__onWindowBufferChanged(std::shared_ptr buffer) { - std::shared_ptr bufferSize = buffer->getSize(); - - DSLOG_INF("DSRenderViewDaliImpl", "Window Buffer changed. buffer(%p) size(%d, %d)", buffer.get(), bufferSize->w, bufferSize->h); + if (buffer) { + std::shared_ptr bufferSize = buffer->getSize(); + DSLOG_INF("DSRenderViewDaliImpl", "Window Buffer changed. buffer(%p) size(%d, %d)", buffer.get(), bufferSize->w, bufferSize->h); + } else { + DSLOG_INF("DSRenderViewDaliImpl", "Window Buffer changed. buffer(nullptr)"); + } if (!setBuffer(buffer)) { DSLOG_ERR("DSRenderViewDaliImpl", "setBuffer fails."); -- 2.7.4