X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Frender%2Fcommon%2Frender-algorithms.cpp;h=610496d8294d09e142d520125fb6920ce72bceea;hb=55827866fcb8c7ee47581ac4335a3390472090e8;hp=6eb4b505d977705089c44c5281e8fa82d02bcdd8;hpb=d2bc18872d7b4f316b86a0897e6c9fabf67a1241;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/render/common/render-algorithms.cpp b/dali/internal/render/common/render-algorithms.cpp old mode 100644 new mode 100755 index 6eb4b50..610496d --- a/dali/internal/render/common/render-algorithms.cpp +++ b/dali/internal/render/common/render-algorithms.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. + * Copyright (c) 2019 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -414,7 +414,9 @@ inline void RenderAlgorithms::ProcessRenderList( const RenderList& renderList, const Matrix& projectionMatrix, Integration::DepthBufferAvailable depthBufferAvailable, Integration::StencilBufferAvailable stencilBufferAvailable, - int orientation ) + Vector& boundTextures, + int orientation, + Dali::ClippingBox& scissorBox ) { DALI_PRINT_RENDER_LIST( renderList ); @@ -473,6 +475,12 @@ inline void RenderAlgorithms::ProcessRenderList( const RenderList& renderList, mScissorStack.push_back( layerScissorBox ); mHasLayerScissor = true; } + else if ( !scissorBox.IsEmpty() ) + { + context.SetScissorTest( true ); + context.Scissor( scissorBox.x, scissorBox.y, scissorBox.width, scissorBox.height ); + mScissorStack.push_back( scissorBox ); + } else { // We are not performing a layer clip. Add the viewport as the root scissor rectangle. @@ -504,7 +512,7 @@ inline void RenderAlgorithms::ProcessRenderList( const RenderList& renderList, // Render the item. item.mRenderer->Render( context, bufferIndex, *item.mNode, item.mModelMatrix, item.mModelViewMatrix, - viewMatrix, projectionMatrix, item.mSize, !item.mIsOpaque ); + viewMatrix, projectionMatrix, item.mSize, !item.mIsOpaque, boundTextures ); } } } @@ -520,7 +528,9 @@ void RenderAlgorithms::ProcessRenderInstruction( const RenderInstruction& instru BufferIndex bufferIndex, Integration::DepthBufferAvailable depthBufferAvailable, Integration::StencilBufferAvailable stencilBufferAvailable, - int orientation ) + Vector& boundTextures, + int orientation, + Dali::ClippingBox& scissorBox ) { DALI_PRINT_RENDER_INSTRUCTION( instruction, bufferIndex ); @@ -549,7 +559,9 @@ void RenderAlgorithms::ProcessRenderInstruction( const RenderInstruction& instru *projectionMatrix, depthBufferAvailable, stencilBufferAvailable, - orientation ); + boundTextures, + orientation, + scissorBox ); } } }