X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fwireframe%2Fwireframe-visual.cpp;h=5fd3160f7f8e9e95effb5071e0f89801d87d7abf;hp=52a7710dcc29eea4f715e4c3439d82aa7eb598f1;hb=8baeadfe23cbb78ccc879aec3350edde7bf8424a;hpb=dcee19c07c4f38251b88ca0ad849c9a666cf20eb diff --git a/dali-toolkit/internal/visuals/wireframe/wireframe-visual.cpp b/dali-toolkit/internal/visuals/wireframe/wireframe-visual.cpp index 52a7710..5fd3160 100644 --- a/dali-toolkit/internal/visuals/wireframe/wireframe-visual.cpp +++ b/dali-toolkit/internal/visuals/wireframe/wireframe-visual.cpp @@ -77,13 +77,36 @@ void main()\n } -WireframeVisualPtr WireframeVisual::New( VisualFactoryCache& factoryCache ) +WireframeVisualPtr WireframeVisual::New( VisualFactoryCache& factoryCache, const Property::Map& properties ) { - return new WireframeVisual( factoryCache ); + Visual::BasePtr emtptyVisual; + + return New(factoryCache, emtptyVisual, properties); } -WireframeVisual::WireframeVisual( VisualFactoryCache& factoryCache ) -: Visual::Base( factoryCache ) +WireframeVisualPtr WireframeVisual::New( VisualFactoryCache& factoryCache, Visual::BasePtr actualVisual ) +{ + return new WireframeVisual( factoryCache, actualVisual ); +} + +WireframeVisualPtr WireframeVisual::New( VisualFactoryCache& factoryCache, Visual::BasePtr actualVisual, const Property::Map& properties ) +{ + WireframeVisualPtr wireframeVisual( new WireframeVisual( factoryCache, actualVisual ) ); + + // Instead of calling SetProperties, looking for the only valid property 'transform' + Property::Value* transformValue = properties.Find( DevelVisual::Property::TRANSFORM, TRANSFORM ); + Property::Map transformMap; + if( transformValue && transformValue->Get( transformMap ) ) + { + wireframeVisual->SetTransformAndSize( transformMap, Vector2::ZERO ); + } + + return wireframeVisual; +} + +WireframeVisual::WireframeVisual( VisualFactoryCache& factoryCache, Visual::BasePtr actualVisual ) +: Visual::Base( factoryCache ), + mActualVisual( actualVisual ) { } @@ -91,6 +114,43 @@ WireframeVisual::~WireframeVisual() { } +float WireframeVisual::GetHeightForWidth( float width ) +{ + if( mActualVisual ) + { + return mActualVisual->GetHeightForWidth( width ); + } + else + { + return Visual::Base::GetHeightForWidth( width ); + } +} + +void WireframeVisual::GetNaturalSize( Vector2& naturalSize ) +{ + if( mActualVisual ) + { + mActualVisual->GetNaturalSize( naturalSize ); + } + else + { + Visual::Base::GetNaturalSize( naturalSize ); + } +} + +void WireframeVisual::DoCreatePropertyMap( Property::Map& map ) const +{ + if( mActualVisual ) + { + mActualVisual->CreatePropertyMap( map ); + } + else + { + map.Clear(); + map.Insert( Toolkit::DevelVisual::Property::TYPE, Toolkit::Visual::WIREFRAME ); + } +} + void WireframeVisual::DoSetProperties( const Property::Map& propertyMap ) { // no properties supported at the moment @@ -103,12 +163,6 @@ void WireframeVisual::DoSetOnStage( Actor& actor ) actor.AddRenderer( mImpl->mRenderer ); } -void WireframeVisual::DoCreatePropertyMap( Property::Map& map ) const -{ - map.Clear(); - map.Insert( Toolkit::DevelVisual::Property::TYPE, Toolkit::Visual::WIREFRAME ); -} - void WireframeVisual::InitializeRenderer() { Shader shader = mFactoryCache.GetShader( VisualFactoryCache::WIREFRAME_SHADER );