Effects view and emboss filter create an image visual specifically and then set a custom shader.
Change-Id: I20b4548b0ddda41bdf4f476b3a3a2fbaa83db677
//This should still load but display an error image
ToolkitTestApplication application;
- tet_infoline( "UtcDaliVisualFactoryGetNPatchVisualN: Request n-patch visual with an invalid Property::Map" );
+ tet_infoline( "UtcDaliVisualFactoryGetNPatchVisualN: Request n-patch visual with an invalid URL" );
VisualFactory factory = VisualFactory::Get();
DALI_TEST_CHECK( factory );
Property::Map propertyMap;
- propertyMap.Insert( Visual::Property::TYPE, 111 );
+ propertyMap.Insert( Visual::Property::TYPE, Visual::IMAGE );
propertyMap.Insert( ImageVisual::Property::URL, "ERROR.9.jpg" );
Visual::Base visual = factory.CreateVisual( propertyMap );
END_TEST;
}
+int UtcDaliVisualFactoryGetNPatchVisualN3(void)
+{
+ // Passing in an invalid visual type so we should not get a visual
+
+ ToolkitTestApplication application;
+ tet_infoline( "UtcDaliVisualFactoryGetNPatchVisualN: Request n-patch visual with an invalid visual type" );
+
+ VisualFactory factory = VisualFactory::Get();
+ DALI_TEST_CHECK( factory );
+
+ Property::Map propertyMap;
+ propertyMap.Insert( Visual::Property::TYPE, 111 );
+ propertyMap.Insert( ImageVisual::Property::URL, "ERROR.9.jpg" );
+
+ Visual::Base visual = factory.CreateVisual( propertyMap );
+ DALI_TEST_CHECK( !visual );
+
+ END_TEST;
+}
+
int UtcDaliVisualFactoryGetSvgVisual(void)
{
ToolkitTestApplication application;
#include <dali-toolkit/internal/filters/blur-two-pass-filter.h>
#include <dali-toolkit/internal/filters/emboss-filter.h>
#include <dali-toolkit/internal/filters/spread-filter.h>
+#include <dali-toolkit/internal/visuals/visual-base-impl.h>
namespace Dali
{
RemoveFilters();
Actor self = Self();
- Property::Map visualMap;
- visualMap.Insert( Toolkit::Visual::Property::TYPE, Toolkit::Visual::IMAGE );
switch( type )
{
}
}
+ Image dummyImage; // Dummy image, force creation of an image visual
+ InitializeVisual( self, mVisualPostFilter, dummyImage );
Property::Map customShader;
customShader[ Toolkit::Visual::Shader::Property::VERTEX_SHADER ] = EFFECTS_VIEW_VERTEX_SOURCE;
customShader[ Toolkit::Visual::Shader::Property::FRAGMENT_SHADER ] = EFFECTS_VIEW_FRAGMENT_SOURCE;
- visualMap[ Toolkit::Visual::Property::SHADER ] = customShader;
- InitializeVisual( self, mVisualPostFilter, visualMap );
+ Toolkit::GetImplementation( mVisualPostFilter ).SetCustomShader( customShader );
mEffectType = type;
}
// INTERNAL INCLUDES
#include <dali-toolkit/public-api/visuals/visual-properties.h>
#include <dali-toolkit/devel-api/visual-factory/visual-factory.h>
+#include <dali-toolkit/internal/visuals/visual-base-impl.h>
namespace Dali
{
mActorForComposite.SetColor( Color::BLACK );
customShader[ Toolkit::Visual::Shader::Property::FRAGMENT_SHADER ] = COMPOSITE_FRAGMENT_SOURCE;
- visualMap[ Toolkit::Visual::Property::SHADER ] = customShader;
- visualMap[ Toolkit::Visual::Property::TYPE ] = Toolkit::Visual::IMAGE;
mRootActor.Add( mActorForComposite );
- InitializeVisual( mActorForComposite, mVisualForEmboss1, visualMap );
- InitializeVisual( mActorForComposite, mVisualForEmboss2, visualMap );
+ Image dummyImage; // Dummy image, force creation of an image visual
+
+ InitializeVisual( mActorForComposite, mVisualForEmboss1, dummyImage );
+ Toolkit::GetImplementation( mVisualForEmboss1 ).SetCustomShader( customShader );
+
+ InitializeVisual( mActorForComposite, mVisualForEmboss2, dummyImage );
+ Toolkit::GetImplementation( mVisualForEmboss2 ).SetCustomShader( customShader );
TextureSet textureSet1 = TextureSet::New();
TextureSetImage( textureSet1, 0, mImageForEmboss1 );
break;
}
- default: // Default to Image type if unknown (check if there is a URL)
case Toolkit::Visual::IMAGE:
{
Property::Value* imageURLValue = propertyMap.Find( Toolkit::ImageVisual::Property::URL, IMAGE_URL_NAME );
}
}
}
- else if( propertyMap.Find( Toolkit::Visual::Property::SHADER, CUSTOM_SHADER ) )
- {
- // Create Image Visual if it has a shader
- // TODO: This is required because of EffectsView which should be fixed
- CreateAtlasManager();
- visualPtr = new ImageVisual( *( mFactoryCache.Get() ), *( mAtlasManager.Get() ) );
- }
break;
}