X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Ftext-scroller.h;h=a7a6410de9aad9d988f517cec02d44c9f2f5cb0f;hp=f6c0b87ea90544d3c6ab2633f8a066e706f85b6d;hb=215472e2dbc7b0727fefa97db1b80bf6128cccba;hpb=f598d4089fd0447e4dcdbea99e5ef2b3266f4b72 diff --git a/dali-toolkit/internal/text/text-scroller.h b/dali-toolkit/internal/text/text-scroller.h index f6c0b87..a7a6410 100644 --- a/dali-toolkit/internal/text/text-scroller.h +++ b/dali-toolkit/internal/text/text-scroller.h @@ -2,7 +2,7 @@ #define __DALI_TOOLKIT_TEXT_SCROLLER_H__ /* - * Copyright (c) 2016 Samsung Electronics Co., Ltd. + * Copyright (c) 2017 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. @@ -22,9 +22,11 @@ #include #include #include -#include +#include // INTERNAL INCLUDES +#include +#include #include namespace Dali @@ -59,14 +61,17 @@ public: /** * @brief Set parameters relating to source required for scrolling * - * @param[in] sourceActor source actor to be scrolled + * @param[in] scrollingTextActor actor containing the text to be scrolled + * @param[in] renderer renderer to render the text + * @param[in] textureSet texture of the text to be scrolled * @param[in] controlSize size of the control to scroll within - * @param[in] offScreenSize size of the sourceActor + * @param[in] textureSize size of the texture + * @param[in] wrapGap The gap before scrolling wraps * @param[in] direction text direction true for right to left text - * @param[in] alignmentOffset alignment of source text - * + * @param[in] horizontalAlignment horizontal alignment of the text + * @param[in] verticalAlignment vertical alignment of the text */ - void SetParameters( Actor sourceActor, const Size& controlSize, const Size& offScreenSize, CharacterDirection direction, float alignmentOffset ); + void SetParameters( Actor scrollingTextActor, Dali::Renderer renderer, TextureSet textureSet, const Size& controlSize, const Size& textureSize, const float wrapGap, CharacterDirection direction, HorizontalAlignment::Type horizontalAlignment, VerticalAlignment::Type verticalAlignment ); /** * @brief Set the gap distance to elapse before the text wraps around @@ -120,25 +125,18 @@ public: * @brief Set the mode of scrolling stop * @param[in] stopMode type when text scrolling is stoped. */ - void SetStopMode( DevelTextLabel::AutoScrollStopMode::Type stopMode ); - - /** - * @brief Get the mode of scrolling stop - * @return stopMode type when text scrolling is stoped. - */ - DevelTextLabel::AutoScrollStopMode::Type GetStopMode() const; + void SetStopMode( TextLabel::AutoScrollStopMode::Type stopMode ); /** - * @brief Get the camera used to look at source, should be added to the parent of target actor. - * @return camera Actor + * @brief Stop the auto scrolling. */ - Actor GetSourceCamera() const; + void StopScrolling(); /** - * @brief Get the resulting scrolling text actor, add to target actor which will show scrolling text - * @return mesh Actor + * @brief Get the mode of scrolling stop + * @return stopMode type when text scrolling is stoped. */ - Actor GetScrollingText() const; + TextLabel::AutoScrollStopMode::Type GetStopMode() const; private: // Implementation @@ -166,31 +164,27 @@ private: // Implementation /** * @brief variables required to set up scrolling animation + * @param[in] scrollingTextActor actor that shows scrolling text * @param[in] scrollAmount distance to animate text for the given duration * @param[in] scrollDuration duration of aninmation * @param[in] loopCount number of times to loop the scrolling text */ - void StartScrolling( float scrollAmount, float scrollDuration, int loopCount ); - - /** - * @brief When scrolling ended, the actors are cleaned up so no longer staged. - */ - void CleanUp(); + void StartScrolling( Actor scrollingTextActor, float scrollAmount, float scrollDuration, int loopCount ); private: - RenderTask mRenderTask; // Renders full text to a FrameBuffer which is then scrolled. - CameraActor mOffscreenCameraActor; // Camera used by render task - Actor mScrollingTextActor; // Actor used to show scrolling text ScrollerInterface& mScrollerInterface; // Interface implemented by control that requires scrolling Property::Index mScrollDeltaIndex; // Property used by shader to represent distance to scroll Animation mScrollAnimation; // Animation used to update the mScrollDeltaIndex + Dali::Renderer mRenderer; // Renderer used to render the text + Shader mShader; // Shader originally used by the renderer while not scrolling + TextureSet mTextureSet; // Texture originally used by the renderer while not scrolling int mScrollSpeed; ///< Speed which text should automatically scroll at int mLoopCount; ///< Number of time the text should scroll float mLoopDelay; ///< Time delay of loop start float mWrapGap; ///< Gap before text wraps around when scrolling - DevelTextLabel::AutoScrollStopMode::Type mStopMode; ///< Stop mode of scrolling text, when loop count is 0. + TextLabel::AutoScrollStopMode::Type mStopMode; ///< Stop mode of scrolling text, when loop count is 0. }; // TextScroller class