X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fsvg%2Fsvg-rasterize-thread.h;h=705d41140ff48e695845e68c6a1ccbe9ae2b6180;hb=70510385d88cfbd5c232117d8436ca74c523e172;hp=d7eb16bd4cb62b4a3dcddf140d99ef56927a0c0b;hpb=8f568af864987ed3039737045db38ea3db4ac962;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/visuals/svg/svg-rasterize-thread.h b/dali-toolkit/internal/visuals/svg/svg-rasterize-thread.h index d7eb16b..705d411 100644 --- a/dali-toolkit/internal/visuals/svg/svg-rasterize-thread.h +++ b/dali-toolkit/internal/visuals/svg/svg-rasterize-thread.h @@ -29,6 +29,7 @@ #include #include #include +#include #include // INTERNAL INCLUDES @@ -128,7 +129,7 @@ private: /** * The worker thread for SVG rasterization. */ -class SvgRasterizeThread : public Thread +class SvgRasterizeThread : public Thread, Integration::Processor { public: @@ -137,7 +138,7 @@ public: * * @param[in] trigger The trigger to wake up the main thread. */ - SvgRasterizeThread( EventThreadCallback* trigger ); + SvgRasterizeThread(); /** * Terminate the svg rasterize thread, join and delete. @@ -176,6 +177,11 @@ public: */ void DeleteImage( VectorImageRenderer vectorImage ); + /** + * @copydoc Dali::Integration::Processor::Process() + */ + void Process() override; + private: /** @@ -192,6 +198,17 @@ private: */ void AddCompletedTask( RasterizingTaskPtr task ); + /** + * Applies the rasterized image to material + */ + void ApplyRasterizedSVGToSampler(); + + /** + * @brief Unregister a previously registered processor + * + */ + void UnregisterProcessor(); + protected: /** @@ -225,6 +242,7 @@ private: std::unique_ptr< EventThreadCallback > mTrigger; const Dali::LogFactoryInterface& mLogFactory; bool mIsThreadWaiting; + bool mProcessorRegistered; }; } // namespace Internal