Property::Map* resultMap = propValue.GetMap();
DALI_TEST_CHECK( resultMap->Find( "rendererType" ) );
DALI_TEST_CHECK( resultMap->Find( "rendererType" )->Get<std::string>() == "image" );
- DALI_TEST_CHECK( resultMap->Find( "imageUrl" ) );
- DALI_TEST_CHECK( resultMap->Find( "imageUrl" )->Get<std::string>() == "TestImage" );
+ DALI_TEST_CHECK( resultMap->Find( "url" ) );
+ DALI_TEST_CHECK( resultMap->Find( "url" )->Get<std::string>() == "TestImage" );
image = ResourceImage::New("TestImage2");
control.SetBackgroundImage( image );
propValue = control.GetProperty( Control::Property::BACKGROUND );
resultMap = propValue.GetMap();
- DALI_TEST_CHECK( resultMap->Find( "imageUrl" ) );
- DALI_TEST_CHECK( resultMap->Find( "imageUrl" )->Get<std::string>() == "TestImage2" );
+ DALI_TEST_CHECK( resultMap->Find( "url" ) );
+ DALI_TEST_CHECK( resultMap->Find( "url" )->Get<std::string>() == "TestImage2" );
END_TEST;
}
Property::Map imageMap;
imageMap[ "rendererType" ] = "image";
- imageMap[ "imageUrl" ] = "TestImage";
+ imageMap[ "url" ] = "TestImage";
control.SetProperty( Control::Property::BACKGROUND, imageMap );
Property::Value propValue = control.GetProperty( Control::Property::BACKGROUND );
Property::Map* resultMap = propValue.GetMap();
DALI_TEST_CHECK( resultMap->Find( "rendererType" ) );
DALI_TEST_CHECK( resultMap->Find( "rendererType" )->Get<std::string>() == "image" );
- DALI_TEST_CHECK( resultMap->Find( "imageUrl" ) );
- DALI_TEST_CHECK( resultMap->Find( "imageUrl" )->Get<std::string>() == "TestImage" );
+ DALI_TEST_CHECK( resultMap->Find( "url" ) );
+ DALI_TEST_CHECK( resultMap->Find( "url" )->Get<std::string>() == "TestImage" );
Property::Map rendererMap;
rendererMap["rendererType"] = "color";
control.SetProperty( Control::Property::BACKGROUND_IMAGE, deprecatedImageMap );
propValue = control.GetProperty( Control::Property::BACKGROUND_IMAGE );
resultMap = propValue.GetMap();
- DALI_TEST_CHECK( resultMap->Find( "imageUrl" )->Get< std::string >() == "TestImage" );
+ DALI_TEST_CHECK( resultMap->Find( "url" )->Get< std::string >() == "TestImage" );
control.SetProperty( Control::Property::BACKGROUND_IMAGE, emptyMap );
DALI_TEST_CHECK( control.GetProperty( Control::Property::BACKGROUND_IMAGE ).Get< Property::Map >().Empty() );
RendererFactory factory = RendererFactory::Get();
Property::Map propertyMap;
propertyMap.Insert( "rendererType", "image" );
- propertyMap.Insert( "imageUrl", TEST_IMAGE_FILE_NAME );
- propertyMap.Insert( "imageDesiredWidth", 20 );
- propertyMap.Insert( "imageDesiredHeight", 30 );
- propertyMap.Insert( "imageFittingMode", "fitHeight" );
- propertyMap.Insert( "imageSamplingMode", "boxThenNearest" );
+ propertyMap.Insert( "url", TEST_IMAGE_FILE_NAME );
+ propertyMap.Insert( "desiredWidth", 20 );
+ propertyMap.Insert( "desiredHeight", 30 );
+ propertyMap.Insert( "fittingMode", "FIT_HEIGHT" );
+ propertyMap.Insert( "samplingMode", "BOX_THEN_NEAREST" );
ControlRenderer imageRenderer = factory.GetControlRenderer(propertyMap);
DALI_TEST_CHECK( imageRenderer );
DALI_TEST_CHECK( value );
DALI_TEST_CHECK( value->Get<std::string>() == "image" );
- value = resultMap.Find( "imageUrl", Property::STRING );
+ value = resultMap.Find( "url", Property::STRING );
DALI_TEST_CHECK( value );
DALI_TEST_CHECK( value->Get<std::string>() == TEST_IMAGE_FILE_NAME );
- value = resultMap.Find( "imageFittingMode", Property::STRING );
+ value = resultMap.Find( "fittingMode", Property::STRING );
DALI_TEST_CHECK( value );
- DALI_TEST_CHECK( value->Get<std::string>() == "fitHeight" );
+ DALI_TEST_CHECK( value->Get<std::string>() == "FIT_HEIGHT" );
- value = resultMap.Find( "imageSamplingMode", Property::STRING );
+ value = resultMap.Find( "samplingMode", Property::STRING );
DALI_TEST_CHECK( value );
- DALI_TEST_CHECK( value->Get<std::string>() == "boxThenNearest" );
+ DALI_TEST_CHECK( value->Get<std::string>() == "BOX_THEN_NEAREST" );
- value = resultMap.Find( "imageDesiredWidth", Property::INTEGER );
+ value = resultMap.Find( "desiredWidth", Property::INTEGER );
DALI_TEST_CHECK( value );
DALI_TEST_CHECK( value->Get<int>() == 20 );
- value = resultMap.Find( "imageDesiredHeight", Property::INTEGER );
+ value = resultMap.Find( "desiredHeight", Property::INTEGER );
DALI_TEST_CHECK( value );
DALI_TEST_CHECK( value->Get<int>() == 30 );
DALI_TEST_CHECK( value );
DALI_TEST_CHECK( value->Get<std::string>() == "image" );
- value = resultMap.Find( "imageUrl", Property::STRING );
+ value = resultMap.Find( "url", Property::STRING );
DALI_TEST_CHECK( value );
DALI_TEST_CHECK( value->Get<std::string>() == TEST_IMAGE_FILE_NAME );
- value = resultMap.Find( "imageFittingMode", Property::STRING );
+ value = resultMap.Find( "fittingMode", Property::STRING );
DALI_TEST_CHECK( value );
- DALI_TEST_CHECK( value->Get<std::string>() == "shrinkToFit" );
+ DALI_TEST_CHECK( value->Get<std::string>() == "SHRINK_TO_FIT" );
- value = resultMap.Find( "imageSamplingMode", Property::STRING );
+ value = resultMap.Find( "samplingMode", Property::STRING );
DALI_TEST_CHECK( value );
- DALI_TEST_CHECK( value->Get<std::string>() == "box" );
+ DALI_TEST_CHECK( value->Get<std::string>() == "BOX" );
- value = resultMap.Find( "imageDesiredWidth", Property::INTEGER );
+ value = resultMap.Find( "desiredWidth", Property::INTEGER );
DALI_TEST_CHECK( value );
DALI_TEST_CHECK( value->Get<int>() == 100 );
- value = resultMap.Find( "imageDesiredHeight", Property::INTEGER );
+ value = resultMap.Find( "desiredHeight", Property::INTEGER );
DALI_TEST_CHECK( value );
DALI_TEST_CHECK( value->Get<int>() == 200 );
RendererFactory factory = RendererFactory::Get();
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "nPatch" );
- propertyMap.Insert( "imageUrl", TEST_NPATCH_FILE_NAME );
+ propertyMap.Insert( "rendererType", "image" );
+ propertyMap.Insert( "url", TEST_NPATCH_FILE_NAME );
propertyMap.Insert( "borderOnly", true );
ControlRenderer nPatchRenderer = factory.GetControlRenderer( propertyMap );
// check the property values from the returned map from control renderer
Property::Value* value = resultMap.Find( "rendererType", Property::STRING );
DALI_TEST_CHECK( value );
- DALI_TEST_CHECK( value->Get<std::string>() == "nPatch" );
+ DALI_TEST_CHECK( value->Get<std::string>() == "image" );
- value = resultMap.Find( "imageUrl", Property::STRING );
+ value = resultMap.Find( "url", Property::STRING );
DALI_TEST_CHECK( value );
DALI_TEST_CHECK( value->Get<std::string>() == TEST_NPATCH_FILE_NAME );
// request SvgRenderer with a property map
RendererFactory factory = RendererFactory::Get();
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "svg" );
- propertyMap.Insert( "imageUrl", TEST_SVG_FILE_NAME );
+ propertyMap.Insert( "rendererType", "image" );
+ propertyMap.Insert( "url", TEST_SVG_FILE_NAME );
ControlRenderer svgRenderer = factory.GetControlRenderer( propertyMap );
Property::Map resultMap;
// check the property values from the returned map from control renderer
Property::Value* value = resultMap.Find( "rendererType", Property::STRING );
DALI_TEST_CHECK( value );
- DALI_TEST_CHECK( value->Get<std::string>() == "svg" );
+ DALI_TEST_CHECK( value->Get<std::string>() == "image" );
- value = resultMap.Find( "imageUrl", Property::STRING );
+ value = resultMap.Find( "url", Property::STRING );
DALI_TEST_CHECK( value );
DALI_TEST_CHECK( value->Get<std::string>() == TEST_SVG_FILE_NAME );
// check the property values from the returned map from control renderer
value = resultMap.Find( "rendererType", Property::STRING );
DALI_TEST_CHECK( value );
- DALI_TEST_CHECK( value->Get<std::string>() == "svg" );
+ DALI_TEST_CHECK( value->Get<std::string>() == "image" );
- value = resultMap.Find( "imageUrl", Property::STRING );
+ value = resultMap.Find( "url", Property::STRING );
DALI_TEST_CHECK( value );
DALI_TEST_CHECK( value->Get<std::string>() == TEST_SVG_FILE_NAME );
// Test that image renderer is replaced with debug renderer
Property::Map propertyMap4;
propertyMap4.Insert( "rendererType", "image" );
- propertyMap4.Insert( "imageUrl", TEST_IMAGE_FILE_NAME );
+ propertyMap4.Insert( "url", TEST_IMAGE_FILE_NAME );
ControlRenderer imageRenderer = factory.GetControlRenderer( propertyMap4 );
DALI_TEST_CHECK( imageRenderer );
DALI_TEST_CHECK( IsDebugRenderer( imageRenderer ) );
// Test that n patch renderer is replaced with debug renderer
Property::Map propertyMap5;
- propertyMap5.Insert( "rendererType", "nPatch" );
- propertyMap5.Insert( "imageUrl", TEST_NPATCH_FILE_NAME );
+ propertyMap5.Insert( "rendererType", "image" );
+ propertyMap5.Insert( "url", TEST_NPATCH_FILE_NAME );
ControlRenderer nPatchRenderer = factory.GetControlRenderer( propertyMap4 );
DALI_TEST_CHECK( nPatchRenderer );
DALI_TEST_CHECK( IsDebugRenderer( nPatchRenderer ) );
Property::Map propertyMap;
propertyMap.Insert( "rendererType", "image" );
- propertyMap.Insert( "imageUrl", TEST_IMAGE_FILE_NAME );
+ propertyMap.Insert( "url", TEST_IMAGE_FILE_NAME );
ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap );
DALI_TEST_CHECK( controlRenderer );
Integration::ResourcePointer ninePatchResource = CustomizeNinePatch( application, ninePatchImageWidth, ninePatchImageHeight, stretchRangesX, stretchRangesY );
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "nPatch" );
- propertyMap.Insert( "imageUrl", TEST_NPATCH_FILE_NAME );
+ propertyMap.Insert( "rendererType", "image" );
+ propertyMap.Insert( "url", TEST_NPATCH_FILE_NAME );
{
tet_infoline( "whole grid" );
ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap );
Integration::ResourcePointer ninePatchResource = CustomizeNinePatch( application, ninePatchImageWidth, ninePatchImageHeight, stretchRangesX, stretchRangesY );
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "nPatch" );
- propertyMap.Insert( "imageUrl", TEST_NPATCH_FILE_NAME );
+ propertyMap.Insert( "rendererType", "image" );
+ propertyMap.Insert( "url", TEST_NPATCH_FILE_NAME );
{
ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap );
DALI_TEST_CHECK( controlRenderer );
DALI_TEST_CHECK( factory );
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "nPatch" );
- propertyMap.Insert( "imageUrl", 111 );
+ propertyMap.Insert( "rendererType", 111 );
+ propertyMap.Insert( "url", "ERROR.9.jpg" );
ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap );
DALI_TEST_CHECK( controlRenderer );
*
* // create and add some visible actors to the BloomView, all these child actors will therefore get bloomed\n
* Image image = Image::New(...);\n
- * ImageActor imageActor = ImageActor::New(image);\n
- * bloomView.Add(imageActor);\n
+ * ImageView imageView = ImageView::New(image);\n
+ * bloomView.Add(imageView);\n
* ...\n
*
* // Start rendering the BloomView\n
*
* // create and add some visible actors to the ShadowView, all these child actors will therefore cast a shadow.
* Image image = Image::New(...);
- * ImageActor imageActor = ImageActor::New(image);
- * imageActor.SetParentOrigin( ParentOrigin::CENTER );
- * imageActor.SetAnchorPoint( AnchorPoint::CENTER );
+ * ImageView imageView = ImageView::New(image);
+ * imageView.SetParentOrigin( ParentOrigin::CENTER );
+ * imageView.SetAnchorPoint( AnchorPoint::CENTER );
* shadowView.Add(imageActor);\n Add the renderable actor to the shadow view
*
- * ImageActor shadowPlane = ImageActor::New(); //This will be the shadow plane
- * shadowPlane.SetParentOrigin( ParentOrigin::CENTER );
- * shadowPlane.SetAnchorPoint( AnchorPoint::CENTER );
- * shadowPlane.SetSize(700.0f, 700.0f);
- * shadowPlane.SetPosition( Vector3(0.0f, 0.0f, -30.0f) ); //Just behind the image actor.
- * shadowPlane.SetShadowPlane(ShadowPlane);
+ * ImageView shadowPlaneBg = ImageView::New(); //This will be the shadow plane
+ * shadowPlaneBg.SetParentOrigin( ParentOrigin::CENTER );
+ * shadowPlaneBg.SetAnchorPoint( AnchorPoint::CENTER );
+ * shadowPlaneBg.SetSize(700.0f, 700.0f);
+ * shadowPlaneBg.SetPosition( Vector3(0.0f, 0.0f, -30.0f) ); //Just behind the image actor.
+ * shadowView.SetShadowPlaneBackground(ShadowPlane);
*
* Actor pointLight = Actor::New(); // This will be the light source
* pointLight.SetPosition(300.0f, 250.0f, 600.0f);
//INTERNAL INCLUDES
#include <dali-toolkit/internal/controls/renderers/renderer-factory-impl.h>
#include <dali-toolkit/internal/controls/renderers/renderer-factory-cache.h>
+#include <dali-toolkit/internal/controls/renderers/renderer-string-constants.h>
#include <dali-toolkit/internal/controls/renderers/control-renderer-data-impl.h>
namespace Dali
namespace
{
-const char * const RENDERER_TYPE("rendererType");
-const char * const RENDERER_TYPE_VALUE("border");
-
const char * const COLOR_NAME("borderColor");
const char * const SIZE_NAME("borderSize");
const char * const ANTI_ALIASING("antiAliasing");
void BorderRenderer::DoCreatePropertyMap( Property::Map& map ) const
{
map.Clear();
- map.Insert( RENDERER_TYPE, RENDERER_TYPE_VALUE );
+ map.Insert( RENDERER_TYPE, BORDER_RENDERER );
map.Insert( COLOR_NAME, mBorderColor );
map.Insert( SIZE_NAME, mBorderSize );
}
//INTERNAL INCLUDES
#include <dali-toolkit/internal/controls/renderers/renderer-factory-impl.h>
#include <dali-toolkit/internal/controls/renderers/renderer-factory-cache.h>
+#include <dali-toolkit/internal/controls/renderers/renderer-string-constants.h>
#include <dali-toolkit/internal/controls/renderers/control-renderer-data-impl.h>
namespace Dali
namespace
{
-const char * const RENDERER_TYPE("rendererType");
-const char * const RENDERER_TYPE_VALUE("color");
const char * const COLOR_NAME("blendColor");
const char* VERTEX_SHADER = DALI_COMPOSE_SHADER(
void ColorRenderer::DoCreatePropertyMap( Property::Map& map ) const
{
map.Clear();
- map.Insert( RENDERER_TYPE, RENDERER_TYPE_VALUE );
+ map.Insert( RENDERER_TYPE, COLOR_RENDERER );
map.Insert( COLOR_NAME, mBlendColor );
}
#include <dali-toolkit/internal/controls/renderers/renderer-factory-impl.h>
#include <dali-toolkit/internal/controls/renderers/renderer-factory-cache.h>
#include <dali-toolkit/internal/controls/renderers/control-renderer-data-impl.h>
+#include <dali-toolkit/internal/controls/renderers/renderer-string-constants.h>
#include <dali-toolkit/internal/controls/renderers/gradient/linear-gradient.h>
#include <dali-toolkit/internal/controls/renderers/gradient/radial-gradient.h>
namespace
{
-const char * const RENDERER_TYPE("rendererType");
-const char * const RENDERER_TYPE_VALUE("gradient");
-
// properties: linear gradient
const char * const START_POSITION_NAME("startPosition"); // Property::VECTOR2
const char * const END_POSITION_NAME("endPosition"); // Property::VECTOR2
void GradientRenderer::DoCreatePropertyMap( Property::Map& map ) const
{
map.Clear();
- map.Insert( RENDERER_TYPE, RENDERER_TYPE_VALUE );
+ map.Insert( RENDERER_TYPE, GRADIENT_RENDERER );
Gradient::GradientUnits units = mGradient->GetGradientUnits();
if( units == Gradient::USER_SPACE_ON_USE )
#include <dali/integration-api/debug.h>
// INTERNAL HEADER
+#include <dali-toolkit/internal/controls/renderers/renderer-string-constants.h>
#include <dali-toolkit/internal/controls/renderers/renderer-factory-impl.h>
#include <dali-toolkit/internal/controls/renderers/renderer-factory-cache.h>
#include <dali-toolkit/internal/controls/renderers/control-renderer-impl.h>
const char HTTP_URL[] = "http://";
const char HTTPS_URL[] = "https://";
-const char * const RENDERER_TYPE("rendererType");
-const char * const RENDERER_TYPE_VALUE("image");
-
// property names
-const char * const IMAGE_URL_NAME( "imageUrl" );
-const char * const IMAGE_FITTING_MODE( "imageFittingMode" );
-const char * const IMAGE_SAMPLING_MODE( "imageSamplingMode" );
-const char * const IMAGE_DESIRED_WIDTH( "imageDesiredWidth" );
-const char * const IMAGE_DESIRED_HEIGHT( "imageDesiredHeight" );
+const char * const IMAGE_FITTING_MODE( "fittingMode" );
+const char * const IMAGE_SAMPLING_MODE( "samplingMode" );
+const char * const IMAGE_DESIRED_WIDTH( "desiredWidth" );
+const char * const IMAGE_DESIRED_HEIGHT( "desiredHeight" );
// fitting modes
-const char * const SHRINK_TO_FIT("shrinkToFit");
-const char * const SCALE_TO_FILL("scaleToFill");
-const char * const FIT_WIDTH("fitWidth");
-const char * const FIT_HEIGHT("fitHeight");
-const char * const DEFAULT("default");
+const char * const SHRINK_TO_FIT("SHRINK_TO_FIT");
+const char * const SCALE_TO_FILL("SCALE_TO_FILL");
+const char * const FIT_WIDTH("FIT_WIDTH");
+const char * const FIT_HEIGHT("FIT_HEIGHT");
+const char * const DEFAULT("DEFAULT");
// sampling modes
-const char * const BOX("box");
-const char * const NEAREST("nearest");
-const char * const LINEAR("linear");
-const char * const BOX_THEN_NEAREST("boxThenNearest");
-const char * const BOX_THEN_LINEAR("boxThenLinear");
-const char * const NO_FILTER("noFilter");
-const char * const DONT_CARE("dontCare");
-
-const std::string ATLAS_RECT_UNIFORM_NAME = "uAtlasRect";
+const char * const BOX("BOX");
+const char * const NEAREST("NEAREST");
+const char * const LINEAR("LINEAR");
+const char * const BOX_THEN_NEAREST("BOX_THEN_NEAREST");
+const char * const BOX_THEN_LINEAR("BOX_THEN_LINEAR");
+const char * const NO_FILTER("NO_FILTER");
+const char * const DONT_CARE("DONT_CARE");
+
const std::string PIXEL_AREA_UNIFORM_NAME = "pixelArea";
const Vector4 FULL_TEXTURE_RECT(0.f, 0.f, 1.f, 1.f);
void ImageRenderer::DoCreatePropertyMap( Property::Map& map ) const
{
map.Clear();
- map.Insert( RENDERER_TYPE, RENDERER_TYPE_VALUE );
+ map.Insert( RENDERER_TYPE, IMAGE_RENDERER );
if( !mImageUrl.empty() )
{
map.Insert( IMAGE_URL_NAME, mImageUrl );
// INTERNAL IINCLUDES
#include <dali-toolkit/internal/controls/renderers/renderer-factory-impl.h>
#include <dali-toolkit/internal/controls/renderers/renderer-factory-cache.h>
+#include <dali-toolkit/internal/controls/renderers/renderer-string-constants.h>
#include <dali-toolkit/internal/controls/renderers/control-renderer-impl.h>
#include <dali-toolkit/internal/controls/renderers/control-renderer-data-impl.h>
namespace
{
-const char * const RENDERER_TYPE("rendererType");
-const char * const RENDERER_TYPE_VALUE("nPatch");
-
-const char * const IMAGE_URL_NAME("imageUrl");
const char * const BORDER_ONLY("borderOnly");
const char* VERTEX_SHADER = DALI_COMPOSE_SHADER(
void NPatchRenderer::DoCreatePropertyMap( Property::Map& map ) const
{
map.Clear();
- map.Insert( RENDERER_TYPE, RENDERER_TYPE_VALUE );
+ map.Insert( RENDERER_TYPE, IMAGE_RENDERER );
if( !mImageUrl.empty() )
{
map.Insert( IMAGE_URL_NAME, mImageUrl );
#include <dali-toolkit/internal/controls/renderers/image/image-renderer.h>
#include <dali-toolkit/internal/controls/renderers/svg/svg-renderer.h>
#include <dali-toolkit/internal/controls/renderers/renderer-factory-cache.h>
+#include <dali-toolkit/internal/controls/renderers/renderer-string-constants.h>
#include <dali-toolkit/internal/controls/renderers/image-atlas-manager.h>
namespace
{
-const char * const RENDERER_TYPE_NAME( "rendererType" );
-
-const char * const COLOR_RENDERER("color");
-const char * const BORDER_RENDERER("border");
-const char * const GRADIENT_RENDERER("gradient");
-const char * const IMAGE_RENDERER("image");
-const char * const N_PATCH_RENDERER("nPatch");
-const char * const SVG_RENDERER("svg");
-
const char * const BROKEN_RENDERER_IMAGE_URL( DALI_IMAGE_DIR "broken.png");
-
}
namespace Dali
{
}
-Toolkit::ControlRenderer RendererFactory::GetControlRenderer( const Property::Map& propertyMap )
+RendererFactory::RendererType RendererFactory::GetRendererType( const Property::Map& propertyMap )
{
- ControlRenderer* rendererPtr = NULL;
+ RendererType rendererType = UNDEFINED;
- Property::Value* type = propertyMap.Find( RENDERER_TYPE_NAME );
+ Property::Value* type = propertyMap.Find( RENDERER_TYPE );
std::string typeValue ;
if( type && type->Get( typeValue ))
{
+ if( typeValue == COLOR_RENDERER )
+ {
+ rendererType = COLOR;
+ }
+ else if( typeValue == BORDER_RENDERER )
+ {
+ rendererType = BORDER;
+ }
+ else if( typeValue == GRADIENT_RENDERER )
+ {
+ rendererType = GRADIENT;
+ }
+ else if( typeValue == IMAGE_RENDERER )
+ {
+ rendererType = IMAGE;
+ }
+ }
+
+ // check the url if exist, to decide the renderer type
+ if( rendererType == IMAGE || rendererType == UNDEFINED )
+ {
+ Property::Value* imageURLValue = propertyMap.Find( IMAGE_URL_NAME );
+ std::string imageUrl;
+ if( imageURLValue && imageURLValue->Get( imageUrl ))
+ {
+ if( NinePatchImage::IsNinePatchUrl( imageUrl ) )
+ {
+ rendererType = N_PATCH;
+ }
+ else if( SvgRenderer::IsSvgUrl( imageUrl ) )
+ {
+ rendererType = SVG;
+ }
+ else
+ {
+ rendererType = IMAGE;
+ }
+ }
+ }
+
+ return rendererType;
+}
+
+Toolkit::ControlRenderer RendererFactory::GetControlRenderer( const Property::Map& propertyMap )
+{
+ ControlRenderer* rendererPtr = NULL;
+
+ RendererType type = GetRendererType( propertyMap );
+ if( type != UNDEFINED)
+ {
if( !mFactoryCache )
{
mFactoryCache = new RendererFactoryCache();
{
return Toolkit::ControlRenderer( new DebugRenderer( *( mFactoryCache.Get() ) ) );
}
+ }
- if( typeValue == COLOR_RENDERER )
+ switch( type )
+ {
+ case COLOR:
{
rendererPtr = new ColorRenderer( *( mFactoryCache.Get() ) );
+ break;
}
- else if( typeValue == GRADIENT_RENDERER )
+ case GRADIENT:
+ {
+ rendererPtr = new GradientRenderer( *( mFactoryCache.Get() ) );
+ break;
+ }
+ case BORDER:
{
- rendererPtr = new GradientRenderer( *( mFactoryCache.Get() ) );
+ rendererPtr = new BorderRenderer( *( mFactoryCache.Get() ) );
+ break;
}
- else if( typeValue == IMAGE_RENDERER )
+ case IMAGE:
{
CreateAtlasManager();
rendererPtr = new ImageRenderer( *( mFactoryCache.Get() ), *( mAtlasManager.Get() ) );
+ break;
}
- else if( typeValue == N_PATCH_RENDERER )
+ case N_PATCH:
{
rendererPtr = new NPatchRenderer( *( mFactoryCache.Get() ) );
+ break;
}
- else if( typeValue == BORDER_RENDERER )
- {
- rendererPtr = new BorderRenderer( *( mFactoryCache.Get() ) );
- }
- else if( typeValue == SVG_RENDERER )
+ case SVG:
{
CreateAtlasManager();
rendererPtr = new SvgRenderer( *( mFactoryCache.Get() ), *( mAtlasManager.Get() ) );
+ break;
+ }
+ case UNDEFINED:
+ default:
+ {
+ break;
}
}
{
ControlRenderer& controlRenderer = GetImplementation( renderer );
- Property::Value* type = propertyMap.Find( RENDERER_TYPE_NAME );
- std::string typeValue ;
+ RendererType type = GetRendererType( propertyMap );
//If there's no renderer type specified or if there hasn't been a renderer type change then we can reuse the renderer
- if( !type || !type->Get( typeValue ) ||
- ( typeValue == IMAGE_RENDERER && typeid( controlRenderer ) == typeid( ImageRenderer ) ) ||
- ( typeValue == N_PATCH_RENDERER && typeid( controlRenderer ) == typeid( NPatchRenderer ) ) ||
- ( typeValue == COLOR_RENDERER && typeid( controlRenderer ) == typeid( ColorRenderer ) )||
- ( typeValue == GRADIENT_RENDERER && typeid( controlRenderer ) == typeid( GradientRenderer ) ) ||
- ( typeValue == BORDER_RENDERER && typeid( controlRenderer ) == typeid( BorderRenderer ) ) ||
- ( typeValue == SVG_RENDERER && typeid( controlRenderer ) == typeid( SvgRenderer ) ) )
+ if( type == UNDEFINED ||
+ ( type == IMAGE && typeid( controlRenderer ) == typeid( ImageRenderer ) ) ||
+ ( type == N_PATCH && typeid( controlRenderer ) == typeid( NPatchRenderer ) ) ||
+ ( type == COLOR && typeid( controlRenderer ) == typeid( ColorRenderer ) )||
+ ( type == GRADIENT && typeid( controlRenderer ) == typeid( GradientRenderer ) ) ||
+ ( type == BORDER && typeid( controlRenderer ) == typeid( BorderRenderer ) ) ||
+ ( type == SVG && typeid( controlRenderer ) == typeid( SvgRenderer ) ) )
{
controlRenderer.Initialize( actor, propertyMap );
return;
*/
class RendererFactory : public BaseObject
{
-
public:
+ enum RendererType
+ {
+ COLOR,
+ BORDER,
+ GRADIENT,
+ IMAGE,
+ N_PATCH,
+ SVG,
+ UNDEFINED
+ };
+
/**
* @brief Constructor
*
private:
/**
+ * Get the renderer type from the property map.
+ *
+ * @param[in] propertyMap The map contains the properties of the control renderer
+ * @return The rendererType
+ */
+ RendererType GetRendererType( const Property::Map& propertyMap );
+
+ /**
* Prepare the atlas manager
*/
void CreateAtlasManager();
--- /dev/null
+ /*
+ * Copyright (c) 2015 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.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// CLASS HEADER
+#include "renderer-string-constants.h"
+
+namespace Dali
+{
+
+namespace Toolkit
+{
+
+namespace Internal
+{
+
+const char * const RENDERER_TYPE("rendererType");
+const char * const COLOR_RENDERER("color");
+const char * const BORDER_RENDERER("border");
+const char * const GRADIENT_RENDERER("gradient");
+const char * const IMAGE_RENDERER("image");
+
+const char * const IMAGE_URL_NAME("url");
+const char * const ATLAS_RECT_UNIFORM_NAME ( "uAtlasRect" );
+
+} // namespace Internal
+
+} // namespace Toolkit
+
+} // namespace Dali
--- /dev/null
+#ifndef __DALI_TOOLKIT_INTERNAL_RENDERER_STRING_CONSTANTS_H__
+#define __DALI_TOOLKIT_INTERNAL_RENDERER_STRING_CONSTANTS_H__
+
+/*
+ * Copyright (c) 2016 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.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+namespace Dali
+{
+
+namespace Toolkit
+{
+
+namespace Internal
+{
+
+extern const char * const RENDERER_TYPE;
+extern const char * const COLOR_RENDERER;
+extern const char * const BORDER_RENDERER;
+extern const char * const GRADIENT_RENDERER;
+extern const char * const IMAGE_RENDERER;
+
+extern const char * const IMAGE_URL_NAME;
+extern const char * const ATLAS_RECT_UNIFORM_NAME;
+
+} // namespace Internal
+
+} // namespace Toolkit
+
+} // namespace Dali
+
+#endif /* __DALI_TOOLKIT_INTERNAL_RENDERER_STRING_CONSTANTS_H__ */
#include "svg-rasterize-thread.h"
#include <dali-toolkit/internal/controls/renderers/image/image-renderer.h>
#include <dali-toolkit/internal/controls/renderers/renderer-factory-cache.h>
+#include <dali-toolkit/internal/controls/renderers/renderer-string-constants.h>
#include <dali-toolkit/internal/controls/renderers/control-renderer-data-impl.h>
namespace
{
-const char * const RENDERER_TYPE("rendererType");
-const char * const RENDERER_TYPE_VALUE("svg");
-const char * const IMAGE_URL_NAME("imageUrl");
const char * const UNITS("px");
-const std::string TEXTURE_UNIFORM_NAME = "sTexture";
-const std::string ATLAS_RECT_UNIFORM_NAME = "uAtlasRect";
-
const Dali::Vector4 FULL_TEXTURE_RECT(0.f, 0.f, 1.f, 1.f);
}
void SvgRenderer::DoCreatePropertyMap( Property::Map& map ) const
{
map.Clear();
- map.Insert( RENDERER_TYPE, RENDERER_TYPE_VALUE );
+ map.Insert( RENDERER_TYPE, IMAGE_RENDERER );
if( !mImageUrl.empty() )
{
map.Insert( IMAGE_URL_NAME, mImageUrl );
$(toolkit_src_dir)/controls/renderers/image-atlas-manager.cpp \
$(toolkit_src_dir)/controls/renderers/renderer-factory-cache.cpp \
$(toolkit_src_dir)/controls/renderers/renderer-factory-impl.cpp \
+ $(toolkit_src_dir)/controls/renderers/renderer-string-constants.cpp \
$(toolkit_src_dir)/controls/renderers/border/border-renderer.cpp \
$(toolkit_src_dir)/controls/renderers/color/color-renderer.cpp \
$(toolkit_src_dir)/controls/renderers/debug/debug-renderer.cpp \
"popupIconColor":[1.0,1.0,1.0,1.0],
"popupPressedColor":[0.24,0.72,0.8,0.11],
"background": {
- "rendererType": "nPatch",
- "imageUrl": "{DALI_IMAGE_DIR}selection-popup-bg.9.png"
+ "rendererType": "image",
+ "url": "{DALI_IMAGE_DIR}selection-popup-bg.9.png"
},
"popupFadeInDuration":0.25,
"popupFadeOutDuration":0.25
"popupIconColor":[1.0,1.0,1.0,1.0],
"popupPressedColor":[0.24,0.72,0.8,0.11],
"background": {
- "rendererType": "nPatch",
- "imageUrl": "{DALI_IMAGE_DIR}selection-popup-bg.9.png"
+ "rendererType": "image",
+ "url": "{DALI_IMAGE_DIR}selection-popup-bg.9.png"
},
"popupFadeInDuration":0.25,
"popupFadeOutDuration":0.25
"image":
{
"rendererType" : "image",
- "imageUrl": "{icon_path}"
+ "url": "{icon_path}"
},
"position":[20.0, 0.0, 0.0],
"size":[70.0, 70.0, 0.0],
"image":
{
"rendererType" : "image",
- "imageUrl": "{icon_path}"
+ "url": "{icon_path}"
},
"position":[0.0, -10.0, 0.0],
"size":[70.0, 70.0, 0.0],
"image":
{
"rendererType" : "image",
- "imageUrl": "{icon_path}"
+ "url": "{icon_path}"
},
"position":[20.0, 0.0, 0.0],
"size":[70.0, 70.0, 0.0],
"image":
{
"rendererType" : "image",
- "imageUrl": "{icon_path}"
+ "url": "{icon_path}"
},
"position":[0.0, -10.0, 0.0],
"size":[70.0, 70.0, 0.0],