Load remote svg image as low priority 72/294472/2
authorEunki, Hong <eunkiki.hong@samsung.com>
Tue, 20 Jun 2023 02:23:08 +0000 (11:23 +0900)
committerEunki Hong <eunkiki.hong@samsung.com>
Thu, 22 Jun 2023 02:50:39 +0000 (02:50 +0000)
Since we can load svg file as remote, make remote svg image load task as low priority

Change-Id: Ib0604ef8cda045641c331f367bb02e85c8304e35
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
dali-toolkit/internal/visuals/svg/svg-task.cpp
dali-toolkit/internal/visuals/svg/svg-task.h

index 67cff0f..7b8ef29 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 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.
@@ -32,9 +32,8 @@ namespace Toolkit
 {
 namespace Internal
 {
-
-SvgTask::SvgTask(VectorImageRenderer vectorRenderer, CallbackBase* callback)
-: AsyncTask(callback),
+SvgTask::SvgTask(VectorImageRenderer vectorRenderer, CallbackBase* callback, AsyncTask::PriorityType priorityType)
+: AsyncTask(callback, priorityType),
   mVectorRenderer(vectorRenderer),
   mHasSucceeded(false)
 {
@@ -56,7 +55,7 @@ VectorImageRenderer SvgTask::GetRenderer()
 }
 
 SvgLoadingTask::SvgLoadingTask(VectorImageRenderer vectorRenderer, const VisualUrl& url, float dpi, CallbackBase* callback)
-: SvgTask(vectorRenderer, callback),
+: SvgTask(vectorRenderer, callback, url.GetProtocolType() == VisualUrl::ProtocolType::REMOTE ? AsyncTask::PriorityType::LOW : AsyncTask::PriorityType::HIGH),
   mUrl(url),
   mDpi(dpi)
 {
index 31855b9..89d8f55 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_SVG_TASK_H
 
 /*
- * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 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.
@@ -55,8 +55,9 @@ public:
    * Constructor
    * @param[in] vectorRenderer The vector rasterizer.
    * @param[in] callback The callback that is called when the operation is completed.
+   * @param[in] priorityType The priority of this task.
    */
-  SvgTask(VectorImageRenderer vectorRenderer, CallbackBase* callback);
+  SvgTask(VectorImageRenderer vectorRenderer, CallbackBase* callback, AsyncTask::PriorityType priorityType = AsyncTask::PriorityType::DEFAULT);
 
   /**
    * Destructor.