X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fbubble-effect%2Fbubble-actor.cpp;h=e1ef66caf0d0aca62ccfc1bc553a873af1054730;hb=cc5a994d63e196f3bce7ed36f6f66d6cb87eca0d;hp=50df6af8fb16aa9230e01a693e3e2ffdb0abc88e;hpb=d9c164e4530e354cd14dc4a1a658070ba55e99b8;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/controls/bubble-effect/bubble-actor.cpp b/dali-toolkit/internal/controls/bubble-effect/bubble-actor.cpp index 50df6af..e1ef66c 100644 --- a/dali-toolkit/internal/controls/bubble-effect/bubble-actor.cpp +++ b/dali-toolkit/internal/controls/bubble-effect/bubble-actor.cpp @@ -35,8 +35,17 @@ namespace Internal BubbleActor::BubbleActor( unsigned int numberOfBubble, const Vector2& movementArea) -: mMovementArea( movementArea ), - mNumBubble( numberOfBubble ) +: mActor(), + mRenderer(), + mMovementArea( movementArea ), + mIndicesOffset(), + mIndiceStartEndPos(), + mIndicesPercentage(), + mIndexGravity( Property::INVALID_INDEX ), + mIndexDynamicScale( Property::INVALID_INDEX ), + mIndexInvertedMovementArea( Property::INVALID_INDEX ), + mNumBubble( numberOfBubble ), + mRandomSeed( 0 ) { mActor = Actor::New(); } @@ -61,18 +70,20 @@ void BubbleActor::MakeRenderable( Geometry geometry, Material material ) mIndexInvertedMovementArea = mActor.RegisterProperty( "uInvertedMovementArea", Vector2(1.f,1.f) / mMovementArea ); - srand(time(NULL)); mIndicesOffset.resize(9); int offset = mMovementArea.Length() / 10.f; - mIndicesOffset[0] = mActor.RegisterProperty( "uOffset[0]", Vector2(0.f,0.f)); - mIndicesOffset[1] = mActor.RegisterProperty( "uOffset[1]", Vector2(rand()%offset,rand()%offset) ); - mIndicesOffset[2] = mActor.RegisterProperty( "uOffset[2]", Vector2(rand()%offset,-rand()%offset) ); - mIndicesOffset[3] = mActor.RegisterProperty( "uOffset[3]", Vector2(-rand()%offset,rand()%offset) ); - mIndicesOffset[4] = mActor.RegisterProperty( "uOffset[4]", Vector2(-rand()%offset,-rand()%offset) ); - mIndicesOffset[5] = mActor.RegisterProperty( "uOffset[5]", Vector2(rand()%offset,0.f)); - mIndicesOffset[6] = mActor.RegisterProperty( "uOffset[6]", Vector2(-rand()%offset,0.f)); - mIndicesOffset[7] = mActor.RegisterProperty( "uOffset[7]", Vector2(0.f,rand()%offset)); - mIndicesOffset[8] = mActor.RegisterProperty( "uOffset[8]", Vector2(0.f,-rand()%offset)); + + mRandomSeed = time( NULL ); + + mIndicesOffset[0] = mActor.RegisterProperty( "uOffset[0]", Vector2( 0.f,0.f ) ); + mIndicesOffset[1] = mActor.RegisterProperty( "uOffset[1]", Vector2( rand_r( &mRandomSeed ) % offset, rand_r( &mRandomSeed ) % offset ) ); + mIndicesOffset[2] = mActor.RegisterProperty( "uOffset[2]", Vector2( rand_r( &mRandomSeed ) % offset, -rand_r( &mRandomSeed ) % offset ) ); + mIndicesOffset[3] = mActor.RegisterProperty( "uOffset[3]", Vector2(-rand_r( &mRandomSeed ) % offset, rand_r( &mRandomSeed ) % offset ) ); + mIndicesOffset[4] = mActor.RegisterProperty( "uOffset[4]", Vector2(-rand_r( &mRandomSeed ) % offset, -rand_r( &mRandomSeed ) % offset ) ); + mIndicesOffset[5] = mActor.RegisterProperty( "uOffset[5]", Vector2( rand_r( &mRandomSeed ) % offset, 0.f ) ); + mIndicesOffset[6] = mActor.RegisterProperty( "uOffset[6]", Vector2(-rand_r( &mRandomSeed ) % offset, 0.f ) ); + mIndicesOffset[7] = mActor.RegisterProperty( "uOffset[7]", Vector2( 0.f, rand_r( &mRandomSeed ) % offset ) ); + mIndicesOffset[8] = mActor.RegisterProperty( "uOffset[8]", Vector2( 0.f, -rand_r( &mRandomSeed ) % offset ) ); Vector4 zeroVector; mIndiceStartEndPos.resize( mNumBubble ); @@ -111,14 +122,15 @@ void BubbleActor::SetMovementArea( const Vector2& movementArea ) mActor.SetProperty( mIndexInvertedMovementArea, Vector2(1.f,1.f) / mMovementArea ); int offset = mMovementArea.Length() / 10.f; - mActor.SetProperty( mIndicesOffset[1], Vector2(rand()%offset,rand()%offset) ); - mActor.SetProperty( mIndicesOffset[2], Vector2(rand()%offset,-rand()%offset) ); - mActor.SetProperty( mIndicesOffset[3], Vector2(-rand()%offset,rand()%offset) ); - mActor.SetProperty( mIndicesOffset[4], Vector2(-rand()%offset,-rand()%offset) ); - mActor.SetProperty( mIndicesOffset[5], Vector2(rand()%offset,0.f)); - mActor.SetProperty( mIndicesOffset[6], Vector2(-rand()%offset,0.f)); - mActor.SetProperty( mIndicesOffset[7], Vector2(0.f,rand()%offset)); - mActor.SetProperty( mIndicesOffset[8], Vector2(0.f,-rand()%offset)); + + mActor.SetProperty( mIndicesOffset[1], Vector2( rand_r( &mRandomSeed ) % offset, rand_r( &mRandomSeed ) % offset ) ); + mActor.SetProperty( mIndicesOffset[2], Vector2( rand_r( &mRandomSeed ) % offset, -rand_r( &mRandomSeed ) % offset ) ); + mActor.SetProperty( mIndicesOffset[3], Vector2(-rand_r( &mRandomSeed ) % offset, rand_r( &mRandomSeed ) % offset ) ); + mActor.SetProperty( mIndicesOffset[4], Vector2(-rand_r( &mRandomSeed ) % offset, -rand_r( &mRandomSeed ) % offset ) ); + mActor.SetProperty( mIndicesOffset[5], Vector2( rand_r( &mRandomSeed ) % offset, 0.f ) ); + mActor.SetProperty( mIndicesOffset[6], Vector2(-rand_r( &mRandomSeed ) % offset, 0.f ) ); + mActor.SetProperty( mIndicesOffset[7], Vector2( 0.f, rand_r( &mRandomSeed ) % offset ) ); + mActor.SetProperty( mIndicesOffset[8], Vector2( 0.f, -rand_r( &mRandomSeed ) % offset ) ); } void BubbleActor::SetStartAndEndPosition( unsigned int index, const Vector4& startAndEndPosition )