struct NameIndexMatch
{
const char* const name;
- Property::Index index;
+ Property::Index index;
};
const NameIndexMatch NAME_INDEX_MATCH_TABLE[] =
-{
- {IMAGE_FITTING_MODE, Toolkit::ImageVisual::Property::FITTING_MODE},
- {IMAGE_SAMPLING_MODE, Toolkit::ImageVisual::Property::SAMPLING_MODE},
- {IMAGE_DESIRED_WIDTH, Toolkit::ImageVisual::Property::DESIRED_WIDTH},
- {IMAGE_DESIRED_HEIGHT, Toolkit::ImageVisual::Property::DESIRED_HEIGHT},
- {PIXEL_AREA_UNIFORM_NAME, Toolkit::ImageVisual::Property::PIXEL_AREA},
- {IMAGE_WRAP_MODE_U, Toolkit::ImageVisual::Property::WRAP_MODE_U},
- {IMAGE_WRAP_MODE_V, Toolkit::ImageVisual::Property::WRAP_MODE_V},
- {SYNCHRONOUS_LOADING, Toolkit::ImageVisual::Property::SYNCHRONOUS_LOADING},
- {IMAGE_ATLASING, Toolkit::ImageVisual::Property::ATLASING},
- {ALPHA_MASK_URL, Toolkit::ImageVisual::Property::ALPHA_MASK_URL},
- {MASK_CONTENT_SCALE_NAME, Toolkit::ImageVisual::Property::MASK_CONTENT_SCALE},
- {CROP_TO_MASK_NAME, Toolkit::ImageVisual::Property::CROP_TO_MASK},
- {MASKING_TYPE_NAME, Toolkit::DevelImageVisual::Property::MASKING_TYPE},
- {ENABLE_BROKEN_IMAGE, Toolkit::DevelImageVisual::Property::ENABLE_BROKEN_IMAGE},
- {LOAD_POLICY_NAME, Toolkit::ImageVisual::Property::LOAD_POLICY},
- {RELEASE_POLICY_NAME, Toolkit::ImageVisual::Property::RELEASE_POLICY},
- {ORIENTATION_CORRECTION_NAME, Toolkit::ImageVisual::Property::ORIENTATION_CORRECTION},
- {FAST_TRACK_UPLOADING_NAME, Toolkit::DevelImageVisual::Property::FAST_TRACK_UPLOADING},
+ {
+ {IMAGE_FITTING_MODE, Toolkit::ImageVisual::Property::FITTING_MODE},
+ {IMAGE_SAMPLING_MODE, Toolkit::ImageVisual::Property::SAMPLING_MODE},
+ {IMAGE_DESIRED_WIDTH, Toolkit::ImageVisual::Property::DESIRED_WIDTH},
+ {IMAGE_DESIRED_HEIGHT, Toolkit::ImageVisual::Property::DESIRED_HEIGHT},
+ {PIXEL_AREA_UNIFORM_NAME, Toolkit::ImageVisual::Property::PIXEL_AREA},
+ {IMAGE_WRAP_MODE_U, Toolkit::ImageVisual::Property::WRAP_MODE_U},
+ {IMAGE_WRAP_MODE_V, Toolkit::ImageVisual::Property::WRAP_MODE_V},
+ {SYNCHRONOUS_LOADING, Toolkit::ImageVisual::Property::SYNCHRONOUS_LOADING},
+ {IMAGE_ATLASING, Toolkit::ImageVisual::Property::ATLASING},
+ {ALPHA_MASK_URL, Toolkit::ImageVisual::Property::ALPHA_MASK_URL},
+ {MASK_CONTENT_SCALE_NAME, Toolkit::ImageVisual::Property::MASK_CONTENT_SCALE},
+ {CROP_TO_MASK_NAME, Toolkit::ImageVisual::Property::CROP_TO_MASK},
+ {MASKING_TYPE_NAME, Toolkit::DevelImageVisual::Property::MASKING_TYPE},
+ {ENABLE_BROKEN_IMAGE, Toolkit::DevelImageVisual::Property::ENABLE_BROKEN_IMAGE},
+ {LOAD_POLICY_NAME, Toolkit::ImageVisual::Property::LOAD_POLICY},
+ {RELEASE_POLICY_NAME, Toolkit::ImageVisual::Property::RELEASE_POLICY},
+ {ORIENTATION_CORRECTION_NAME, Toolkit::ImageVisual::Property::ORIENTATION_CORRECTION},
+ {FAST_TRACK_UPLOADING_NAME, Toolkit::DevelImageVisual::Property::FAST_TRACK_UPLOADING},
};
-const int NAME_INDEX_MATCH_TABLE_SIZE = sizeof(NAME_INDEX_MATCH_TABLE)/sizeof(NAME_INDEX_MATCH_TABLE[0]);
+const int NAME_INDEX_MATCH_TABLE_SIZE = sizeof(NAME_INDEX_MATCH_TABLE) / sizeof(NAME_INDEX_MATCH_TABLE[0]);
Geometry CreateGeometry(VisualFactoryCache& factoryCache, ImageDimensions gridSize)
{
if(gridSize == ImageDimensions(1, 1))
{
geometry = factoryCache.GetGeometry(VisualFactoryCache::QUAD_GEOMETRY);
- } else
+ }
+ else
{
geometry = VisualFactoryCache::CreateGridGeometry(gridSize);
}
void ImageVisual::LoadComplete(bool loadingSuccess, TextureInformation textureInformation)
{
Toolkit::Visual::ResourceStatus resourceStatus;
+ if(DALI_UNLIKELY(mImpl == nullptr))
+ {
+ DALI_LOG_ERROR("Fatal error!! already destroyed object callback called! ImageVisual : %p, url : %s\n", this, mImageUrl.GetUrl().c_str());
+ return;
+ }
if(mImpl->mRenderer)
{
if(textureInformation.useAtlasing)
struct StringProperty
{
const char* const name;
- Property::Index index;
+ Property::Index index;
};
-StringProperty PROPERTY_NAME_INDEX_TABLE[]=
-{
- {CUSTOM_SHADER, Toolkit::Visual::Property::SHADER},
- {TRANSFORM, Toolkit::Visual::Property::TRANSFORM},
- {PREMULTIPLIED_ALPHA, Toolkit::Visual::Property::PREMULTIPLIED_ALPHA},
- {MIX_COLOR, Toolkit::Visual::Property::MIX_COLOR},
- {OPACITY, Toolkit::Visual::Property::OPACITY},
- {VISUAL_FITTING_MODE, Toolkit::DevelVisual::Property::VISUAL_FITTING_MODE},
- {BORDERLINE_WIDTH, Toolkit::DevelVisual::Property::BORDERLINE_WIDTH},
- {BORDERLINE_COLOR, Toolkit::DevelVisual::Property::BORDERLINE_COLOR},
- {BORDERLINE_OFFSET, Toolkit::DevelVisual::Property::BORDERLINE_OFFSET},
- {CORNER_RADIUS, Toolkit::DevelVisual::Property::CORNER_RADIUS},
- {CORNER_RADIUS_POLICY, Toolkit::DevelVisual::Property::CORNER_RADIUS_POLICY},
+StringProperty PROPERTY_NAME_INDEX_TABLE[] =
+ {
+ {CUSTOM_SHADER, Toolkit::Visual::Property::SHADER},
+ {TRANSFORM, Toolkit::Visual::Property::TRANSFORM},
+ {PREMULTIPLIED_ALPHA, Toolkit::Visual::Property::PREMULTIPLIED_ALPHA},
+ {MIX_COLOR, Toolkit::Visual::Property::MIX_COLOR},
+ {OPACITY, Toolkit::Visual::Property::OPACITY},
+ {VISUAL_FITTING_MODE, Toolkit::DevelVisual::Property::VISUAL_FITTING_MODE},
+ {BORDERLINE_WIDTH, Toolkit::DevelVisual::Property::BORDERLINE_WIDTH},
+ {BORDERLINE_COLOR, Toolkit::DevelVisual::Property::BORDERLINE_COLOR},
+ {BORDERLINE_OFFSET, Toolkit::DevelVisual::Property::BORDERLINE_OFFSET},
+ {CORNER_RADIUS, Toolkit::DevelVisual::Property::CORNER_RADIUS},
+ {CORNER_RADIUS_POLICY, Toolkit::DevelVisual::Property::CORNER_RADIUS_POLICY},
};
const uint16_t PROPERTY_NAME_INDEX_TABLE_COUNT = sizeof(PROPERTY_NAME_INDEX_TABLE) / sizeof(PROPERTY_NAME_INDEX_TABLE[0]);
Visual::Base::~Base()
{
delete mImpl;
+ mImpl = nullptr;
}
void Visual::Base::Initialize()