X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fvisual-factory-impl.cpp;h=ce19a6b26a4a7eb149ce7c8be13102241cbcee47;hb=e3cb09bfd9a25de3fa35db1b2c3082bcb838d700;hp=4220b00a35794e16856ba45667ea9ebc3d8a7c76;hpb=2192068f6b6d69b6851a7d1ef5e5d8e3af3c05fc;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/visuals/visual-factory-impl.cpp b/dali-toolkit/internal/visuals/visual-factory-impl.cpp index 4220b00..ce19a6b 100644 --- a/dali-toolkit/internal/visuals/visual-factory-impl.cpp +++ b/dali-toolkit/internal/visuals/visual-factory-impl.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Samsung Electronics Co., Ltd. + * Copyright (c) 2022 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. @@ -178,7 +178,7 @@ Toolkit::Visual::Base VisualFactory::CreateVisual(const Property::Map& propertyM else { Property::Array* array = imageURLValue->GetArray(); - if(array) + if(array && array->Count() > 0) { visualPtr = AnimatedImageVisual::New(GetFactoryCache(), GetImageVisualShaderFactory(), *array, propertyMap); } @@ -217,7 +217,10 @@ Toolkit::Visual::Base VisualFactory::CreateVisual(const Property::Map& propertyM std::string imageUrl; if(imageURLValue && imageURLValue->Get(imageUrl)) { - visualPtr = NPatchVisual::New(GetFactoryCache(), GetImageVisualShaderFactory(), imageUrl, propertyMap); + if(!imageUrl.empty()) + { + visualPtr = NPatchVisual::New(GetFactoryCache(), GetImageVisualShaderFactory(), imageUrl, propertyMap); + } } break; } @@ -228,7 +231,10 @@ Toolkit::Visual::Base VisualFactory::CreateVisual(const Property::Map& propertyM std::string imageUrl; if(imageURLValue && imageURLValue->Get(imageUrl)) { - visualPtr = SvgVisual::New(GetFactoryCache(), GetImageVisualShaderFactory(), imageUrl, propertyMap); + if(!imageUrl.empty()) + { + visualPtr = SvgVisual::New(GetFactoryCache(), GetImageVisualShaderFactory(), imageUrl, propertyMap); + } } break; } @@ -241,12 +247,15 @@ Toolkit::Visual::Base VisualFactory::CreateVisual(const Property::Map& propertyM { if(imageURLValue->Get(imageUrl)) { - visualPtr = AnimatedImageVisual::New(GetFactoryCache(), GetImageVisualShaderFactory(), imageUrl, propertyMap); + if(!imageUrl.empty()) + { + visualPtr = AnimatedImageVisual::New(GetFactoryCache(), GetImageVisualShaderFactory(), imageUrl, propertyMap); + } } else { Property::Array* array = imageURLValue->GetArray(); - if(array) + if(array && array->Count() > 0) { visualPtr = AnimatedImageVisual::New(GetFactoryCache(), GetImageVisualShaderFactory(), *array, propertyMap); } @@ -267,7 +276,10 @@ Toolkit::Visual::Base VisualFactory::CreateVisual(const Property::Map& propertyM std::string imageUrl; if(imageURLValue && imageURLValue->Get(imageUrl)) { - visualPtr = AnimatedVectorImageVisual::New(GetFactoryCache(), GetImageVisualShaderFactory(), imageUrl, propertyMap); + if(!imageUrl.empty()) + { + visualPtr = AnimatedVectorImageVisual::New(GetFactoryCache(), GetImageVisualShaderFactory(), imageUrl, propertyMap); + } } break; } @@ -370,14 +382,14 @@ Internal::TextureManager& VisualFactory::GetTextureManager() void VisualFactory::SetBrokenImageUrl(Toolkit::StyleManager& styleManager) { - const std::string imageDirPath = AssetManager::GetDaliImagePath(); - std::string brokenImageUrl = imageDirPath + BROKEN_IMAGE_FILE_NAME; + const std::string imageDirPath = AssetManager::GetDaliImagePath(); + std::string brokenImageUrl = imageDirPath + BROKEN_IMAGE_FILE_NAME; std::vector customBrokenImageUrlList; if(styleManager) { customBrokenImageUrlList = Toolkit::DevelStyleManager::GetBrokenImageUrlList(styleManager); - Property::Map config = Toolkit::DevelStyleManager::GetConfigurations(styleManager); + Property::Map config = Toolkit::DevelStyleManager::GetConfigurations(styleManager); config["brokenImageUrl"].Get(brokenImageUrl); } @@ -389,7 +401,7 @@ Internal::VisualFactoryCache& VisualFactory::GetFactoryCache() { if(!mFactoryCache) { - mFactoryCache = std::unique_ptr(new VisualFactoryCache(mPreMultiplyOnLoad)); + mFactoryCache = std::unique_ptr(new VisualFactoryCache(mPreMultiplyOnLoad)); Toolkit::StyleManager styleManager = Toolkit::StyleManager::Get(); if(styleManager) {