/*
- * 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.
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( Internal::Layer::ZValue ),
+: Node(),
+ mSortFunction( Internal::Layer::ZValue ),
mClippingBox( 0,0,0,0 ),
- mLastCamera(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;
{
if( mSortFunction != function )
{
+ SetPropertyDirty( true );
// is a custom sort function used
if( function != Internal::Layer::ZValue )
{
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
return mDepthTestDisabled;
}
+void Layer::ClearRenderables()
+{
+ colorRenderables.Clear();
+ overlayRenderables.Clear();
+}
+
} // namespace SceneGraph
} // namespace Internal