From: Paul Wisbey
Date: Wed, 3 Aug 2016 16:00:27 +0000 (-0700)
Subject: Merge "Geometry Batching" into devel/master
X-Git-Tag: dali_1.2.0~4
X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=901499a7ec86ca342c4e0fdec62a6e4eeeee5c5f;hp=-c
Merge "Geometry Batching" into devel/master
---
901499a7ec86ca342c4e0fdec62a6e4eeeee5c5f
diff --combined dali-toolkit/internal/visuals/visual-factory-impl.cpp
index d7664ae,2c79c27..f4677a7
--- a/dali-toolkit/internal/visuals/visual-factory-impl.cpp
+++ b/dali-toolkit/internal/visuals/visual-factory-impl.cpp
@@@ -41,6 -41,7 +41,7 @@@
#include
#include
#include
+ #include
namespace
{
@@@ -67,9 -68,11 +68,11 @@@ DALI_ENUM_TO_STRING_WITH_SCOPE( Toolkit
DALI_ENUM_TO_STRING_WITH_SCOPE( Toolkit::Visual, MESH )
DALI_ENUM_TO_STRING_WITH_SCOPE( Toolkit::Visual, PRIMITIVE )
DALI_ENUM_TO_STRING_WITH_SCOPE( Toolkit::Visual, DEBUG )
+ DALI_ENUM_TO_STRING_WITH_SCOPE( Toolkit::Visual, BATCH_IMAGE )
DALI_ENUM_TO_STRING_TABLE_END( VISUAL_TYPE )
const char * const VISUAL_TYPE( "visualType" );
+ const char * const BATCHING_ENABLED( "batchingEnabled" );
BaseHandle Create()
{
@@@ -109,12 -112,27 +112,27 @@@ Toolkit::Visual::Base VisualFactory::Cr
Visual::Base* visualPtr = NULL;
Property::Value* typeValue = propertyMap.Find( Toolkit::Visual::Property::TYPE, VISUAL_TYPE );
- Toolkit::Visual::Type visualType = Toolkit::Visual::IMAGE; // Default to IMAGE type
+ Toolkit::Visual::Type visualType = Toolkit::Visual::IMAGE; // Default to IMAGE type.
if( typeValue )
{
Scripting::GetEnumerationProperty( *typeValue, VISUAL_TYPE_TABLE, VISUAL_TYPE_TABLE_COUNT, visualType );
}
+ // If the type is IMAGE, either from a default or the TYPE value in the property-map, change it to a BatchImage if required.
+ if( visualType == Toolkit::Visual::IMAGE )
+ {
+ bool batchingEnabled( false );
+ Property::Value* value = propertyMap.Find( Toolkit::Visual::Property::BATCHING_ENABLED, BATCHING_ENABLED );
+ if( value )
+ {
+ value->Get( batchingEnabled );
+ if( batchingEnabled )
+ {
+ visualType = Toolkit::Visual::BATCH_IMAGE;
+ }
+ }
+ }
+
switch( visualType )
{
case Toolkit::Visual::BORDER:
@@@ -187,6 -205,13 +205,13 @@@
visualPtr = new DebugVisual( *( mFactoryCache.Get() ) );
break;
}
+
+ case Toolkit::Visual::BATCH_IMAGE:
+ {
+ CreateAtlasManager();
+ visualPtr = new BatchImageVisual( *( mFactoryCache.Get() ), *( mAtlasManager.Get() ) );
+ break;
+ }
}
if( visualPtr )
@@@ -196,7 -221,7 +221,7 @@@
}
else
{
- DALI_LOG_ERROR( "Renderer type unknown" );
+ DALI_LOG_ERROR( "Renderer type unknown\n" );
}
return Toolkit::Visual::Base( visualPtr );