X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fbubble-effect%2Fbubble-emitter-impl.h;h=30ccbbfcb5fb6560457ad5f477a605a1ebcbda6d;hp=1509248d088b26ff00d88590492c1121fb3774e1;hb=b1e8521ad77e7b4e62b59613b2edef64429130e9;hpb=5437f8308b17393381dcf586e2a9aadd9aa4bdf3 diff --git a/dali-toolkit/internal/controls/bubble-effect/bubble-emitter-impl.h b/dali-toolkit/internal/controls/bubble-effect/bubble-emitter-impl.h index 1509248..30ccbbf 100644 --- a/dali-toolkit/internal/controls/bubble-effect/bubble-emitter-impl.h +++ b/dali-toolkit/internal/controls/bubble-effect/bubble-emitter-impl.h @@ -1,8 +1,8 @@ -#ifndef __DALI_TOOLKIT_INTERNAL_BUBBLE_EMITTER_IMPL_H__ -#define __DALI_TOOLKIT_INTERNAL_BUBBLE_EMITTER_IMPL_H__ +#ifndef DALI_TOOLKIT_INTERNAL_BUBBLE_EMITTER_IMPL_H +#define DALI_TOOLKIT_INTERNAL_BUBBLE_EMITTER_IMPL_H /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,14 +20,14 @@ // EXTERNAL INCLUDES #include -#include -#include +#include +#include #include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include // INTERNAL INCLUDES #include @@ -42,8 +42,7 @@ namespace Toolkit namespace Internal { -class BubbleActor; -typedef IntrusivePtr BubbleActorPtr; +class BubbleRenderer; /** * BubbleEmitter implementation class. @@ -61,7 +60,7 @@ public: * @copydoc Toolkit::BubbleEmitter::New */ static Toolkit::BubbleEmitter New( const Vector2& winSize, - Image shapeImage, + Texture shapeTexture, unsigned int maximumNumberOfBubble, const Vector2& bubbleSizeRange ); @@ -73,12 +72,12 @@ public: /** * @copydoc Toolkit::BubbleEmitter::SetBackground */ - void SetBackground( Image bgImage, const Vector3& hsvDelta ); + void SetBackground( Texture bgTexture, const Vector3& hsvDelta ); /** - * @copydoc Toolkit::BubbleEmitter::SetShapeImage + * @copydoc Toolkit::BubbleEmitter::SetShape */ - void SetShapeImage( Image shapeImage ); + void SetBubbleShape( Texture shapeTexture ); /** * @copydoc Toolkit::BubbleEmiter::SetBubbleScale @@ -105,12 +104,12 @@ private: /** * Construct a new BubbleEmitter object. * @param[in] movementArea The size of the bubble moving area - * @param[in] shapeImage The alpha channnel of this texture defines the bubble shape. + * @param[in] shapeTexture The alpha channnel of this texture defines the bubble shape. * @param[in] maximumNumberOfBubble The maximum number of bubble needed. * @param[in] bubbleSizeRange The size range of the bubbles; x component is the minimal size, and y component is the maximum size. */ BubbleEmitter( const Vector2& movementArea, - Image shapeImage, + Texture shapeTexture, unsigned int maximumNumberOfBubble, const Vector2& bubbleSizeRange ); @@ -129,7 +128,7 @@ private: /** * Callback function of the finished signal of off-screen render task. - * @param[in] source The render task used to create the color adjusted background image. + * @param[in] source The render task used to create the color adjusted background texture. */ void OnRenderFinished(RenderTask& source); @@ -140,33 +139,34 @@ private: /** * Set the uniform values to the shader effect to emit a bubble - * @param[in] bubbleActor The BubbleActor to render the current bubble + * @param[in] bubbleRenderer The BubbleRenderer * @param[in] curUniform The index of the uniform array in the shader * @param[in] emitPosition The start position of the bubble movement. * @param[in] direction The direction used to constrain the bubble to move in an adjacent direction around it. * @param[in] displacement The displacement used to bound the moving distance of the bubble. */ - void SetBubbleParameter( BubbleActorPtr bubbleActor, unsigned int curUniform, + void SetBubbleParameter( BubbleRenderer& bubbleRenderer, unsigned int curUniform, const Vector2& emitPosition, const Vector2& direction, const Vector2& displacement ); private: Actor mBubbleRoot; /// mBubbleActors; ///< The meshActor vector, its size is mNumShader. + TextureSet mTextureSet; ///< The texture set which controls the bubble display + std::vector mBubbleRenderers; ///< The BubbleRenderer vector, its size is mNumShader. - Vector2 mMovementArea; ///< The size of the bubble moving area, usually the same size as the background image actor. + Vector2 mMovementArea; ///< The size of the bubble moving area, usually the same size as the background. Vector2 mBubbleSizeRange; ///< The size range of the bubbles; x component is the low bound, and y component is the up bound. Vector3 mHSVDelta; ///< The HSV difference used to adjust the background image color. - unsigned int mNumBubblePerActor; ///< How many bubbles for each BubbleActor. - unsigned int mNumActor; ///< How many BubbleActors are used. + unsigned int mNumBubblePerRenderer; ///< How many bubbles for each BubbleRenderer. + unsigned int mNumRenderer; ///< How many BubbleRenderers are used. unsigned int mDensity; ///< How many bubbles will emit at each time, they are controlled by same uniforms in the shader. unsigned int mTotalNumOfBubble; ///< mNumBubblePerShader*mNumShader. unsigned int mCurrentBubble; ///< Keep track of the index for the newly emitted bubble @@ -197,4 +197,4 @@ inline const Internal::BubbleEmitter& GetImpl(const Dali::Toolkit::BubbleEmitter } // namespace Dali -#endif /* __DALI_TOOLKIT_INTERNAL_BUBBLE_EMITTER_IMPL_H__ */ +#endif // DALI_TOOLKIT_INTERNAL_BUBBLE_EMITTER_IMPL_H