2 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #include <dali-toolkit/public-api/controls/bubble-effect/bubble-emitter.h>
21 #include <dali-toolkit/internal/controls/bubble-effect/bubble-emitter-impl.h>
30 BubbleEmitter::BubbleEmitter()
34 BubbleEmitter::~BubbleEmitter()
38 BubbleEmitter::BubbleEmitter( Internal::BubbleEmitter& implementation )
39 : Control( implementation )
43 BubbleEmitter::BubbleEmitter(Dali::Internal::CustomActor* internal)
46 VerifyCustomActorPointer<Internal::BubbleEmitter>( internal );
49 BubbleEmitter BubbleEmitter::New( const Vector2& winSize,
51 unsigned int maximumNumberOfBubble,
52 const Vector2& bubbleSizeRange )
54 return Internal::BubbleEmitter::New( winSize, shapeImage, maximumNumberOfBubble, bubbleSizeRange );
57 BubbleEmitter::BubbleEmitter( const BubbleEmitter& handle )
62 BubbleEmitter& BubbleEmitter::operator=( const BubbleEmitter& rhs )
66 Control::operator=(rhs);
71 BubbleEmitter BubbleEmitter::DownCast( BaseHandle handle )
73 return Control::DownCast<BubbleEmitter, Internal::BubbleEmitter>( handle );
76 Actor BubbleEmitter::GetRootActor()
78 return GetImpl(*this).GetRootActor();
81 void BubbleEmitter::SetBackground( Image bgImage, const Vector3& hsvDelta )
83 GetImpl(*this).SetBackground( bgImage, hsvDelta );
86 void BubbleEmitter::SetShapeImage( Image shapeImage )
88 GetImpl(*this).SetShapeImage( shapeImage );
91 void BubbleEmitter::SetBubbleScale( float scale )
93 GetImpl(*this).SetBubbleScale( scale );
96 void BubbleEmitter::SetBubbleDensity( unsigned int density )
98 GetImpl(*this).SetBubbleDensity( density );
101 void BubbleEmitter::SetBlendMode( bool enable )
103 GetImpl(*this).SetBlendMode( enable );
106 void BubbleEmitter::EmitBubble( Animation& animation, const Vector2& emitPosition, const Vector2& direction, const Vector2& displacement )
108 GetImpl(*this).EmitBubble( animation, emitPosition, direction, displacement );
111 void BubbleEmitter::StartExplosion( float duration, float multiple )
113 GetImpl(*this).StartExplosion( duration, multiple );
116 void BubbleEmitter::Restore()
118 GetImpl(*this).Restore();
121 } // namespace Toolkit