summaryrefslogtreecommitdiffstats
path: root/thirdparty/thorvg/src/lib/tvgTaskScheduler.h
diff options
context:
space:
mode:
authorMartin Capitanio <capnm@capitanio.org>2023-09-29 14:58:36 +0200
committerMartin Capitanio <capnm@capitanio.org>2023-09-29 19:50:19 +0200
commitaab650f2ef97915e22312e5da543e01989bbfd76 (patch)
tree847d2e5c6033ab1d06122c57beefa6dc6c019aad /thirdparty/thorvg/src/lib/tvgTaskScheduler.h
parent19890614c6a78ec36030ce65c7da05f07fcdb9ed (diff)
downloadredot-engine-aab650f2ef97915e22312e5da543e01989bbfd76.tar.gz
ThorVG: update to v0.11.0 release.
See https://github.com/thorvg/thorvg/releases/tag/v0.11.0 + Infrastructure Repository folder structure was make it more intuitive and coherent. "thorvg/src/lib" -> "thorvg/src/common" (providing essential common functionalities used internally among the renderer and sub-modules) "thorvg/src/lib" -> "thorvg/src/renderer" (for vector drawing features) + SVG related Fix stroke regression https://github.com/thorvg/thorvg/issues/1670 Support stroke dash offset function https://github.com/thorvg/thorvg/issues/1591#issuecomment-1681319321 Support Focal property in Radial Gradient https://github.com/thorvg/thorvg/issues/1558
Diffstat (limited to 'thirdparty/thorvg/src/lib/tvgTaskScheduler.h')
-rw-r--r--thirdparty/thorvg/src/lib/tvgTaskScheduler.h89
1 files changed, 0 insertions, 89 deletions
diff --git a/thirdparty/thorvg/src/lib/tvgTaskScheduler.h b/thirdparty/thorvg/src/lib/tvgTaskScheduler.h
deleted file mode 100644
index 2dad80f5d0..0000000000
--- a/thirdparty/thorvg/src/lib/tvgTaskScheduler.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (c) 2020 - 2023 the ThorVG project. All rights reserved.
-
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
-
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
-
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#ifndef _TVG_TASK_SCHEDULER_H_
-#define _TVG_TASK_SCHEDULER_H_
-
-#include <mutex>
-#include <condition_variable>
-#include "tvgCommon.h"
-
-namespace tvg
-{
-
-struct Task;
-
-struct TaskScheduler
-{
- static unsigned threads();
- static void init(unsigned threads);
- static void term();
- static void request(Task* task);
- static void async(bool on);
-};
-
-struct Task
-{
-private:
- mutex mtx;
- condition_variable cv;
- bool ready = true;
- bool pending = false;
-
-public:
- virtual ~Task() = default;
-
- void done()
- {
- if (!pending) return;
-
- unique_lock<mutex> lock(mtx);
- while (!ready) cv.wait(lock);
- pending = false;
- }
-
-protected:
- virtual void run(unsigned tid) = 0;
-
-private:
- void operator()(unsigned tid)
- {
- run(tid);
-
- lock_guard<mutex> lock(mtx);
- ready = true;
- cv.notify_one();
- }
-
- void prepare()
- {
- ready = false;
- pending = true;
- }
-
- friend struct TaskSchedulerImpl;
-};
-
-}
-
-#endif //_TVG_TASK_SCHEDULER_H_
-