X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Fdevel-api%2Fadaptor-framework%2Fvector-animation-renderer-plugin.h;h=3c7f7b8e12007e6ecf504f56858f6aff1c6bd23e;hb=f32f04052accfe880a9141d554091d4cfe922d47;hp=a640f3c9892760b1bc2da391e33e80cb298c01d1;hpb=53d13fdca18066d83e9c287207ff713f1a36e514;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/devel-api/adaptor-framework/vector-animation-renderer-plugin.h b/dali/devel-api/adaptor-framework/vector-animation-renderer-plugin.h index a640f3c..3c7f7b8 100644 --- a/dali/devel-api/adaptor-framework/vector-animation-renderer-plugin.h +++ b/dali/devel-api/adaptor-framework/vector-animation-renderer-plugin.h @@ -2,7 +2,7 @@ #define DALI_VECTOR_ANIMATION_RENDERER_PLUGIN_H /* - * Copyright (c) 2019 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. @@ -27,7 +27,6 @@ namespace Dali { - /** * VectorAnimationRendererPlugin is an abstract interface, used by dali-adaptor to render a vector animation. * A concrete implementation must be created for each platform and provided as a dynamic library which @@ -36,32 +35,40 @@ namespace Dali class VectorAnimationRendererPlugin { public: - using UploadCompletedSignalType = Dali::VectorAnimationRenderer::UploadCompletedSignalType; /** * @brief Constructor */ - VectorAnimationRendererPlugin() {} + VectorAnimationRendererPlugin() + { + } /** * @brief Destructor */ - virtual ~VectorAnimationRendererPlugin() {} + virtual ~VectorAnimationRendererPlugin() + { + } /** * @brief Second-phase constructor. * * @param[in] url The url of the animation file */ - virtual bool Initialize( const std::string& url ) = 0; + virtual bool Initialize(const std::string& url) = 0; + + /** + * @brief Finalizes the renderer. It will be called in the main thread. + */ + virtual void Finalize() = 0; /** * @brief Sets the renderer used to display the result image. * * @param[in] renderer The renderer used to display the result image */ - virtual void SetRenderer( Renderer renderer ) = 0; + virtual void SetRenderer(Renderer renderer) = 0; /** * @brief Sets the target image size. @@ -69,7 +76,7 @@ public: * @param[in] width The target image width * @param[in] height The target image height */ - virtual void SetSize( uint32_t width, uint32_t height ) = 0; + virtual void SetSize(uint32_t width, uint32_t height) = 0; /** * @brief Renders the content to the target buffer synchronously. @@ -77,7 +84,7 @@ public: * @param[in] frameNumber The frame number to be rendered * @return True if the rendering success, false otherwise. */ - virtual bool Render( uint32_t frameNumber ) = 0; + virtual bool Render(uint32_t frameNumber) = 0; /** * @brief Gets the total number of frames of the file. @@ -99,14 +106,34 @@ public: * @param[out] width The default width of the file * @param[out] height The default height of the file */ - virtual void GetDefaultSize( uint32_t& width, uint32_t& height ) const = 0; + virtual void GetDefaultSize(uint32_t& width, uint32_t& height) const = 0; /** * @brief Gets the layer information of all the child layers. * * @param[out] map The layer information */ - virtual void GetLayerInfo( Property::Map& map ) const = 0; + virtual void GetLayerInfo(Property::Map& map) const = 0; + + /** + * @brief Gets the start frame and the end frame number of the composition marker. + * + * @param[in] marker The composition marker of the file + * @param[out] startFrame The start frame number of the specified marker + * @param[out] endFrame The end frame number of the specified marker + * @return True if the marker is found in the file, false otherwise. + * + * @note https://helpx.adobe.com/after-effects/using/layer-markers-composition-markers.html + * Markers exported from AfterEffect are used to describe a segment of an animation {comment/tag , startFrame, endFrame} + * Marker can be use to devide a resource in to separate animations by tagging the segment with comment string, + * start frame and duration of that segment. + */ + virtual bool GetMarkerInfo(const std::string& marker, uint32_t& startFrame, uint32_t& endFrame) const = 0; + + /** + * @brief Ignores a rendered frame which is not shown yet. + */ + virtual void IgnoreRenderedFrame() = 0; /** * @brief Connect to this signal to be notified when the texture upload is completed.