+
+ case Toolkit::DevelImageVisual::Property::STOP_BEHAVIOR:
+ {
+ int32_t stopBehavior = mStopBehavior;
+ if(Scripting::GetEnumerationProperty(value, STOP_BEHAVIOR_TABLE, STOP_BEHAVIOR_TABLE_COUNT, stopBehavior))
+ {
+ mStopBehavior = DevelImageVisual::StopBehavior::Type(stopBehavior);
+ }
+ break;
+ }
+
+ case Toolkit::ImageVisual::Property::SYNCHRONOUS_LOADING:
+ {
+ bool sync = false;
+ value.Get(sync);
+ if(sync)
+ {
+ mImpl->mFlags |= Visual::Base::Impl::IS_SYNCHRONOUS_RESOURCE_LOADING;
+ }
+ else
+ {
+ mImpl->mFlags &= ~Visual::Base::Impl::IS_SYNCHRONOUS_RESOURCE_LOADING;
+ }
+ break;
+ }
+
+ case Toolkit::ImageVisual::Property::ALPHA_MASK_URL:
+ {
+ std::string alphaUrl = "";
+ if(value.Get(alphaUrl))
+ {
+ AllocateMaskData();
+ mMaskingData->mAlphaMaskUrl = alphaUrl;
+ }
+ break;
+ }
+
+ case Toolkit::ImageVisual::Property::MASK_CONTENT_SCALE:
+ {
+ float scale = 1.0f;
+ if(value.Get(scale))
+ {
+ AllocateMaskData();
+ mMaskingData->mContentScaleFactor = scale;
+ }
+ break;
+ }
+
+ case Toolkit::ImageVisual::Property::CROP_TO_MASK:
+ {
+ bool crop = false;
+ if(value.Get(crop))
+ {
+ AllocateMaskData();
+ mMaskingData->mCropToMask = crop;
+ }
+ break;
+ }
+
+ case Toolkit::DevelImageVisual::Property::MASKING_TYPE:
+ {
+ int maskingType = 0;
+ if(value.Get(maskingType))
+ {
+ AllocateMaskData();
+ mMaskingData->mPreappliedMasking = Toolkit::DevelImageVisual::MaskingType::Type(maskingType) == Toolkit::DevelImageVisual::MaskingType::MASKING_ON_LOADING ? true : false;
+ }
+ break;
+ }
+
+ case Toolkit::ImageVisual::Property::RELEASE_POLICY:
+ {
+ int releasePolicy = 0;
+ Scripting::GetEnumerationProperty(value, RELEASE_POLICY_TABLE, RELEASE_POLICY_TABLE_COUNT, releasePolicy);
+ mReleasePolicy = Toolkit::ImageVisual::ReleasePolicy::Type(releasePolicy);
+ break;
+ }
+
+ case Toolkit::ImageVisual::Property::LOAD_POLICY:
+ {
+ int loadPolicy = 0;
+ Scripting::GetEnumerationProperty(value, LOAD_POLICY_TABLE, LOAD_POLICY_TABLE_COUNT, loadPolicy);
+ mLoadPolicy = Toolkit::ImageVisual::LoadPolicy::Type(loadPolicy);
+ break;
+ }