+void SvgRasterizeThread::ApplyRasterizedSVGToSampler()
+{
+ while( RasterizingTaskPtr task = NextCompletedTask() )
+ {
+ task->GetSvgVisual()->ApplyRasterizedImage(task->GetVectorRenderer(), task->GetPixelData(), task->IsLoaded());
+ }
+
+ UnregisterProcessor();
+}
+
+void SvgRasterizeThread::Process()
+{
+ ApplyRasterizedSVGToSampler();
+}
+
+void SvgRasterizeThread::UnregisterProcessor()
+{
+ if ( mProcessorRegistered )
+ {
+ if( mRasterizeTasks.empty() && mCompletedTasks.empty() )
+ {
+ Adaptor::Get().UnregisterProcessor( *this );
+ mProcessorRegistered = false;
+ }
+ }
+}
+
+