+
+ case Toolkit::ImageVisual::Property::CROP_TO_MASK:
+ {
+ bool crop=false;
+ if( value.Get( crop ) )
+ {
+ AllocateMaskData();
+ mMaskingData->mCropToMask = crop;
+ }
+ break;
+ }
+
+ case Toolkit::ImageVisual::Property::RELEASE_POLICY:
+ {
+ int releasePolicy;
+ 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;
+ Scripting::GetEnumerationProperty( value, LOAD_POLICY_TABLE, LOAD_POLICY_TABLE_COUNT, loadPolicy );
+ mLoadPolicy = Toolkit::ImageVisual::LoadPolicy::Type( loadPolicy );
+ break;
+ }
+ case Toolkit::ImageVisual::Property::ORIENTATION_CORRECTION:
+ {
+ bool orientationCorrection( mOrientationCorrection );
+ if( value.Get( orientationCorrection ) )
+ {
+ mOrientationCorrection = orientationCorrection;
+ }
+ break;
+ }
+ }
+}
+
+void ImageVisual::AllocateMaskData()
+{
+ if( !mMaskingData )
+ {
+ mMaskingData.reset(new TextureManager::MaskingData());