+ switch(index)
+ {
+ case Toolkit::DevelImageVisual::Property::LOOP_COUNT:
+ {
+ int32_t loopCount;
+ if( value.Get( loopCount ) )
+ {
+ mLoopCount = loopCount;
+ if( mVectorRasterizeThread )
+ {
+ mVectorRasterizeThread->SetLoopCount( loopCount );
+ }
+ }
+ break;
+ }
+ case Toolkit::DevelImageVisual::Property::PLAY_RANGE:
+ {
+ Vector2 range;
+ if( value.Get( range ) )
+ {
+ // Make sure the range specified is between 0.0 and 1.0
+ if( range.x >= 0.0f && range.x <= 1.0f && range.y >= 0.0f && range.y <= 1.0f )
+ {
+ Vector2 orderedRange( range );
+ // If the range is not in order swap values
+ if( range.x > range.y )
+ {
+ orderedRange = Vector2( range.y, range.x );
+ }
+
+ mPlayRange = orderedRange;
+
+ if( mVectorRasterizeThread )
+ {
+ mVectorRasterizeThread->SetPlayRange( mPlayRange );
+ }
+ }
+ }
+ break;
+ }
+ }