#include <dali/public-api/rendering/renderer.h>
#include <string>
+// INTERNAL INCLUDES
+#include <dali/devel-api/adaptor-framework/vector-animation-renderer.h>
+
namespace Dali
{
{
public:
+ using UploadCompletedSignalType = Dali::VectorAnimationRenderer::UploadCompletedSignalType;
+
/**
* @brief Constructor
*/
virtual void GetDefaultSize( uint32_t& width, uint32_t& height ) const = 0;
/**
+ * @brief Connect to this signal to be notified when the texture upload is completed.
+ *
+ * @return The signal to connect to.
+ */
+ virtual UploadCompletedSignalType& UploadCompletedSignal() = 0;
+
+ /**
* @brief Function pointer called in adaptor to create a plugin instance.
*/
using CreateVectorAnimationRendererFunction = VectorAnimationRendererPlugin* (*)();
GetImplementation( *this ).GetDefaultSize( width, height );
}
+VectorAnimationRenderer::UploadCompletedSignalType& VectorAnimationRenderer::UploadCompletedSignal()
+{
+ return GetImplementation( *this ).UploadCompletedSignal();
+}
+
} // namespace Dali
{
public:
+ /// @brief UploadCompleted signal type.
+ using UploadCompletedSignalType = Signal< void () >;
+
/**
* @brief Creates an initialized handle to a new VectorAnimationRenderer.
*
public: // Signals
+ /**
+ * @brief Connect to this signal to be notified when the texture upload is completed.
+ *
+ * @return The signal to connect to.
+ */
+ UploadCompletedSignalType& UploadCompletedSignal();
+
public: // Not intended for application developers
/// @cond internal
mPlugin.GetDefaultSize( width, height );
}
+Dali::VectorAnimationRenderer::UploadCompletedSignalType& VectorAnimationRenderer::UploadCompletedSignal()
+{
+ return mPlugin.UploadCompletedSignal();
+}
+
} // namespace Adaptor
} // namespace internal
/**
* Dali internal VectorAnimationRenderer.
*/
-class VectorAnimationRenderer : public BaseObject
+class VectorAnimationRenderer : public BaseObject, public ConnectionTracker
{
public:
*/
void GetDefaultSize( uint32_t& width, uint32_t& height ) const;
+ /**
+ * @copydoc Dali::VectorAnimationRenderer::UploadCompletedSignal()
+ */
+ Dali::VectorAnimationRenderer::UploadCompletedSignalType& UploadCompletedSignal();
+
private:
/**
: mSharedObjectName(),
mLibHandle( NULL ),
mPlugin( NULL ),
- mCreateVectorAnimationRendererPtr( NULL )
+ mCreateVectorAnimationRendererPtr( NULL ),
+ mDefaultSignal()
{
if( !sharedObjectName.empty() )
{
}
}
+VectorAnimationRendererPlugin::UploadCompletedSignalType& VectorAnimationRendererPluginProxy::UploadCompletedSignal()
+{
+ if( mPlugin )
+ {
+ return mPlugin->UploadCompletedSignal();
+ }
+ return mDefaultSignal;
+}
+
} // namespace Adaptor
} // namespace Internal
*/
void GetDefaultSize( uint32_t& width, uint32_t& height ) const;
+ /**
+ * @copydoc Dali::VectorAnimationRendererPlugin::UploadCompletedSignal()
+ */
+ VectorAnimationRendererPlugin::UploadCompletedSignalType& UploadCompletedSignal();
+
// Not copyable or movable
VectorAnimationRendererPluginProxy( const VectorAnimationRendererPluginProxy& ) = delete; ///< Deleted copy constructor
VectorAnimationRendererPluginProxy( VectorAnimationRendererPluginProxy&& ) = delete; ///< Deleted move constructor
Dali::VectorAnimationRendererPlugin* mPlugin; ///< Plugin handle
CreateVectorAnimationRendererFunction mCreateVectorAnimationRendererPtr; ///< Function pointer called in adaptor to create a plugin instance
+ VectorAnimationRendererPlugin::UploadCompletedSignalType mDefaultSignal;
};