X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fupdate%2Fnodes%2Fscene-graph-layer.cpp;h=08da342cda97dda0608cee1ebf58797dab531586;hb=1eb0148fe7c5dbd58d8e3bf364cbab9e65167609;hp=cc99243dc7d74e2b7df229f040de3e99bf1a826e;hpb=27619bbc4c1d443e89a6cdd116e544f6d9657fa4;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/update/nodes/scene-graph-layer.cpp b/dali/internal/update/nodes/scene-graph-layer.cpp old mode 100644 new mode 100755 index cc99243..d23419c --- a/dali/internal/update/nodes/scene-graph-layer.cpp +++ b/dali/internal/update/nodes/scene-graph-layer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2018 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. @@ -17,13 +17,11 @@ // CLASS HEADER #include +#include // INTERNAL INCLUDES #include - -using namespace std; - namespace Dali { @@ -35,16 +33,24 @@ namespace SceneGraph SceneGraph::Layer* Layer::New() { + // Layers are currently heap allocated, unlike Nodes which are in a memory pool + // However Node::Delete( layer ) will correctly delete a layer / node depending on type return new Layer(); } Layer::Layer() -: mSortFunction( Dali::Layer::ZValue ), +: Node(), + mSortFunction( Internal::Layer::ZValue ), mClippingBox( 0,0,0,0 ), + mLastCamera( NULL ), + mBehavior( Dali::Layer::LAYER_UI ), mIsClipping( false ), - mDepthTestDisabled( false ), + mDepthTestDisabled( true ), mIsDefaultSortFunction( true ) { + // set a flag the node to say this is a layer + mIsLayer = true; + // layer starts off dirty mAllChildTransformsClean[ 0 ] = false; mAllChildTransformsClean[ 1 ] = false; @@ -58,8 +64,9 @@ void Layer::SetSortFunction( Dali::Layer::SortFunctionType function ) { if( mSortFunction != function ) { + SetPropertyDirty( true ); // is a custom sort function used - if( function != Dali::Layer::ZValue ) + if( function != Internal::Layer::ZValue ) { mIsDefaultSortFunction = false; } @@ -78,16 +85,25 @@ void Layer::SetSortFunction( Dali::Layer::SortFunctionType function ) void Layer::SetClipping(bool enabled) { mIsClipping = enabled; + SetPropertyDirty( true ); } void Layer::SetClippingBox(const Dali::ClippingBox& box) { mClippingBox.Set(box.x, box.y, box.width, box.height); + SetPropertyDirty( true ); +} + +void Layer::SetBehavior( Dali::Layer::Behavior behavior ) +{ + mBehavior = behavior; + SetPropertyDirty( true ); } void Layer::SetDepthTestDisabled( bool disable ) { mDepthTestDisabled = disable; + SetPropertyDirty( true ); } bool Layer::IsDepthTestDisabled() const @@ -95,6 +111,12 @@ bool Layer::IsDepthTestDisabled() const return mDepthTestDisabled; } +void Layer::ClearRenderables() +{ + colorRenderables.Clear(); + overlayRenderables.Clear(); +} + } // namespace SceneGraph } // namespace Internal