From d0c12cb4a0d049c327840b125ca0746d35dd9427 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Fri, 5 Nov 2021 21:36:57 +0900 Subject: [PATCH 01/16] test capi: fix memory leak. Delete the paint which is not committed properly. --- test/capi/capiSavers.cpp | 2 ++ test/images/tag.tvg | Bin 1829 -> 1838 bytes 2 files changed, 2 insertions(+) diff --git a/test/capi/capiSavers.cpp b/test/capi/capiSavers.cpp index 92dbf27..92fbda7 100644 --- a/test/capi/capiSavers.cpp +++ b/test/capi/capiSavers.cpp @@ -69,6 +69,8 @@ TEST_CASE("Save a paint into a file", "[capiSaver]") REQUIRE(tvg_saver_save(saver, paint3, TEST_DIR"/test.tvg", false) == TVG_RESULT_INSUFFICIENT_CONDITION); REQUIRE(tvg_saver_del(saver) == TVG_RESULT_SUCCESS); + + tvg_paint_del(paint_empty); } TEST_CASE("Synchronize a Saver", "[capiSaver]") diff --git a/test/images/tag.tvg b/test/images/tag.tvg index 3e88cf13d685f713f0dc3fe0d9d7c606ed668732..5d76b960e9e91b6fad7266a5ab7858450bfb1876 100644 GIT binary patch delta 1811 zcmV+u2kiKz4z3Q66@S0091`H2?s>AC3Y8VGtMyK;giCiWUl)vJeb} zg%>db0QBRc7>gO9VCnL2;KmX!YWyQZVxbpqCx%?ClV)1Xg{W|>5Hir0&5R{~0BN!C z;J}6e0tiqFU}jC8L!_;mK;&uEsTI!DY&ryM&3%D} zc?&?m6tx4*4LM2@z(1ix7amQzRFStHe{;<}j5u*%#h)2BcKnDjUDOb_fy>5j{{M z#nr=!tNz)VuSt|DSq|(%0-xC4k=pwKHux4o;+_ZuTnL;c^yAMz0Au`# zK;r;FPO#+$n(@W}rRf5WA%!UNNDgBXl1UFi1i&=(fKm@66kmH!wt;|nF~Yx zRRBD-)zodmu<2F+fQYqLE?e~ph*MKNwbzVtU8tWO7J_u3f2j3~M<3a|e+USSRvlHN zTYug5Hu2(!_O8Bw7-OLY7E*xC<$xTh5t|rLl@faGwP^@dF|nx$RXNcYV0;H6g- z9ta73ZCVz9c@-X_pFzxxv<^!bV&GkP;{^m2f<3m03!8osnPi((P*oO`Rkn!+Rc~<_ zW}Bq22^N}dwkZRfa?zP*e|-HhfKvbxT4-nh`e7uZDi#VuAeIN(O(o_IV0dNPAZH72Mef#m(p9n81 zK#d_FLLFTw-Vj3Ye~T{=;d|lh2MNS*z(}0p3=*VZ?uanK3f68a8YBXDC_n^$KoElo zT%b6rAORu}(104?gae4+KNrH#e*wtGLjFXSemJ9I81V}*7P6WO#BWnb0n%WYQ>=>! z3vQ)Cmal~4DqS&=iMmqaxSnXmg;WtEQe4Orv)D!3pyyW$e*sq$)u+YJ38##@>PHL~ z0t6NuXiarn%5d5^E;X7_JWC+dSq74pxFrfMa#2*Hd?>Ap_(cPXa%A1eII4aOgHUZS zR7QY6NTe7NQ&b?0ltgrzs11aA3t>-|Vw1gr{9%mX2m#!{5d@78A&taQWVQU_lcTu~ zQ}lDCaF9S1e-N~waJ1Bj4T?z>V2DX!!f8U`mOvFSSOJ<;0Yw;qDIR4IiVl~=2oR{i zwB|L=YmlRw)utCp09bF7EV>92as+^1UZffBa03ulp^75ZawAn}ToM-o3RwbxEw`)| z5OnE2r1xiyzz72lydz6skQ9fDv$rwP&$(A=aAPkM0Nvt^$Ls04OS5 zj|!}(f6CRWC{-y-U78Y@4x~~8xzs{w3WyzyHK+6N0b?a6rl1aWnZhw?Wl@pT#y(cB zgWq^{YcxdfTG})-RJHtV|J0KVUh5v8b3ue-vO#g|7}35Zdi(cTa0w>~?m#R>cA{ zK%{iwQM$9dtQ*@wY+9U>sr)mTL9p8TDrxS9RaFQ`hr)u1Xiy@)!UCr09FJu z@Jss!!bI8-QXLE!hyvjB6CMDAo```uV;G?fM6iJ}ra**3WIzo>umlTGM+A1b zWq}Cxa0E3E@B=vzp$GWDX^wYX4Sp;T$V6yE07@)l8q-1zX;3kXi9ms7w0OiNro#)^ zKm<^Dmq*P^7 B3`+n2 delta 1802 zcmV+l2le=_4y6u|6@P~f000CB000{}00903H2?s>-#G#UVH_N&5I{dg0|5w`0uc-Z zh!-&e0QBRc7>gO9VCnL2;KmX!YWyQZ0-_ggCx%?ClV(~>h^TO^5Hir0&5R{~0BHfS z07QlX1SAD8vnJ0W(pF6%;uNaX3TJ9E9dfm1KQ$1E1b`SIh$9DxQWy>d5d@0ZfdZnq z1t4Hb+JWYVFeC}!pHQMk$0ij3K#{i|e{#(^geZ~X$DbEBb~Jr4^p18g9ql(G*${{ZYFe-|Ez zU{DALA#~%9V1`g|2n#U;FQSRYTTQ_821*Ykk=XkIw)Y@H;+_Zsgb17^^4qV!|6=@U zz~TTn4uGQs8)(KG0hFc-IEWO&NF+IoX~-r$6b}IM$^%L@^-z4xJ=q2V;>8>f z2GWl|3Cr8@FXRpkGR!e0Tm%gzelZYk*_{1#`1#qBOoxMf0b2@fJGKt z!h&nWCI)7uWZZIX8e&#VY-(awPSSn%+<{1$7l3*PLSkK;s0BdWd}l>vUO)sMhzpy3 zvFYG}5*|o}S!J>5VT~dlh=y5jvFT!sG9E|@n_#i&}4n+*eu`p?DQ-c{1g!llI z4z~4~z#a|kG{~uk&;c73G+RL`t+`HCDvh9+3J|K{{?3$~ckbD|l7a?c=%Noi`l6(l z=8H=J#z`XTi^#r66D)240*(->=-NCWj)3R@&65k2?8z&qMr|TMe@|N~bClqM2(nRE z{d3A!PlM{xU$49$Z}1+7XP@~NnrOKK5F8@Hhl8kT06JNsfgIt%0UF!1sOEwo%u!|w z%OM)@56%a2AkzT^&=df75ZPvk>aQo?eDsO%q5^7$Kt!D`Vy8NUU%nus`RDr~L5%u` z5Q$Tq0e}J|py;Gxe?Zd_L4nz!01^1%zXjeef8wZu1c)F%`e}d@4j=;iIOsw41t1#` z0n}Lf;S7jG3L||121HC#f$xdWQ({w!vo5l%uDL2&#|qA^hNVLt4hx6i>LC#!GDM63 z5h6W2;u39B9%MnJTRX%a5*ZhqDGsY2F@OjVSP(WK-S9M9e*_m6sra2GK*UfUL(~rx z^_I9S%26$3;YIqQfko}HO;Ti4KZe1^HXQ0&aqQF_4@3nJO-V$jNey}$34rxzDK_wd z$RDBzju3PW96`_s5w19#JN|=|eesFSHg_QLX)-uSmRfSVFEs>vdtMKP+;f!wj9Dfwtf zM><29e*t0#XGO(4d~jC3jcKMe#bt0PdRSEKbfthrs@(eOR+%yY2aiow4Vd~<%t93i zm@VvND{EE0o>i+{Md4THY8SqIZLFQ^(q@67(!mP$u#&y(W8pfGjDmF_b?pmC2O`pe zkTjnrO_me77$dBYE7GqSh+cOu{=eEe{wAg1msE<3(RmRTMwF9egc4^;r(oP z9U9x8ZdbjfRZCY<3xGQskF{Z|AwSit5$B3_zu-kEQTs6o-U2`bBA7v6wl|Pe0>FDE z)zo0XPzU-2q5vxWga^Q|Ct_627)B@q5p1B0DG;F$8BhZeEWv`x5rG|UAc8#{5zGVp zTtE&)=m9=dI^!BwgCF_RF%jAjfDg0S#k5dE8c1wnB2b_iC+_fv>F@$J5CIezCISy? saN-ElF9r1YFe}(F1|l@0$3*xHL^9!CdBS(V^cAapOC=mLRxu;40yQ$`cK`qY -- 2.7.4 From 5e6fa2dccc7a0a81010f4f0a6536d41174d8e009 Mon Sep 17 00:00:00 2001 From: Mira Grudzinska Date: Mon, 8 Nov 2021 00:36:47 +0100 Subject: [PATCH 02/16] tests: capi - buffer was not freed --- test/capi/capiSwCanvas.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/capi/capiSwCanvas.cpp b/test/capi/capiSwCanvas.cpp index 65fb8db..2a39eb1 100644 --- a/test/capi/capiSwCanvas.cpp +++ b/test/capi/capiSwCanvas.cpp @@ -81,6 +81,8 @@ TEST_CASE("Canvas initialization", "[capiSwCanvas]") REQUIRE(tvg_canvas_destroy(canvas) == TVG_RESULT_SUCCESS); REQUIRE(tvg_engine_term(TVG_ENGINE_SW) == TVG_RESULT_SUCCESS); + + free(buffer); } TEST_CASE("Canvas draw", "[capiSwCanvas]") @@ -124,6 +126,8 @@ TEST_CASE("Canvas draw", "[capiSwCanvas]") REQUIRE(tvg_canvas_destroy(canvas) == TVG_RESULT_SUCCESS); REQUIRE(tvg_engine_term(TVG_ENGINE_SW) == TVG_RESULT_SUCCESS); + + free(buffer); } TEST_CASE("Canvas update, clear and reuse", "[capiSwCanvas]") -- 2.7.4 From c1062fc7ef718aa74a21ddd2615515848ce5a9a7 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Fri, 5 Nov 2021 20:53:39 +0900 Subject: [PATCH 03/16] common array: + exception handling. properly handle if the realloc() is failed. @Isssue: https://github.com/Samsung/thorvg/issues/995 --- src/lib/tvgArray.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/lib/tvgArray.h b/src/lib/tvgArray.h index 7283a83..d04e68e 100644 --- a/src/lib/tvgArray.h +++ b/src/lib/tvgArray.h @@ -38,7 +38,12 @@ struct Array { if (count + 1 > reserved) { reserved = (count + 1) * 2; + auto p = data; data = static_cast(realloc(data, sizeof(T) * reserved)); + if (!data) { + data = p; + return; + } } data[count++] = element; } @@ -47,8 +52,12 @@ struct Array { if (size > reserved) { reserved = size; + auto p = data; data = static_cast(realloc(data, sizeof(T) * reserved)); - if (!data) return false; + if (!data) { + data = p; + return false; + } } return true; } -- 2.7.4 From 1ce4cc6d90cb5f3724790248a866a459c5f27651 Mon Sep 17 00:00:00 2001 From: JunsuChoi Date: Mon, 8 Nov 2021 15:05:16 +0900 Subject: [PATCH 04/16] tvg_saver TvgSaver: Initialize local value If paint has no path information or stroke information, it is not referenced inside bounds. This will access the uninitialized variable at line 759, 760. --- src/savers/tvg/tvgTvgSaver.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/savers/tvg/tvgTvgSaver.cpp b/src/savers/tvg/tvgTvgSaver.cpp index e206994..d7c9798 100644 --- a/src/savers/tvg/tvgTvgSaver.cpp +++ b/src/savers/tvg/tvgTvgSaver.cpp @@ -752,6 +752,7 @@ bool TvgSaver::save(Paint* paint, const string& path, bool compress) if (!this->path) return false; float x, y; + x = y = 0; paint->bounds(&x, &y, &vsize[0], &vsize[1], false); //cut off the negative space -- 2.7.4 From 5bd34f0ff7e8cf3715b1c56720a7899efa804419 Mon Sep 17 00:00:00 2001 From: JunsuChoi Date: Mon, 8 Nov 2021 14:15:59 +0900 Subject: [PATCH 05/16] test Array: Remove too big size test On large memory machines, if machine have enough memory, tests failed because it doesn't return null. --- test/capi/capiScene.cpp | 3 --- test/testScene.cpp | 3 --- test/testSwCanvasBase.cpp | 3 --- 3 files changed, 9 deletions(-) diff --git a/test/capi/capiScene.cpp b/test/capi/capiScene.cpp index 892630c..dceb55d 100644 --- a/test/capi/capiScene.cpp +++ b/test/capi/capiScene.cpp @@ -59,9 +59,6 @@ TEST_CASE("Scene Reservation", "[capiScene]") REQUIRE(tvg_scene_reserve(scene, 100) == TVG_RESULT_SUCCESS); REQUIRE(tvg_scene_reserve(scene, 0) == TVG_RESULT_SUCCESS); - //Too big size - REQUIRE(tvg_scene_reserve(scene, -1) == TVG_RESULT_FAILED_ALLOCATION); - //Invalid scene REQUIRE(tvg_scene_reserve(NULL, 1) == TVG_RESULT_INVALID_ARGUMENT); diff --git a/test/testScene.cpp b/test/testScene.cpp index 5c33fbd..021dc55 100644 --- a/test/testScene.cpp +++ b/test/testScene.cpp @@ -63,9 +63,6 @@ TEST_CASE("Scene Memory Reservation", "[tvgScene]") REQUIRE(scene->reserve(1000) == Result::Success); REQUIRE(scene->reserve(100) == Result::Success); REQUIRE(scene->reserve(0) == Result::Success); - - //Too Big Size - REQUIRE(scene->reserve(UINT32_MAX) == Result::FailedAllocation); } TEST_CASE("Scene Clear", "[tvgScene]") diff --git a/test/testSwCanvasBase.cpp b/test/testSwCanvasBase.cpp index 9bd7174..606c2f8 100644 --- a/test/testSwCanvasBase.cpp +++ b/test/testSwCanvasBase.cpp @@ -39,9 +39,6 @@ TEST_CASE("Memory Reservation", "[tvgSwCanvasBase]") REQUIRE(canvas->reserve(100) == Result::Success); REQUIRE(canvas->reserve(0) == Result::Success); - //Too big size - REQUIRE(canvas->reserve(UINT32_MAX) == Result::FailedAllocation); - REQUIRE(Initializer::term(CanvasEngine::Sw) == Result::Success); } -- 2.7.4 From b101d611ae7dbde1d5149a2350e6207c5e4fbf3b Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Fri, 5 Nov 2021 21:04:51 +0900 Subject: [PATCH 06/16] common: ++exception handling. fix the memory leak in the corner case detected by tvg test suites @Issue: https://github.com/Samsung/thorvg/issues/995 --- src/lib/tvgSaver.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/lib/tvgSaver.cpp b/src/lib/tvgSaver.cpp index ffa2bf1..dc240d0 100644 --- a/src/lib/tvgSaver.cpp +++ b/src/lib/tvgSaver.cpp @@ -110,9 +110,12 @@ Result Saver::save(std::unique_ptr paint, const string& path, bool compre pImpl->saveModule = saveModule; return Result::Success; } else { + delete(p); + delete(saveModule); return Result::Unknown; } } + delete(p); return Result::NonSupport; } -- 2.7.4 From d42d165bb72535bca6344fdb63880b79669cee86 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Tue, 9 Nov 2021 14:11:53 +0900 Subject: [PATCH 07/16] test initializer: remove a invalid test case. This test depends on the machine environment. it's not guaranteed the same result so we remove it. --- test/testInitializer.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/test/testInitializer.cpp b/test/testInitializer.cpp index 9eec0b9..78ff2ef 100644 --- a/test/testInitializer.cpp +++ b/test/testInitializer.cpp @@ -48,12 +48,6 @@ TEST_CASE("Negative termination", "[tvgInitializer]") REQUIRE(Initializer::term(CanvasEngine::Sw) == Result::InsufficientCondition); } -TEST_CASE("Many threads", "[tvgInitializer]") -{ - REQUIRE(Initializer::init(CanvasEngine::Sw, -1) == Result::FailedAllocation); - REQUIRE(Initializer::term(CanvasEngine::Sw) == Result::InsufficientCondition); -} - TEST_CASE("Invalid engine", "[tvgInitializer]") { REQUIRE(Initializer::init(CanvasEngine(0), 0) == Result::InvalidArguments); -- 2.7.4 From 930112837e02b69228ffb3af711cef3e6fd109dc Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Tue, 9 Nov 2021 14:32:04 +0900 Subject: [PATCH 08/16] common paint: fix a memory leak. delete dangling object properly in the corner case. Unfortunately, this brings to correct the capi test cases. we assume the paints is deleted whenever its result is successful or not. @Issue: https://github.com/Samsung/thorvg/issues/995 --- src/lib/tvgPaint.cpp | 4 +++- test/capi/capiPaint.cpp | 18 ++++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/lib/tvgPaint.cpp b/src/lib/tvgPaint.cpp index f52a0ff..60e3bfd 100644 --- a/src/lib/tvgPaint.cpp +++ b/src/lib/tvgPaint.cpp @@ -353,7 +353,9 @@ Paint* Paint::duplicate() const noexcept Result Paint::composite(std::unique_ptr target, CompositeMethod method) noexcept { - if (pImpl->composite(target.release(), method)) return Result::Success; + auto p = target.release(); + if (pImpl->composite(p, method)) return Result::Success; + if (p) delete(p); return Result::InvalidArguments; } diff --git a/test/capi/capiPaint.cpp b/test/capi/capiPaint.cpp index d8feff2..8cbb102 100644 --- a/test/capi/capiPaint.cpp +++ b/test/capi/capiPaint.cpp @@ -216,18 +216,24 @@ TEST_CASE("Paint Clip Path Composite Method", "[capiPaint]") REQUIRE(target); REQUIRE(tvg_paint_set_composite_method(paint, NULL, TVG_COMPOSITE_METHOD_NONE) == TVG_RESULT_SUCCESS); - REQUIRE(tvg_paint_set_composite_method(paint, target, TVG_COMPOSITE_METHOD_NONE) == TVG_RESULT_INVALID_ARGUMENT); + + Tvg_Paint* target2 = tvg_shape_new(); + REQUIRE(target2); + REQUIRE(tvg_paint_set_composite_method(paint, target2, TVG_COMPOSITE_METHOD_NONE) == TVG_RESULT_INVALID_ARGUMENT); REQUIRE(tvg_paint_set_composite_method(paint, NULL, TVG_COMPOSITE_METHOD_CLIP_PATH) == TVG_RESULT_INVALID_ARGUMENT); - REQUIRE(tvg_paint_set_composite_method(paint, target, TVG_COMPOSITE_METHOD_CLIP_PATH) == TVG_RESULT_SUCCESS); - const Tvg_Paint* target2 = nullptr; + Tvg_Paint* target3 = tvg_shape_new(); + REQUIRE(target3); + REQUIRE(tvg_paint_set_composite_method(paint, target3, TVG_COMPOSITE_METHOD_CLIP_PATH) == TVG_RESULT_SUCCESS); + + const Tvg_Paint* target4 = nullptr; Tvg_Composite_Method method = TVG_COMPOSITE_METHOD_NONE; REQUIRE(tvg_paint_get_composite_method(paint, NULL, &method) == TVG_RESULT_INVALID_ARGUMENT); - REQUIRE(tvg_paint_get_composite_method(paint, &target2, NULL) == TVG_RESULT_INVALID_ARGUMENT); - REQUIRE(tvg_paint_get_composite_method(paint, &target2, &method) == TVG_RESULT_SUCCESS); + REQUIRE(tvg_paint_get_composite_method(paint, &target4, NULL) == TVG_RESULT_INVALID_ARGUMENT); + REQUIRE(tvg_paint_get_composite_method(paint, &target4, &method) == TVG_RESULT_SUCCESS); REQUIRE(method == TVG_COMPOSITE_METHOD_CLIP_PATH); - REQUIRE(target == target2); + REQUIRE(target3 == target4); REQUIRE(tvg_paint_del(paint) == TVG_RESULT_SUCCESS); } -- 2.7.4 From 119caf3936ebeba406722b11988f2fa326700bb2 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Tue, 9 Nov 2021 14:52:29 +0900 Subject: [PATCH 09/16] Revert "test capi: fix memory leak." This reverts commit 651a98a2d899620bd74a0162127bbdfe572368c6. Applied the alternative solution instead of this patch. 37e39866dd81eb1ec57b887aebd7a58b5d26a781 --- test/capi/capiSavers.cpp | 2 -- test/images/tag.tvg | Bin 1838 -> 1829 bytes 2 files changed, 2 deletions(-) diff --git a/test/capi/capiSavers.cpp b/test/capi/capiSavers.cpp index 92fbda7..92dbf27 100644 --- a/test/capi/capiSavers.cpp +++ b/test/capi/capiSavers.cpp @@ -69,8 +69,6 @@ TEST_CASE("Save a paint into a file", "[capiSaver]") REQUIRE(tvg_saver_save(saver, paint3, TEST_DIR"/test.tvg", false) == TVG_RESULT_INSUFFICIENT_CONDITION); REQUIRE(tvg_saver_del(saver) == TVG_RESULT_SUCCESS); - - tvg_paint_del(paint_empty); } TEST_CASE("Synchronize a Saver", "[capiSaver]") diff --git a/test/images/tag.tvg b/test/images/tag.tvg index 5d76b960e9e91b6fad7266a5ab7858450bfb1876..3e88cf13d685f713f0dc3fe0d9d7c606ed668732 100644 GIT binary patch delta 1802 zcmV+l2le=_4y6u|6@P~f000CB000{}00903H2?s>-#G#UVH_N&5I{dg0|5w`0uc-Z zh!-&e0QBRc7>gO9VCnL2;KmX!YWyQZ0-_ggCx%?ClV(~>h^TO^5Hir0&5R{~0BHfS z07QlX1SAD8vnJ0W(pF6%;uNaX3TJ9E9dfm1KQ$1E1b`SIh$9DxQWy>d5d@0ZfdZnq z1t4Hb+JWYVFeC}!pHQMk$0ij3K#{i|e{#(^geZ~X$DbEBb~Jr4^p18g9ql(G*${{ZYFe-|Ez zU{DALA#~%9V1`g|2n#U;FQSRYTTQ_821*Ykk=XkIw)Y@H;+_Zsgb17^^4qV!|6=@U zz~TTn4uGQs8)(KG0hFc-IEWO&NF+IoX~-r$6b}IM$^%L@^-z4xJ=q2V;>8>f z2GWl|3Cr8@FXRpkGR!e0Tm%gzelZYk*_{1#`1#qBOoxMf0b2@fJGKt z!h&nWCI)7uWZZIX8e&#VY-(awPSSn%+<{1$7l3*PLSkK;s0BdWd}l>vUO)sMhzpy3 zvFYG}5*|o}S!J>5VT~dlh=y5jvFT!sG9E|@n_#i&}4n+*eu`p?DQ-c{1g!llI z4z~4~z#a|kG{~uk&;c73G+RL`t+`HCDvh9+3J|K{{?3$~ckbD|l7a?c=%Noi`l6(l z=8H=J#z`XTi^#r66D)240*(->=-NCWj)3R@&65k2?8z&qMr|TMe@|N~bClqM2(nRE z{d3A!PlM{xU$49$Z}1+7XP@~NnrOKK5F8@Hhl8kT06JNsfgIt%0UF!1sOEwo%u!|w z%OM)@56%a2AkzT^&=df75ZPvk>aQo?eDsO%q5^7$Kt!D`Vy8NUU%nus`RDr~L5%u` z5Q$Tq0e}J|py;Gxe?Zd_L4nz!01^1%zXjeef8wZu1c)F%`e}d@4j=;iIOsw41t1#` z0n}Lf;S7jG3L||121HC#f$xdWQ({w!vo5l%uDL2&#|qA^hNVLt4hx6i>LC#!GDM63 z5h6W2;u39B9%MnJTRX%a5*ZhqDGsY2F@OjVSP(WK-S9M9e*_m6sra2GK*UfUL(~rx z^_I9S%26$3;YIqQfko}HO;Ti4KZe1^HXQ0&aqQF_4@3nJO-V$jNey}$34rxzDK_wd z$RDBzju3PW96`_s5w19#JN|=|eesFSHg_QLX)-uSmRfSVFEs>vdtMKP+;f!wj9Dfwtf zM><29e*t0#XGO(4d~jC3jcKMe#bt0PdRSEKbfthrs@(eOR+%yY2aiow4Vd~<%t93i zm@VvND{EE0o>i+{Md4THY8SqIZLFQ^(q@67(!mP$u#&y(W8pfGjDmF_b?pmC2O`pe zkTjnrO_me77$dBYE7GqSh+cOu{=eEe{wAg1msE<3(RmRTMwF9egc4^;r(oP z9U9x8ZdbjfRZCY<3xGQskF{Z|AwSit5$B3_zu-kEQTs6o-U2`bBA7v6wl|Pe0>FDE z)zo0XPzU-2q5vxWga^Q|Ct_627)B@q5p1B0DG;F$8BhZeEWv`x5rG|UAc8#{5zGVp zTtE&)=m9=dI^!BwgCF_RF%jAjfDg0S#k5dE8c1wnB2b_iC+_fv>F@$J5CIezCISy? saN-ElF9r1YFe}(F1|l@0$3*xHL^9!CdBS(V^cAapOC=mLRxu;40yQ$`cK`qY delta 1811 zcmV+u2kiKz4z3Q66@S0091`H2?s>AC3Y8VGtMyK;giCiWUl)vJeb} zg%>db0QBRc7>gO9VCnL2;KmX!YWyQZVxbpqCx%?ClV)1Xg{W|>5Hir0&5R{~0BN!C z;J}6e0tiqFU}jC8L!_;mK;&uEsTI!DY&ryM&3%D} zc?&?m6tx4*4LM2@z(1ix7amQzRFStHe{;<}j5u*%#h)2BcKnDjUDOb_fy>5j{{M z#nr=!tNz)VuSt|DSq|(%0-xC4k=pwKHux4o;+_ZuTnL;c^yAMz0Au`# zK;r;FPO#+$n(@W}rRf5WA%!UNNDgBXl1UFi1i&=(fKm@66kmH!wt;|nF~Yx zRRBD-)zodmu<2F+fQYqLE?e~ph*MKNwbzVtU8tWO7J_u3f2j3~M<3a|e+USSRvlHN zTYug5Hu2(!_O8Bw7-OLY7E*xC<$xTh5t|rLl@faGwP^@dF|nx$RXNcYV0;H6g- z9ta73ZCVz9c@-X_pFzxxv<^!bV&GkP;{^m2f<3m03!8osnPi((P*oO`Rkn!+Rc~<_ zW}Bq22^N}dwkZRfa?zP*e|-HhfKvbxT4-nh`e7uZDi#VuAeIN(O(o_IV0dNPAZH72Mef#m(p9n81 zK#d_FLLFTw-Vj3Ye~T{=;d|lh2MNS*z(}0p3=*VZ?uanK3f68a8YBXDC_n^$KoElo zT%b6rAORu}(104?gae4+KNrH#e*wtGLjFXSemJ9I81V}*7P6WO#BWnb0n%WYQ>=>! z3vQ)Cmal~4DqS&=iMmqaxSnXmg;WtEQe4Orv)D!3pyyW$e*sq$)u+YJ38##@>PHL~ z0t6NuXiarn%5d5^E;X7_JWC+dSq74pxFrfMa#2*Hd?>Ap_(cPXa%A1eII4aOgHUZS zR7QY6NTe7NQ&b?0ltgrzs11aA3t>-|Vw1gr{9%mX2m#!{5d@78A&taQWVQU_lcTu~ zQ}lDCaF9S1e-N~waJ1Bj4T?z>V2DX!!f8U`mOvFSSOJ<;0Yw;qDIR4IiVl~=2oR{i zwB|L=YmlRw)utCp09bF7EV>92as+^1UZffBa03ulp^75ZawAn}ToM-o3RwbxEw`)| z5OnE2r1xiyzz72lydz6skQ9fDv$rwP&$(A=aAPkM0Nvt^$Ls04OS5 zj|!}(f6CRWC{-y-U78Y@4x~~8xzs{w3WyzyHK+6N0b?a6rl1aWnZhw?Wl@pT#y(cB zgWq^{YcxdfTG})-RJHtV|J0KVUh5v8b3ue-vO#g|7}35Zdi(cTa0w>~?m#R>cA{ zK%{iwQM$9dtQ*@wY+9U>sr)mTL9p8TDrxS9RaFQ`hr)u1Xiy@)!UCr09FJu z@Jss!!bI8-QXLE!hyvjB6CMDAo```uV;G?fM6iJ}ra**3WIzo>umlTGM+A1b zWq}Cxa0E3E@B=vzp$GWDX^wYX4Sp;T$V6yE07@)l8q-1zX;3kXi9ms7w0OiNro#)^ zKm<^Dmq*P^7 B3`+n2 -- 2.7.4 From 92424cb75a1756eae023d0279fdd0be1c1172bf2 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Tue, 9 Nov 2021 15:05:55 +0900 Subject: [PATCH 10/16] test capi: fix the memory leak. target is dangled without any proper deletion... --- test/capi/capiPaint.cpp | 18 +++++++----------- test/images/tag.tvg | Bin 1829 -> 1838 bytes 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/test/capi/capiPaint.cpp b/test/capi/capiPaint.cpp index 8cbb102..c0b17af 100644 --- a/test/capi/capiPaint.cpp +++ b/test/capi/capiPaint.cpp @@ -216,24 +216,20 @@ TEST_CASE("Paint Clip Path Composite Method", "[capiPaint]") REQUIRE(target); REQUIRE(tvg_paint_set_composite_method(paint, NULL, TVG_COMPOSITE_METHOD_NONE) == TVG_RESULT_SUCCESS); + REQUIRE(tvg_paint_set_composite_method(paint, target, TVG_COMPOSITE_METHOD_NONE) == TVG_RESULT_INVALID_ARGUMENT); + REQUIRE(tvg_paint_set_composite_method(paint, NULL, TVG_COMPOSITE_METHOD_CLIP_PATH) == TVG_RESULT_INVALID_ARGUMENT); Tvg_Paint* target2 = tvg_shape_new(); REQUIRE(target2); - REQUIRE(tvg_paint_set_composite_method(paint, target2, TVG_COMPOSITE_METHOD_NONE) == TVG_RESULT_INVALID_ARGUMENT); - - REQUIRE(tvg_paint_set_composite_method(paint, NULL, TVG_COMPOSITE_METHOD_CLIP_PATH) == TVG_RESULT_INVALID_ARGUMENT); - - Tvg_Paint* target3 = tvg_shape_new(); - REQUIRE(target3); - REQUIRE(tvg_paint_set_composite_method(paint, target3, TVG_COMPOSITE_METHOD_CLIP_PATH) == TVG_RESULT_SUCCESS); + REQUIRE(tvg_paint_set_composite_method(paint, target2, TVG_COMPOSITE_METHOD_CLIP_PATH) == TVG_RESULT_SUCCESS); - const Tvg_Paint* target4 = nullptr; + const Tvg_Paint* target3 = nullptr; Tvg_Composite_Method method = TVG_COMPOSITE_METHOD_NONE; REQUIRE(tvg_paint_get_composite_method(paint, NULL, &method) == TVG_RESULT_INVALID_ARGUMENT); - REQUIRE(tvg_paint_get_composite_method(paint, &target4, NULL) == TVG_RESULT_INVALID_ARGUMENT); - REQUIRE(tvg_paint_get_composite_method(paint, &target4, &method) == TVG_RESULT_SUCCESS); + REQUIRE(tvg_paint_get_composite_method(paint, &target3, NULL) == TVG_RESULT_INVALID_ARGUMENT); + REQUIRE(tvg_paint_get_composite_method(paint, &target3, &method) == TVG_RESULT_SUCCESS); REQUIRE(method == TVG_COMPOSITE_METHOD_CLIP_PATH); - REQUIRE(target3 == target4); + REQUIRE(target2 == target3); REQUIRE(tvg_paint_del(paint) == TVG_RESULT_SUCCESS); } diff --git a/test/images/tag.tvg b/test/images/tag.tvg index 3e88cf13d685f713f0dc3fe0d9d7c606ed668732..5d76b960e9e91b6fad7266a5ab7858450bfb1876 100644 GIT binary patch delta 1811 zcmV+u2kiKz4z3Q66@S0091`H2?s>AC3Y8VGtMyK;giCiWUl)vJeb} zg%>db0QBRc7>gO9VCnL2;KmX!YWyQZVxbpqCx%?ClV)1Xg{W|>5Hir0&5R{~0BN!C z;J}6e0tiqFU}jC8L!_;mK;&uEsTI!DY&ryM&3%D} zc?&?m6tx4*4LM2@z(1ix7amQzRFStHe{;<}j5u*%#h)2BcKnDjUDOb_fy>5j{{M z#nr=!tNz)VuSt|DSq|(%0-xC4k=pwKHux4o;+_ZuTnL;c^yAMz0Au`# zK;r;FPO#+$n(@W}rRf5WA%!UNNDgBXl1UFi1i&=(fKm@66kmH!wt;|nF~Yx zRRBD-)zodmu<2F+fQYqLE?e~ph*MKNwbzVtU8tWO7J_u3f2j3~M<3a|e+USSRvlHN zTYug5Hu2(!_O8Bw7-OLY7E*xC<$xTh5t|rLl@faGwP^@dF|nx$RXNcYV0;H6g- z9ta73ZCVz9c@-X_pFzxxv<^!bV&GkP;{^m2f<3m03!8osnPi((P*oO`Rkn!+Rc~<_ zW}Bq22^N}dwkZRfa?zP*e|-HhfKvbxT4-nh`e7uZDi#VuAeIN(O(o_IV0dNPAZH72Mef#m(p9n81 zK#d_FLLFTw-Vj3Ye~T{=;d|lh2MNS*z(}0p3=*VZ?uanK3f68a8YBXDC_n^$KoElo zT%b6rAORu}(104?gae4+KNrH#e*wtGLjFXSemJ9I81V}*7P6WO#BWnb0n%WYQ>=>! z3vQ)Cmal~4DqS&=iMmqaxSnXmg;WtEQe4Orv)D!3pyyW$e*sq$)u+YJ38##@>PHL~ z0t6NuXiarn%5d5^E;X7_JWC+dSq74pxFrfMa#2*Hd?>Ap_(cPXa%A1eII4aOgHUZS zR7QY6NTe7NQ&b?0ltgrzs11aA3t>-|Vw1gr{9%mX2m#!{5d@78A&taQWVQU_lcTu~ zQ}lDCaF9S1e-N~waJ1Bj4T?z>V2DX!!f8U`mOvFSSOJ<;0Yw;qDIR4IiVl~=2oR{i zwB|L=YmlRw)utCp09bF7EV>92as+^1UZffBa03ulp^75ZawAn}ToM-o3RwbxEw`)| z5OnE2r1xiyzz72lydz6skQ9fDv$rwP&$(A=aAPkM0Nvt^$Ls04OS5 zj|!}(f6CRWC{-y-U78Y@4x~~8xzs{w3WyzyHK+6N0b?a6rl1aWnZhw?Wl@pT#y(cB zgWq^{YcxdfTG})-RJHtV|J0KVUh5v8b3ue-vO#g|7}35Zdi(cTa0w>~?m#R>cA{ zK%{iwQM$9dtQ*@wY+9U>sr)mTL9p8TDrxS9RaFQ`hr)u1Xiy@)!UCr09FJu z@Jss!!bI8-QXLE!hyvjB6CMDAo```uV;G?fM6iJ}ra**3WIzo>umlTGM+A1b zWq}Cxa0E3E@B=vzp$GWDX^wYX4Sp;T$V6yE07@)l8q-1zX;3kXi9ms7w0OiNro#)^ zKm<^Dmq*P^7 B3`+n2 delta 1802 zcmV+l2le=_4y6u|6@P~f000CB000{}00903H2?s>-#G#UVH_N&5I{dg0|5w`0uc-Z zh!-&e0QBRc7>gO9VCnL2;KmX!YWyQZ0-_ggCx%?ClV(~>h^TO^5Hir0&5R{~0BHfS z07QlX1SAD8vnJ0W(pF6%;uNaX3TJ9E9dfm1KQ$1E1b`SIh$9DxQWy>d5d@0ZfdZnq z1t4Hb+JWYVFeC}!pHQMk$0ij3K#{i|e{#(^geZ~X$DbEBb~Jr4^p18g9ql(G*${{ZYFe-|Ez zU{DALA#~%9V1`g|2n#U;FQSRYTTQ_821*Ykk=XkIw)Y@H;+_Zsgb17^^4qV!|6=@U zz~TTn4uGQs8)(KG0hFc-IEWO&NF+IoX~-r$6b}IM$^%L@^-z4xJ=q2V;>8>f z2GWl|3Cr8@FXRpkGR!e0Tm%gzelZYk*_{1#`1#qBOoxMf0b2@fJGKt z!h&nWCI)7uWZZIX8e&#VY-(awPSSn%+<{1$7l3*PLSkK;s0BdWd}l>vUO)sMhzpy3 zvFYG}5*|o}S!J>5VT~dlh=y5jvFT!sG9E|@n_#i&}4n+*eu`p?DQ-c{1g!llI z4z~4~z#a|kG{~uk&;c73G+RL`t+`HCDvh9+3J|K{{?3$~ckbD|l7a?c=%Noi`l6(l z=8H=J#z`XTi^#r66D)240*(->=-NCWj)3R@&65k2?8z&qMr|TMe@|N~bClqM2(nRE z{d3A!PlM{xU$49$Z}1+7XP@~NnrOKK5F8@Hhl8kT06JNsfgIt%0UF!1sOEwo%u!|w z%OM)@56%a2AkzT^&=df75ZPvk>aQo?eDsO%q5^7$Kt!D`Vy8NUU%nus`RDr~L5%u` z5Q$Tq0e}J|py;Gxe?Zd_L4nz!01^1%zXjeef8wZu1c)F%`e}d@4j=;iIOsw41t1#` z0n}Lf;S7jG3L||121HC#f$xdWQ({w!vo5l%uDL2&#|qA^hNVLt4hx6i>LC#!GDM63 z5h6W2;u39B9%MnJTRX%a5*ZhqDGsY2F@OjVSP(WK-S9M9e*_m6sra2GK*UfUL(~rx z^_I9S%26$3;YIqQfko}HO;Ti4KZe1^HXQ0&aqQF_4@3nJO-V$jNey}$34rxzDK_wd z$RDBzju3PW96`_s5w19#JN|=|eesFSHg_QLX)-uSmRfSVFEs>vdtMKP+;f!wj9Dfwtf zM><29e*t0#XGO(4d~jC3jcKMe#bt0PdRSEKbfthrs@(eOR+%yY2aiow4Vd~<%t93i zm@VvND{EE0o>i+{Md4THY8SqIZLFQ^(q@67(!mP$u#&y(W8pfGjDmF_b?pmC2O`pe zkTjnrO_me77$dBYE7GqSh+cOu{=eEe{wAg1msE<3(RmRTMwF9egc4^;r(oP z9U9x8ZdbjfRZCY<3xGQskF{Z|AwSit5$B3_zu-kEQTs6o-U2`bBA7v6wl|Pe0>FDE z)zo0XPzU-2q5vxWga^Q|Ct_627)B@q5p1B0DG;F$8BhZeEWv`x5rG|UAc8#{5zGVp zTtE&)=m9=dI^!BwgCF_RF%jAjfDg0S#k5dE8c1wnB2b_iC+_fv>F@$J5CIezCISy? saN-ElF9r1YFe}(F1|l@0$3*xHL^9!CdBS(V^cAapOC=mLRxu;40yQ$`cK`qY -- 2.7.4 From ff3c0b2750d0473da3538ff938907a57a6618c76 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Tue, 9 Nov 2021 16:09:44 +0900 Subject: [PATCH 11/16] sw_engine renderer: code refactoring free the member resources in the destructor. --- src/lib/sw_engine/tvgSwRenderer.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/lib/sw_engine/tvgSwRenderer.cpp b/src/lib/sw_engine/tvgSwRenderer.cpp index e425420..c8209f7 100644 --- a/src/lib/sw_engine/tvgSwRenderer.cpp +++ b/src/lib/sw_engine/tvgSwRenderer.cpp @@ -56,6 +56,11 @@ struct SwTask : Task } virtual bool dispose() = 0; + + virtual ~SwTask() + { + free(transform); + } }; @@ -536,10 +541,8 @@ bool SwRenderer::dispose(RenderData data) { auto task = static_cast(data); if (!task) return true; - task->done(); task->dispose(); - if (task->transform) free(task->transform); delete(task); return true; -- 2.7.4 From b60a00ffc492697b433fbbaee6ed814a2cbfca93 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Tue, 9 Nov 2021 17:11:10 +0900 Subject: [PATCH 12/16] tvg_loader: fix asan report. revert c31c77c0fb884f79c6d52b5971f21be6fe4e92f2 memory mis-alignment is detected by asan tool. --- src/loaders/tvg/tvgTvgBinInterpreter.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/loaders/tvg/tvgTvgBinInterpreter.cpp b/src/loaders/tvg/tvgTvgBinInterpreter.cpp index 5469494..383ae89 100644 --- a/src/loaders/tvg/tvgTvgBinInterpreter.cpp +++ b/src/loaders/tvg/tvgTvgBinInterpreter.cpp @@ -87,8 +87,9 @@ static bool _parsePaintProperty(TvgBinBlock block, Paint *paint) } case TVG_TAG_PAINT_TRANSFORM: { if (block.length != SIZE(Matrix)) return false; - auto transform = (Matrix*)(block.data); - paint->transform(*transform); + Matrix matrix; + memcpy(&matrix, block.data, SIZE(Matrix)); + paint->transform(matrix); return true; } case TVG_TAG_PAINT_CMP_TARGET: { @@ -226,8 +227,9 @@ static unique_ptr _parseShapeFill(const char *ptr, const char *end) } case TVG_TAG_FILL_TRANSFORM: { if (!fillGrad || block.length != SIZE(Matrix)) return nullptr; - auto transform = (Matrix*)(block.data); - fillGrad->transform(*transform); + Matrix gradTransform; + memcpy(&gradTransform, block.data, SIZE(Matrix)); + fillGrad->transform(gradTransform); break; } default: { -- 2.7.4 From 67bdac3d278e871fbc7f7669e55b5a8596b7d30c Mon Sep 17 00:00:00 2001 From: Mira Grudzinska Date: Sat, 6 Nov 2021 09:59:29 +0100 Subject: [PATCH 13/16] tvg_saver: fix memory leaks In the cae when Result::InsufficientCondition was retured by the save() api, the user had to remember to delete the passed paint - fixed. Also path was not released. --- src/lib/tvgSaver.cpp | 9 ++++++--- src/savers/tvg/tvgTvgSaver.cpp | 6 +++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/lib/tvgSaver.cpp b/src/lib/tvgSaver.cpp index dc240d0..1a3e861 100644 --- a/src/lib/tvgSaver.cpp +++ b/src/lib/tvgSaver.cpp @@ -99,12 +99,15 @@ Saver::~Saver() Result Saver::save(std::unique_ptr paint, const string& path, bool compress) noexcept { - //Already on saving an other resource. - if (pImpl->saveModule) return Result::InsufficientCondition; - auto p = paint.release(); if (!p) return Result::MemoryCorruption; + //Already on saving an other resource. + if (pImpl->saveModule) { + delete(p); + return Result::InsufficientCondition; + } + if (auto saveModule = _find(path)) { if (saveModule->save(p, path, compress)) { pImpl->saveModule = saveModule; diff --git a/src/savers/tvg/tvgTvgSaver.cpp b/src/savers/tvg/tvgTvgSaver.cpp index d7c9798..f1648fb 100644 --- a/src/savers/tvg/tvgTvgSaver.cpp +++ b/src/savers/tvg/tvgTvgSaver.cpp @@ -748,9 +748,6 @@ bool TvgSaver::save(Paint* paint, const string& path, bool compress) { close(); - this->path = strdup(path.c_str()); - if (!this->path) return false; - float x, y; x = y = 0; paint->bounds(&x, &y, &vsize[0], &vsize[1], false); @@ -764,6 +761,9 @@ bool TvgSaver::save(Paint* paint, const string& path, bool compress) return false; } + this->path = strdup(path.c_str()); + if (!this->path) return false; + this->paint = paint; this->compress = compress; -- 2.7.4 From 01fbfe5bf92b1cdc145f3a56b2ab447345f68df9 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Tue, 9 Nov 2021 16:50:20 +0900 Subject: [PATCH 14/16] sw_engine renderer: fix the invalid memory access in the corner case. Tasks can be disposed while the renderer referencing it. Now, we can delete the tasks with lazy approach by introducing some tags. @Issue: https://github.com/Samsung/thorvg/issues/995 --- src/lib/sw_engine/tvgSwRenderer.cpp | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/src/lib/sw_engine/tvgSwRenderer.cpp b/src/lib/sw_engine/tvgSwRenderer.cpp index c8209f7..02afb5f 100644 --- a/src/lib/sw_engine/tvgSwRenderer.cpp +++ b/src/lib/sw_engine/tvgSwRenderer.cpp @@ -41,6 +41,8 @@ struct SwTask : Task Array clips; uint32_t opacity; SwBBox bbox = {{0, 0}, {0, 0}}; //Whole Rendering Region + bool pushed = false; //Pushed into task list? + bool disposed = false; //Disposed task? RenderRegion bounds() const { @@ -249,7 +251,14 @@ SwRenderer::~SwRenderer() bool SwRenderer::clear() { - for (auto task = tasks.data; task < (tasks.data + tasks.count); ++task) (*task)->done(); + for (auto task = tasks.data; task < (tasks.data + tasks.count); ++task) { + if ((*task)->disposed) { + delete(*task); + } else { + (*task)->done(); + (*task)->pushed = false; + } + } tasks.clear(); if (!sharedMpool) mpoolClear(mpool); @@ -328,7 +337,11 @@ bool SwRenderer::postRender() rasterUnpremultiply(surface); } + for (auto task = tasks.data; task < (tasks.data + tasks.count); ++task) { + (*task)->pushed = false; + } tasks.clear(); + clearCompositors(); return true; } @@ -543,7 +556,9 @@ bool SwRenderer::dispose(RenderData data) if (!task) return true; task->done(); task->dispose(); - delete(task); + + if (task->pushed) task->disposed = true; + else delete(task); return true; } @@ -582,7 +597,11 @@ void* SwRenderer::prepareCommon(SwTask* task, const RenderTransform* transform, task->bbox.max.x = min(static_cast(surface->w), static_cast(vport.x + vport.w)); task->bbox.max.y = min(static_cast(surface->h), static_cast(vport.y + vport.h)); - tasks.push(task); + if (!task->pushed) { + task->pushed = true; + tasks.push(task); + } + TaskScheduler::request(task); return task; -- 2.7.4 From 8d58a7e8ddfc3c580c80d5486b0c5916300d9a29 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Wed, 10 Nov 2021 11:06:44 +0900 Subject: [PATCH 15/16] Remove html to avoid annoying license violation detection Change-Id: I394457f423c0de912dd3d5eeb7b1515fc18158b5 --- docs/html/annotated.html | 102 - docs/html/classes.html | 132 -- docs/html/classtvg_1_1Canvas-members.html | 92 - docs/html/classtvg_1_1Canvas.html | 343 ---- docs/html/classtvg_1_1Fill-members.html | 94 - docs/html/classtvg_1_1Fill.html | 413 ---- docs/html/classtvg_1_1GlCanvas-members.html | 94 - docs/html/classtvg_1_1GlCanvas.html | 217 -- docs/html/classtvg_1_1Initializer-members.html | 88 - docs/html/classtvg_1_1Initializer.html | 206 -- docs/html/classtvg_1_1LinearGradient-members.html | 98 - docs/html/classtvg_1_1LinearGradient.html | 328 --- docs/html/classtvg_1_1Paint-members.html | 99 - docs/html/classtvg_1_1Paint.html | 673 ------- docs/html/classtvg_1_1Paint__inherit__graph.map | 6 - docs/html/classtvg_1_1Paint__inherit__graph.md5 | 1 - docs/html/classtvg_1_1Picture-members.html | 109 - docs/html/classtvg_1_1Picture.html | 653 ------ docs/html/classtvg_1_1Picture__inherit__graph.map | 4 - docs/html/classtvg_1_1Picture__inherit__graph.md5 | 1 - docs/html/classtvg_1_1RadialGradient-members.html | 98 - docs/html/classtvg_1_1RadialGradient.html | 312 --- docs/html/classtvg_1_1Saver-members.html | 89 - docs/html/classtvg_1_1Saver.html | 247 --- docs/html/classtvg_1_1Scene-members.html | 104 - docs/html/classtvg_1_1Scene.html | 335 --- docs/html/classtvg_1_1Shape-members.html | 130 -- docs/html/classtvg_1_1Shape.html | 1603 --------------- docs/html/classtvg_1_1SwCanvas-members.html | 104 - docs/html/classtvg_1_1SwCanvas.html | 358 ---- .../html/dir_8af83c0dc83a45a35ca6968cdc29a7af.html | 92 - docs/html/functions.html | 356 ---- docs/html/functions_enum.html | 83 - docs/html/functions_eval.html | 98 - docs/html/functions_func.html | 309 --- docs/html/functions_vars.html | 97 - docs/html/graph_legend.html | 139 -- docs/html/group__ThorVG.html | 457 ----- docs/html/group__ThorVGCapi__Canvas.html | 592 ------ docs/html/group__ThorVGCapi__Canvas.map | 5 - docs/html/group__ThorVGCapi__Canvas.md5 | 1 - docs/html/group__ThorVGCapi__Canvas.png | Bin 3479 -> 0 bytes docs/html/group__ThorVGCapi__Gradient.html | 828 -------- docs/html/group__ThorVGCapi__Gradient.map | 4 - docs/html/group__ThorVGCapi__Gradient.md5 | 1 - docs/html/group__ThorVGCapi__Gradient.png | Bin 2421 -> 0 bytes docs/html/group__ThorVGCapi__Initializer.html | 247 --- docs/html/group__ThorVGCapi__Initializer.map | 4 - docs/html/group__ThorVGCapi__Initializer.md5 | 1 - docs/html/group__ThorVGCapi__Initializer.png | Bin 2246 -> 0 bytes docs/html/group__ThorVGCapi__Paint.html | 766 ------- docs/html/group__ThorVGCapi__Paint.map | 4 - docs/html/group__ThorVGCapi__Paint.md5 | 1 - docs/html/group__ThorVGCapi__Paint.png | Bin 2064 -> 0 bytes docs/html/group__ThorVGCapi__Picture.html | 467 ----- docs/html/group__ThorVGCapi__Picture.map | 4 - docs/html/group__ThorVGCapi__Picture.md5 | 1 - docs/html/group__ThorVGCapi__Picture.png | Bin 2174 -> 0 bytes docs/html/group__ThorVGCapi__Saver.html | 271 --- docs/html/group__ThorVGCapi__Saver.map | 4 - docs/html/group__ThorVGCapi__Saver.md5 | 1 - docs/html/group__ThorVGCapi__Saver.png | Bin 2354 -> 0 bytes docs/html/group__ThorVGCapi__Scene.html | 277 --- docs/html/group__ThorVGCapi__Scene.map | 4 - docs/html/group__ThorVGCapi__Scene.md5 | 1 - docs/html/group__ThorVGCapi__Scene.png | Bin 2429 -> 0 bytes docs/html/group__ThorVGCapi__Shape.html | 2126 -------------------- docs/html/group__ThorVGCapi__Shape.map | 4 - docs/html/group__ThorVGCapi__Shape.md5 | 1 - docs/html/group__ThorVGCapi__Shape.png | Bin 2364 -> 0 bytes docs/html/group__ThorVGCapi__SwCanvas.html | 348 ---- docs/html/group__ThorVGCapi__SwCanvas.map | 4 - docs/html/group__ThorVGCapi__SwCanvas.md5 | 1 - docs/html/group__ThorVGCapi__SwCanvas.png | Bin 2544 -> 0 bytes docs/html/group__ThorVG__CAPI.html | 243 --- docs/html/group__ThorVG__CAPI.map | 11 - docs/html/group__ThorVG__CAPI.md5 | 1 - docs/html/group__ThorVG__CAPI.png | Bin 17615 -> 0 bytes docs/html/hierarchy.html | 103 - docs/html/index.html | 84 - docs/html/inherit_graph_10.map | 3 - docs/html/inherit_graph_10.md5 | 1 - docs/html/inherit_graph_10.png | Bin 947 -> 0 bytes docs/html/inherit_graph_5.map | 6 - docs/html/inherit_graph_5.md5 | 1 - docs/html/inherit_graph_8.map | 3 - docs/html/inherit_graph_8.md5 | 1 - docs/html/inherit_graph_8.png | Bin 1257 -> 0 bytes docs/html/inherit_graph_9.map | 3 - docs/html/inherit_graph_9.md5 | 1 - docs/html/inherit_graph_9.png | Bin 1074 -> 0 bytes docs/html/inherits.html | 145 -- docs/html/modules.html | 94 - docs/html/search/all_0.js | 13 - docs/html/search/all_1.js | 7 - docs/html/search/all_10.js | 5 - docs/html/search/all_11.js | 4 - docs/html/search/all_12.js | 4 - docs/html/search/all_2.js | 15 - docs/html/search/all_3.js | 7 - docs/html/search/all_4.js | 4 - docs/html/search/all_5.js | 8 - docs/html/search/all_6.js | 8 - docs/html/search/all_7.js | 11 - docs/html/search/all_8.js | 7 - docs/html/search/all_9.js | 9 - docs/html/search/all_a.js | 5 - docs/html/search/all_b.js | 5 - docs/html/search/all_c.js | 13 - docs/html/search/all_d.js | 13 - docs/html/search/all_e.js | 27 - docs/html/search/all_f.js | 146 -- docs/html/search/classes_0.js | 5 - docs/html/search/classes_1.js | 4 - docs/html/search/classes_2.js | 4 - docs/html/search/classes_3.js | 4 - docs/html/search/classes_4.js | 4 - docs/html/search/classes_5.js | 4 - docs/html/search/classes_6.js | 6 - docs/html/search/classes_7.js | 4 - docs/html/search/classes_8.js | 7 - docs/html/search/classes_9.html | 30 - docs/html/search/classes_9.js | 6 - docs/html/search/enums_0.js | 6 - docs/html/search/enums_1.js | 5 - docs/html/search/enums_2.js | 4 - docs/html/search/enums_3.js | 4 - docs/html/search/enums_4.js | 4 - docs/html/search/enums_5.js | 5 - docs/html/search/enums_6.html | 30 - docs/html/search/enums_6.js | 13 - docs/html/search/enumvalues_0.js | 8 - docs/html/search/enumvalues_1.js | 5 - docs/html/search/enumvalues_10.html | 30 - docs/html/search/enumvalues_10.js | 4 - docs/html/search/enumvalues_2.js | 6 - docs/html/search/enumvalues_3.js | 4 - docs/html/search/enumvalues_4.js | 4 - docs/html/search/enumvalues_5.js | 4 - docs/html/search/enumvalues_6.js | 4 - docs/html/search/enumvalues_7.js | 7 - docs/html/search/enumvalues_8.js | 4 - docs/html/search/enumvalues_9.js | 6 - docs/html/search/enumvalues_a.js | 5 - docs/html/search/enumvalues_b.js | 4 - docs/html/search/enumvalues_c.js | 6 - docs/html/search/enumvalues_d.js | 7 - docs/html/search/enumvalues_e.js | 36 - docs/html/search/enumvalues_f.js | 4 - docs/html/search/functions_0.js | 7 - docs/html/search/functions_1.js | 4 - docs/html/search/functions_2.js | 8 - docs/html/search/functions_3.js | 6 - docs/html/search/functions_4.js | 6 - docs/html/search/functions_5.js | 4 - docs/html/search/functions_6.js | 5 - docs/html/search/functions_7.js | 6 - docs/html/search/functions_8.js | 5 - docs/html/search/functions_9.js | 4 - docs/html/search/functions_a.js | 6 - docs/html/search/functions_b.js | 7 - docs/html/search/functions_c.js | 15 - docs/html/search/functions_d.js | 93 - docs/html/search/functions_e.js | 4 - docs/html/search/functions_f.js | 4 - docs/html/search/groups_0.js | 4 - docs/html/search/groups_1.html | 30 - docs/html/search/groups_1.js | 4 - docs/html/search/groups_2.html | 30 - docs/html/search/groups_2.js | 4 - docs/html/search/groups_3.html | 30 - docs/html/search/groups_3.js | 5 - docs/html/search/groups_4.html | 30 - docs/html/search/groups_4.js | 7 - docs/html/search/groups_5.html | 30 - docs/html/search/groups_5.js | 5 - docs/html/search/pages_0.js | 4 - docs/html/search/searchdata.js | 39 - docs/html/search/typedefs_0.html | 30 - docs/html/search/typedefs_0.js | 7 - docs/html/search/variables_0.js | 4 - docs/html/search/variables_1.js | 4 - docs/html/search/variables_2.js | 4 - docs/html/search/variables_3.js | 4 - docs/html/search/variables_4.js | 4 - docs/html/small_logo.svg | 1 - docs/html/structTvg__Color__Stop-members.html | 87 - docs/html/structTvg__Color__Stop.html | 177 -- docs/html/structTvg__Matrix-members.html | 81 - docs/html/structTvg__Matrix.html | 87 - docs/html/structTvg__Point-members.html | 81 - docs/html/structTvg__Point.html | 86 - .../structtvg_1_1Fill_1_1ColorStop-members.html | 91 - docs/html/structtvg_1_1Fill_1_1ColorStop.html | 181 -- docs/html/structtvg_1_1Matrix-members.html | 85 - docs/html/structtvg_1_1Matrix.html | 91 - docs/html/structtvg_1_1Point-members.html | 85 - docs/html/structtvg_1_1Point.html | 90 - docs/html/thorvg_8h_source.html | 598 ------ docs/html/thorvg__capi_8h_source.html | 668 ------ 200 files changed, 18992 deletions(-) delete mode 100644 docs/html/annotated.html delete mode 100644 docs/html/classes.html delete mode 100644 docs/html/classtvg_1_1Canvas-members.html delete mode 100644 docs/html/classtvg_1_1Canvas.html delete mode 100644 docs/html/classtvg_1_1Fill-members.html delete mode 100644 docs/html/classtvg_1_1Fill.html delete mode 100644 docs/html/classtvg_1_1GlCanvas-members.html delete mode 100644 docs/html/classtvg_1_1GlCanvas.html delete mode 100644 docs/html/classtvg_1_1Initializer-members.html delete mode 100644 docs/html/classtvg_1_1Initializer.html delete mode 100644 docs/html/classtvg_1_1LinearGradient-members.html delete mode 100644 docs/html/classtvg_1_1LinearGradient.html delete mode 100644 docs/html/classtvg_1_1Paint-members.html delete mode 100644 docs/html/classtvg_1_1Paint.html delete mode 100644 docs/html/classtvg_1_1Paint__inherit__graph.map delete mode 100644 docs/html/classtvg_1_1Paint__inherit__graph.md5 delete mode 100644 docs/html/classtvg_1_1Picture-members.html delete mode 100644 docs/html/classtvg_1_1Picture.html delete mode 100644 docs/html/classtvg_1_1Picture__inherit__graph.map delete mode 100644 docs/html/classtvg_1_1Picture__inherit__graph.md5 delete mode 100644 docs/html/classtvg_1_1RadialGradient-members.html delete mode 100644 docs/html/classtvg_1_1RadialGradient.html delete mode 100644 docs/html/classtvg_1_1Saver-members.html delete mode 100644 docs/html/classtvg_1_1Saver.html delete mode 100644 docs/html/classtvg_1_1Scene-members.html delete mode 100644 docs/html/classtvg_1_1Scene.html delete mode 100644 docs/html/classtvg_1_1Shape-members.html delete mode 100644 docs/html/classtvg_1_1Shape.html delete mode 100644 docs/html/classtvg_1_1SwCanvas-members.html delete mode 100644 docs/html/classtvg_1_1SwCanvas.html delete mode 100644 docs/html/dir_8af83c0dc83a45a35ca6968cdc29a7af.html delete mode 100644 docs/html/functions.html delete mode 100644 docs/html/functions_enum.html delete mode 100644 docs/html/functions_eval.html delete mode 100644 docs/html/functions_func.html delete mode 100644 docs/html/functions_vars.html delete mode 100644 docs/html/graph_legend.html delete mode 100644 docs/html/group__ThorVG.html delete mode 100644 docs/html/group__ThorVGCapi__Canvas.html delete mode 100644 docs/html/group__ThorVGCapi__Canvas.map delete mode 100644 docs/html/group__ThorVGCapi__Canvas.md5 delete mode 100644 docs/html/group__ThorVGCapi__Canvas.png delete mode 100644 docs/html/group__ThorVGCapi__Gradient.html delete mode 100644 docs/html/group__ThorVGCapi__Gradient.map delete mode 100644 docs/html/group__ThorVGCapi__Gradient.md5 delete mode 100644 docs/html/group__ThorVGCapi__Gradient.png delete mode 100644 docs/html/group__ThorVGCapi__Initializer.html delete mode 100644 docs/html/group__ThorVGCapi__Initializer.map delete mode 100644 docs/html/group__ThorVGCapi__Initializer.md5 delete mode 100644 docs/html/group__ThorVGCapi__Initializer.png delete mode 100644 docs/html/group__ThorVGCapi__Paint.html delete mode 100644 docs/html/group__ThorVGCapi__Paint.map delete mode 100644 docs/html/group__ThorVGCapi__Paint.md5 delete mode 100644 docs/html/group__ThorVGCapi__Paint.png delete mode 100644 docs/html/group__ThorVGCapi__Picture.html delete mode 100644 docs/html/group__ThorVGCapi__Picture.map delete mode 100644 docs/html/group__ThorVGCapi__Picture.md5 delete mode 100644 docs/html/group__ThorVGCapi__Picture.png delete mode 100644 docs/html/group__ThorVGCapi__Saver.html delete mode 100644 docs/html/group__ThorVGCapi__Saver.map delete mode 100644 docs/html/group__ThorVGCapi__Saver.md5 delete mode 100644 docs/html/group__ThorVGCapi__Saver.png delete mode 100644 docs/html/group__ThorVGCapi__Scene.html delete mode 100644 docs/html/group__ThorVGCapi__Scene.map delete mode 100644 docs/html/group__ThorVGCapi__Scene.md5 delete mode 100644 docs/html/group__ThorVGCapi__Scene.png delete mode 100644 docs/html/group__ThorVGCapi__Shape.html delete mode 100644 docs/html/group__ThorVGCapi__Shape.map delete mode 100644 docs/html/group__ThorVGCapi__Shape.md5 delete mode 100644 docs/html/group__ThorVGCapi__Shape.png delete mode 100644 docs/html/group__ThorVGCapi__SwCanvas.html delete mode 100644 docs/html/group__ThorVGCapi__SwCanvas.map delete mode 100644 docs/html/group__ThorVGCapi__SwCanvas.md5 delete mode 100644 docs/html/group__ThorVGCapi__SwCanvas.png delete mode 100644 docs/html/group__ThorVG__CAPI.html delete mode 100644 docs/html/group__ThorVG__CAPI.map delete mode 100644 docs/html/group__ThorVG__CAPI.md5 delete mode 100644 docs/html/group__ThorVG__CAPI.png delete mode 100644 docs/html/hierarchy.html delete mode 100644 docs/html/index.html delete mode 100644 docs/html/inherit_graph_10.map delete mode 100644 docs/html/inherit_graph_10.md5 delete mode 100644 docs/html/inherit_graph_10.png delete mode 100644 docs/html/inherit_graph_5.map delete mode 100644 docs/html/inherit_graph_5.md5 delete mode 100644 docs/html/inherit_graph_8.map delete mode 100644 docs/html/inherit_graph_8.md5 delete mode 100644 docs/html/inherit_graph_8.png delete mode 100644 docs/html/inherit_graph_9.map delete mode 100644 docs/html/inherit_graph_9.md5 delete mode 100644 docs/html/inherit_graph_9.png delete mode 100644 docs/html/inherits.html delete mode 100644 docs/html/modules.html delete mode 100644 docs/html/search/all_0.js delete mode 100644 docs/html/search/all_1.js delete mode 100644 docs/html/search/all_10.js delete mode 100644 docs/html/search/all_11.js delete mode 100644 docs/html/search/all_12.js delete mode 100644 docs/html/search/all_2.js delete mode 100644 docs/html/search/all_3.js delete mode 100644 docs/html/search/all_4.js delete mode 100644 docs/html/search/all_5.js delete mode 100644 docs/html/search/all_6.js delete mode 100644 docs/html/search/all_7.js delete mode 100644 docs/html/search/all_8.js delete mode 100644 docs/html/search/all_9.js delete mode 100644 docs/html/search/all_a.js delete mode 100644 docs/html/search/all_b.js delete mode 100644 docs/html/search/all_c.js delete mode 100644 docs/html/search/all_d.js delete mode 100644 docs/html/search/all_e.js delete mode 100644 docs/html/search/all_f.js delete mode 100644 docs/html/search/classes_0.js delete mode 100644 docs/html/search/classes_1.js delete mode 100644 docs/html/search/classes_2.js delete mode 100644 docs/html/search/classes_3.js delete mode 100644 docs/html/search/classes_4.js delete mode 100644 docs/html/search/classes_5.js delete mode 100644 docs/html/search/classes_6.js delete mode 100644 docs/html/search/classes_7.js delete mode 100644 docs/html/search/classes_8.js delete mode 100644 docs/html/search/classes_9.html delete mode 100644 docs/html/search/classes_9.js delete mode 100644 docs/html/search/enums_0.js delete mode 100644 docs/html/search/enums_1.js delete mode 100644 docs/html/search/enums_2.js delete mode 100644 docs/html/search/enums_3.js delete mode 100644 docs/html/search/enums_4.js delete mode 100644 docs/html/search/enums_5.js delete mode 100644 docs/html/search/enums_6.html delete mode 100644 docs/html/search/enums_6.js delete mode 100644 docs/html/search/enumvalues_0.js delete mode 100644 docs/html/search/enumvalues_1.js delete mode 100644 docs/html/search/enumvalues_10.html delete mode 100644 docs/html/search/enumvalues_10.js delete mode 100644 docs/html/search/enumvalues_2.js delete mode 100644 docs/html/search/enumvalues_3.js delete mode 100644 docs/html/search/enumvalues_4.js delete mode 100644 docs/html/search/enumvalues_5.js delete mode 100644 docs/html/search/enumvalues_6.js delete mode 100644 docs/html/search/enumvalues_7.js delete mode 100644 docs/html/search/enumvalues_8.js delete mode 100644 docs/html/search/enumvalues_9.js delete mode 100644 docs/html/search/enumvalues_a.js delete mode 100644 docs/html/search/enumvalues_b.js delete mode 100644 docs/html/search/enumvalues_c.js delete mode 100644 docs/html/search/enumvalues_d.js delete mode 100644 docs/html/search/enumvalues_e.js delete mode 100644 docs/html/search/enumvalues_f.js delete mode 100644 docs/html/search/functions_0.js delete mode 100644 docs/html/search/functions_1.js delete mode 100644 docs/html/search/functions_2.js delete mode 100644 docs/html/search/functions_3.js delete mode 100644 docs/html/search/functions_4.js delete mode 100644 docs/html/search/functions_5.js delete mode 100644 docs/html/search/functions_6.js delete mode 100644 docs/html/search/functions_7.js delete mode 100644 docs/html/search/functions_8.js delete mode 100644 docs/html/search/functions_9.js delete mode 100644 docs/html/search/functions_a.js delete mode 100644 docs/html/search/functions_b.js delete mode 100644 docs/html/search/functions_c.js delete mode 100644 docs/html/search/functions_d.js delete mode 100644 docs/html/search/functions_e.js delete mode 100644 docs/html/search/functions_f.js delete mode 100644 docs/html/search/groups_0.js delete mode 100644 docs/html/search/groups_1.html delete mode 100644 docs/html/search/groups_1.js delete mode 100644 docs/html/search/groups_2.html delete mode 100644 docs/html/search/groups_2.js delete mode 100644 docs/html/search/groups_3.html delete mode 100644 docs/html/search/groups_3.js delete mode 100644 docs/html/search/groups_4.html delete mode 100644 docs/html/search/groups_4.js delete mode 100644 docs/html/search/groups_5.html delete mode 100644 docs/html/search/groups_5.js delete mode 100644 docs/html/search/pages_0.js delete mode 100644 docs/html/search/searchdata.js delete mode 100644 docs/html/search/typedefs_0.html delete mode 100644 docs/html/search/typedefs_0.js delete mode 100644 docs/html/search/variables_0.js delete mode 100644 docs/html/search/variables_1.js delete mode 100644 docs/html/search/variables_2.js delete mode 100644 docs/html/search/variables_3.js delete mode 100644 docs/html/search/variables_4.js delete mode 100644 docs/html/small_logo.svg delete mode 100644 docs/html/structTvg__Color__Stop-members.html delete mode 100644 docs/html/structTvg__Color__Stop.html delete mode 100644 docs/html/structTvg__Matrix-members.html delete mode 100644 docs/html/structTvg__Matrix.html delete mode 100644 docs/html/structTvg__Point-members.html delete mode 100644 docs/html/structTvg__Point.html delete mode 100644 docs/html/structtvg_1_1Fill_1_1ColorStop-members.html delete mode 100644 docs/html/structtvg_1_1Fill_1_1ColorStop.html delete mode 100644 docs/html/structtvg_1_1Matrix-members.html delete mode 100644 docs/html/structtvg_1_1Matrix.html delete mode 100644 docs/html/structtvg_1_1Point-members.html delete mode 100644 docs/html/structtvg_1_1Point.html delete mode 100644 docs/html/thorvg_8h_source.html delete mode 100644 docs/html/thorvg__capi_8h_source.html diff --git a/docs/html/annotated.html b/docs/html/annotated.html deleted file mode 100644 index 607a24f..0000000 --- a/docs/html/annotated.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - -ThorVG: Class List - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
-
Class List
-
-
-
Here are the classes, structs, unions and interfaces with brief descriptions:
-
[detail level 123]
- - - - - - - - - - - - - - - - - - - -
 Ntvg
 CCanvasAn abstract class for drawing graphical elements
 CFillAn abstract class representing the gradient fill of the Shape object
 CColorStopA data structure storing the information about the color and its relative position inside the gradient bounds
 CGlCanvasA class for the rendering graphic elements with a GL raster engine
 CInitializerA class that enables initialization and termination of the TVG engines
 CLinearGradientA class representing the linear gradient fill of the Shape object
 CMatrixA data structure representing a three-dimensional matrix
 CPaintAn abstract class for managing graphical elements
 CPictureA class representing an image read in one of the supported formats: raw, svg, png, jpg and etc. Besides the methods inherited from the Paint, it provides methods to load & draw images on the canvas
 CPointA data structure representing a point in two-dimensional space
 CRadialGradientA class representing the radial gradient fill of the Shape object
 CSaverA class for exporting a paint object into a specified file, from which to recover the paint data later
 CSceneA class to composite children paints
 CShapeA class representing two-dimensional figures and their properties
 CSwCanvasA class for the rendering graphical elements with a software raster engine
 CTvg_Color_StopA data structure storing the information about the color and its relative position inside the gradient bounds
 CTvg_MatrixA data structure representing a three-dimensional matrix
 CTvg_PointA data structure representing a point in two-dimensional space
-
-
- - - - diff --git a/docs/html/classes.html b/docs/html/classes.html deleted file mode 100644 index 271e232..0000000 --- a/docs/html/classes.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - -ThorVG: Class Index - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
-
Class Index
-
-
-
c | f | g | i | l | m | p | r | s | t
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  c  
-
  i  
-
  p  
-
  s  
-
Tvg_Matrix   
Tvg_Point   
Canvas (tvg)   Initializer (tvg)   Paint (tvg)   Saver (tvg)   
Fill::ColorStop (tvg)   
  l  
-
Picture (tvg)   Scene (tvg)   
  f  
-
Point (tvg)   Shape (tvg)   
LinearGradient (tvg)   
  r  
-
SwCanvas (tvg)   
Fill (tvg)   
  m  
-
  t  
-
  g  
-
RadialGradient (tvg)   
Matrix (tvg)   Tvg_Color_Stop   
GlCanvas (tvg)   
-
c | f | g | i | l | m | p | r | s | t
-
- - - - diff --git a/docs/html/classtvg_1_1Canvas-members.html b/docs/html/classtvg_1_1Canvas-members.html deleted file mode 100644 index 25459dc..0000000 --- a/docs/html/classtvg_1_1Canvas-members.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -ThorVG: Member List - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Canvas Member List
-
-
- -

This is the complete list of members for Canvas, including all inherited members.

- - - - - - - -
clear(bool free=true) noexceptCanvasvirtual
draw() noexceptCanvasvirtual
push(std::unique_ptr< Paint > paint) noexceptCanvasvirtual
reserve(uint32_t n) noexceptCanvas
sync() noexceptCanvasvirtual
update(Paint *paint=nullptr) noexceptCanvasvirtual
- - - - diff --git a/docs/html/classtvg_1_1Canvas.html b/docs/html/classtvg_1_1Canvas.html deleted file mode 100644 index 81f68c6..0000000 --- a/docs/html/classtvg_1_1Canvas.html +++ /dev/null @@ -1,343 +0,0 @@ - - - - - - - -ThorVG: Canvas - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
- -
- -

An abstract class for drawing graphical elements. - More...

-
-Inheritance diagram for Canvas:
-
-
Inheritance graph
- - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

Result reserve (uint32_t n) noexcept
 Sets the size of the container, where all the paints pushed into the Canvas are stored. More...
 
virtual Result push (std::unique_ptr< Paint > paint) noexcept
 Passes drawing elements to the Canvas using Paint objects. More...
 
virtual Result clear (bool free=true) noexcept
 Sets the total number of the paints pushed into the canvas to be zero. Depending on the value of the free argument, the paints are freed or not. More...
 
virtual Result update (Paint *paint=nullptr) noexcept
 Request the canvas to update the paint objects. More...
 
virtual Result draw () noexcept
 Requests the canvas to draw the Paint objects. More...
 
virtual Result sync () noexcept
 Guarantees that drawing task is finished. More...
 
-

Detailed Description

-

An abstract class for drawing graphical elements.

-

A canvas is an entity responsible for drawing the target. It sets up the drawing engine and the buffer, which can be drawn on the screen. It also manages given Paint objects.

-
Note
A Canvas behavior depends on the raster engine though the final content of the buffer is expected to be identical.
-
Warning
The Paint objects belonging to one Canvas can't be shared among multiple Canvases.
-

Member Function Documentation

- -

◆ clear()

- -
-
- - - - - -
- - - - - - - - -
virtual Result clear (bool free = true)
-
-virtualnoexcept
-
- -

Sets the total number of the paints pushed into the canvas to be zero. Depending on the value of the free argument, the paints are freed or not.

-
Parameters
- - -
[in]freeIf true, the memory occupied by paints is deallocated, otherwise it is not.
-
-
-
Returns
Result::Success when succeed, Result::InsufficientCondition otherwise.
-
Warning
If you don't free the paints they become dangled. They are supposed to be reused, otherwise you are responsible for their lives. Thus please use the free argument only when you know how it works, otherwise it's not recommended.
- -
-
- -

◆ draw()

- -
-
- - - - - -
- - - - - - - -
virtual Result draw ()
-
-virtualnoexcept
-
- -

Requests the canvas to draw the Paint objects.

-
Returns
Result::Success when succeed, Result::InsufficientCondition otherwise.
-
Note
Drawing can be asynchronous if the assigned thread number is greater than zero. To guarantee the drawing is done, call sync() afterwards.
-
See also
Canvas::sync()
- -
-
- -

◆ push()

- -
-
- - - - - -
- - - - - - - - -
virtual Result push (std::unique_ptr< Paintpaint)
-
-virtualnoexcept
-
- -

Passes drawing elements to the Canvas using Paint objects.

-

Only pushed paints in the canvas will be drawing targets. They are retained by the canvas until you call Canvas::clear(). If you know the number of the pushed objects in advance, please call Canvas::reserve().

-
Parameters
- - -
[in]paintA Paint object to be drawn.
-
-
-
Return values
- - - - -
Result::SuccessWhen succeed.
Result::MemoryCorruptionIn case a nullptr is passed as the argument.
Result::InsufficientConditionAn internal error.
-
-
-
Note
The rendering order of the paints is the same as the order as they were pushed into the canvas. Consider sorting the paints before pushing them if you intend to use layering.
-
See also
Canvas::reserve()
-
-Canvas::clear()
- -
-
- -

◆ reserve()

- -
-
- - - - - -
- - - - - - - - -
Result reserve (uint32_t n)
-
-noexcept
-
- -

Sets the size of the container, where all the paints pushed into the Canvas are stored.

-

If the number of objects pushed into the Canvas is known in advance, calling the function prevents multiple memory reallocation, thus improving the performance.

-
Parameters
- - -
[in]nThe number of objects for which the memory is to be reserved.
-
-
-
Returns
Result::Success when succeed.
- -
-
- -

◆ sync()

- -
-
- - - - - -
- - - - - - - -
virtual Result sync ()
-
-virtualnoexcept
-
- -

Guarantees that drawing task is finished.

-

The Canvas rendering can be performed asynchronously. To make sure that rendering is finished, the sync() must be called after the draw() regardless of threading.

-
Returns
Result::Success when succeed, Result::InsufficientCondition otherwise.
-
See also
Canvas::draw()
- -
-
- -

◆ update()

- -
-
- - - - - -
- - - - - - - - -
virtual Result update (Paintpaint = nullptr)
-
-virtualnoexcept
-
- -

Request the canvas to update the paint objects.

-

If a nullptr is passed all paint objects retained by the Canvas are updated, otherwise only the paint to which the given paint points.

-
Parameters
- - -
[in]paintA pointer to the Paint object or nullptr.
-
-
-
Returns
Result::Success when succeed, Result::InsufficientCondition otherwise.
-
Note
The Update behavior can be asynchronous if the assigned thread number is greater than zero.
- -
-
-
- - - - diff --git a/docs/html/classtvg_1_1Fill-members.html b/docs/html/classtvg_1_1Fill-members.html deleted file mode 100644 index 7a2ada7..0000000 --- a/docs/html/classtvg_1_1Fill-members.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -ThorVG: Member List - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Fill Member List
-
-
- -

This is the complete list of members for Fill, including all inherited members.

- - - - - - - - - -
colorStops(const ColorStop *colorStops, uint32_t cnt) noexceptFill
colorStops(const ColorStop **colorStops) const noexceptFill
duplicate() const noexceptFill
identifier() constFillinline
spread(FillSpread s) noexceptFill
spread() const noexceptFill
transform(const Matrix &m) noexceptFill
transform() const noexceptFill
- - - - diff --git a/docs/html/classtvg_1_1Fill.html b/docs/html/classtvg_1_1Fill.html deleted file mode 100644 index 69db43d..0000000 --- a/docs/html/classtvg_1_1Fill.html +++ /dev/null @@ -1,413 +0,0 @@ - - - - - - - -ThorVG: Fill - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
- -
- -

An abstract class representing the gradient fill of the Shape object. - More...

-
-Inheritance diagram for Fill:
-
-
Inheritance graph
- - - - - -
[legend]
- - - - - -

-Classes

struct  ColorStop
 A data structure storing the information about the color and its relative position inside the gradient bounds. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

Result colorStops (const ColorStop *colorStops, uint32_t cnt) noexcept
 Sets the parameters of the colors of the gradient and their position. More...
 
Result spread (FillSpread s) noexcept
 Sets the FillSpread value, which specifies how to fill the area outside the gradient bounds. More...
 
Result transform (const Matrix &m) noexcept
 Sets the matrix of the affine transformation for the gradient fill. More...
 
uint32_t colorStops (const ColorStop **colorStops) const noexcept
 Gets the parameters of the colors of the gradient, their position and number. More...
 
FillSpread spread () const noexcept
 Gets the FillSpread value of the fill. More...
 
Matrix transform () const noexcept
 Gets the matrix of the affine transformation of the gradient fill. More...
 
Fillduplicate () const noexcept
 Creates a copy of the Fill object. More...
 
uint32_t identifier () const
 Return the unique id value of the Fill instance. More...
 
-

Detailed Description

-

An abstract class representing the gradient fill of the Shape object.

-

It contains the information about the gradient colors and their arrangement inside the gradient bounds. The gradients bounds are defined in the LinearGradient or RadialGradient class, depending on the type of the gradient to be used. It specifies the gradient behavior in case the area defined by the gradient bounds is smaller than the area to be filled.

-

Member Function Documentation

- -

◆ colorStops() [1/2]

- -
-
- - - - - -
- - - - - - - - -
uint32_t colorStops (const ColorStop ** colorStops) const
-
-noexcept
-
- -

Gets the parameters of the colors of the gradient, their position and number.

-
Parameters
- - -
[out]colorStopsA pointer to the memory location, where the array of the gradient's ColorStop is stored.
-
-
-
Returns
The number of colors used in the gradient. This value corresponds to the length of the colorStops array.
- -
-
- -

◆ colorStops() [2/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
Result colorStops (const ColorStopcolorStops,
uint32_t cnt 
)
-
-noexcept
-
- -

Sets the parameters of the colors of the gradient and their position.

-
Parameters
- - - -
[in]colorStopsAn array of ColorStop data structure.
[in]cntThe count of the colorStops array equal to the colors number used in the gradient.
-
-
-
Returns
Result::Success when succeed.
- -
-
- -

◆ duplicate()

- -
-
- - - - - -
- - - - - - - -
Fill* duplicate () const
-
-noexcept
-
- -

Creates a copy of the Fill object.

-

Return a newly created Fill object with the properties copied from the original.

-
Returns
A copied Fill object when succeed, nullptr otherwise.
- -
-
- -

◆ identifier()

- -
-
- - - - - -
- - - - - - - -
uint32_t identifier () const
-
-inline
-
- -

Return the unique id value of the Fill instance.

-

This method can be called for checking the current concrete instance type.

-
Returns
The type id of the Fill instance.
-

@BETA_API

- -
-
- -

◆ spread() [1/2]

- -
-
- - - - - -
- - - - - - - -
FillSpread spread () const
-
-noexcept
-
- -

Gets the FillSpread value of the fill.

-
Returns
The FillSpread value of this Fill.
- -
-
- -

◆ spread() [2/2]

- -
-
- - - - - -
- - - - - - - - -
Result spread (FillSpread s)
-
-noexcept
-
- -

Sets the FillSpread value, which specifies how to fill the area outside the gradient bounds.

-
Parameters
- - -
[in]sThe FillSpread value.
-
-
-
Returns
Result::Success when succeed.
- -
-
- -

◆ transform() [1/2]

- -
-
- - - - - -
- - - - - - - -
Matrix transform () const
-
-noexcept
-
- -

Gets the matrix of the affine transformation of the gradient fill.

-

In case no transformation was applied, the identity matrix is returned.

-
Return values
- - -
Theaugmented transformation matrix.
-
-
-

@BETA_API

- -
-
- -

◆ transform() [2/2]

- -
-
- - - - - -
- - - - - - - - -
Result transform (const Matrixm)
-
-noexcept
-
- -

Sets the matrix of the affine transformation for the gradient fill.

-

The augmented matrix of the transformation is expected to be given.

-
Parameters
- - -
[in]mThe 3x3 augmented matrix.
-
-
-
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
-

@BETA_API

- -
-
-
- - - - diff --git a/docs/html/classtvg_1_1GlCanvas-members.html b/docs/html/classtvg_1_1GlCanvas-members.html deleted file mode 100644 index b15d548..0000000 --- a/docs/html/classtvg_1_1GlCanvas-members.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -ThorVG: Member List - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
GlCanvas Member List
-
-
- -

This is the complete list of members for GlCanvas, including all inherited members.

- - - - - - - - - -
clear(bool free=true) noexceptCanvasvirtual
draw() noexceptCanvasvirtual
gen() noexceptGlCanvasstatic
push(std::unique_ptr< Paint > paint) noexceptCanvasvirtual
reserve(uint32_t n) noexceptCanvas
sync() noexceptCanvasvirtual
target(uint32_t *buffer, uint32_t stride, uint32_t w, uint32_t h) noexceptGlCanvas
update(Paint *paint=nullptr) noexceptCanvasvirtual
- - - - diff --git a/docs/html/classtvg_1_1GlCanvas.html b/docs/html/classtvg_1_1GlCanvas.html deleted file mode 100644 index 77d20b0..0000000 --- a/docs/html/classtvg_1_1GlCanvas.html +++ /dev/null @@ -1,217 +0,0 @@ - - - - - - - -ThorVG: GlCanvas - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
- -
- -

A class for the rendering graphic elements with a GL raster engine. - More...

-
-Inheritance diagram for GlCanvas:
-
-
Inheritance graph
- - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

Result target (uint32_t *buffer, uint32_t stride, uint32_t w, uint32_t h) noexcept
 Sets the target buffer for the rasterization. More...
 
- Public Member Functions inherited from Canvas
Result reserve (uint32_t n) noexcept
 Sets the size of the container, where all the paints pushed into the Canvas are stored. More...
 
virtual Result push (std::unique_ptr< Paint > paint) noexcept
 Passes drawing elements to the Canvas using Paint objects. More...
 
virtual Result clear (bool free=true) noexcept
 Sets the total number of the paints pushed into the canvas to be zero. Depending on the value of the free argument, the paints are freed or not. More...
 
virtual Result update (Paint *paint=nullptr) noexcept
 Request the canvas to update the paint objects. More...
 
virtual Result draw () noexcept
 Requests the canvas to draw the Paint objects. More...
 
virtual Result sync () noexcept
 Guarantees that drawing task is finished. More...
 
- - - - -

-Static Public Member Functions

static std::unique_ptr< GlCanvasgen () noexcept
 Creates a new GlCanvas object. More...
 
-

Detailed Description

-

A class for the rendering graphic elements with a GL raster engine.

-
Warning
Please do not use it. This class is not fully supported yet.
-

@BETA_API

-

Member Function Documentation

- -

◆ gen()

- -
-
- - - - - -
- - - - - - - -
static std::unique_ptr<GlCanvas> gen ()
-
-staticnoexcept
-
- -

Creates a new GlCanvas object.

-
Returns
A new GlCanvas object.
-

@BETA_API

- -
-
- -

◆ target()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Result target (uint32_t * buffer,
uint32_t stride,
uint32_t w,
uint32_t h 
)
-
-noexcept
-
- -

Sets the target buffer for the rasterization.

-
Warning
Please do not use it, this API is not official one. It could be modified in the next version.
-

@BETA_API

- -
-
-
- - - - diff --git a/docs/html/classtvg_1_1Initializer-members.html b/docs/html/classtvg_1_1Initializer-members.html deleted file mode 100644 index f744848..0000000 --- a/docs/html/classtvg_1_1Initializer-members.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -ThorVG: Member List - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Initializer Member List
-
-
- -

This is the complete list of members for Initializer, including all inherited members.

- - - -
init(CanvasEngine engine, uint32_t threads) noexceptInitializerstatic
term(CanvasEngine engine) noexceptInitializerstatic
- - - - diff --git a/docs/html/classtvg_1_1Initializer.html b/docs/html/classtvg_1_1Initializer.html deleted file mode 100644 index 2cfb790..0000000 --- a/docs/html/classtvg_1_1Initializer.html +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - - -ThorVG: Initializer - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
- -
- -

A class that enables initialization and termination of the TVG engines. - More...

- - - - - - - - -

-Static Public Member Functions

static Result init (CanvasEngine engine, uint32_t threads) noexcept
 Initializes TVG engines. More...
 
static Result term (CanvasEngine engine) noexcept
 Terminates TVG engines. More...
 
-

Detailed Description

-

A class that enables initialization and termination of the TVG engines.

-

Member Function Documentation

- -

◆ init()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
static Result init (CanvasEngine engine,
uint32_t threads 
)
-
-staticnoexcept
-
- -

Initializes TVG engines.

-

TVG requires the running-engine environment. TVG runs its own task-scheduler for parallelizing rendering tasks efficiently. You can indicate the number of threads, the count of which is designated threads. In the initialization step, TVG will generate/spawn the threads as set by threads count.

-
Parameters
- - - -
[in]engineThe engine types to initialize. This is relative to the Canvas types, in which it will be used. For multiple backends bitwise operation is allowed.
[in]threadsThe number of additional threads. Zero indicates only the main thread is to be used.
-
-
-
Return values
- - - - - - -
Result::SuccessWhen succeed.
Result::FailedAllocationAn internal error possibly with memory allocation.
Result::InvalidArgumentsIf unknown engine type chosen.
Result::NonSupportIn case the engine type is not supported on the system.
Result::UnknownOthers.
-
-
-
Note
The Initializer keeps track of the number of times it was called. Threads count is fixed at the first init() call.
-
See also
Initializer::term()
- -
-
- -

◆ term()

- -
-
- - - - - -
- - - - - - - - -
static Result term (CanvasEngine engine)
-
-staticnoexcept
-
- -

Terminates TVG engines.

-
Parameters
- - -
[in]engineThe engine types to terminate. This is relative to the Canvas types, in which it will be used. For multiple backends bitwise operation is allowed
-
-
-
Return values
- - - - - - -
Result::SuccessWhen succeed.
Result::InsufficientConditionIn case there is nothing to be terminated.
Result::InvalidArgumentsIf unknown engine type chosen.
Result::NonSupportIn case the engine type is not supported on the system.
Result::UnknownOthers.
-
-
-
Note
Initializer does own reference counting for multiple calls.
-
See also
Initializer::init()
- -
-
-
- - - - diff --git a/docs/html/classtvg_1_1LinearGradient-members.html b/docs/html/classtvg_1_1LinearGradient-members.html deleted file mode 100644 index 3fa7018..0000000 --- a/docs/html/classtvg_1_1LinearGradient-members.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - -ThorVG: Member List - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
LinearGradient Member List
-
-
- -

This is the complete list of members for LinearGradient, including all inherited members.

- - - - - - - - - - - - - -
colorStops(const ColorStop *colorStops, uint32_t cnt) noexceptFill
colorStops(const ColorStop **colorStops) const noexceptFill
duplicate() const noexceptFill
gen() noexceptLinearGradientstatic
identifier() noexceptLinearGradientstatic
tvg::Fill::identifier() constFillinline
linear(float x1, float y1, float x2, float y2) noexceptLinearGradient
linear(float *x1, float *y1, float *x2, float *y2) const noexceptLinearGradient
spread(FillSpread s) noexceptFill
spread() const noexceptFill
transform(const Matrix &m) noexceptFill
transform() const noexceptFill
- - - - diff --git a/docs/html/classtvg_1_1LinearGradient.html b/docs/html/classtvg_1_1LinearGradient.html deleted file mode 100644 index b5f2304..0000000 --- a/docs/html/classtvg_1_1LinearGradient.html +++ /dev/null @@ -1,328 +0,0 @@ - - - - - - - -ThorVG: LinearGradient - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
- -
- -

A class representing the linear gradient fill of the Shape object. - More...

-
-Inheritance diagram for LinearGradient:
-
-
Inheritance graph
- - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

Result linear (float x1, float y1, float x2, float y2) noexcept
 Sets the linear gradient bounds. More...
 
Result linear (float *x1, float *y1, float *x2, float *y2) const noexcept
 Gets the linear gradient bounds. More...
 
- Public Member Functions inherited from Fill
Result colorStops (const ColorStop *colorStops, uint32_t cnt) noexcept
 Sets the parameters of the colors of the gradient and their position. More...
 
Result spread (FillSpread s) noexcept
 Sets the FillSpread value, which specifies how to fill the area outside the gradient bounds. More...
 
Result transform (const Matrix &m) noexcept
 Sets the matrix of the affine transformation for the gradient fill. More...
 
uint32_t colorStops (const ColorStop **colorStops) const noexcept
 Gets the parameters of the colors of the gradient, their position and number. More...
 
FillSpread spread () const noexcept
 Gets the FillSpread value of the fill. More...
 
Matrix transform () const noexcept
 Gets the matrix of the affine transformation of the gradient fill. More...
 
Fillduplicate () const noexcept
 Creates a copy of the Fill object. More...
 
uint32_t identifier () const
 Return the unique id value of the Fill instance. More...
 
- - - - - - - -

-Static Public Member Functions

static std::unique_ptr< LinearGradientgen () noexcept
 Creates a new LinearGradient object. More...
 
static uint32_t identifier () noexcept
 Return the unique id value of this class. More...
 
-

Detailed Description

-

A class representing the linear gradient fill of the Shape object.

-

Besides the APIs inherited from the Fill class, it enables setting and getting the linear gradient bounds. The behavior outside the gradient bounds depends on the value specified in the spread API.

-

Member Function Documentation

- -

◆ gen()

- -
-
- - - - - -
- - - - - - - -
static std::unique_ptr<LinearGradient> gen ()
-
-staticnoexcept
-
- -

Creates a new LinearGradient object.

-
Returns
A new LinearGradient object.
- -
-
- -

◆ identifier()

- -
-
- - - - - -
- - - - - - - -
static uint32_t identifier ()
-
-staticnoexcept
-
- -

Return the unique id value of this class.

-

This method can be referred for identifying the LinearGradient class type.

-
Returns
The type id of the LinearGradient class.
-

@BETA_API

- -
-
- -

◆ linear() [1/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Result linear (float * x1,
float * y1,
float * x2,
float * y2 
) const
-
-noexcept
-
- -

Gets the linear gradient bounds.

-

The bounds of the linear gradient are defined as a surface constrained by two parallel lines crossing the given points (x1, y1) and (x2, y2), respectively. Both lines are perpendicular to the line linking (x1, y1) and (x2, y2).

-
Parameters
- - - - - -
[out]x1The horizontal coordinate of the first point used to determine the gradient bounds.
[out]y1The vertical coordinate of the first point used to determine the gradient bounds.
[out]x2The horizontal coordinate of the second point used to determine the gradient bounds.
[out]y2The vertical coordinate of the second point used to determine the gradient bounds.
-
-
-
Returns
Result::Success when succeed.
- -
-
- -

◆ linear() [2/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Result linear (float x1,
float y1,
float x2,
float y2 
)
-
-noexcept
-
- -

Sets the linear gradient bounds.

-

The bounds of the linear gradient are defined as a surface constrained by two parallel lines crossing the given points (x1, y1) and (x2, y2), respectively. Both lines are perpendicular to the line linking (x1, y1) and (x2, y2).

-
Parameters
- - - - - -
[in]x1The horizontal coordinate of the first point used to determine the gradient bounds.
[in]y1The vertical coordinate of the first point used to determine the gradient bounds.
[in]x2The horizontal coordinate of the second point used to determine the gradient bounds.
[in]y2The vertical coordinate of the second point used to determine the gradient bounds.
-
-
-
Returns
Result::Success when succeed.
-
Note
In case the first and the second points are equal, an object filled with such a gradient fill is not rendered.
- -
-
-
- - - - diff --git a/docs/html/classtvg_1_1Paint-members.html b/docs/html/classtvg_1_1Paint-members.html deleted file mode 100644 index 36e4551..0000000 --- a/docs/html/classtvg_1_1Paint-members.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -ThorVG: Member List - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Paint Member List
-
-
- -

This is the complete list of members for Paint, including all inherited members.

- - - - - - - - - - - - - - -
bounds(float *x, float *y, float *w, float *h) const noexceptPaint
bounds(float *x, float *y, float *w, float *h, bool transformed) const noexceptPaint
composite(std::unique_ptr< Paint > target, CompositeMethod method) noexceptPaint
composite(const Paint **target) const noexceptPaint
duplicate() const noexceptPaint
identifier() constPaintinline
opacity(uint8_t o) noexceptPaint
opacity() const noexceptPaint
rotate(float degree) noexceptPaint
scale(float factor) noexceptPaint
transform(const Matrix &m) noexceptPaint
transform() noexceptPaint
translate(float x, float y) noexceptPaint
- - - - diff --git a/docs/html/classtvg_1_1Paint.html b/docs/html/classtvg_1_1Paint.html deleted file mode 100644 index d8fc72f..0000000 --- a/docs/html/classtvg_1_1Paint.html +++ /dev/null @@ -1,673 +0,0 @@ - - - - - - - -ThorVG: Paint - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
- -
- -

An abstract class for managing graphical elements. - More...

-
-Inheritance diagram for Paint:
-
-
Inheritance graph
- - - - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

Result rotate (float degree) noexcept
 Sets the angle by which the object is rotated. More...
 
Result scale (float factor) noexcept
 Sets the scale value of the object. More...
 
Result translate (float x, float y) noexcept
 Sets the values by which the object is moved in a two-dimensional space. More...
 
Result transform (const Matrix &m) noexcept
 Sets the matrix of the affine transformation for the object. More...
 
Matrix transform () noexcept
 Gets the matrix of the affine transformation of the object. More...
 
Result opacity (uint8_t o) noexcept
 Sets the opacity of the object. More...
 
Result composite (std::unique_ptr< Paint > target, CompositeMethod method) noexcept
 Sets the composition target object and the composition method. More...
 
TVG_DEPRECATED Result bounds (float *x, float *y, float *w, float *h) const noexcept
 Gets the bounding box of the paint object before any transformation. More...
 
Result bounds (float *x, float *y, float *w, float *h, bool transformed) const noexcept
 Gets the axis-aligned bounding box of the paint object. More...
 
Paintduplicate () const noexcept
 Duplicates the object. More...
 
uint8_t opacity () const noexcept
 Gets the opacity value of the object. More...
 
CompositeMethod composite (const Paint **target) const noexcept
 Gets the composition target object and the composition method. More...
 
uint32_t identifier () const
 Return the unique id value of the paint instance. More...
 
-

Detailed Description

-

An abstract class for managing graphical elements.

-

A graphical element in TVG is any object composed into a Canvas. Paint represents such a graphical object and its behaviors such as duplication, transformation and composition. TVG recommends the user to regard a paint as a set of volatile commands. They can prepare a Paint and then request a Canvas to run them.

-

Member Function Documentation

- -

◆ bounds() [1/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TVG_DEPRECATED Result bounds (float * x,
float * y,
float * w,
float * h 
) const
-
-noexcept
-
- -

Gets the bounding box of the paint object before any transformation.

-
Parameters
- - - - - -
[out]xThe x coordinate of the upper left corner of the object.
[out]yThe y coordinate of the upper left corner of the object.
[out]wThe width of the object.
[out]hThe height of the object.
-
-
-
Returns
Result::Success when succeed, Result::InsufficientCondition otherwise.
-
Note
The bounding box doesn't indicate the final rendered region. It's the smallest rectangle that encloses the object.
-
See also
Paint::bounds(float* x, float* y, float* w, float* h, bool transformed);
- -
-
- -

◆ bounds() [2/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Result bounds (float * x,
float * y,
float * w,
float * h,
bool transformed 
) const
-
-noexcept
-
- -

Gets the axis-aligned bounding box of the paint object.

-

In case transform is true, all object's transformations are applied first, and then the bounding box is established. Otherwise, the bounding box is determined before any transformations.

-
Parameters
- - - - - - -
[out]xThe x coordinate of the upper left corner of the object.
[out]yThe y coordinate of the upper left corner of the object.
[out]wThe width of the object.
[out]hThe height of the object.
[in]transformedIf true, the paint's transformations are taken into account, otherwise they aren't.
-
-
-
Returns
Result::Success when succeed, Result::InsufficientCondition otherwise.
-
Note
The bounding box doesn't indicate the actual drawing region. It's the smallest rectangle that encloses the object.
-

@BETA_API

- -
-
- -

◆ composite() [1/2]

- -
-
- - - - - -
- - - - - - - - -
CompositeMethod composite (const Paint ** target) const
-
-noexcept
-
- -

Gets the composition target object and the composition method.

-
Parameters
- - -
[out]targetThe paint of the target object.
-
-
-
Returns
The method used to composite the source object with the target.
-
Since
0.5
- -
-
- -

◆ composite() [2/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
Result composite (std::unique_ptr< Painttarget,
CompositeMethod method 
)
-
-noexcept
-
- -

Sets the composition target object and the composition method.

-
Parameters
- - - -
[in]targetThe paint of the target object.
[in]methodThe method used to composite the source object with the target.
-
-
-
Returns
Result::Success when succeed, Result::InvalidArguments otherwise.
- -
-
- -

◆ duplicate()

- -
-
- - - - - -
- - - - - - - -
Paint* duplicate () const
-
-noexcept
-
- -

Duplicates the object.

-

Creates a new object and sets its all properties as in the original object.

-
Returns
The created object when succeed, nullptr otherwise.
- -
-
- -

◆ identifier()

- -
-
- - - - - -
- - - - - - - -
uint32_t identifier () const
-
-inline
-
- -

Return the unique id value of the paint instance.

-

This method can be called for checking the current concrete instance type.

-
Returns
The type id of the Paint instance.
-

@BETA_API

- -
-
- -

◆ opacity() [1/2]

- -
-
- - - - - -
- - - - - - - -
uint8_t opacity () const
-
-noexcept
-
- -

Gets the opacity value of the object.

-
Returns
The opacity value in the range [0 ~ 255], where 0 is completely transparent and 255 is opaque.
- -
-
- -

◆ opacity() [2/2]

- -
-
- - - - - -
- - - - - - - - -
Result opacity (uint8_t o)
-
-noexcept
-
- -

Sets the opacity of the object.

-
Parameters
- - -
[in]oThe opacity value in the range [0 ~ 255], where 0 is completely transparent and 255 is opaque.
-
-
-
Returns
Result::Success when succeed.
-
Note
Setting the opacity with this API may require multiple render pass for composition. It is recommended to avoid changing the opacity if possible.
- -
-
- -

◆ rotate()

- -
-
- - - - - -
- - - - - - - - -
Result rotate (float degree)
-
-noexcept
-
- -

Sets the angle by which the object is rotated.

-

The angle in measured clockwise from the horizontal axis. The rotational axis passes through the point on the object with zero coordinates.

-
Parameters
- - -
[in]degreeThe value of the angle in degrees.
-
-
-
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
- -
-
- -

◆ scale()

- -
-
- - - - - -
- - - - - - - - -
Result scale (float factor)
-
-noexcept
-
- -

Sets the scale value of the object.

-
Parameters
- - -
[in]factorThe value of the scaling factor. The default value is 1.
-
-
-
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
- -
-
- -

◆ transform() [1/2]

- -
-
- - - - - -
- - - - - - - -
Matrix transform ()
-
-noexcept
-
- -

Gets the matrix of the affine transformation of the object.

-

The values of the matrix can be set by the transform() API, as well by the translate(), scale() and rotate(). In case no transformation was applied, the identity matrix is returned.

-
Return values
- - -
Theaugmented transformation matrix.
-
-
-
Since
0.4
- -
-
- -

◆ transform() [2/2]

- -
-
- - - - - -
- - - - - - - - -
Result transform (const Matrixm)
-
-noexcept
-
- -

Sets the matrix of the affine transformation for the object.

-

The augmented matrix of the transformation is expected to be given.

-
Parameters
- - -
[in]mThe 3x3 augmented matrix.
-
-
-
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
- -
-
- -

◆ translate()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
Result translate (float x,
float y 
)
-
-noexcept
-
- -

Sets the values by which the object is moved in a two-dimensional space.

-

The origin of the coordinate system is in the upper left corner of the canvas. The horizontal and vertical axes point to the right and down, respectively.

-
Parameters
- - - -
[in]xThe value of the horizontal shift.
[in]yThe value of the vertical shift.
-
-
-
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
- -
-
-
- - - - diff --git a/docs/html/classtvg_1_1Paint__inherit__graph.map b/docs/html/classtvg_1_1Paint__inherit__graph.map deleted file mode 100644 index efc955c..0000000 --- a/docs/html/classtvg_1_1Paint__inherit__graph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/docs/html/classtvg_1_1Paint__inherit__graph.md5 b/docs/html/classtvg_1_1Paint__inherit__graph.md5 deleted file mode 100644 index 5f7343f..0000000 --- a/docs/html/classtvg_1_1Paint__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -5a830fa148544e76fb58bfd2eb7cc361 \ No newline at end of file diff --git a/docs/html/classtvg_1_1Picture-members.html b/docs/html/classtvg_1_1Picture-members.html deleted file mode 100644 index 1de8fc1..0000000 --- a/docs/html/classtvg_1_1Picture-members.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -ThorVG: Member List - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Picture Member List
-
-
- -

This is the complete list of members for Picture, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - -
bounds(float *x, float *y, float *w, float *h) const noexceptPaint
bounds(float *x, float *y, float *w, float *h, bool transformed) const noexceptPaint
composite(std::unique_ptr< Paint > target, CompositeMethod method) noexceptPaint
composite(const Paint **target) const noexceptPaint
data(uint32_t *w, uint32_t *h) const noexceptPicture
duplicate() const noexceptPaint
gen() noexceptPicturestatic
identifier() noexceptPicturestatic
tvg::Paint::identifier() constPaintinline
load(const std::string &path) noexceptPicture
load(const char *data, uint32_t size, bool copy=false) noexceptPicture
load(const char *data, uint32_t size, const std::string &mimeType, bool copy=false) noexceptPicture
load(uint32_t *data, uint32_t w, uint32_t h, bool copy) noexceptPicture
opacity(uint8_t o) noexceptPaint
opacity() const noexceptPaint
rotate(float degree) noexceptPaint
scale(float factor) noexceptPaint
size(float w, float h) noexceptPicture
size(float *w, float *h) const noexceptPicture
transform(const Matrix &m) noexceptPaint
transform() noexceptPaint
translate(float x, float y) noexceptPaint
viewbox(float *x, float *y, float *w, float *h) const noexceptPicture
- - - - diff --git a/docs/html/classtvg_1_1Picture.html b/docs/html/classtvg_1_1Picture.html deleted file mode 100644 index 66fb07b..0000000 --- a/docs/html/classtvg_1_1Picture.html +++ /dev/null @@ -1,653 +0,0 @@ - - - - - - - -ThorVG: Picture - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
- -
- -

A class representing an image read in one of the supported formats: raw, svg, png, jpg and etc. Besides the methods inherited from the Paint, it provides methods to load & draw images on the canvas. - More...

-
-Inheritance diagram for Picture:
-
-
Inheritance graph
- - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

Result load (const std::string &path) noexcept
 Loads a picture data directly from a file. More...
 
TVG_DEPRECATED Result load (const char *data, uint32_t size, bool copy=false) noexcept
 Loads a picture data from a memory block of a given size. More...
 
Result load (const char *data, uint32_t size, const std::string &mimeType, bool copy=false) noexcept
 Loads a picture data from a memory block of a given size. More...
 
Result size (float w, float h) noexcept
 Resizes the picture content to the given width and height. More...
 
Result size (float *w, float *h) const noexcept
 Gets the size of the image. More...
 
const uint32_t * data (uint32_t *w, uint32_t *h) const noexcept
 Gets the pixels information of the picture. More...
 
Result load (uint32_t *data, uint32_t w, uint32_t h, bool copy) noexcept
 Loads a raw data from a memory block with a given size. More...
 
Result viewbox (float *x, float *y, float *w, float *h) const noexcept
 Gets the position and the size of the loaded SVG picture. More...
 
- Public Member Functions inherited from Paint
Result rotate (float degree) noexcept
 Sets the angle by which the object is rotated. More...
 
Result scale (float factor) noexcept
 Sets the scale value of the object. More...
 
Result translate (float x, float y) noexcept
 Sets the values by which the object is moved in a two-dimensional space. More...
 
Result transform (const Matrix &m) noexcept
 Sets the matrix of the affine transformation for the object. More...
 
Matrix transform () noexcept
 Gets the matrix of the affine transformation of the object. More...
 
Result opacity (uint8_t o) noexcept
 Sets the opacity of the object. More...
 
Result composite (std::unique_ptr< Paint > target, CompositeMethod method) noexcept
 Sets the composition target object and the composition method. More...
 
TVG_DEPRECATED Result bounds (float *x, float *y, float *w, float *h) const noexcept
 Gets the bounding box of the paint object before any transformation. More...
 
Result bounds (float *x, float *y, float *w, float *h, bool transformed) const noexcept
 Gets the axis-aligned bounding box of the paint object. More...
 
Paintduplicate () const noexcept
 Duplicates the object. More...
 
uint8_t opacity () const noexcept
 Gets the opacity value of the object. More...
 
CompositeMethod composite (const Paint **target) const noexcept
 Gets the composition target object and the composition method. More...
 
uint32_t identifier () const
 Return the unique id value of the paint instance. More...
 
- - - - - - - -

-Static Public Member Functions

static std::unique_ptr< Picturegen () noexcept
 Creates a new Picture object. More...
 
static uint32_t identifier () noexcept
 Return the unique id value of this class. More...
 
-

Detailed Description

-

A class representing an image read in one of the supported formats: raw, svg, png, jpg and etc. Besides the methods inherited from the Paint, it provides methods to load & draw images on the canvas.

-
Note
Supported formats are depended on the available TVG loaders.
-

Member Function Documentation

- -

◆ data()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
const uint32_t* data (uint32_t * w,
uint32_t * h 
) const
-
-noexcept
-
- -

Gets the pixels information of the picture.

-
Warning
Please do not use it, this API is not official one. It could be modified in the next version.
-

@BETA_API

- -
-
- -

◆ gen()

- -
-
- - - - - -
- - - - - - - -
static std::unique_ptr<Picture> gen ()
-
-staticnoexcept
-
- -

Creates a new Picture object.

-
Returns
A new Picture object.
- -
-
- -

◆ identifier()

- -
-
- - - - - -
- - - - - - - -
static uint32_t identifier ()
-
-staticnoexcept
-
- -

Return the unique id value of this class.

-

This method can be referred for identifying the Picture class type.

-
Returns
The type id of the Picture class.
-

@BETA_API

- -
-
- -

◆ load() [1/4]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
TVG_DEPRECATED Result load (const char * data,
uint32_t size,
bool copy = false 
)
-
-noexcept
-
- -

Loads a picture data from a memory block of a given size.

-
Parameters
- - - - -
[in]dataA pointer to a memory location where the content of the picture file is stored.
[in]sizeThe size in bytes of the memory occupied by the data.
[in]copyDecides whether the data should be copied into the engine local buffer.
-
-
-
Return values
- - - - - -
Result::SuccessWhen succeed.
Result::InvalidArgumentsIn case no data are provided or the size is zero or less.
Result::NonSupportWhen trying to load a file with an unknown extension.
Result::UnknownIf an error occurs at a later stage.
-
-
-
Warning
: you have responsibility to release the data memory if the copy is true
-
See also
Result load(const char* data, uint32_t size, const std::string& mimeType, bool copy = false) noexcept
- -
-
- -

◆ load() [2/4]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Result load (const char * data,
uint32_t size,
const std::string & mimeType,
bool copy = false 
)
-
-noexcept
-
- -

Loads a picture data from a memory block of a given size.

-
Parameters
- - - - - -
[in]dataA pointer to a memory location where the content of the picture file is stored.
[in]sizeThe size in bytes of the memory occupied by the data.
[in]mimeTypeMimetype or extension of data such as "jpg", "jpeg", "svg", "svg+xml", "png", etc. In case an empty string or an unknown type is provided, the loaders will be tried one by one.
[in]copyIf true the data are copied into the engine local buffer, otherwise they are not.
-
-
-
Return values
- - - - - -
Result::SuccessWhen succeed.
Result::InvalidArgumentsIn case no data are provided or the size is zero or less.
Result::NonSupportWhen trying to load a file with an unknown extension.
Result::UnknownIf an error occurs at a later stage.
-
-
-
Warning
: It's the user responsibility to release the data memory if the copy is true.
-
Since
0.5
- -
-
- -

◆ load() [3/4]

- -
-
- - - - - -
- - - - - - - - -
Result load (const std::string & path)
-
-noexcept
-
- -

Loads a picture data directly from a file.

-
Parameters
- - -
[in]pathA path to the picture file.
-
-
-
Return values
- - - - - -
Result::SuccessWhen succeed.
Result::InvalidArgumentsIn case the path is invalid.
Result::NonSupportWhen trying to load a file with an unknown extension.
Result::UnknownIf an error occurs at a later stage.
-
-
-
Note
The Load behavior can be asynchronous if the assigned thread number is greater than zero.
-
See also
Initializer::init()
- -
-
- -

◆ load() [4/4]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Result load (uint32_t * data,
uint32_t w,
uint32_t h,
bool copy 
)
-
-noexcept
-
- -

Loads a raw data from a memory block with a given size.

-
Warning
Please do not use it, this API is not official one. It could be modified in the next version.
-

@BETA_API

- -
-
- -

◆ size() [1/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
Result size (float * w,
float * h 
) const
-
-noexcept
-
- -

Gets the size of the image.

-
Parameters
- - - -
[out]wThe width of the image in pixels.
[out]hThe height of the image in pixels.
-
-
-
Returns
Result::Success when succeed.
- -
-
- -

◆ size() [2/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
Result size (float w,
float h 
)
-
-noexcept
-
- -

Resizes the picture content to the given width and height.

-

The picture content is resized while keeping the default size aspect ratio. The scaling factor is established for each of dimensions and the smaller value is applied to both of them.

-
Parameters
- - - -
[in]wA new width of the image in pixels.
[in]hA new height of the image in pixels.
-
-
-
Returns
Result::Success when succeed, Result::InsufficientCondition otherwise.
- -
-
- -

◆ viewbox()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Result viewbox (float * x,
float * y,
float * w,
float * h 
) const
-
-noexcept
-
- -

Gets the position and the size of the loaded SVG picture.

-
Warning
Please do not use it, this API is not official one. It could be modified in the next version.
-

@BETA_API

- -
-
-
- - - - diff --git a/docs/html/classtvg_1_1Picture__inherit__graph.map b/docs/html/classtvg_1_1Picture__inherit__graph.map deleted file mode 100644 index 29b29f4..0000000 --- a/docs/html/classtvg_1_1Picture__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/html/classtvg_1_1Picture__inherit__graph.md5 b/docs/html/classtvg_1_1Picture__inherit__graph.md5 deleted file mode 100644 index a441693..0000000 --- a/docs/html/classtvg_1_1Picture__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -000954cb73ed26fd2a3f6cc39d922ef1 \ No newline at end of file diff --git a/docs/html/classtvg_1_1RadialGradient-members.html b/docs/html/classtvg_1_1RadialGradient-members.html deleted file mode 100644 index 837912a..0000000 --- a/docs/html/classtvg_1_1RadialGradient-members.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - -ThorVG: Member List - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
RadialGradient Member List
-
-
- -

This is the complete list of members for RadialGradient, including all inherited members.

- - - - - - - - - - - - - -
colorStops(const ColorStop *colorStops, uint32_t cnt) noexceptFill
colorStops(const ColorStop **colorStops) const noexceptFill
duplicate() const noexceptFill
gen() noexceptRadialGradientstatic
identifier() noexceptRadialGradientstatic
tvg::Fill::identifier() constFillinline
radial(float cx, float cy, float radius) noexceptRadialGradient
radial(float *cx, float *cy, float *radius) const noexceptRadialGradient
spread(FillSpread s) noexceptFill
spread() const noexceptFill
transform(const Matrix &m) noexceptFill
transform() const noexceptFill
- - - - diff --git a/docs/html/classtvg_1_1RadialGradient.html b/docs/html/classtvg_1_1RadialGradient.html deleted file mode 100644 index 59c1be6..0000000 --- a/docs/html/classtvg_1_1RadialGradient.html +++ /dev/null @@ -1,312 +0,0 @@ - - - - - - - -ThorVG: RadialGradient - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
- -
- -

A class representing the radial gradient fill of the Shape object. - More...

-
-Inheritance diagram for RadialGradient:
-
-
Inheritance graph
- - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

Result radial (float cx, float cy, float radius) noexcept
 Sets the radial gradient bounds. More...
 
Result radial (float *cx, float *cy, float *radius) const noexcept
 Gets the radial gradient bounds. More...
 
- Public Member Functions inherited from Fill
Result colorStops (const ColorStop *colorStops, uint32_t cnt) noexcept
 Sets the parameters of the colors of the gradient and their position. More...
 
Result spread (FillSpread s) noexcept
 Sets the FillSpread value, which specifies how to fill the area outside the gradient bounds. More...
 
Result transform (const Matrix &m) noexcept
 Sets the matrix of the affine transformation for the gradient fill. More...
 
uint32_t colorStops (const ColorStop **colorStops) const noexcept
 Gets the parameters of the colors of the gradient, their position and number. More...
 
FillSpread spread () const noexcept
 Gets the FillSpread value of the fill. More...
 
Matrix transform () const noexcept
 Gets the matrix of the affine transformation of the gradient fill. More...
 
Fillduplicate () const noexcept
 Creates a copy of the Fill object. More...
 
uint32_t identifier () const
 Return the unique id value of the Fill instance. More...
 
- - - - - - - -

-Static Public Member Functions

static std::unique_ptr< RadialGradientgen () noexcept
 Creates a new RadialGradient object. More...
 
static uint32_t identifier () noexcept
 Return the unique id value of this class. More...
 
-

Detailed Description

-

A class representing the radial gradient fill of the Shape object.

-

Member Function Documentation

- -

◆ gen()

- -
-
- - - - - -
- - - - - - - -
static std::unique_ptr<RadialGradient> gen ()
-
-staticnoexcept
-
- -

Creates a new RadialGradient object.

-
Returns
A new RadialGradient object.
- -
-
- -

◆ identifier()

- -
-
- - - - - -
- - - - - - - -
static uint32_t identifier ()
-
-staticnoexcept
-
- -

Return the unique id value of this class.

-

This method can be referred for identifying the RadialGradient class type.

-
Returns
The type id of the RadialGradient class.
-

@BETA_API

- -
-
- -

◆ radial() [1/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
Result radial (float * cx,
float * cy,
float * radius 
) const
-
-noexcept
-
- -

Gets the radial gradient bounds.

-

The radial gradient bounds are defined as a circle centered in a given point (cx, cy) of a given radius.

-
Parameters
- - - - -
[out]cxThe horizontal coordinate of the center of the bounding circle.
[out]cyThe vertical coordinate of the center of the bounding circle.
[out]radiusThe radius of the bounding circle.
-
-
-
Returns
Result::Success when succeed.
- -
-
- -

◆ radial() [2/2]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
Result radial (float cx,
float cy,
float radius 
)
-
-noexcept
-
- -

Sets the radial gradient bounds.

-

The radial gradient bounds are defined as a circle centered in a given point (cx, cy) of a given radius.

-
Parameters
- - - - -
[in]cxThe horizontal coordinate of the center of the bounding circle.
[in]cyThe vertical coordinate of the center of the bounding circle.
[in]radiusThe radius of the bounding circle.
-
-
-
Returns
Result::Success when succeed, Result::InvalidArguments in case the radius value is zero or less.
- -
-
-
- - - - diff --git a/docs/html/classtvg_1_1Saver-members.html b/docs/html/classtvg_1_1Saver-members.html deleted file mode 100644 index 69b1fca..0000000 --- a/docs/html/classtvg_1_1Saver-members.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - -ThorVG: Member List - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Saver Member List
-
-
- -

This is the complete list of members for Saver, including all inherited members.

- - - - -
gen() noexceptSaverstatic
save(std::unique_ptr< Paint > paint, const std::string &path, bool compress=true) noexceptSaver
sync() noexceptSaver
- - - - diff --git a/docs/html/classtvg_1_1Saver.html b/docs/html/classtvg_1_1Saver.html deleted file mode 100644 index 3ee4dcb..0000000 --- a/docs/html/classtvg_1_1Saver.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - - -ThorVG: Saver - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
- -
- -

A class for exporting a paint object into a specified file, from which to recover the paint data later. - More...

- - - - - - - - -

-Public Member Functions

Result save (std::unique_ptr< Paint > paint, const std::string &path, bool compress=true) noexcept
 Exports the given paint data to the given path. More...
 
Result sync () noexcept
 Guarantees that the saving task is finished. More...
 
- - - - -

-Static Public Member Functions

static std::unique_ptr< Savergen () noexcept
 Creates a new Saver object. More...
 
-

Detailed Description

-

A class for exporting a paint object into a specified file, from which to recover the paint data later.

-

ThorVG provides a feature for exporting & importing paint data. The Saver role is to export the paint data to a file. It's useful when you need to save the composed scene or image from a paint object and recreate it later.

-

The file format is decided by the extension name(i.e. "*.tvg") while the supported formats depend on the TVG packaging environment. If it doesn't support the file format, the save() method returns the Result::NonSuppport result.

-

Once you export a paint to the file successfully, you can recreate it using the Picture class.

-
See also
Picture::load()
-
Since
0.5
-

Member Function Documentation

- -

◆ gen()

- -
-
- - - - - -
- - - - - - - -
static std::unique_ptr<Saver> gen ()
-
-staticnoexcept
-
- -

Creates a new Saver object.

-
Returns
A new Saver object.
-
Since
0.5
- -
-
- -

◆ save()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
Result save (std::unique_ptr< Paintpaint,
const std::string & path,
bool compress = true 
)
-
-noexcept
-
- -

Exports the given paint data to the given path.

-

If the saver module supports any compression mechanism, it will optimize the data size. This might affect the encoding/decoding time in some cases. You can turn off the compression if you wish to optimize for speed.

-
Parameters
- - - - -
[in]paintThe paint to be saved with all its associated properties.
[in]pathA path to the file, in which the paint data is to be saved.
[in]compressIf true then compress data if possible.
-
-
-
Return values
- - - - - - -
Result::SuccessWhen succeed.
Result::InsufficientConditionIf currently saving other resources.
Result::NonSupportWhen trying to save a file with an unknown extension or in an unsupported format.
Result::MemoryCorruptionAn internal error.
Result::UnknownIn case an empty paint is to be saved.
-
-
-
Note
Saving can be asynchronous if the assigned thread number is greater than zero. To guarantee the saving is done, call sync() afterwards.
-
See also
Saver::sync()
-
Since
0.5
- -
-
- -

◆ sync()

- -
-
- - - - - -
- - - - - - - -
Result sync ()
-
-noexcept
-
- -

Guarantees that the saving task is finished.

-

The behavior of the Saver works on a sync/async basis, depending on the threading setting of the Initializer. Thus, if you wish to have a benefit of it, you must call sync() after the save() in the proper delayed time. Otherwise, you can call sync() immediately.

-
Return values
- - - -
Result::Successwhen succeed.
Result::InsufficientConditionotherwise.
-
-
-
Note
The asynchronous tasking is dependent on the Saver module implementation.
-
See also
Saver::save()
-
Since
0.5
- -
-
-
- - - - diff --git a/docs/html/classtvg_1_1Scene-members.html b/docs/html/classtvg_1_1Scene-members.html deleted file mode 100644 index db0ef59..0000000 --- a/docs/html/classtvg_1_1Scene-members.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - -ThorVG: Member List - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Scene Member List
-
-
- -

This is the complete list of members for Scene, including all inherited members.

- - - - - - - - - - - - - - - - - - - -
bounds(float *x, float *y, float *w, float *h) const noexceptPaint
bounds(float *x, float *y, float *w, float *h, bool transformed) const noexceptPaint
clear(bool free=true) noexceptScene
composite(std::unique_ptr< Paint > target, CompositeMethod method) noexceptPaint
composite(const Paint **target) const noexceptPaint
duplicate() const noexceptPaint
gen() noexceptScenestatic
identifier() noexceptScenestatic
tvg::Paint::identifier() constPaintinline
opacity(uint8_t o) noexceptPaint
opacity() const noexceptPaint
push(std::unique_ptr< Paint > paint) noexceptScene
reserve(uint32_t size) noexceptScene
rotate(float degree) noexceptPaint
scale(float factor) noexceptPaint
transform(const Matrix &m) noexceptPaint
transform() noexceptPaint
translate(float x, float y) noexceptPaint
- - - - diff --git a/docs/html/classtvg_1_1Scene.html b/docs/html/classtvg_1_1Scene.html deleted file mode 100644 index 5415bb0..0000000 --- a/docs/html/classtvg_1_1Scene.html +++ /dev/null @@ -1,335 +0,0 @@ - - - - - - - -ThorVG: Scene - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
- -
- -

A class to composite children paints. - More...

-
-Inheritance diagram for Scene:
-
-
Inheritance graph
- - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

Result push (std::unique_ptr< Paint > paint) noexcept
 Passes drawing elements to the Scene using Paint objects. More...
 
Result reserve (uint32_t size) noexcept
 Sets the size of the container, where all the paints pushed into the Scene are stored. More...
 
Result clear (bool free=true) noexcept
 Sets the total number of the paints pushed into the scene to be zero. Depending on the value of the free argument, the paints are freed or not. More...
 
- Public Member Functions inherited from Paint
Result rotate (float degree) noexcept
 Sets the angle by which the object is rotated. More...
 
Result scale (float factor) noexcept
 Sets the scale value of the object. More...
 
Result translate (float x, float y) noexcept
 Sets the values by which the object is moved in a two-dimensional space. More...
 
Result transform (const Matrix &m) noexcept
 Sets the matrix of the affine transformation for the object. More...
 
Matrix transform () noexcept
 Gets the matrix of the affine transformation of the object. More...
 
Result opacity (uint8_t o) noexcept
 Sets the opacity of the object. More...
 
Result composite (std::unique_ptr< Paint > target, CompositeMethod method) noexcept
 Sets the composition target object and the composition method. More...
 
TVG_DEPRECATED Result bounds (float *x, float *y, float *w, float *h) const noexcept
 Gets the bounding box of the paint object before any transformation. More...
 
Result bounds (float *x, float *y, float *w, float *h, bool transformed) const noexcept
 Gets the axis-aligned bounding box of the paint object. More...
 
Paintduplicate () const noexcept
 Duplicates the object. More...
 
uint8_t opacity () const noexcept
 Gets the opacity value of the object. More...
 
CompositeMethod composite (const Paint **target) const noexcept
 Gets the composition target object and the composition method. More...
 
uint32_t identifier () const
 Return the unique id value of the paint instance. More...
 
- - - - - - - -

-Static Public Member Functions

static std::unique_ptr< Scenegen () noexcept
 Creates a new Scene object. More...
 
static uint32_t identifier () noexcept
 Return the unique id value of this class. More...
 
-

Detailed Description

-

A class to composite children paints.

-

As the traditional graphics rendering method, TVG also enables scene-graph mechanism. This feature supports an array function for managing the multiple paints as one group paint.

-

As a group, the scene can be transformed, made translucent and composited with other target paints, its children will be affected by the scene world.

-

Member Function Documentation

- -

◆ clear()

- -
-
- - - - - -
- - - - - - - - -
Result clear (bool free = true)
-
-noexcept
-
- -

Sets the total number of the paints pushed into the scene to be zero. Depending on the value of the free argument, the paints are freed or not.

-
Parameters
- - -
[in]freeIf true, the memory occupied by paints is deallocated, otherwise it is not.
-
-
-
Returns
Result::Success when succeed
-
Warning
If you don't free the paints they become dangled. They are supposed to be reused, otherwise you are responsible for their lives. Thus please use the free argument only when you know how it works, otherwise it's not recommended.
-
Since
0.2
- -
-
- -

◆ gen()

- -
-
- - - - - -
- - - - - - - -
static std::unique_ptr<Scene> gen ()
-
-staticnoexcept
-
- -

Creates a new Scene object.

-
Returns
A new Scene object.
- -
-
- -

◆ identifier()

- -
-
- - - - - -
- - - - - - - -
static uint32_t identifier ()
-
-staticnoexcept
-
- -

Return the unique id value of this class.

-

This method can be referred for identifying the Scene class type.

-
Returns
The type id of the Scene class.
-

@BETA_API

- -
-
- -

◆ push()

- -
-
- - - - - -
- - - - - - - - -
Result push (std::unique_ptr< Paintpaint)
-
-noexcept
-
- -

Passes drawing elements to the Scene using Paint objects.

-

Only the paints pushed into the scene will be the drawn targets. The paints are retained by the scene until Scene::clear() is called. If you know the number of the pushed objects in advance, please call Scene::reserve().

-
Parameters
- - -
[in]paintA Paint object to be drawn.
-
-
-
Returns
Result::Success when succeed, Result::MemoryCorruption otherwise.
-
Note
The rendering order of the paints is the same as the order as they were pushed. Consider sorting the paints before pushing them if you intend to use layering.
-
See also
Scene::reserve()
- -
-
- -

◆ reserve()

- -
-
- - - - - -
- - - - - - - - -
Result reserve (uint32_t size)
-
-noexcept
-
- -

Sets the size of the container, where all the paints pushed into the Scene are stored.

-

If the number of objects pushed into the scene is known in advance, calling the function prevents multiple memory reallocation, thus improving the performance.

-
Parameters
- - -
[in]sizeThe number of objects for which the memory is to be reserved.
-
-
-
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
- -
-
-
- - - - diff --git a/docs/html/classtvg_1_1Shape-members.html b/docs/html/classtvg_1_1Shape-members.html deleted file mode 100644 index 4f9c26e..0000000 --- a/docs/html/classtvg_1_1Shape-members.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - -ThorVG: Member List - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Shape Member List
-
-
- -

This is the complete list of members for Shape, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
appendArc(float cx, float cy, float radius, float startAngle, float sweep, bool pie) noexceptShape
appendCircle(float cx, float cy, float rx, float ry) noexceptShape
appendPath(const PathCommand *cmds, uint32_t cmdCnt, const Point *pts, uint32_t ptsCnt) noexceptShape
appendRect(float x, float y, float w, float h, float rx, float ry) noexceptShape
bounds(float *x, float *y, float *w, float *h) const noexceptPaint
bounds(float *x, float *y, float *w, float *h, bool transformed) const noexceptPaint
close() noexceptShape
composite(std::unique_ptr< Paint > target, CompositeMethod method) noexceptPaint
composite(const Paint **target) const noexceptPaint
cubicTo(float cx1, float cy1, float cx2, float cy2, float x, float y) noexceptShape
duplicate() const noexceptPaint
fill(uint8_t r, uint8_t g, uint8_t b, uint8_t a) noexceptShape
fill(std::unique_ptr< Fill > f) noexceptShape
fill(FillRule r) noexceptShape
fill() const noexceptShape
fillColor(uint8_t *r, uint8_t *g, uint8_t *b, uint8_t *a) const noexceptShape
fillRule() const noexceptShape
gen() noexceptShapestatic
identifier() noexceptShapestatic
tvg::Paint::identifier() constPaintinline
lineTo(float x, float y) noexceptShape
moveTo(float x, float y) noexceptShape
opacity(uint8_t o) noexceptPaint
opacity() const noexceptPaint
pathCommands(const PathCommand **cmds) const noexceptShape
pathCoords(const Point **pts) const noexceptShape
reset() noexceptShape
rotate(float degree) noexceptPaint
scale(float factor) noexceptPaint
stroke(float width) noexceptShape
stroke(uint8_t r, uint8_t g, uint8_t b, uint8_t a) noexceptShape
stroke(std::unique_ptr< Fill > f) noexceptShape
stroke(const float *dashPattern, uint32_t cnt) noexceptShape
stroke(StrokeCap cap) noexceptShape
stroke(StrokeJoin join) noexceptShape
strokeCap() const noexceptShape
strokeColor(uint8_t *r, uint8_t *g, uint8_t *b, uint8_t *a) const noexceptShape
strokeDash(const float **dashPattern) const noexceptShape
strokeFill() const noexceptShape
strokeJoin() const noexceptShape
strokeWidth() const noexceptShape
transform(const Matrix &m) noexceptPaint
transform() noexceptPaint
translate(float x, float y) noexceptPaint
- - - - diff --git a/docs/html/classtvg_1_1Shape.html b/docs/html/classtvg_1_1Shape.html deleted file mode 100644 index cfdd8cc..0000000 --- a/docs/html/classtvg_1_1Shape.html +++ /dev/null @@ -1,1603 +0,0 @@ - - - - - - - -ThorVG: Shape - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
- -
- -

A class representing two-dimensional figures and their properties. - More...

-
-Inheritance diagram for Shape:
-
-
Inheritance graph
- - - - -
[legend]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

Result reset () noexcept
 Resets the properties of the shape path. More...
 
Result moveTo (float x, float y) noexcept
 Sets the initial point of the sub-path. More...
 
Result lineTo (float x, float y) noexcept
 Adds a new point to the sub-path, which results in drawing a line from the current point to the given end-point. More...
 
Result cubicTo (float cx1, float cy1, float cx2, float cy2, float x, float y) noexcept
 Adds new points to the sub-path, which results in drawing a cubic Bezier curve starting at the current point and ending at the given end-point (x, y) using the control points (cx1, cy1) and (cx2, cy2). More...
 
Result close () noexcept
 Closes the current sub-path by drawing a line from the current point to the initial point of the sub-path. More...
 
Result appendRect (float x, float y, float w, float h, float rx, float ry) noexcept
 Appends a rectangle to the path. More...
 
Result appendCircle (float cx, float cy, float rx, float ry) noexcept
 Appends an ellipse to the path. More...
 
Result appendArc (float cx, float cy, float radius, float startAngle, float sweep, bool pie) noexcept
 Appends a circular arc to the path. More...
 
Result appendPath (const PathCommand *cmds, uint32_t cmdCnt, const Point *pts, uint32_t ptsCnt) noexcept
 Appends a given sub-path to the path. More...
 
Result stroke (float width) noexcept
 Sets the stroke width for all of the figures from the path. More...
 
Result stroke (uint8_t r, uint8_t g, uint8_t b, uint8_t a) noexcept
 Sets the color of the stroke for all of the figures from the path. More...
 
Result stroke (std::unique_ptr< Fill > f) noexcept
 Sets the gradient fill of the stroke for all of the figures from the path. More...
 
Result stroke (const float *dashPattern, uint32_t cnt) noexcept
 Sets the dash pattern of the stroke. More...
 
Result stroke (StrokeCap cap) noexcept
 Sets the cap style of the stroke in the open sub-paths. More...
 
Result stroke (StrokeJoin join) noexcept
 Sets the join style for stroked path segments. More...
 
Result fill (uint8_t r, uint8_t g, uint8_t b, uint8_t a) noexcept
 Sets the solid color for all of the figures from the path. More...
 
Result fill (std::unique_ptr< Fill > f) noexcept
 Sets the gradient fill for all of the figures from the path. More...
 
Result fill (FillRule r) noexcept
 Sets the fill rule for the Shape object. More...
 
uint32_t pathCommands (const PathCommand **cmds) const noexcept
 Gets the commands data of the path. More...
 
uint32_t pathCoords (const Point **pts) const noexcept
 Gets the points values of the path. More...
 
const Fillfill () const noexcept
 Gets the pointer to the gradient fill of the shape. More...
 
Result fillColor (uint8_t *r, uint8_t *g, uint8_t *b, uint8_t *a) const noexcept
 Gets the solid color of the shape. More...
 
FillRule fillRule () const noexcept
 Gets the fill rule value. More...
 
float strokeWidth () const noexcept
 Gets the stroke width. More...
 
Result strokeColor (uint8_t *r, uint8_t *g, uint8_t *b, uint8_t *a) const noexcept
 Gets the color of the shape's stroke. More...
 
const FillstrokeFill () const noexcept
 Gets the pointer to the gradient fill of the stroke. More...
 
uint32_t strokeDash (const float **dashPattern) const noexcept
 Gets the dash pattern of the stroke. More...
 
StrokeCap strokeCap () const noexcept
 Gets the cap style used for stroking the path. More...
 
StrokeJoin strokeJoin () const noexcept
 Gets the join style value used for stroking the path. More...
 
- Public Member Functions inherited from Paint
Result rotate (float degree) noexcept
 Sets the angle by which the object is rotated. More...
 
Result scale (float factor) noexcept
 Sets the scale value of the object. More...
 
Result translate (float x, float y) noexcept
 Sets the values by which the object is moved in a two-dimensional space. More...
 
Result transform (const Matrix &m) noexcept
 Sets the matrix of the affine transformation for the object. More...
 
Matrix transform () noexcept
 Gets the matrix of the affine transformation of the object. More...
 
Result opacity (uint8_t o) noexcept
 Sets the opacity of the object. More...
 
Result composite (std::unique_ptr< Paint > target, CompositeMethod method) noexcept
 Sets the composition target object and the composition method. More...
 
TVG_DEPRECATED Result bounds (float *x, float *y, float *w, float *h) const noexcept
 Gets the bounding box of the paint object before any transformation. More...
 
Result bounds (float *x, float *y, float *w, float *h, bool transformed) const noexcept
 Gets the axis-aligned bounding box of the paint object. More...
 
Paintduplicate () const noexcept
 Duplicates the object. More...
 
uint8_t opacity () const noexcept
 Gets the opacity value of the object. More...
 
CompositeMethod composite (const Paint **target) const noexcept
 Gets the composition target object and the composition method. More...
 
uint32_t identifier () const
 Return the unique id value of the paint instance. More...
 
- - - - - - - -

-Static Public Member Functions

static std::unique_ptr< Shapegen () noexcept
 Creates a new Shape object. More...
 
static uint32_t identifier () noexcept
 Return the unique id value of this class. More...
 
-

Detailed Description

-

A class representing two-dimensional figures and their properties.

-

A shape has three major properties: shape outline, stroking, filling. The outline in the Shape is retained as the path. Path can be composed by accumulating primitive commands such as moveTo(), lineTo(), cubicTo(), or complete shape interfaces such as appendRect(), appendCircle(), etc. Path can consists of sub-paths. One sub-path is determined by a close command.

-

The stroke of Shape is an optional property in case the Shape needs to be represented with/without the outline borders. It's efficient since the shape path and the stroking path can be shared with each other. It's also convenient when controlling both in one context.

-

Member Function Documentation

- -

◆ appendArc()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Result appendArc (float cx,
float cy,
float radius,
float startAngle,
float sweep,
bool pie 
)
-
-noexcept
-
- -

Appends a circular arc to the path.

-

The arc is treated as a new sub-path - it is not connected with the previous sub-path. The current point value is set to the end-point of the arc in case pie is false, and to the center of the arc otherwise.

-
Parameters
- - - - - - - -
[in]cxThe horizontal coordinate of the center of the arc.
[in]cyThe vertical coordinate of the center of the arc.
[in]radiusThe radius of the arc.
[in]startAngleThe start angle of the arc given in degrees, measured counter-clockwise from the horizontal line.
[in]sweepThe central angle of the arc given in degrees, measured counter-clockwise from startAngle.
[in]pieSpecifies whether to draw radii from the arc's center to both of its end-point - drawn if true.
-
-
-
Returns
Result::Success when succeed.
-
Note
Setting sweep value greater than 360 degrees, is equivalent to calling appendCircle(cx, cy, radius, radius).
- -
-
- -

◆ appendCircle()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Result appendCircle (float cx,
float cy,
float rx,
float ry 
)
-
-noexcept
-
- -

Appends an ellipse to the path.

-

The position of the ellipse is specified by the coordinates of its center - cx and cy arguments.

-

The ellipse is treated as a new sub-path - it is not connected with the previous sub-path.

-

The value of the current point is set to (cx, cy - ry).

-
Parameters
- - - - - -
[in]cxThe horizontal coordinate of the center of the ellipse.
[in]cyThe vertical coordinate of the center of the ellipse.
[in]rxThe x-axis radius of the ellipse.
[in]ryThe y-axis radius of the ellipse.
-
-
-
Returns
Result::Success when succeed.
- -
-
- -

◆ appendPath()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Result appendPath (const PathCommandcmds,
uint32_t cmdCnt,
const Pointpts,
uint32_t ptsCnt 
)
-
-noexcept
-
- -

Appends a given sub-path to the path.

-

The current point value is set to the last point from the sub-path. For each command from the cmds array, an appropriate number of points in pts array should be specified. If the number of points in the pts array is different than the number required by the cmds array, the shape with this sub-path will not be displayed on the screen.

-
Parameters
- - - - - -
[in]cmdsThe array of the commands in the sub-path.
[in]cmdCntThe number of the sub-path's commands.
[in]ptsThe array of the two-dimensional points.
[in]ptsCntThe number of the points in the pts array.
-
-
-
Returns
Result::Success when succeed, Result::InvalidArguments otherwise.
-
Note
The interface is designed for optimal path setting if the caller has a completed path commands already.
- -
-
- -

◆ appendRect()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Result appendRect (float x,
float y,
float w,
float h,
float rx,
float ry 
)
-
-noexcept
-
- -

Appends a rectangle to the path.

-

The rectangle with rounded corners can be achieved by setting non-zero values to rx and ry arguments. The rx and ry values specify the radii of the ellipse defining the rounding of the corners.

-

The position of the rectangle is specified by the coordinates of its upper left corner - x and y arguments.

-

The rectangle is treated as a new sub-path - it is not connected with the previous sub-path.

-

The value of the current point is set to (x + rx, y) - in case rx is greater than w/2 the current point is set to (x + w/2, y)

-
Parameters
- - - - - - - -
[in]xThe horizontal coordinate of the upper left corner of the rectangle.
[in]yThe vertical coordinate of the upper left corner of the rectangle.
[in]wThe width of the rectangle.
[in]hThe height of the rectangle.
[in]rxThe x-axis radius of the ellipse defining the rounded corners of the rectangle.
[in]ryThe y-axis radius of the ellipse defining the rounded corners of the rectangle.
-
-
-
Returns
Result::Success when succeed.
-
Note
For rx and ry greater than or equal to the half of w and the half of h, respectively, the shape become an ellipse.
- -
-
- -

◆ close()

- -
-
- - - - - -
- - - - - - - -
Result close ()
-
-noexcept
-
- -

Closes the current sub-path by drawing a line from the current point to the initial point of the sub-path.

-

The value of the current point is set to the initial point of the closed sub-path.

-
Returns
Result::Success when succeed.
-
Note
In case the sub-path does not contain any points, this function has no effect.
- -
-
- -

◆ cubicTo()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Result cubicTo (float cx1,
float cy1,
float cx2,
float cy2,
float x,
float y 
)
-
-noexcept
-
- -

Adds new points to the sub-path, which results in drawing a cubic Bezier curve starting at the current point and ending at the given end-point (x, y) using the control points (cx1, cy1) and (cx2, cy2).

-

The value of the current point is set to the given end-point.

-
Parameters
- - - - - - - -
[in]cx1The horizontal coordinate of the 1st control point.
[in]cy1The vertical coordinate of the 1st control point.
[in]cx2The horizontal coordinate of the 2nd control point.
[in]cy2The vertical coordinate of the 2nd control point.
[in]xThe horizontal coordinate of the end-point of the curve.
[in]yThe vertical coordinate of the end-point of the curve.
-
-
-
Returns
Result::Success when succeed.
-
Note
In case this is the first command in the path, no data from the path are rendered.
- -
-
- -

◆ fill() [1/4]

- -
-
- - - - - -
- - - - - - - -
const Fill* fill () const
-
-noexcept
-
- -

Gets the pointer to the gradient fill of the shape.

-
Returns
The pointer to the gradient fill of the stroke when succeed, nullptr in case no fill was set.
- -
-
- -

◆ fill() [2/4]

- -
-
- - - - - -
- - - - - - - - -
Result fill (FillRule r)
-
-noexcept
-
- -

Sets the fill rule for the Shape object.

-
Parameters
- - -
[in]rThe fill rule value. The default value is FillRule::Winding.
-
-
-
Returns
Result::Success when succeed.
- -
-
- -

◆ fill() [3/4]

- -
-
- - - - - -
- - - - - - - - -
Result fill (std::unique_ptr< Fillf)
-
-noexcept
-
- -

Sets the gradient fill for all of the figures from the path.

-

The parts of the shape defined as inner are filled.

-
Parameters
- - -
[in]fThe unique pointer to the gradient fill.
-
-
-
Returns
Result::Success when succeed, Result::MemoryCorruption otherwise.
-
Note
Either a solid color or a gradient fill is applied, depending on what was set as last.
- -
-
- -

◆ fill() [4/4]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Result fill (uint8_t r,
uint8_t g,
uint8_t b,
uint8_t a 
)
-
-noexcept
-
- -

Sets the solid color for all of the figures from the path.

-

The parts of the shape defined as inner are colored.

-
Parameters
- - - - - -
[in]rThe red color channel value in the range [0 ~ 255]. The default value is 0.
[in]gThe green color channel value in the range [0 ~ 255]. The default value is 0.
[in]bThe blue color channel value in the range [0 ~ 255]. The default value is 0.
[in]aThe alpha channel value in the range [0 ~ 255], where 0 is completely transparent and 255 is opaque. The default value is 0.
-
-
-
Returns
Result::Success when succeed.
-
Note
Either a solid color or a gradient fill is applied, depending on what was set as last.
- -
-
- -

◆ fillColor()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Result fillColor (uint8_t * r,
uint8_t * g,
uint8_t * b,
uint8_t * a 
) const
-
-noexcept
-
- -

Gets the solid color of the shape.

-
Parameters
- - - - - -
[out]rThe red color channel value in the range [0 ~ 255].
[out]gThe green color channel value in the range [0 ~ 255].
[out]bThe blue color channel value in the range [0 ~ 255].
[out]aThe alpha channel value in the range [0 ~ 255], where 0 is completely transparent and 255 is opaque.
-
-
-
Returns
Result::Success when succeed.
- -
-
- -

◆ fillRule()

- -
-
- - - - - -
- - - - - - - -
FillRule fillRule () const
-
-noexcept
-
- -

Gets the fill rule value.

-
Returns
The fill rule value of the shape.
- -
-
- -

◆ gen()

- -
-
- - - - - -
- - - - - - - -
static std::unique_ptr<Shape> gen ()
-
-staticnoexcept
-
- -

Creates a new Shape object.

-
Returns
A new Shape object.
- -
-
- -

◆ identifier()

- -
-
- - - - - -
- - - - - - - -
static uint32_t identifier ()
-
-staticnoexcept
-
- -

Return the unique id value of this class.

-

This method can be referred for identifying the Shape class type.

-
Returns
The type id of the Shape class.
-

@BETA_API

- -
-
- -

◆ lineTo()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
Result lineTo (float x,
float y 
)
-
-noexcept
-
- -

Adds a new point to the sub-path, which results in drawing a line from the current point to the given end-point.

-

The value of the current point is set to the given end-point.

-
Parameters
- - - -
[in]xThe horizontal coordinate of the end-point of the line.
[in]yThe vertical coordinate of the end-point of the line.
-
-
-
Returns
Result::Success when succeed.
-
Note
In case this is the first command in the path, it corresponds to the moveTo() call.
- -
-
- -

◆ moveTo()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
Result moveTo (float x,
float y 
)
-
-noexcept
-
- -

Sets the initial point of the sub-path.

-

The value of the current point is set to the given point.

-
Parameters
- - - -
[in]xThe horizontal coordinate of the initial point of the sub-path.
[in]yThe vertical coordinate of the initial point of the sub-path.
-
-
-
Returns
Result::Success when succeed.
- -
-
- -

◆ pathCommands()

- -
-
- - - - - -
- - - - - - - - -
uint32_t pathCommands (const PathCommand ** cmds) const
-
-noexcept
-
- -

Gets the commands data of the path.

-
Parameters
- - -
[out]cmdsThe pointer to the array of the commands from the path.
-
-
-
Returns
The length of the cmds array when succeed, zero otherwise.
- -
-
- -

◆ pathCoords()

- -
-
- - - - - -
- - - - - - - - -
uint32_t pathCoords (const Point ** pts) const
-
-noexcept
-
- -

Gets the points values of the path.

-
Parameters
- - -
[out]ptsThe pointer to the array of the two-dimensional points from the path.
-
-
-
Returns
The length of the pts array when succeed, zero otherwise.
- -
-
- -

◆ reset()

- -
-
- - - - - -
- - - - - - - -
Result reset ()
-
-noexcept
-
- -

Resets the properties of the shape path.

-

The color, the fill and the stroke properties are retained.

-
Returns
Result::Success when succeed.
-
Note
The memory, where the path data is stored, is not deallocated at this stage for caching effect.
- -
-
- -

◆ stroke() [1/6]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
Result stroke (const float * dashPattern,
uint32_t cnt 
)
-
-noexcept
-
- -

Sets the dash pattern of the stroke.

-
Parameters
- - - -
[in]dashPatternThe array of consecutive pair values of the dash length and the gap length.
[in]cntThe length of the dashPattern array.
-
-
-
Return values
- - - - -
Result::SuccessWhen succeed.
Result::FailedAllocationAn internal error with a memory allocation for an object to be dashed.
Result::InvalidArgumentsIn case dashPattern is nullptr and cnt > 0, cnt is zero, any of the dash pattern values is zero or less.
-
-
-
Note
To reset the stroke dash pattern, pass nullptr to dashPattern and zero to cnt.
-
Warning
cnt must be greater than 1 if the dash pattern is valid.
- -
-
- -

◆ stroke() [2/6]

- -
-
- - - - - -
- - - - - - - - -
Result stroke (float width)
-
-noexcept
-
- -

Sets the stroke width for all of the figures from the path.

-
Parameters
- - -
[in]widthThe width of the stroke. The default value is 0.
-
-
-
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
- -
-
- -

◆ stroke() [3/6]

- -
-
- - - - - -
- - - - - - - - -
Result stroke (std::unique_ptr< Fillf)
-
-noexcept
-
- -

Sets the gradient fill of the stroke for all of the figures from the path.

-
Parameters
- - -
[in]fThe gradient fill.
-
-
-
Return values
- - - - -
Result::SuccessWhen succeed.
Result::FailedAllocationAn internal error with a memory allocation for an object to be filled.
Result::MemoryCorruptionIn case a nullptr is passed as the argument.
-
-
- -
-
- -

◆ stroke() [4/6]

- -
-
- - - - - -
- - - - - - - - -
Result stroke (StrokeCap cap)
-
-noexcept
-
- -

Sets the cap style of the stroke in the open sub-paths.

-
Parameters
- - -
[in]capThe cap style value. The default value is StrokeCap::Square.
-
-
-
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
- -
-
- -

◆ stroke() [5/6]

- -
-
- - - - - -
- - - - - - - - -
Result stroke (StrokeJoin join)
-
-noexcept
-
- -

Sets the join style for stroked path segments.

-

The join style is used for joining the two line segment while stroking the path.

-
Parameters
- - -
[in]joinThe join style value. The default value is StrokeJoin::Bevel.
-
-
-
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
- -
-
- -

◆ stroke() [6/6]

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Result stroke (uint8_t r,
uint8_t g,
uint8_t b,
uint8_t a 
)
-
-noexcept
-
- -

Sets the color of the stroke for all of the figures from the path.

-
Parameters
- - - - - -
[in]rThe red color channel value in the range [0 ~ 255]. The default value is 0.
[in]gThe green color channel value in the range [0 ~ 255]. The default value is 0.
[in]bThe blue color channel value in the range [0 ~ 255]. The default value is 0.
[in]aThe alpha channel value in the range [0 ~ 255], where 0 is completely transparent and 255 is opaque. The default value is 0.
-
-
-
Returns
Result::Success when succeed, Result::FailedAllocation otherwise.
- -
-
- -

◆ strokeCap()

- -
-
- - - - - -
- - - - - - - -
StrokeCap strokeCap () const
-
-noexcept
-
- -

Gets the cap style used for stroking the path.

-
Returns
The cap style value of the stroke.
- -
-
- -

◆ strokeColor()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Result strokeColor (uint8_t * r,
uint8_t * g,
uint8_t * b,
uint8_t * a 
) const
-
-noexcept
-
- -

Gets the color of the shape's stroke.

-
Parameters
- - - - - -
[out]rThe red color channel value in the range [0 ~ 255].
[out]gThe green color channel value in the range [0 ~ 255].
[out]bThe blue color channel value in the range [0 ~ 255].
[out]aThe alpha channel value in the range [0 ~ 255], where 0 is completely transparent and 255 is opaque.
-
-
-
Returns
Result::Success when succeed, Result::InsufficientCondition otherwise.
- -
-
- -

◆ strokeDash()

- -
-
- - - - - -
- - - - - - - - -
uint32_t strokeDash (const float ** dashPattern) const
-
-noexcept
-
- -

Gets the dash pattern of the stroke.

-
Parameters
- - -
[out]dashPatternThe pointer to the memory, where the dash pattern array is stored.
-
-
-
Returns
The length of the dashPattern array.
- -
-
- -

◆ strokeFill()

- -
-
- - - - - -
- - - - - - - -
const Fill* strokeFill () const
-
-noexcept
-
- -

Gets the pointer to the gradient fill of the stroke.

-
Returns
The pointer to the gradient fill of the stroke when succeed, nullptr otherwise.
- -
-
- -

◆ strokeJoin()

- -
-
- - - - - -
- - - - - - - -
StrokeJoin strokeJoin () const
-
-noexcept
-
- -

Gets the join style value used for stroking the path.

-
Returns
The join style value of the stroke.
- -
-
- -

◆ strokeWidth()

- -
-
- - - - - -
- - - - - - - -
float strokeWidth () const
-
-noexcept
-
- -

Gets the stroke width.

-
Returns
The stroke width value when succeed, zero if no stroke was set.
- -
-
-
- - - - diff --git a/docs/html/classtvg_1_1SwCanvas-members.html b/docs/html/classtvg_1_1SwCanvas-members.html deleted file mode 100644 index d6e63bf..0000000 --- a/docs/html/classtvg_1_1SwCanvas-members.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - -ThorVG: Member List - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
SwCanvas Member List
-
-
- -

This is the complete list of members for SwCanvas, including all inherited members.

- - - - - - - - - - - - - - - - - - - -
ABGR8888 enum valueSwCanvas
ABGR8888_STRAIGHT enum valueSwCanvas
ARGB8888 enum valueSwCanvas
ARGB8888_STRAIGHT enum valueSwCanvas
clear(bool free=true) noexceptCanvasvirtual
Colorspace enum nameSwCanvas
Default enum valueSwCanvas
draw() noexceptCanvasvirtual
gen() noexceptSwCanvasstatic
Individual enum valueSwCanvas
mempool(MempoolPolicy policy) noexceptSwCanvas
MempoolPolicy enum nameSwCanvas
push(std::unique_ptr< Paint > paint) noexceptCanvasvirtual
reserve(uint32_t n) noexceptCanvas
Shareable enum valueSwCanvas
sync() noexceptCanvasvirtual
target(uint32_t *buffer, uint32_t stride, uint32_t w, uint32_t h, Colorspace cs) noexceptSwCanvas
update(Paint *paint=nullptr) noexceptCanvasvirtual
- - - - diff --git a/docs/html/classtvg_1_1SwCanvas.html b/docs/html/classtvg_1_1SwCanvas.html deleted file mode 100644 index 0288f55..0000000 --- a/docs/html/classtvg_1_1SwCanvas.html +++ /dev/null @@ -1,358 +0,0 @@ - - - - - - - -ThorVG: SwCanvas - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
- -
- -

A class for the rendering graphical elements with a software raster engine. - More...

-
-Inheritance diagram for SwCanvas:
-
-
Inheritance graph
- - - - -
[legend]
- - - - - - - - -

-Public Types

enum  Colorspace { ABGR8888 = 0, -ARGB8888, -ABGR8888_STRAIGHT, -ARGB8888_STRAIGHT - }
 Enumeration specifying the methods of combining the 8-bit color channels into 32-bit color. More...
 
enum  MempoolPolicy { Default = 0, -Shareable, -Individual - }
 Enumeration specifying the methods of Memory Pool behavior policy. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

Result target (uint32_t *buffer, uint32_t stride, uint32_t w, uint32_t h, Colorspace cs) noexcept
 Sets the target buffer for the rasterization. More...
 
Result mempool (MempoolPolicy policy) noexcept
 Set sw engine memory pool behavior policy. More...
 
- Public Member Functions inherited from Canvas
Result reserve (uint32_t n) noexcept
 Sets the size of the container, where all the paints pushed into the Canvas are stored. More...
 
virtual Result push (std::unique_ptr< Paint > paint) noexcept
 Passes drawing elements to the Canvas using Paint objects. More...
 
virtual Result clear (bool free=true) noexcept
 Sets the total number of the paints pushed into the canvas to be zero. Depending on the value of the free argument, the paints are freed or not. More...
 
virtual Result update (Paint *paint=nullptr) noexcept
 Request the canvas to update the paint objects. More...
 
virtual Result draw () noexcept
 Requests the canvas to draw the Paint objects. More...
 
virtual Result sync () noexcept
 Guarantees that drawing task is finished. More...
 
- - - - -

-Static Public Member Functions

static std::unique_ptr< SwCanvasgen () noexcept
 Creates a new SwCanvas object. More...
 
-

Detailed Description

-

A class for the rendering graphical elements with a software raster engine.

-

Member Enumeration Documentation

- -

◆ Colorspace

- -
-
- - - - -
enum Colorspace
-
- -

Enumeration specifying the methods of combining the 8-bit color channels into 32-bit color.

- - - - - -
Enumerator
ABGR8888 

The channels are joined in the order: alpha, blue, green, red. Colors are alpha-premultiplied.

-
ARGB8888 

The channels are joined in the order: alpha, red, green, blue. Colors are alpha-premultiplied.

-
ABGR8888_STRAIGHT 

@BETA_API The channels are joined in the order: alpha, blue, green, red. Colors are un-alpha-premultiplied.

-
ARGB8888_STRAIGHT 

@BETA_API The channels are joined in the order: alpha, red, green, blue. Colors are un-alpha-premultiplied.

-
- -
-
- -

◆ MempoolPolicy

- -
-
- - - - -
enum MempoolPolicy
-
- -

Enumeration specifying the methods of Memory Pool behavior policy.

-
Since
0.4
- - - - -
Enumerator
Default 

Default behavior that ThorVG is designed to.

-
Shareable 

Memory Pool is shared among the SwCanvases.

-
Individual 

Allocate designated memory pool that is only used by current instance.

-
- -
-
-

Member Function Documentation

- -

◆ gen()

- -
-
- - - - - -
- - - - - - - -
static std::unique_ptr<SwCanvas> gen ()
-
-staticnoexcept
-
- -

Creates a new SwCanvas object.

-
Returns
A new SwCanvas object.
- -
-
- -

◆ mempool()

- -
-
- - - - - -
- - - - - - - - -
Result mempool (MempoolPolicy policy)
-
-noexcept
-
- -

Set sw engine memory pool behavior policy.

-

Basically ThorVG draws a lot of shapes, it allocates/deallocates a few chunk of memory while processing rendering. It internally uses one shared memory pool which can be reused among the canvases in order to avoid memory overhead.

-

Thus ThorVG suggests using a memory pool policy to satisfy user demands, if it needs to guarantee the thread-safety of the internal data access.

-
Parameters
- - -
[in]policyThe method specifying the Memory Pool behavior. The default value is MempoolPolicy::Default.
-
-
-
Return values
- - - - -
Result::SuccessWhen succeed.
Result::InsufficientConditionIf the canvas contains some paints already.
Result::NonSupportIn case the software engine is not supported.
-
-
-
Note
When policy is set as MempoolPolicy::Individual, the current instance of canvas uses its own individual memory data, which is not shared with others. This is necessary when the canvas is accessed on a worker-thread.
-
Warning
It's not allowed after pushing any paints.
-
Since
0.4
- -
-
- -

◆ target()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Result target (uint32_t * buffer,
uint32_t stride,
uint32_t w,
uint32_t h,
Colorspace cs 
)
-
-noexcept
-
- -

Sets the target buffer for the rasterization.

-

The buffer of a desirable size should be allocated and owned by the caller.

-
Parameters
- - - - - - -
[in]bufferA pointer to a memory block of the size stride x h, where the raster data are stored.
[in]strideThe stride of the raster image - greater than or equal to w.
[in]wThe width of the raster image.
[in]hThe height of the raster image.
[in]csThe value specifying the way the 32-bits colors should be read/written.
-
-
-
Return values
- - - - - -
Result::SuccessWhen succeed.
Result::MemoryCorruptionWhen casting in the internal function implementation failed.
Result::InvalidArgumentsIn case no valid pointer is provided or the width, or the height or the stride is zero.
Result::NonSupportIn case the software engine is not supported.
-
-
-
Warning
Do not access buffer during Canvas::draw() - Canvas::sync(). It should not be accessed while TVG is writing on it.
- -
-
-
- - - - diff --git a/docs/html/dir_8af83c0dc83a45a35ca6968cdc29a7af.html b/docs/html/dir_8af83c0dc83a45a35ca6968cdc29a7af.html deleted file mode 100644 index 5f5bfdc..0000000 --- a/docs/html/dir_8af83c0dc83a45a35ca6968cdc29a7af.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -ThorVG: tmp Directory Reference - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
tmp Directory Reference
-
-
- - - - - - - -

-Files

file  thorvg.h [code]
 
file  thorvg_capi.h [code]
 The module provides C bindings for the ThorVG library. Please refer to src/examples/Capi.cpp to find the thorvg_capi usage examples.
 
-
- - - - diff --git a/docs/html/functions.html b/docs/html/functions.html deleted file mode 100644 index e46d40f..0000000 --- a/docs/html/functions.html +++ /dev/null @@ -1,356 +0,0 @@ - - - - - - - -ThorVG: Class Members - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented class members with links to the class documentation for each member:
- -

- a -

- - -

- b -

- - -

- c -

- - -

- d -

- - -

- f -

- - -

- g -

- - -

- i -

- - -

- l -

- - -

- m -

- - -

- o -

- - -

- p -

- - -

- r -

- - -

- s -

- - -

- t -

- - -

- u -

- - -

- v -

-
- - - - diff --git a/docs/html/functions_enum.html b/docs/html/functions_enum.html deleted file mode 100644 index 1cd8d4a..0000000 --- a/docs/html/functions_enum.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - -ThorVG: Class Members - Enumerations - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
- - - - diff --git a/docs/html/functions_eval.html b/docs/html/functions_eval.html deleted file mode 100644 index 2386284..0000000 --- a/docs/html/functions_eval.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - -ThorVG: Class Members - Enumerator - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
- - - - diff --git a/docs/html/functions_func.html b/docs/html/functions_func.html deleted file mode 100644 index 2471327..0000000 --- a/docs/html/functions_func.html +++ /dev/null @@ -1,309 +0,0 @@ - - - - - - - -ThorVG: Class Members - Functions - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- a -

    -
  • appendArc() -: Shape -
  • -
  • appendCircle() -: Shape -
  • -
  • appendPath() -: Shape -
  • -
  • appendRect() -: Shape -
  • -
- - -

- b -

- - -

- c -

- - -

- d -

- - -

- f -

- - -

- g -

- - -

- i -

- - -

- l -

- - -

- m -

- - -

- o -

- - -

- p -

- - -

- r -

- - -

- s -

- - -

- t -

- - -

- u -

- - -

- v -

-
- - - - diff --git a/docs/html/functions_vars.html b/docs/html/functions_vars.html deleted file mode 100644 index 7429adf..0000000 --- a/docs/html/functions_vars.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - -ThorVG: Class Members - Variables - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - -
- -
-
- - -
- -
- - - - - - diff --git a/docs/html/graph_legend.html b/docs/html/graph_legend.html deleted file mode 100644 index 47e1ff0..0000000 --- a/docs/html/graph_legend.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - -ThorVG: Graph Legend - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
-
Graph Legend
-
-
-

This page explains how to interpret the graphs that are generated by doxygen.

-

Consider the following example:

/*! Invisible class because of truncation */
-
class Invisible { };
-
-
/*! Truncated class, inheritance relation is hidden */
-
class Truncated : public Invisible { };
-
-
/* Class not documented with doxygen comments */
-
class Undocumented { };
-
-
/*! Class that is inherited using public inheritance */
-
class PublicBase : public Truncated { };
-
-
/*! A template class */
-
template<class T> class Templ { };
-
-
/*! Class that is inherited using protected inheritance */
-
class ProtectedBase { };
-
-
/*! Class that is inherited using private inheritance */
-
class PrivateBase { };
-
-
/*! Class that is used by the Inherited class */
-
class Used { };
-
-
/*! Super class that inherits a number of other classes */
-
class Inherited : public PublicBase,
-
protected ProtectedBase,
-
private PrivateBase,
-
public Undocumented,
-
public Templ<int>
-
{
-
private:
-
Used *m_usedClass;
-
};
-

This will result in the following graph:

-

The boxes in the above graph have the following meaning:

-
    -
  • -A filled gray box represents the struct or class for which the graph is generated.
  • -
  • -A box with a black border denotes a documented struct or class.
  • -
  • -A box with a gray border denotes an undocumented struct or class.
  • -
  • -A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
  • -
-

The arrows have the following meaning:

-
    -
  • -A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • -
  • -A dark green arrow is used for protected inheritance.
  • -
  • -A dark red arrow is used for private inheritance.
  • -
  • -A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible.
  • -
  • -A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance.
  • -
-
- - - - diff --git a/docs/html/group__ThorVG.html b/docs/html/group__ThorVG.html deleted file mode 100644 index 9d42c8e..0000000 --- a/docs/html/group__ThorVG.html +++ /dev/null @@ -1,457 +0,0 @@ - - - - - - - -ThorVG: ThorVG - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
- -
-
ThorVG
-
-
- -

ThorVG classes and enumerations providing C++ APIs. -More...

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Classes

struct  Point
 A data structure representing a point in two-dimensional space. More...
 
struct  Matrix
 A data structure representing a three-dimensional matrix. More...
 
class  Paint
 An abstract class for managing graphical elements. More...
 
class  Fill
 An abstract class representing the gradient fill of the Shape object. More...
 
class  Canvas
 An abstract class for drawing graphical elements. More...
 
class  LinearGradient
 A class representing the linear gradient fill of the Shape object. More...
 
class  RadialGradient
 A class representing the radial gradient fill of the Shape object. More...
 
class  Shape
 A class representing two-dimensional figures and their properties. More...
 
class  Picture
 A class representing an image read in one of the supported formats: raw, svg, png, jpg and etc. Besides the methods inherited from the Paint, it provides methods to load & draw images on the canvas. More...
 
class  Scene
 A class to composite children paints. More...
 
class  SwCanvas
 A class for the rendering graphical elements with a software raster engine. More...
 
class  GlCanvas
 A class for the rendering graphic elements with a GL raster engine. More...
 
class  Initializer
 A class that enables initialization and termination of the TVG engines. More...
 
class  Saver
 A class for exporting a paint object into a specified file, from which to recover the paint data later. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - -

-Enumerations

enum  Result {
-  Success = 0, -InvalidArguments, -InsufficientCondition, -FailedAllocation, -
-  MemoryCorruption, -NonSupport, -Unknown -
- }
 Enumeration specifying the result from the APIs. More...
 
enum  PathCommand { Close = 0, -MoveTo, -LineTo, -CubicTo - }
 Enumeration specifying the values of the path commands accepted by TVG. More...
 
enum  StrokeCap { Square = 0, -Round, -Butt - }
 Enumeration determining the ending type of a stroke in the open sub-paths. More...
 
enum  StrokeJoin { Bevel = 0, -Round, -Miter - }
 Enumeration determining the style used at the corners of joined stroked path segments. More...
 
enum  FillSpread { Pad = 0, -Reflect, -Repeat - }
 Enumeration specifying how to fill the area outside the gradient bounds. More...
 
enum  FillRule { Winding = 0, -EvenOdd - }
 Enumeration specifying the algorithm used to establish which parts of the shape are treated as the inside of the shape. More...
 
enum  CompositeMethod { None = 0, -ClipPath, -AlphaMask, -InvAlphaMask - }
 Enumeration indicating the method used in the composition of two objects - the target and the source. More...
 
enum  CanvasEngine { Sw = (1 << 1), -Gl = (1 << 2) - }
 Enumeration specifying the engine type used for the graphics backend. For multiple backends bitwise operation is allowed. More...
 
-

Detailed Description

-

ThorVG classes and enumerations providing C++ APIs.

-

Enumeration Type Documentation

- -

◆ CanvasEngine

- -
-
- - - - - -
- - - - -
enum CanvasEngine
-
-strong
-
- -

Enumeration specifying the engine type used for the graphics backend. For multiple backends bitwise operation is allowed.

- - - -
Enumerator
Sw 

CPU rasterizer.

-
Gl 

OpenGL rasterizer.

-
- -
-
- -

◆ CompositeMethod

- -
-
- - - - - -
- - - - -
enum CompositeMethod
-
-strong
-
- -

Enumeration indicating the method used in the composition of two objects - the target and the source.

- - - - - -
Enumerator
None 

No composition is applied.

-
ClipPath 

The intersection of the source and the target is determined and only the resulting pixels from the source are rendered.

-
AlphaMask 

The pixels of the source and the target are alpha blended. As a result, only the part of the source, which intersects with the target is visible.

-
InvAlphaMask 

The pixels of the source and the complement to the target's pixels are alpha blended. As a result, only the part of the source which is not covered by the target is visible.

-
- -
-
- -

◆ FillRule

- -
-
- - - - - -
- - - - -
enum FillRule
-
-strong
-
- -

Enumeration specifying the algorithm used to establish which parts of the shape are treated as the inside of the shape.

- - - -
Enumerator
Winding 

A line from the point to a location outside the shape is drawn. The intersections of the line with the path segment of the shape are counted. Starting from zero, if the path segment of the shape crosses the line clockwise, one is added, otherwise one is subtracted. If the resulting sum is non zero, the point is inside the shape.

-
EvenOdd 

A line from the point to a location outside the shape is drawn and its intersections with the path segments of the shape are counted. If the number of intersections is an odd number, the point is inside the shape.

-
- -
-
- -

◆ FillSpread

- -
-
- - - - - -
- - - - -
enum FillSpread
-
-strong
-
- -

Enumeration specifying how to fill the area outside the gradient bounds.

- - - - -
Enumerator
Pad 

The remaining area is filled with the closest stop color.

-
Reflect 

The gradient pattern is reflected outside the gradient area until the expected region is filled.

-
Repeat 

The gradient pattern is repeated continuously beyond the gradient area until the expected region is filled.

-
- -
-
- -

◆ PathCommand

- -
-
- - - - - -
- - - - -
enum PathCommand
-
-strong
-
- -

Enumeration specifying the values of the path commands accepted by TVG.

-

Not to be confused with the path commands from the svg path element (like M, L, Q, H and many others). TVG interprets all of them and translates to the ones from the PathCommand values.

- - - - - -
Enumerator
Close 

Ends the current sub-path and connects it with its initial point. This command doesn't expect any points.

-
MoveTo 

Sets a new initial point of the sub-path and a new current point. This command expects 1 point: the starting position.

-
LineTo 

Draws a line from the current point to the given point and sets a new value of the current point. This command expects 1 point: the end-position of the line.

-
CubicTo 

Draws a cubic Bezier curve from the current point to the given point using two given control points and sets a new value of the current point. This command expects 3 points: the 1st control-point, the 2nd control-point, the end-point of the curve.

-
- -
-
- -

◆ Result

- -
-
- - - - - -
- - - - -
enum Result
-
-strong
-
- -

Enumeration specifying the result from the APIs.

- - - - - - - - -
Enumerator
Success 

The value returned in case of a correct request execution.

-
InvalidArguments 

The value returned in the event of a problem with the arguments given to the API - e.g. empty paths or null pointers.

-
InsufficientCondition 

The value returned in case the request cannot be processed - e.g. asking for properties of an object, which does not exist.

-
FailedAllocation 

The value returned in case of unsuccessful memory allocation.

-
MemoryCorruption 

The value returned in the event of bad memory handling - e.g. failing in pointer releasing or casting.

-
NonSupport 

The value returned in case of choosing unsupported options.

-
Unknown 

The value returned in all other cases.

-
- -
-
- -

◆ StrokeCap

- -
-
- - - - - -
- - - - -
enum StrokeCap
-
-strong
-
- -

Enumeration determining the ending type of a stroke in the open sub-paths.

- - - - -
Enumerator
Square 

The stroke is extended in both end-points of a sub-path by a rectangle, with the width equal to the stroke width and the length equal to the half of the stroke width. For zero length sub-paths the square is rendered with the size of the stroke width.

-
Round 

The stroke is extended in both end-points of a sub-path by a half circle, with a radius equal to the half of a stroke width. For zero length sub-paths a full circle is rendered.

-
Butt 

The stroke ends exactly at each of the two end-points of a sub-path. For zero length sub-paths no stroke is rendered.

-
- -
-
- -

◆ StrokeJoin

- -
-
- - - - - -
- - - - -
enum StrokeJoin
-
-strong
-
- -

Enumeration determining the style used at the corners of joined stroked path segments.

- - - - -
Enumerator
Bevel 

The outer corner of the joined path segments is bevelled at the join point. The triangular region of the corner is enclosed by a straight line between the outer corners of each stroke.

-
Round 

The outer corner of the joined path segments is rounded. The circular region is centered at the join point.

-
Miter 

The outer corner of the joined path segments is spiked. The spike is created by extension beyond the join point of the outer edges of the stroke until they intersect. In case the extension goes beyond the limit, the join style is converted to the Bevel style.

-
- -
-
-
- - - - diff --git a/docs/html/group__ThorVGCapi__Canvas.html b/docs/html/group__ThorVGCapi__Canvas.html deleted file mode 100644 index fe22d39..0000000 --- a/docs/html/group__ThorVGCapi__Canvas.html +++ /dev/null @@ -1,592 +0,0 @@ - - - - - - - -ThorVG: Canvas - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
- -
-
-
-
- -

A module for managing and drawing graphical elements. -More...

-
-Collaboration diagram for Canvas:
-
-
- - - - - -
- - - - - -

-Modules

 SwCanvas
 A module for rendering the graphical elements using the software engine.
 
- - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

TVG_EXPORT Tvg_Result tvg_canvas_destroy (Tvg_Canvas *canvas)
 Clears the canvas internal data, releases all paints stored by the canvas and destroys the canvas object itself. More...
 
TVG_EXPORT Tvg_Result tvg_canvas_push (Tvg_Canvas *canvas, Tvg_Paint *paint)
 Inserts a drawing element into the canvas using a Tvg_Paint object. More...
 
TVG_EXPORT Tvg_Result tvg_canvas_reserve (Tvg_Canvas *canvas, uint32_t n)
 Reserves a memory block where the objects pushed into a canvas are stored. More...
 
TVG_EXPORT Tvg_Result tvg_canvas_clear (Tvg_Canvas *canvas, bool free)
 Sets the total number of the paints pushed into the canvas to be zero. Tvg_Paint objects stored in the canvas are released if free is set to true, otherwise the memory is not deallocated and all paints should be released manually in order to avoid memory leaks. More...
 
TVG_EXPORT Tvg_Result tvg_canvas_update (Tvg_Canvas *canvas)
 Updates all paints in a canvas. More...
 
TVG_EXPORT Tvg_Result tvg_canvas_update_paint (Tvg_Canvas *canvas, Tvg_Paint *paint)
 Updates the given Tvg_Paint object from the canvas before the rendering. More...
 
TVG_EXPORT Tvg_Result tvg_canvas_draw (Tvg_Canvas *canvas)
 Requests the canvas to draw the Tvg_Paint objects. More...
 
TVG_EXPORT Tvg_Result tvg_canvas_sync (Tvg_Canvas *canvas)
 Guarantees that the drawing process is finished. More...
 
-

Detailed Description

-

A module for managing and drawing graphical elements.

-

A canvas is an entity responsible for drawing the target. It sets up the drawing engine and the buffer, which can be drawn on the screen. It also manages given Paint objects.

-
Note
A Canvas behavior depends on the raster engine though the final content of the buffer is expected to be identical.
-
Warning
The Paint objects belonging to one Canvas can't be shared among multiple Canvases.
-

Function Documentation

- -

◆ tvg_canvas_clear()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_canvas_clear (Tvg_Canvascanvas,
bool free 
)
-
- -

Sets the total number of the paints pushed into the canvas to be zero. Tvg_Paint objects stored in the canvas are released if free is set to true, otherwise the memory is not deallocated and all paints should be released manually in order to avoid memory leaks.

-
Parameters
- - - -
[in]canvasThe Tvg_Canvas object to be cleared.
[in]freeIf true the memory occupied by paints is deallocated, otherwise it is not.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Canvas pointer.
TVG_RESULT_INSUFFICIENT_CONDITIONAn internal error.
-
-
-
Warning
Please use the free argument only when you know how it works, otherwise it's not recommended.
-
See also
tvg_canvas_destroy()
- -
-
- -

◆ tvg_canvas_destroy()

- -
-
- - - - - - - - -
TVG_EXPORT Tvg_Result tvg_canvas_destroy (Tvg_Canvascanvas)
-
- -

Clears the canvas internal data, releases all paints stored by the canvas and destroys the canvas object itself.

-
static Tvg_Canvas *canvas = NULL;
-
static uint32_t *buffer = NULL;
-
-
static void _init() {
-
canvas = tvg_swcanvas_create();
-
buffer = (uint32_t*) malloc(sizeof(uint32_t) * 100 * 100);
-
tvg_swcanvas_set_target(canvas, buffer, 100, 100, 100, TVG_COLORSPACE_ARGB8888);
-
}
-
-
//a task called from main function in a loop
-
static void _job(const int cmd) {
-
//define a valid rectangle shape
-
switch (cmd) {
-
case CMD_EXIT: return 0;
-
case CMD_ADD_RECT:
-
tvg_canvas_push(canvas, rect);
-
break;
-
case CMD_DEL_RECT:
- -
//now to safely delete Tvg_Canvas, tvg_canvas_clear() API have to be used
-
break;
-
default:
-
break;
-
}
-
}
-
-
int main(int argc, char **argv) {
-
int cmd = 0;
-
int stop = 1;
-
- -
-
while (stop) {
-
//wait for a command e.g. from a console
-
stop = _job(cmd);
-
}
-
tvg_canvas_clear(canvas, false);
- - -
return 0;
-
}
-
- - -
Parameters
- - -
[in]canvasThe Tvg_Canvas object to be destroyed.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid pointer to the Tvg_Canvas object is passed.
-
-
-
Note
If the paints from the canvas should not be released, the tvg_canvas_clear() with a free argument value set to false should be called. Please be aware that in such a case TVG is not responsible for the paints release anymore and it has to be done manually in order to avoid memory leaks.
-
See also
tvg_paint_del(), tvg_canvas_clear()
- -
-
- -

◆ tvg_canvas_draw()

- -
-
- - - - - - - - -
TVG_EXPORT Tvg_Result tvg_canvas_draw (Tvg_Canvascanvas)
-
- -

Requests the canvas to draw the Tvg_Paint objects.

-

All paints from the given canvas will be rasterized to the buffer.

-
Parameters
- - -
[in]canvasThe Tvg_Canvas object containing elements to be drawn.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Canvas pointer.
TVG_RESULT_INSUFFICIENT_CONDITIONAn internal error.
-
-
-
Note
Drawing can be asynchronous based on the assigned thread number. To guarantee the drawing is done, call tvg_canvas_sync() afterwards.
-
See also
tvg_canvas_sync()
- -
-
- -

◆ tvg_canvas_push()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_canvas_push (Tvg_Canvascanvas,
Tvg_Paintpaint 
)
-
- -

Inserts a drawing element into the canvas using a Tvg_Paint object.

-
Parameters
- - - -
[in]canvasThe Tvg_Canvas object managing the paint.
[in]paintThe Tvg_Paint object to be drawn.
-
-
-

Only the paints pushed into the canvas will be drawing targets. They are retained by the canvas until you call tvg_canvas_clear(). If you know the number of the pushed objects in advance, please call tvg_canvas_reserve().

-
Returns
Tvg_Result return values:
-
Return values
- - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTIn case a nullptr is passed as the argument.
TVG_RESULT_INSUFFICIENT_CONDITIONAn internal error.
-
-
-
Note
The rendering order of the paints is the same as the order as they were pushed. Consider sorting the paints before pushing them if you intend to use layering.
-
See also
tvg_canvas_reserve(), tvg_canvas_clear()
- -
-
- -

◆ tvg_canvas_reserve()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_canvas_reserve (Tvg_Canvascanvas,
uint32_t n 
)
-
- -

Reserves a memory block where the objects pushed into a canvas are stored.

-

If the number of Tvg_Paints to be stored in a canvas is known in advance, calling this function reduces the multiple memory allocations thus improves the performance.

-
Tvg_Canvas *canvas = NULL;
-
- - -
-
uint32_t *buffer = NULL;
-
buffer = (uint32_t*) malloc(sizeof(uint32_t) * 100 * 100);
-
if (!buffer) return;
-
-
tvg_swcanvas_set_target(canvas, buffer, 100, 100, 100, TVG_COLORSPACE_ARGB8888);
-
tvg_canvas_reserve(canvas, 100); //reserve array for 100 paints in canvas.
-
- - -
Parameters
- - - -
[in]canvasThe Tvg_Canvas object managing the reserved memory.
[in]nThe number of objects for which the memory is to be reserved.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Canvas pointer.
TVG_RESULT_FAILED_ALLOCATIONAn internal error with memory allocation.
-
-
- -
-
- -

◆ tvg_canvas_sync()

- -
-
- - - - - - - - -
TVG_EXPORT Tvg_Result tvg_canvas_sync (Tvg_Canvascanvas)
-
- -

Guarantees that the drawing process is finished.

-

Since the canvas rendering can be performed asynchronously, it should be called after the tvg_canvas_draw().

-
Parameters
- - -
[in]canvasThe Tvg_Canvas object containing elements which were drawn.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Canvas pointer.
TVG_RESULT_INSUFFICIENT_CONDITIONAn internal error.
-
-
-
See also
tvg_canvas_draw()
- -
-
- -

◆ tvg_canvas_update()

- -
-
- - - - - - - - -
TVG_EXPORT Tvg_Result tvg_canvas_update (Tvg_Canvascanvas)
-
- -

Updates all paints in a canvas.

-

Should be called before drawing in order to prepare paints for the rendering.

-
//A frame drawing example. Thread safety and events implementation is skipped to show only TVG code.
-
-
static Tvg_Canvas *canvas = NULL;
-
static Tvg_Paint *rect = NULL;
-
-
int _frame_render(void) {
- -
tvg_canvas_draw(canvas);
-
tvg_canvas_sync(canvas);
-
}
-
-
//event handler from your code or third party library
-
void _event_handler(event *event_data) {
-
if (!event_data) return NULL;
-
switch(event_data.type) {
-
case EVENT_RECT_ADD:
-
if (!rect) {
-
tvg_shape_append_rect(rect, 10, 10, 50, 50, 0, 0);
- -
tvg_shape_set_stroke_color(rect, 255, 0, 0, 255);
-
tvg_canvas_push(canvas, rect);
-
}
-
break;
-
case EVENT_RECT_MOVE:
-
if (rect) tvg_paint_translate(rect, 10.0, 10.0);
-
break;
-
default:
-
break;
-
}
-
}
-
-
int main(int argc, char **argv) {
-
//example handler from your code or third party lib
-
event_handler_add(handler, _event_handler);
-
-
//create frame rendering process which calls _frame_render() function.
-
app_loop_begin(_frame_render);
-
app_loop_finish();
-
cleanup();
-
}
-
Parameters
- - -
[in]canvasThe Tvg_Canvas object to be updated.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Canvas pointer.
TVG_RESULT_INSUFFICIENT_CONDITIONAn internal error.
-
-
-
See also
tvg_canvas_update_paint()
- -
-
- -

◆ tvg_canvas_update_paint()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_canvas_update_paint (Tvg_Canvascanvas,
Tvg_Paintpaint 
)
-
- -

Updates the given Tvg_Paint object from the canvas before the rendering.

-

If a client application using the TVG library does not update the entire canvas with tvg_canvas_update() in the frame rendering process, Tvg_Paint objects previously added to the canvas should be updated manually with this function.

-
Parameters
- - - -
[in]canvasThe Tvg_Canvas object to which the paint belongs.
[in]paintThe Tvg_Paint object to be updated.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTIn case a nullptr is passed as the argument.
-
-
-
See also
tvg_canvas_update()
- -
-
-
-
TVG_EXPORT Tvg_Result tvg_shape_append_rect(Tvg_Paint *paint, float x, float y, float w, float h, float rx, float ry)
Appends a rectangle to the path.
-
TVG_EXPORT Tvg_Result tvg_canvas_push(Tvg_Canvas *canvas, Tvg_Paint *paint)
Inserts a drawing element into the canvas using a Tvg_Paint object.
-
TVG_EXPORT Tvg_Result tvg_swcanvas_set_target(Tvg_Canvas *canvas, uint32_t *buffer, uint32_t stride, uint32_t w, uint32_t h, Tvg_Colorspace cs)
Sets the buffer used in the rasterization process and defines the used colorspace.
-
TVG_EXPORT Tvg_Result tvg_canvas_sync(Tvg_Canvas *canvas)
Guarantees that the drawing process is finished.
-
TVG_EXPORT Tvg_Result tvg_canvas_clear(Tvg_Canvas *canvas, bool free)
Sets the total number of the paints pushed into the canvas to be zero. Tvg_Paint objects stored in th...
-
@ TVG_ENGINE_SW
CPU rasterizer.
Definition: thorvg_capi.h:84
-
TVG_EXPORT Tvg_Result tvg_paint_del(Tvg_Paint *paint)
Releases the given Tvg_Paint object.
-
struct _Tvg_Canvas Tvg_Canvas
A structure responsible for managing and drawing graphical elements.
Definition: thorvg_capi.h:55
-
TVG_EXPORT Tvg_Result tvg_canvas_update(Tvg_Canvas *canvas)
Updates all paints in a canvas.
-
TVG_EXPORT Tvg_Result tvg_canvas_draw(Tvg_Canvas *canvas)
Requests the canvas to draw the Tvg_Paint objects.
-
TVG_EXPORT Tvg_Result tvg_paint_translate(Tvg_Paint *paint, float x, float y)
Moves the given Tvg_Paint in a two-dimensional space.
-
TVG_EXPORT Tvg_Canvas * tvg_swcanvas_create()
Creates a Canvas object.
-
TVG_EXPORT Tvg_Result tvg_engine_init(Tvg_Engine engine_method, unsigned threads)
Initializes TVG engines.
-
@ TVG_COLORSPACE_ARGB8888
The 8-bit color channels are combined into 32-bit color in the order: alpha, red, green,...
Definition: thorvg_capi.h:332
-
struct _Tvg_Paint Tvg_Paint
A structure representing a graphical element.
Definition: thorvg_capi.h:63
-
TVG_EXPORT Tvg_Result tvg_canvas_destroy(Tvg_Canvas *canvas)
Clears the canvas internal data, releases all paints stored by the canvas and destroys the canvas obj...
-
TVG_EXPORT Tvg_Result tvg_shape_set_stroke_width(Tvg_Paint *paint, float width)
Sets the stroke width for all of the figures from the paint.
-
TVG_EXPORT Tvg_Result tvg_shape_set_stroke_color(Tvg_Paint *paint, uint8_t r, uint8_t g, uint8_t b, uint8_t a)
Sets the shape's stroke color.
-
TVG_EXPORT Tvg_Result tvg_engine_term(Tvg_Engine engine_method)
Terminates TVG engines.
-
TVG_EXPORT Tvg_Result tvg_canvas_reserve(Tvg_Canvas *canvas, uint32_t n)
Reserves a memory block where the objects pushed into a canvas are stored.
- - - - diff --git a/docs/html/group__ThorVGCapi__Canvas.map b/docs/html/group__ThorVGCapi__Canvas.map deleted file mode 100644 index 4e8ee5d..0000000 --- a/docs/html/group__ThorVGCapi__Canvas.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/docs/html/group__ThorVGCapi__Canvas.md5 b/docs/html/group__ThorVGCapi__Canvas.md5 deleted file mode 100644 index 571b4dd..0000000 --- a/docs/html/group__ThorVGCapi__Canvas.md5 +++ /dev/null @@ -1 +0,0 @@ -2e453c06c8f1182a1a0f31e1920ddb6b \ No newline at end of file diff --git a/docs/html/group__ThorVGCapi__Canvas.png b/docs/html/group__ThorVGCapi__Canvas.png deleted file mode 100644 index 3edb21a805e7d17376116c5ff2ecffa68ac5a656..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3479 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 - - - - - - -ThorVG: Gradient - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
- -
-
Gradient
-
-
- -

A module managing the gradient fill of objects. -More...

-
-Collaboration diagram for Gradient:
-
-
- - - - -
- - - - - -

-Classes

struct  Tvg_Color_Stop
 A data structure storing the information about the color and its relative position inside the gradient bounds. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

TVG_EXPORT Tvg_Gradienttvg_linear_gradient_new ()
 Creates a new linear gradient object. More...
 
TVG_EXPORT Tvg_Gradienttvg_radial_gradient_new ()
 Creates a new radial gradient object. More...
 
TVG_EXPORT Tvg_Result tvg_linear_gradient_set (Tvg_Gradient *grad, float x1, float y1, float x2, float y2)
 Sets the linear gradient bounds. More...
 
TVG_EXPORT Tvg_Result tvg_linear_gradient_get (Tvg_Gradient *grad, float *x1, float *y1, float *x2, float *y2)
 Gets the linear gradient bounds. More...
 
TVG_EXPORT Tvg_Result tvg_radial_gradient_set (Tvg_Gradient *grad, float cx, float cy, float radius)
 Sets the radial gradient bounds. More...
 
TVG_EXPORT Tvg_Result tvg_radial_gradient_get (Tvg_Gradient *grad, float *cx, float *cy, float *radius)
 The function gets radial gradient center point ant radius. More...
 
TVG_EXPORT Tvg_Result tvg_gradient_set_color_stops (Tvg_Gradient *grad, const Tvg_Color_Stop *color_stop, uint32_t cnt)
 Sets the parameters of the colors of the gradient and their position. More...
 
TVG_EXPORT Tvg_Result tvg_gradient_get_color_stops (const Tvg_Gradient *grad, const Tvg_Color_Stop **color_stop, uint32_t *cnt)
 Gets the parameters of the colors of the gradient, their position and number. More...
 
TVG_EXPORT Tvg_Result tvg_gradient_set_spread (Tvg_Gradient *grad, const Tvg_Stroke_Fill spread)
 Sets the Tvg_Stroke_Fill value, which specifies how to fill the area outside the gradient bounds. More...
 
TVG_EXPORT Tvg_Result tvg_gradient_get_spread (const Tvg_Gradient *grad, Tvg_Stroke_Fill *spread)
 Gets the FillSpread value of the gradient object. More...
 
TVG_EXPORT Tvg_Result tvg_gradient_set_transform (Tvg_Gradient *grad, const Tvg_Matrix *m)
 Sets the matrix of the affine transformation for the gradient object. (BETA_API) More...
 
TVG_EXPORT Tvg_Result tvg_gradient_get_transform (const Tvg_Gradient *grad, Tvg_Matrix *m)
 Gets the matrix of the affine transformation of the gradient object. (BETA_API) More...
 
TVG_EXPORT Tvg_Gradienttvg_gradient_duplicate (Tvg_Gradient *grad)
 Duplicates the given Tvg_Gradient object. More...
 
TVG_EXPORT Tvg_Result tvg_gradient_del (Tvg_Gradient *grad)
 Deletes the given gradient object. More...
 
-

Detailed Description

-

A module managing the gradient fill of objects.

-

The module enables to set and to get the gradient colors and their arrangement inside the gradient bounds, to specify the gradient bounds and the gradient behavior in case the area defined by the gradient bounds is smaller than the area to be filled.

-

Function Documentation

- -

◆ tvg_gradient_del()

- -
-
- - - - - - - - -
TVG_EXPORT Tvg_Result tvg_gradient_del (Tvg_Gradientgrad)
-
- -

Deletes the given gradient object.

-
Parameters
- - -
[in]gradThe gradient object to be deleted.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Gradient pointer.
-
-
- -
-
- -

◆ tvg_gradient_duplicate()

- -
-
- - - - - - - - -
TVG_EXPORT Tvg_Gradient* tvg_gradient_duplicate (Tvg_Gradientgrad)
-
- -

Duplicates the given Tvg_Gradient object.

-

Creates a new object and sets its all properties as in the original object.

-
Parameters
- - -
[in]gradThe Tvg_Gradient object to be copied.
-
-
-
Returns
A copied Tvg_Gradient object if succeed, nullptr otherwise.
- -
-
- -

◆ tvg_gradient_get_color_stops()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_gradient_get_color_stops (const Tvg_Gradientgrad,
const Tvg_Color_Stop ** color_stop,
uint32_t * cnt 
)
-
- -

Gets the parameters of the colors of the gradient, their position and number.

-

The function does not allocate any memory.

-
Parameters
- - - - -
[in]gradThe Tvg_Gradient object of which to get the color information.
[out]color_stopAn array of Tvg_Color_Stop data structure.
[out]cntThe size of the color_stop array equal to the colors number used in the gradient.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTA nullptr passed as the argument.
-
-
- -
-
- -

◆ tvg_gradient_get_spread()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_gradient_get_spread (const Tvg_Gradientgrad,
Tvg_Stroke_Fillspread 
)
-
- -

Gets the FillSpread value of the gradient object.

-
Parameters
- - - -
[in]gradThe Tvg_Gradient object.
[out]spreadThe FillSpread value.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTA nullptr passed as the argument.
-
-
- -
-
- -

◆ tvg_gradient_get_transform()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_gradient_get_transform (const Tvg_Gradientgrad,
Tvg_Matrixm 
)
-
- -

Gets the matrix of the affine transformation of the gradient object. (BETA_API)

-

In case no transformation was applied, the identity matrix is set.

-
Parameters
- - - -
[in]gradThe Tvg_Gradient object of which to get the transformation matrix.
[out]mThe 3x3 augmented matrix.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTA nullptr is passed as the argument.
-
-
- -
-
- -

◆ tvg_gradient_set_color_stops()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_gradient_set_color_stops (Tvg_Gradientgrad,
const Tvg_Color_Stopcolor_stop,
uint32_t cnt 
)
-
- -

Sets the parameters of the colors of the gradient and their position.

-
Parameters
- - - - -
[in]gradThe Tvg_Gradient object of which the color information is to be set.
[in]color_stopAn array of Tvg_Color_Stop data structure.
[in]cntThe size of the color_stop array equal to the colors number used in the gradient.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Gradient pointer.
-
-
- -
-
- -

◆ tvg_gradient_set_spread()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_gradient_set_spread (Tvg_Gradientgrad,
const Tvg_Stroke_Fill spread 
)
-
- -

Sets the Tvg_Stroke_Fill value, which specifies how to fill the area outside the gradient bounds.

-
Parameters
- - - -
[in]gradThe Tvg_Gradient object.
[in]spreadThe FillSpread value.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Gradient pointer.
-
-
- -
-
- -

◆ tvg_gradient_set_transform()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_gradient_set_transform (Tvg_Gradientgrad,
const Tvg_Matrixm 
)
-
- -

Sets the matrix of the affine transformation for the gradient object. (BETA_API)

-

The augmented matrix of the transformation is expected to be given.

-
Parameters
- - - -
[in]gradThe Tvg_Gradient object to be transformed.
[in]mThe 3x3 augmented matrix.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTA nullptr is passed as the argument.
TVG_RESULT_FAILED_ALLOCATIONAn internal error with a memory allocation.
-
-
- -
-
- -

◆ tvg_linear_gradient_get()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_linear_gradient_get (Tvg_Gradientgrad,
float * x1,
float * y1,
float * x2,
float * y2 
)
-
- -

Gets the linear gradient bounds.

-

The bounds of the linear gradient are defined as a surface constrained by two parallel lines crossing the given points (x1, y1) and (x2, y2), respectively. Both lines are perpendicular to the line linking (x1, y1) and (x2, y2).

-
Parameters
- - - - - - -
[in]gradThe Tvg_Gradient object of which to get the bounds.
[out]x1The horizontal coordinate of the first point used to determine the gradient bounds.
[out]y1The vertical coordinate of the first point used to determine the gradient bounds.
[out]x2The horizontal coordinate of the second point used to determine the gradient bounds.
[out]y2The vertical coordinate of the second point used to determine the gradient bounds.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Gradient pointer.
-
-
- -
-
- -

◆ tvg_linear_gradient_new()

- -
-
- - - - - - - -
TVG_EXPORT Tvg_Gradient* tvg_linear_gradient_new ()
-
- -

Creates a new linear gradient object.

-
-
tvg_shape_append_rect(shape, 700, 700, 100, 100, 20, 20);
- -
tvg_linear_gradient_set(grad, 700, 700, 800, 800);
-
Tvg_Color_Stop color_stops[2] =
-
{
-
{0.0, 0, 0, 0, 255},
-
{1.0, 0, 255, 0, 255},
-
};
-
tvg_gradient_set_color_stops(grad, color_stops, 2);
- -
Returns
A new linear gradient object.
- -
-
- -

◆ tvg_linear_gradient_set()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_linear_gradient_set (Tvg_Gradientgrad,
float x1,
float y1,
float x2,
float y2 
)
-
- -

Sets the linear gradient bounds.

-

The bounds of the linear gradient are defined as a surface constrained by two parallel lines crossing the given points (x1, y1) and (x2, y2), respectively. Both lines are perpendicular to the line linking (x1, y1) and (x2, y2).

-
Parameters
- - - - - - -
[in]gradThe Tvg_Gradient object of which bounds are to be set.
[in]x1The horizontal coordinate of the first point used to determine the gradient bounds.
[in]y1The vertical coordinate of the first point used to determine the gradient bounds.
[in]x2The horizontal coordinate of the second point used to determine the gradient bounds.
[in]y2The vertical coordinate of the second point used to determine the gradient bounds.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Gradient pointer.
-
-
-
Note
In case the first and the second points are equal, an object filled with such a gradient fill is not rendered.
- -
-
- -

◆ tvg_radial_gradient_get()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_radial_gradient_get (Tvg_Gradientgrad,
float * cx,
float * cy,
float * radius 
)
-
- -

The function gets radial gradient center point ant radius.

-
Parameters
- - - - - -
[in]gradThe Tvg_Gradient object of which bounds are to be set.
[out]cxThe horizontal coordinate of the center of the bounding circle.
[out]cyThe vertical coordinate of the center of the bounding circle.
[out]radiusThe radius of the bounding circle.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Gradient pointer.
-
-
- -
-
- -

◆ tvg_radial_gradient_new()

- -
-
- - - - - - - -
TVG_EXPORT Tvg_Gradient* tvg_radial_gradient_new ()
-
- -

Creates a new radial gradient object.

-
-
tvg_shape_append_rect(shape, 700, 700, 100, 100, 20, 20);
- -
tvg_radial_gradient_set(grad, 550, 550, 50);
-
Tvg_Color_Stop color_stops[2] =
-
{
-
{0.0, 0, 0, 0, 255},
-
{1.0, 0, 255, 0, 255},
-
};
-
tvg_gradient_set_color_stops(grad, color_stops, 2);
- -
Returns
A new radial gradient object.
- -
-
- -

◆ tvg_radial_gradient_set()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_radial_gradient_set (Tvg_Gradientgrad,
float cx,
float cy,
float radius 
)
-
- -

Sets the radial gradient bounds.

-

The radial gradient bounds are defined as a circle centered in a given point (cx, cy) of a given radius.

-
Parameters
- - - - - -
[in]gradThe Tvg_Gradient object of which bounds are to be set.
[in]cxThe horizontal coordinate of the center of the bounding circle.
[in]cyThe vertical coordinate of the center of the bounding circle.
[in]radiusThe radius of the bounding circle.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Gradient pointer or the radius value less than zero.
-
-
- -
-
-
-
TVG_EXPORT Tvg_Result tvg_gradient_set_color_stops(Tvg_Gradient *grad, const Tvg_Color_Stop *color_stop, uint32_t cnt)
Sets the parameters of the colors of the gradient and their position.
-
TVG_EXPORT Tvg_Result tvg_shape_append_rect(Tvg_Paint *paint, float x, float y, float w, float h, float rx, float ry)
Appends a rectangle to the path.
-
TVG_EXPORT Tvg_Gradient * tvg_radial_gradient_new()
Creates a new radial gradient object.
-
TVG_EXPORT Tvg_Paint * tvg_shape_new()
Creates a new shape object.
-
TVG_EXPORT Tvg_Result tvg_shape_set_linear_gradient(Tvg_Paint *paint, Tvg_Gradient *grad)
Sets the linear gradient fill for all of the figures from the path.
-
TVG_EXPORT Tvg_Result tvg_radial_gradient_set(Tvg_Gradient *grad, float cx, float cy, float radius)
Sets the radial gradient bounds.
-
TVG_EXPORT Tvg_Result tvg_linear_gradient_set(Tvg_Gradient *grad, float x1, float y1, float x2, float y2)
Sets the linear gradient bounds.
-
struct _Tvg_Gradient Tvg_Gradient
A structure representing a gradient fill of a Tvg_Paint object.
Definition: thorvg_capi.h:69
-
struct _Tvg_Paint Tvg_Paint
A structure representing a graphical element.
Definition: thorvg_capi.h:63
-
TVG_EXPORT Tvg_Gradient * tvg_linear_gradient_new()
Creates a new linear gradient object.
-
A data structure storing the information about the color and its relative position inside the gradien...
Definition: thorvg_capi.h:184
-
TVG_EXPORT Tvg_Result tvg_shape_set_radial_gradient(Tvg_Paint *paint, Tvg_Gradient *grad)
Sets the radial gradient fill for all of the figures from the path.
- - - - diff --git a/docs/html/group__ThorVGCapi__Gradient.map b/docs/html/group__ThorVGCapi__Gradient.map deleted file mode 100644 index 0ed8592..0000000 --- a/docs/html/group__ThorVGCapi__Gradient.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/html/group__ThorVGCapi__Gradient.md5 b/docs/html/group__ThorVGCapi__Gradient.md5 deleted file mode 100644 index 6121c04..0000000 --- a/docs/html/group__ThorVGCapi__Gradient.md5 +++ /dev/null @@ -1 +0,0 @@ -5ed575f53580b9f1f946616c4ddd91ad \ No newline at end of file diff --git a/docs/html/group__ThorVGCapi__Gradient.png b/docs/html/group__ThorVGCapi__Gradient.png deleted file mode 100644 index bba14d3bca78f576a07c7c688d8a46dda8bb59a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2421 zcmZXW2T)V#7RN(xN-qkCND~7H0>%KLX{ai?5eY6W0wGaQKwv3Sj3^xxWhqiN5HLWb z8Hz}PbO}5XkSZue1e8t^j4T1(b>GaJdGpSld%in!=YHQQzyFz=eAUVBu&AOa2n0Ip zU=K$CD;u~qgn0pfCgec^un2lzw1a~VeqDGf@i_=20(O8~J4Y0(72G#)-cV{|^i6cb z8&bPp=bw@q#b)J7+uXTFqh6PBG-`g;Z}2E#^pJXT`dC@2S%WtCm7#r>$Y(eq=_}&3 z+RInF8&6nkTsm?}D|IxMu~fr>ZQL*7L^3RvOc;^$kMS?^@^~aAA4y4BD?NBn>#9mm zSFQiYC3T#8+tPB}GFDgn+9N(qO-&CE4{NtAiH3#-;OSwb_xHi!VRcF2gP9^+yRV@D zCif}I$H#~qP+M0g#ols7-YKzsl54$ulGQyn<}#@DFF(%uXJf_7gD$!P2?+^g z4g3Ed_s^NSr6Gi?ZUi?#W5T)NV%yhqX`5Z61$xG6wuN?fb{;)?6v)@zsxX?l(63-x=u~_)Ej@j0 zb@gFDk?f= z_D51`YED+xA#w4skrAkgiGYB>*5Jp<$=fIto=D_ycUVBoNl8g>-ayO4qoPbrO!AzF zC$+Sku3R~wv=OiTm64GV6&1y7HijyT6Y==A$;sbsZ3SZ&g_R-sYm18swgh!`_0*J< zFZ1&>U*?}WNd7wt?{tHHf0mb5QCxiD)Ts&*X=-GIU-W%X4~0rySXkJKpfoj|lP&&D zdt{V^{4*;H4u|vd@ev4wxmbvW1s!F;<#ItFVG)twprE9T3>PFa=jl^b>0}odm$PTj z!gPy=u+HGo@p0sh8#jPLdwIR9ua{j$*SV5hs+gObZQgZ3CXY%=yrZMJ)cc&DmRi@Y zT|=YMbUGcXOrMTU;r#j5*gaA4{DOkg;qO3~?J|^`V|F2>$|^A!KR-hw zqf@de&CQX{&a#P}xSmh%;$~>Hw8klf$SRj z02WG0@YT7wN8;k*YCq4+)Bu_Z8_*m-e&omlV@3&;N-Zwt3Ek^Vlo%f!#TD~91qRmS z43LuQ{bID9#6x9Be`^m2$)KMy}f-}M#jUn>1j{kn_BAK&u@#0RIrrSuMI~a z1_qK+QjwdpI2_LU)~!?WsiQ+fJS{;`cK~morf)?2b|{5Psofn*kDuq}PRz{cpFS;~ zW3?n#4sbsPL`hbnz!*7WL??no?a@$$WU_uSm3dV7UIAT_mvE;~rRp1!_BBM@t| z)5!RE`0B(NtjxYx^$oIMfK_5fTy}{p(2>FEY4OIX$;nxrzZUR7^h@+YKF};MIe2(@ zo<<++?^RS(#2J5|rrvLE73!G_`Y=3fW@?IWnG4^TE-Ndu-Z`$ly0X&W*Z1(f(Fwn) z#yh(5sqaBQ8KFN`Zy4qk6c&1Tdd4o%k9~uPBz9VF{{>X9I?5M~uJL;3xx;6`$eX9I zP&oB-NNw4aoE(L3g`S?CFvLwGBl7I*ESnt)$v@2C?d<4av)Nj};3|Mxt7QU0C)hoS zxZ+3{VsCGsIg(aYRh5-B(x0QRuBPUyJC?3=E;KZBcI%Rjjg6aIKF!zE)RalSq?TF! z@|OV+XXoeVXJ?On{CG-B>j!BzX0Ag35Pz&6SFf?L5rybd!eB7r;T#&x0nial#nQq; zT#hd`p>qy^0A-Nd+S*!Ls$qZE*S8C0&~}OWq3ohNr=hkMm}f5$6%nvj0zn3vOizE=-VA-0puf{ot=@$z{&b#D^-300bH25VEo+TBE-LzMAC_GpY=&T z@Sg8UH&$HR+vNZWSy))0ek#a$q(BWVzkdBHEiG+pYa1OC1H8IY1fzM^#V+9Y_xE%3 zy&z}KZ2kB#{TeN%VHw3Pr%()lG01FxRM5b7tQPg~uy$puay}jQH{;7z_rOWHOnpaR;ZtU{U!?p46xY z - - - - - - -ThorVG: Initializer - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
- -
-
Initializer
-
-
- -

A module enabling initialization and termination of the TVG engines. -More...

-
-Collaboration diagram for Initializer:
-
-
- - - - -
- - - - - -

-Enumerations

enum  Tvg_Engine { TVG_ENGINE_SW = (1 << 1), -TVG_ENGINE_GL = (1 << 2) - }
 Enumeration specifying the engine type used for the graphics backend. For multiple backends bitwise operation is allowed. More...
 
- - - - - - - -

-Functions

TVG_EXPORT Tvg_Result tvg_engine_init (Tvg_Engine engine_method, unsigned threads)
 Initializes TVG engines. More...
 
TVG_EXPORT Tvg_Result tvg_engine_term (Tvg_Engine engine_method)
 Terminates TVG engines. More...
 
-

Detailed Description

-

A module enabling initialization and termination of the TVG engines.

-

Enumeration Type Documentation

- -

◆ Tvg_Engine

- -
-
- - - - -
enum Tvg_Engine
-
- -

Enumeration specifying the engine type used for the graphics backend. For multiple backends bitwise operation is allowed.

- - - -
Enumerator
TVG_ENGINE_SW 

CPU rasterizer.

-
TVG_ENGINE_GL 

OpenGL rasterizer.

-
- -
-
-

Function Documentation

- -

◆ tvg_engine_init()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_engine_init (Tvg_Engine engine_method,
unsigned threads 
)
-
- -

Initializes TVG engines.

-

TVG requires the running-engine environment. TVG runs its own task-scheduler for parallelizing rendering tasks efficiently. You can indicate the number of threads, the count of which is designated threads. In the initialization step, TVG will generate/spawn the threads as set by threads count.

-
tvg_engine_init(TVG_ENGINE_SW, 0); //Initialize software renderer and use the main thread only
-
Parameters
- - - -
[in]engine_methodThe engine types to initialize. This is relative to the Canvas types, in which it will be used. For multiple backends bitwise operation is allowed.
    -
  • TVG_ENGINE_SW: CPU rasterizer
  • -
  • TVG_ENGINE_GL: OpenGL rasterizer (not supported yet)
  • -
-
[in]threadsThe number of additional threads used to perform rendering. Zero indicates only the main thread is to be used.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_FAILED_ALLOCATIONAn internal error possibly with memory allocation.
TVG_RESULT_INVALID_ARGUMENTUnknown engine type.
TVG_RESULT_NOT_SUPPORTEDUnsupported engine type.
TVG_RESULT_UNKNOWNOther error.
-
-
-
Note
The Initializer keeps track of the number of times it was called. Threads count is fixed at the first init() call.
-
See also
tvg_engine_term()
-
-Tvg_Engine
- -
-
- -

◆ tvg_engine_term()

- -
-
- - - - - - - - -
TVG_EXPORT Tvg_Result tvg_engine_term (Tvg_Engine engine_method)
-
- -

Terminates TVG engines.

-

It should be called in case of termination of the TVG client with the same engine types as were passed when tvg_engine_init() was called.

-
-
//define canvas and shapes, update shapes, general rendering calls
- -
Parameters
- - -
engine_methodThe engine types to terminate. This is relative to the Canvas types, in which it will be used. For multiple backends bitwise operation is allowed
    -
  • TVG_ENGINE_SW: CPU rasterizer
  • -
  • TVG_ENGINE_GL: OpenGL rasterizer (not supported yet)
  • -
-
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INSUFFICIENT_CONDITIONNothing to be terminated.
TVG_RESULT_INVALID_ARGUMENTUnknown engine type.
TVG_RESULT_NOT_SUPPORTEDUnsupported engine type.
TVG_RESULT_UNKNOWNAn internal error.
-
-
-
See also
tvg_engine_init()
-
-Tvg_Engine
- -
-
-
-
@ TVG_ENGINE_SW
CPU rasterizer.
Definition: thorvg_capi.h:84
-
TVG_EXPORT Tvg_Result tvg_engine_init(Tvg_Engine engine_method, unsigned threads)
Initializes TVG engines.
-
TVG_EXPORT Tvg_Result tvg_engine_term(Tvg_Engine engine_method)
Terminates TVG engines.
- - - - diff --git a/docs/html/group__ThorVGCapi__Initializer.map b/docs/html/group__ThorVGCapi__Initializer.map deleted file mode 100644 index b525247..0000000 --- a/docs/html/group__ThorVGCapi__Initializer.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/html/group__ThorVGCapi__Initializer.md5 b/docs/html/group__ThorVGCapi__Initializer.md5 deleted file mode 100644 index 99fb490..0000000 --- a/docs/html/group__ThorVGCapi__Initializer.md5 +++ /dev/null @@ -1 +0,0 @@ -a876f294b034ffcd3ac1c3151851ce1c \ No newline at end of file diff --git a/docs/html/group__ThorVGCapi__Initializer.png b/docs/html/group__ThorVGCapi__Initializer.png deleted file mode 100644 index fbd96255477de03aee30e8c3f69dcea649beac04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2246 zcmV;%2s!tOP)iY3R4O3=;BUvw*a-jt3jq*1z$5@d2bctC)r-Nw!N-pu z8!MH+12UQH>gsCjEdEPtYwN(kfU&bM4h#l^L?ZqFTB(9qEH++Ze+mBn{>nvzzrVk+ z-w&f97K>Hi3iMnLCD@1gU05uZu~SfI*REY$F4x#uEHoY-9%>d)qXSF=AasC90E7-O z2@EN86bfa)Xn?uQsBP zv$N4?G>^yAI65Mc7!ndPK0c1v^&F$xxJpV&#>U1B7*ikSqr9f3rl0w%cFhM}{SAW7 zLPs_x)!O>tU!T-8?XD}GgpFbZQ9L&tjEGQ^IdS_>6i;Ii%^6~@%!R+kp+yQoUbjW0~lP6E= zIW$#dGMPjoVKSKn0wF9c?Ay0*1`H0+j)6-Tp-|}T?2N@?U0q#YzkUrHr>3T2V`JB> zSwkceV`F2HnHz;dUA}yoOeUL|nI$D9@pwE{%}q~F^ZESv_;?6{($dm`gM)cI9+gVP zU@#624t{=qEiEltGU0N$Y&JVCF3#TG9*4uZxw+NX*CV}BsnpuqIwmFtkH@Rp5$x>j z3JVMG+_|Iwd!kS%q*CdzW5;Z4YytxVrBdn4%#8kF|0O&;Jnr7T8yXtw<>eI}9o^U0 zhuBpc9v&WQ7MQ`o!SwWWCX;#Kz=5>1w69;kYP^MNTNT)-R4Ro+VNg&IlgZ4^&X&vN zh;waiZ9qW4?%lg}9hZTHUR709TU-12^Ji~w?}&&9*qD)#(b?Jg^y$;~_V!n=US(!x zBK|csHBX*AnVp^8wrv}QLb-M87SdH-UcP<%_Kh1iLJ%aCN<%|Kb;_inp&=+J=x4or zK0hWV27;idsHh7UE@<@8zbfnK=-_ZTt5>h~@$spssQB^Yhf=9jC=~j{TmYJzo3paA zZr{F5r_*zDbJcp`!lS9FNn-_)o}PZ_&>@LLA{L8nY-}!Fx}^PHP5&bC;H++2}Jq);eIN=gv_*49>mK+xFOsOz8%EOdcDK%r2uSZsWJ{Ih4zV53MR%FoXy zkw_#Gsi2@hBoZP1`T6;_wzhCPDJdyCI~(cB&CN|nNPyd;qoZUp8R?qO+F*Qq9Eq$( zZ*OmVdprCwICA7jTU#44Zy^j14|6yiPfyQz4qTPa&Q30uYj1B)qtS|rioSgL0zuH? z*EhncQ>TbTqJ@P;U|?WZSC>w&y>jJ>i;Ii7xj7b#4G#}*Yipa&t2#P5s;jG0Q&Zu~ znwlE81X#X&d1Pdy>SBz|X5;aAol=6)a0Eafh(sdXz+f;knG9|Z4-Y#!I>PPs>(>tr z4I%#a_V!5I-QC^H%cgGFc{b}GBR@f_;JKR^%qSb5Om51VIj5`ZEbCPdwbz_cXzj)ogLDpCf1~+ zq;u!aK@gOalarX3h}ie-+gDmzs?$yP?AfF7jGA07FDonS>+3^S(mg#rSFc`03PIR7 zGBR@g`t?<-R_Sz86G6)qbN1|6FE1~VNYv2KP+eWEw$Pu;nCsT9qf)6DNzrWwX!C`KfTrS68FcuaTBO@b4MMb|1m6DQj^ytw|n>MK$eSLj-JRY0PCK8E# zeSJcqFe4*F&zu)xMo&#mrBbOh8jVJyIXgS2q@?`J6NN%0CMJf5ha=TFjDv$iYisMo z#Du4(r7+_?+FPB7cXA)@$rd`jorF+ z>n}sSdGjVKD@$$H#m~==!C<7NrTO~$=H=z>-@jk~oKdQ~;5TpH3=9ke$8>)i_?WIl zB2hIe6pDNI?v>-J~RNJE1*UPm;^xR0FwX+9bgjt2SYXn U)He_y^Z)<=07*qoM6N<$f*4RrzW@LL diff --git a/docs/html/group__ThorVGCapi__Paint.html b/docs/html/group__ThorVGCapi__Paint.html deleted file mode 100644 index 11294b3..0000000 --- a/docs/html/group__ThorVGCapi__Paint.html +++ /dev/null @@ -1,766 +0,0 @@ - - - - - - - -ThorVG: Paint - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - -
- -
-
- - -
- -
- - -
- -

A module for managing graphical elements. It enables duplication, transformation and composition. -More...

-
-Collaboration diagram for Paint:
-
-
- - - - -
- - - - - -

-Enumerations

enum  Tvg_Composite_Method { TVG_COMPOSITE_METHOD_NONE = 0, -TVG_COMPOSITE_METHOD_CLIP_PATH, -TVG_COMPOSITE_METHOD_ALPHA_MASK, -TVG_COMPOSITE_METHOD_INVERSE_ALPHA_MASK - }
 Enumeration indicating the method used in the composition of two objects - the target and the source. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

TVG_EXPORT Tvg_Result tvg_paint_del (Tvg_Paint *paint)
 Releases the given Tvg_Paint object. More...
 
TVG_EXPORT Tvg_Result tvg_paint_scale (Tvg_Paint *paint, float factor)
 Scales the given Tvg_Paint object by the given factor. More...
 
TVG_EXPORT Tvg_Result tvg_paint_rotate (Tvg_Paint *paint, float degree)
 Rotates the given Tvg_Paint by the given angle. More...
 
TVG_EXPORT Tvg_Result tvg_paint_translate (Tvg_Paint *paint, float x, float y)
 Moves the given Tvg_Paint in a two-dimensional space. More...
 
TVG_EXPORT Tvg_Result tvg_paint_set_transform (Tvg_Paint *paint, const Tvg_Matrix *m)
 Transforms the given Tvg_Paint using the augmented transformation matrix. More...
 
TVG_EXPORT Tvg_Result tvg_paint_get_transform (Tvg_Paint *paint, Tvg_Matrix *m)
 Gets the matrix of the affine transformation of the given Tvg_Paint object. More...
 
TVG_EXPORT Tvg_Result tvg_paint_set_opacity (Tvg_Paint *paint, uint8_t opacity)
 Sets the opacity of the given Tvg_Paint. More...
 
TVG_EXPORT Tvg_Result tvg_paint_get_opacity (const Tvg_Paint *paint, uint8_t *opacity)
 Gets the opacity of the given Tvg_Paint. More...
 
TVG_EXPORT Tvg_Painttvg_paint_duplicate (Tvg_Paint *paint)
 Duplicates the given Tvg_Paint object. More...
 
TVG_EXPORT Tvg_Result tvg_paint_get_bounds (const Tvg_Paint *paint, float *x, float *y, float *w, float *h, bool transformed)
 Gets the axis-aligned bounding box of the Tvg_Paint object. (BETA_API) More...
 
TVG_EXPORT Tvg_Result tvg_paint_set_composite_method (Tvg_Paint *paint, Tvg_Paint *target, Tvg_Composite_Method method)
 Sets the composition target object and the composition method. More...
 
TVG_EXPORT Tvg_Result tvg_paint_get_composite_method (const Tvg_Paint *paint, const Tvg_Paint **target, Tvg_Composite_Method *method)
 Gets the composition target object and the composition method. More...
 
-

Detailed Description

-

A module for managing graphical elements. It enables duplication, transformation and composition.

-

Enumeration Type Documentation

- -

◆ Tvg_Composite_Method

- -
-
- - - - -
enum Tvg_Composite_Method
-
- -

Enumeration indicating the method used in the composition of two objects - the target and the source.

- - - - - -
Enumerator
TVG_COMPOSITE_METHOD_NONE 

No composition is applied.

-
TVG_COMPOSITE_METHOD_CLIP_PATH 

The intersection of the source and the target is determined and only the resulting pixels from the source are rendered.

-
TVG_COMPOSITE_METHOD_ALPHA_MASK 

The pixels of the source and the target are alpha blended. As a result, only the part of the source, which intersects with the target is visible.

-
TVG_COMPOSITE_METHOD_INVERSE_ALPHA_MASK 

The pixels of the source and the complement to the target's pixels are alpha blended. As a result, only the part of the source which is not covered by the target is visible.

-
- -
-
-

Function Documentation

- -

◆ tvg_paint_del()

- -
-
- - - - - - - - -
TVG_EXPORT Tvg_Result tvg_paint_del (Tvg_Paintpaint)
-
- -

Releases the given Tvg_Paint object.

-
//example of cleanup function
-
Tvg_Paint *rect = NULL; //rectangle shape added in other function
-
-
//rectangle delete API
-
int rectangle_delete(void) {
-
if (rect) tvg_paint_del(rect);
-
rect = NULL;
-
}
-
-
int cleanup(void) {
-
tvg_canvas_clear(canvas, false);
- -
canvas = NULL;
-
}
-
Parameters
- - -
[in]paintThe Tvg_Paint object to be released.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
-
-
-
Warning
If this function is used, tvg_canvas_clear() with the free argument value set to false should be used in order to avoid unexpected behaviours.
-
See also
tvg_canvas_clear(), tvg_canvas_destroy()
- -
-
- -

◆ tvg_paint_duplicate()

- -
-
- - - - - - - - -
TVG_EXPORT Tvg_Paint* tvg_paint_duplicate (Tvg_Paintpaint)
-
- -

Duplicates the given Tvg_Paint object.

-

Creates a new object and sets its all properties as in the original object.

-
Parameters
- - -
[in]paintThe Tvg_Paint object to be copied.
-
-
-
Returns
A copied Tvg_Paint object if succeed, nullptr otherwise.
- -
-
- -

◆ tvg_paint_get_bounds()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_paint_get_bounds (const Tvg_Paintpaint,
float * x,
float * y,
float * w,
float * h,
bool transformed 
)
-
- -

Gets the axis-aligned bounding box of the Tvg_Paint object. (BETA_API)

-
Parameters
- - - - - - - -
[in]paintThe Tvg_Paint object of which to get the bounds.
[out]xThe x coordinate of the upper left corner of the object.
[out]yThe y coordinate of the upper left corner of the object.
[out]wThe width of the object.
[out]hThe height of the object.
[in]transformedIf true, the transformation of the paint is taken into account, otherwise it isn't.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
TVG_RESULT_INSUFFICIENT_CONDITIONOther errors.
-
-
-
Note
The bounding box doesn't indicate the actual drawing region. It's the smallest rectangle that encloses the object.
- -
-
- -

◆ tvg_paint_get_composite_method()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_paint_get_composite_method (const Tvg_Paintpaint,
const Tvg_Paint ** target,
Tvg_Composite_Methodmethod 
)
-
- -

Gets the composition target object and the composition method.

-
Parameters
- - - - -
[in]paintThe source object of the composition.
[out]targetThe target object of the composition.
[out]methodThe method used to composite the source object with the target.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTA nullptr is passed as the argument.
-
-
- -
-
- -

◆ tvg_paint_get_opacity()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_paint_get_opacity (const Tvg_Paintpaint,
uint8_t * opacity 
)
-
- -

Gets the opacity of the given Tvg_Paint.

-
Parameters
- - - -
[in]paintThe Tvg_Paint object of which to get the opacity value.
[out]opacityThe opacity value in the range [0 ~ 255], where 0 is completely transparent and 255 is opaque.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTIn case a nullptr is passed as the argument.
-
-
- -
-
- -

◆ tvg_paint_get_transform()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_paint_get_transform (Tvg_Paintpaint,
Tvg_Matrixm 
)
-
- -

Gets the matrix of the affine transformation of the given Tvg_Paint object.

-

In case no transformation was applied, the identity matrix is returned.

-
Parameters
- - - -
[in]paintThe Tvg_Paint object of which to get the transformation matrix.
[out]mThe 3x3 augmented matrix.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTA nullptr is passed as the argument.
-
-
- -
-
- -

◆ tvg_paint_rotate()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_paint_rotate (Tvg_Paintpaint,
float degree 
)
-
- -

Rotates the given Tvg_Paint by the given angle.

-

The angle in measured clockwise from the horizontal axis. The rotational axis passes through the point on the object with zero coordinates.

-
Parameters
- - - -
[in]paintThe Tvg_Paint object to be rotated.
[in]degreeThe value of the rotation angle in degrees.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
TVG_RESULT_FAILED_ALLOCATIONAn internal error with memory allocation.
-
-
- -
-
- -

◆ tvg_paint_scale()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_paint_scale (Tvg_Paintpaint,
float factor 
)
-
- -

Scales the given Tvg_Paint object by the given factor.

-
Parameters
- - - -
[in]paintThe Tvg_Paint object to be scaled.
[in]factorThe value of the scaling factor. The default value is 1.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
TVG_RESULT_FAILED_ALLOCATIONAn internal error with memory allocation.
-
-
- -
-
- -

◆ tvg_paint_set_composite_method()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_paint_set_composite_method (Tvg_Paintpaint,
Tvg_Painttarget,
Tvg_Composite_Method method 
)
-
- -

Sets the composition target object and the composition method.

-
Parameters
- - - - -
[in]paintThe source object of the composition.
[in]targetThe target object of the composition.
[in]methodThe method used to composite the source object with the target.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid paint or target object or the method equal to TVG_COMPOSITE_METHOD_NONE.
-
-
- -
-
- -

◆ tvg_paint_set_opacity()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_paint_set_opacity (Tvg_Paintpaint,
uint8_t opacity 
)
-
- -

Sets the opacity of the given Tvg_Paint.

-
Parameters
- - - -
[in]paintThe Tvg_Paint object of which the opacity value is to be set.
[in]opacityThe opacity value in the range [0 ~ 255], where 0 is completely transparent and 255 is opaque.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
-
-
-
Note
Setting the opacity with this API may require multiple renderings using a composition. It is recommended to avoid changing the opacity if possible.
- -
-
- -

◆ tvg_paint_set_transform()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_paint_set_transform (Tvg_Paintpaint,
const Tvg_Matrixm 
)
-
- -

Transforms the given Tvg_Paint using the augmented transformation matrix.

-

The augmented matrix of the transformation is expected to be given.

-
Parameters
- - - -
[in]paintThe Tvg_Paint object to be transformed.
[in]mThe 3x3 augmented matrix.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTA nullptr is passed as the argument.
TVG_RESULT_FAILED_ALLOCATIONAn internal error with memory allocation.
-
-
- -
-
- -

◆ tvg_paint_translate()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_paint_translate (Tvg_Paintpaint,
float x,
float y 
)
-
- -

Moves the given Tvg_Paint in a two-dimensional space.

-

The origin of the coordinate system is in the upper left corner of the canvas. The horizontal and vertical axes point to the right and down, respectively.

-
Parameters
- - - - -
[in]paintThe Tvg_Paint object to be shifted.
[in]xThe value of the horizontal shift.
[in]yThe value of the vertical shift.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
TVG_RESULT_FAILED_ALLOCATIONAn internal error with memory allocation.
-
-
- -
-
-
-
TVG_EXPORT Tvg_Result tvg_canvas_clear(Tvg_Canvas *canvas, bool free)
Sets the total number of the paints pushed into the canvas to be zero. Tvg_Paint objects stored in th...
-
TVG_EXPORT Tvg_Result tvg_paint_del(Tvg_Paint *paint)
Releases the given Tvg_Paint object.
-
struct _Tvg_Paint Tvg_Paint
A structure representing a graphical element.
Definition: thorvg_capi.h:63
-
TVG_EXPORT Tvg_Result tvg_canvas_destroy(Tvg_Canvas *canvas)
Clears the canvas internal data, releases all paints stored by the canvas and destroys the canvas obj...
- - - - diff --git a/docs/html/group__ThorVGCapi__Paint.map b/docs/html/group__ThorVGCapi__Paint.map deleted file mode 100644 index bc55c32..0000000 --- a/docs/html/group__ThorVGCapi__Paint.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/html/group__ThorVGCapi__Paint.md5 b/docs/html/group__ThorVGCapi__Paint.md5 deleted file mode 100644 index 48058f6..0000000 --- a/docs/html/group__ThorVGCapi__Paint.md5 +++ /dev/null @@ -1 +0,0 @@ -d092f8ef507280d8786e14a192d9463a \ No newline at end of file diff --git a/docs/html/group__ThorVGCapi__Paint.png b/docs/html/group__ThorVGCapi__Paint.png deleted file mode 100644 index 6745289c936f37290abedf0e46cdd86ddf873b79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2064 zcmV+r2=DiaP)Dg zFSL~|I=@e|XJ*fy+5UIt%Kh^YX<;<=mSLw!5mPO5X@ntyP;OA@7%d# ztx$ds7z_rN%e8hCf79OH-rwJE?I`{qe}8{Eo&N9klnzRz(t3gYCPYL;OkswIhzM(+ zj~Ssk^AIYf<71VP+7oUcI8z>0@JKdiGDBKCNB5R;$$l0N%fU z&*$^q+}sER0)xQ_4Gq0@>y~l1U0q$fckiZ9D0X&s8#ivOudmmw&Ck!bv9T#AC@|PN z8jThg7dJdSjM~lYqb_4(W0x;qe)#aA1$~-B;6H?ihf5@qFJHbGY24D%G82d9#4~GA zqBoQD%I4tV;lbr{&zw1QK7EQ9$HvA|Q&Sxs9ceULYHBJvBI0nk)2B}}7z{ifFBA$33JP@fF+M&nlgZN4 z(*XcEIXSVhu>}PMo}Qj063NxoH9S1Lt*y;SBqEXMz<~n?4<2-Jaj~}N1i=<*3r??+1dH{@nf-AjJCgW<;vZ= zcPA$&*RNmCWHK*Zx`bApJ9p04*LT&bRRDm7hKBg~_*q5L)YKFc6Z5lLnM{_PoD2X+ zN=iC;@}$8w=4U1^Uc3;AL@XAI!{NweGL1$906?xu%q|MiUgzfKhJ}UI)YK@IN-C9l z>eMNN?OR)0j~+c*S69d3a0&|x!9VjmGW41jgM~#|T3X6vGRb6edV2c(`}Yx}LZOgK zrF1%-PNx?a7b_GBw7pa+b#ih-%0i(qKR+L>Dl9C_$jCs-8jXg*V4zhq$z_L!hf&XZ z^!E04c6K6?jgF31sZ_`%uFK%ypgH8wU($Z3mMq_Jht7}282gL32<;%Bh*-}(gH1oa> z4Gq11{rc_Ow=OO&Ha0fjzkde+jE|51ti4n!t*xz{xqlOQ^5hBnix>x)Y8@OL*laeR z&j$d!eEG7xyu7EU2T3;Yc*En@(xpq00)ar7zEm|03yabqPEJm}y}e#uUI2ieo*rjs zXS7OBSVE!j*s)_g9`E?^Fw?H^YhEg%Oetr;7@(@KYgmr%gc+4i{o;+WHR~Nw{M}Lp)>bpW^ytYqKt`& z5eNiwxf}o>5D1KYjyC6r|4U?KB$CLQ!06~Gi9{k2i61_E zC@U+Q)xP%j_HW+2admYy?a*^^^Zd}EL!O?VY&M(CW_x>kXJ=>stR)VI%goG7OiViP5MLZQ&j%?$vsaN$Br`JWpyGBPSEDzAv zZr!?B?Hd~#o1C0%^6DF>J6m12a3Lxx>d&0NECTZCT1`!jo?WF - - - - - - -ThorVG: Picture - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
- -
-
-
-
- -

A module enabling to create and to load an image in one of the supported formats: svg, png, jpg and raw. -More...

-
-Collaboration diagram for Picture:
-
-
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - -

-Functions

TVG_EXPORT Tvg_Painttvg_picture_new ()
 Creates a new picture object. More...
 
TVG_EXPORT Tvg_Result tvg_picture_load (Tvg_Paint *paint, const char *path)
 Loads a picture data directly from a file. More...
 
TVG_EXPORT Tvg_Result tvg_picture_load_raw (Tvg_Paint *paint, uint32_t *data, uint32_t w, uint32_t h, bool copy)
 Loads a picture data from a memory block of a given size. (BETA_API) More...
 
TVG_EXPORT Tvg_Result tvg_picture_load_data (Tvg_Paint *paint, const char *data, uint32_t size, const char *mimetype, bool copy)
 Loads a picture data from a memory block of a given size. More...
 
TVG_EXPORT Tvg_Result tvg_picture_set_size (Tvg_Paint *paint, float w, float h)
 Resizes the picture content to the given width and height. More...
 
TVG_EXPORT Tvg_Result tvg_picture_get_size (const Tvg_Paint *paint, float *w, float *h)
 Gets the size of the loaded picture. More...
 
TVG_EXPORT Tvg_Result tvg_picture_get_viewbox (const Tvg_Paint *paint, float *x, float *y, float *w, float *h)
 Gets the position and the size of the loaded picture. (BETA_API) More...
 
-

Detailed Description

-

A module enabling to create and to load an image in one of the supported formats: svg, png, jpg and raw.

-

Function Documentation

- -

◆ tvg_picture_get_size()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_picture_get_size (const Tvg_Paintpaint,
float * w,
float * h 
)
-
- -

Gets the size of the loaded picture.

-
Parameters
- - - -
[out]wA width of the image in pixels.
[out]hA height of the image in pixels.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
-
-
- -
-
- -

◆ tvg_picture_get_viewbox()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_picture_get_viewbox (const Tvg_Paintpaint,
float * x,
float * y,
float * w,
float * h 
)
-
- -

Gets the position and the size of the loaded picture. (BETA_API)

-
Warning
Please do not use it, this API is not official one. It can be modified in the next version.
- -
-
- -

◆ tvg_picture_load()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_picture_load (Tvg_Paintpaint,
const char * path 
)
-
- -

Loads a picture data directly from a file.

-
Parameters
- - - -
[in]paintA Tvg_Paint pointer to the picture object.
[in]pathThe absolute path to the image file.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer or an empty path.
TVG_RESULT_NOT_SUPPORTEDA file with an unknown extension.
TVG_RESULT_UNKNOWNAn error at a later stage.
-
-
- -
-
- -

◆ tvg_picture_load_data()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_picture_load_data (Tvg_Paintpaint,
const char * data,
uint32_t size,
const char * mimetype,
bool copy 
)
-
- -

Loads a picture data from a memory block of a given size.

-
Parameters
- - - - - - -
[in]paintA Tvg_Paint pointer to the picture object.
[in]dataA pointer to a memory location where the content of the picture file is stored.
[in]sizeThe size in bytes of the memory occupied by the data.
[in]mimetypeMimetype or extension of data such as "jpg", "jpeg", "svg", "svg+xml", "png", etc. In case an empty string or an unknown type is provided, the loaders will be tried one by one.
[in]copyIf true the data are copied into the engine local buffer, otherwise they are not.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTIn case a nullptr is passed as the argument or the size is zero or less.
TVG_RESULT_NOT_SUPPORTEDA file with an unknown extension.
TVG_RESULT_UNKNOWNAn error at a later stage.
-
-
-
Warning
: It's the user responsibility to release the data memory if the copy is true.
- -
-
- -

◆ tvg_picture_load_raw()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_picture_load_raw (Tvg_Paintpaint,
uint32_t * data,
uint32_t w,
uint32_t h,
bool copy 
)
-
- -

Loads a picture data from a memory block of a given size. (BETA_API)

-
Returns
Tvg_Result return value
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_PARAMETERSAn invalid Tvg_Paint.
-
-
-
Warning
Please do not use it, this API is not official one. It can be modified in the next version.
- -
-
- -

◆ tvg_picture_new()

- -
-
- - - - - - - -
TVG_EXPORT Tvg_Paint* tvg_picture_new ()
-
- -

Creates a new picture object.

-
Returns
A new picture object.
- -
-
- -

◆ tvg_picture_set_size()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_picture_set_size (Tvg_Paintpaint,
float w,
float h 
)
-
- -

Resizes the picture content to the given width and height.

-

The picture content is resized while keeping the default size aspect ratio. The scaling factor is established for each of dimensions and the smaller value is applied to both of them.

-
Parameters
- - - -
[in]wA new width of the image in pixels.
[in]hA new height of the image in pixels.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
TVG_RESULT_INSUFFICIENT_CONDITIONAn internal error.
-
-
- -
-
-
- - - - diff --git a/docs/html/group__ThorVGCapi__Picture.map b/docs/html/group__ThorVGCapi__Picture.map deleted file mode 100644 index c299ca9..0000000 --- a/docs/html/group__ThorVGCapi__Picture.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/html/group__ThorVGCapi__Picture.md5 b/docs/html/group__ThorVGCapi__Picture.md5 deleted file mode 100644 index 8b852d1..0000000 --- a/docs/html/group__ThorVGCapi__Picture.md5 +++ /dev/null @@ -1 +0,0 @@ -f09123103b2bf98dfd86cfeed319f431 \ No newline at end of file diff --git a/docs/html/group__ThorVGCapi__Picture.png b/docs/html/group__ThorVGCapi__Picture.png deleted file mode 100644 index d6eda2feb60d41baa97060be983a40ffb796333c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2174 zcmV-^2!Z#BP)$6I&F3Z?T~)v7m*fKnsN^vT33=0*!&9pcn&~vI#!~ zqcO4;g@6S^iU|;FWwq8VRzT1KL5*z22rejLaYHaf4NF*D3f7P)W$pVh@6DT6_O=N1 z-S5}E=boN9XL@??nLE?LDHI9-foK~#EA0RTq6#o^AzBGcT!>bJ$9DSr`(M0xu~M%5 z8PI4nS6A1S_Tq0E8yoxj`c~Qt&A?|D?(WXx@mAUkb@A}l zhr?;m8U!*AaK?qq$;?Zl)x(k#7dIPfI`QGd2P&01Ha4at|MBC;mMvRkG8q8i%a<=v zQBl^`)&v59Mx*)q`aXU7bbhm)ot^&v{v;BKNF?suxwE>u8avA8^YM7RKp>bkItqmn z78W)ef^aySH{Q3u_tQPqTy1ZsHn)%(b3S*(ACwoy}ca~ zj*X4Q#l@MKnNcW|xVSiUX2s!f*REZo(P%n4I$SPSAP``4XncHJC=@0nBme+XQ&U4j zLj?kXy}iAGfq|8k6`Rd&XlR(n6CRHj6B833A8%=CNhA{8+}vtwYthk~ni^wcn3x0v1l+%We|&sgeY4AfiHS*UY-~$Q z3)00-s8dr@VzD?lIN0Cc|K7cO=qNH(&(z0uJv=Pw(jHXlZF_ZEbC9Ys<*UK=mst zE1Q~{rl+U3ZQDkt)9>85gASFHlTN=va*Vcizg>1uV25ef}a{r zT#-mbr_&7$4HFU)UcGvS2#br0b8~a4R4SE9&CAOxE-ps(b8~ae&CQWEm&@hz`RGtq zR#swSBGQ&hr8F819a>CnJv=;&T2`W~tE;uO6-n!Z2M;zkHzVH!mchY64u|9E>AA?j zvAlo(p2y?S>2xP2r|j%(sZZuDVPIeY)wi^?MB6MDOGiiN@#DuV7OS?lmP8^sJ3AvoCMG6*eSNmJwn!JLs^?E! z5{ZO8E*6nUB$Z0__4Tn5^f!Z;C6mcsUS8SR*^7_8r>Cd0v$MCix4gWZKp-F$(L7Z_ ze0;o-k9Xf<| zRa@3HoVc@MZf@Sy)#c#e008*(=@T}7C8xPu?%A_vSuEDMbLWzhl2G~Hy?e!Cab{-b z;t#re_il+q!sT+6FI(0>!TVAF85?Id0=2b z>1Uwy_37&Bj*X2G2m}DY_wV25(j=3~d_EtY<5c5!ByLDZ2#3QFi^Tu{4u>;O>FML+ zlai8BP*5;5H015=jmp!~(wI!<#KgprBS+|Tx?C=Q{`~p;2j%g2ZfBw9?Yj8#iwB z_V()P>drOkok2RK+m0^WbQ&V+ybtNSw zWo2c*e*MDZ@yN!)yLaz?&y4$LJl2TJ<){SS@?Cb;tXbpbRdGR^z_(lHk-{J85y~I_b$3U1W^I4Pu$g+qw_-~60!S15EX!> z0z@l;i3`z6VB$iw5}3FUtpp}6L@SwPR{{QYOdVF+J2;*^d9s@Sful12xpM|z!K6O$ z6->*7(kqy7+PDu2fxsFUqLskJg=i%(aUojCUjRYMf-#KBD*ylh07*qoM6N<$g4HKL Aj{pDw diff --git a/docs/html/group__ThorVGCapi__Saver.html b/docs/html/group__ThorVGCapi__Saver.html deleted file mode 100644 index 8fa63bf..0000000 --- a/docs/html/group__ThorVGCapi__Saver.html +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - - -ThorVG: Saver - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
- -
-
-
-
- -

A module for exporting a paint object into a specified file. -More...

-
-Collaboration diagram for Saver:
-
-
- - - - -
- - - - - - - - - - - - - - -

-Functions

TVG_EXPORT Tvg_Savertvg_saver_new ()
 Creates a new Tvg_Saver object. More...
 
TVG_EXPORT Tvg_Result tvg_saver_save (Tvg_Saver *saver, Tvg_Paint *paint, const char *path, bool compress)
 Exports the given paint data to the given path. More...
 
TVG_EXPORT Tvg_Result tvg_saver_sync (Tvg_Saver *saver)
 Guarantees that the saving task is finished. More...
 
TVG_EXPORT Tvg_Result tvg_saver_del (Tvg_Saver *saver)
 Deletes the given Tvg_Saver object. More...
 
-

Detailed Description

-

A module for exporting a paint object into a specified file.

-

The module enables to save the composed scene and/or image from a paint object. Once it's successfully exported to a file, it can be recreated using the Picture module.

-

Function Documentation

- -

◆ tvg_saver_del()

- -
-
- - - - - - - - -
TVG_EXPORT Tvg_Result tvg_saver_del (Tvg_Saversaver)
-
- -

Deletes the given Tvg_Saver object.

-
Parameters
- - -
[in]saverThe Tvg_Saver object to be deleted.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Saver pointer.
-
-
- -
-
- -

◆ tvg_saver_new()

- -
-
- - - - - - - -
TVG_EXPORT Tvg_Saver* tvg_saver_new ()
-
- -

Creates a new Tvg_Saver object.

-
Returns
A new Tvg_Saver object.
- -
-
- -

◆ tvg_saver_save()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_saver_save (Tvg_Saversaver,
Tvg_Paintpaint,
const char * path,
bool compress 
)
-
- -

Exports the given paint data to the given path.

-

If the saver module supports any compression mechanism, it will optimize the data size. This might affect the encoding/decoding time in some cases. You can turn off the compression if you wish to optimize for speed.

-
Parameters
- - - - - -
[in]saverThe Tvg_Saver object connected with the saving task.
[in]paintThe paint to be saved with all its associated properties.
[in]pathA path to the file, in which the paint data is to be saved.
[in]compressIf true then compress data if possible.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTA nullptr passed as the argument.
TVG_RESULT_INSUFFICIENT_CONDITIONCurrently saving other resources.
TVG_RESULT_NOT_SUPPORTEDTrying to save a file with an unknown extension or in an unsupported format.
TVG_RESULT_MEMORY_CORRUPTIONAn internal error.
TVG_RESULT_UNKNOWNAn empty paint is to be saved.
-
-
-
Note
Saving can be asynchronous if the assigned thread number is greater than zero. To guarantee the saving is done, call tvg_saver_sync() afterwards.
-
See also
tvg_saver_sync()
- -
-
- -

◆ tvg_saver_sync()

- -
-
- - - - - - - - -
TVG_EXPORT Tvg_Result tvg_saver_sync (Tvg_Saversaver)
-
- -

Guarantees that the saving task is finished.

-

The behavior of the Saver module works on a sync/async basis, depending on the threading setting of the Initializer. Thus, if you wish to have a benefit of it, you must call tvg_saver_sync() after the tvg_saver_save() in the proper delayed time. Otherwise, you can call tvg_saver_sync() immediately.

-
Parameters
- - -
[in]saverThe Tvg_Saver object connected with the saving task.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTA nullptr passed as the argument.
TVG_RESULT_INSUFFICIENT_CONDITIONNo saving task is running.
-
-
-
Note
The asynchronous tasking is dependent on the Saver module implementation.
-
See also
tvg_saver_save()
- -
-
-
- - - - diff --git a/docs/html/group__ThorVGCapi__Saver.map b/docs/html/group__ThorVGCapi__Saver.map deleted file mode 100644 index 1960040..0000000 --- a/docs/html/group__ThorVGCapi__Saver.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/html/group__ThorVGCapi__Saver.md5 b/docs/html/group__ThorVGCapi__Saver.md5 deleted file mode 100644 index 0eaef24..0000000 --- a/docs/html/group__ThorVGCapi__Saver.md5 +++ /dev/null @@ -1 +0,0 @@ -30a05053b021da4601ed8cb15d65431f \ No newline at end of file diff --git a/docs/html/group__ThorVGCapi__Saver.png b/docs/html/group__ThorVGCapi__Saver.png deleted file mode 100644 index 772506a33695c800861668770914236842b791b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2354 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 Rtp^T45NmUL> - - - - - - -ThorVG: Scene - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
- -
-
-
-
- -

A module managing the multiple paints as one group paint. -More...

-
-Collaboration diagram for Scene:
-
-
- - - - -
- - - - - - - - - - - - - - -

-Functions

TVG_EXPORT Tvg_Painttvg_scene_new ()
 Creates a new scene object. More...
 
TVG_EXPORT Tvg_Result tvg_scene_reserve (Tvg_Paint *scene, uint32_t size)
 Sets the size of the container, where all the paints pushed into the scene are stored. More...
 
TVG_EXPORT Tvg_Result tvg_scene_push (Tvg_Paint *scene, Tvg_Paint *paint)
 Passes drawing elements to the scene using Tvg_Paint objects. More...
 
TVG_EXPORT Tvg_Result tvg_scene_clear (Tvg_Paint *scene, bool free)
 Clears a Tvg_Scene objects from pushed paints. More...
 
-

Detailed Description

-

A module managing the multiple paints as one group paint.

-

As a group, scene can be transformed, translucent, composited with other target paints, its children will be affected by the scene world.

-

Function Documentation

- -

◆ tvg_scene_clear()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_scene_clear (Tvg_Paintscene,
bool free 
)
-
- -

Clears a Tvg_Scene objects from pushed paints.

-

Tvg_Paint objects stored in the scene are released if free is set to true, otherwise the memory is not deallocated and all paints should be released manually in order to avoid memory leaks.

-
Parameters
- - - -
[in]sceneThe Tvg_Scene object to be cleared.
[in]freeIf true the memory occupied by paints is deallocated, otherwise it is not.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Canvas pointer.
-
-
-
Warning
Please use the free argument only when you know how it works, otherwise it's not recommended.
- -
-
- -

◆ tvg_scene_new()

- -
-
- - - - - - - -
TVG_EXPORT Tvg_Paint* tvg_scene_new ()
-
- -

Creates a new scene object.

-

A scene object is used to group many paints into one object, which can be manipulated using TVG APIs.

-
Returns
A new scene object.
- -
-
- -

◆ tvg_scene_push()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_scene_push (Tvg_Paintscene,
Tvg_Paintpaint 
)
-
- -

Passes drawing elements to the scene using Tvg_Paint objects.

-

Only the paints pushed into the scene will be the drawn targets. The paints are retained by the scene until the tvg_scene_clear() is called. If you know the number of pushed objects in advance, please call tvg_scene_reserve().

-
Parameters
- - - -
[in]sceneA Tvg_Paint pointer to the scene object.
[in]paintA graphical object to be drawn.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTA nullptr passed as the argument.
TVG_RESULT_MEMORY_CORRUPTIONAn internal error.
-
-
-
Note
The rendering order of the paints is the same as the order as they were pushed. Consider sorting the paints before pushing them if you intend to use layering.
-
See also
tvg_scene_reserve()
- -
-
- -

◆ tvg_scene_reserve()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_scene_reserve (Tvg_Paintscene,
uint32_t size 
)
-
- -

Sets the size of the container, where all the paints pushed into the scene are stored.

-

If the number of objects pushed into the scene is known in advance, calling the function prevents multiple memory reallocation, thus improving the performance.

-
Parameters
- - - -
[in]sceneA Tvg_Paint pointer to the scene object.
[in]sizeThe number of objects for which the memory is to be reserved.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_FAILED_ALLOCATIONAn internal error with a memory allocation.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
-
-
- -
-
-
- - - - diff --git a/docs/html/group__ThorVGCapi__Scene.map b/docs/html/group__ThorVGCapi__Scene.map deleted file mode 100644 index 3457a84..0000000 --- a/docs/html/group__ThorVGCapi__Scene.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/html/group__ThorVGCapi__Scene.md5 b/docs/html/group__ThorVGCapi__Scene.md5 deleted file mode 100644 index 75534e7..0000000 --- a/docs/html/group__ThorVGCapi__Scene.md5 +++ /dev/null @@ -1 +0,0 @@ -59bad3566a75a217d40bc307a3969b94 \ No newline at end of file diff --git a/docs/html/group__ThorVGCapi__Scene.png b/docs/html/group__ThorVGCapi__Scene.png deleted file mode 100644 index 1823cf2e237932ecb2b0ebbf538dda46bde0bdd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2429 zcmV-@34->CP)zyJQbJ#rByAs`@th=>S#r!gt#&!6Z1{rmP#!!FjWS!23UKZaVZ)&pXBMV5qw zgt7m^S4KiYg58gwy%sYLnT(91^x`I~!%Iv|w08k=UXeL3pK!kx>vFgw@3;kx2e^c^Piqx`n^LKZApV zX4{`Weagax3+d_U0pPE{{vs_cjo{#5TwGiT2nZl9E{@-R`_1A$Z{EB~e0)6K-rjh6 zdJ+{C#qs0EP4+7;F2>o}8I?+9()QwUkxHekUAvYiPo5aH+d^MoAB~NTbar;yq`#@w z*VjjNbv2)U`YACnF|1j$2BlKTjT<-Yoto9GE=IjxZ&=K&Pqom{P$D8CsH>|p+g@2& zNqBfTvuDpnqtUQ*=~CR>+&F&xI6XZ*oIQJ%l#~>DaSp4?B16q@tn%ola-+yGD=8<;$1p@9$^x=FJm70Fy8@G(<~F z3rR^y`1tscoSaN|cehRYo@)8|`SkYoQdCsLPe1)cSy>rTQBmyPz1!ZYSg4W~R}|Cy_|lyLT@E0RcEUIgyi-gG!|` zIpK$fhA1yDXUmo?0OaN6k(`{2N~L1Kf(5v{yAu=?#Ol?nIeYf3MR_ZgN;YlU#8+Q^ zMPOhco}Qj8TeghW)>fnaPMkQwYp=aVdU`tE-rgqdFY@#AWV_4;P&m?6N&ptESHugO5^71nL?Be2LH2PW+Zw;Fj^`*13 zlQ-Xd6M#E+?wA}R5UAmNlf&yG!T>D{%NRY{7q^GB&P$+=s zFLWA>#%z(#ojaG};$owLVIr)JACE&6V^UHQ85tSW)YJfwk&$81b=s;`tH{mGrM9+~ z$B!Qq6BA?9o}ZsjWMm}6!^5mww+@+1#=yV;=gyt8I5(wI$+Bh3aCLPhF)&n>HbpO6ltAqQ1VKZQHh4)VH${QB#!$;!%N$&w|&^Jl$sb92XylSm|FXJ?a|n#%tD`%T(|f`T}I{yh2l`9w!Y zqt$Bh_4Vc5ci*-6na%n0=X2`RDROgjDJUplWMqVQ-g(FH)<}7IIRym;W@9&O*uXd6 zeDhL@@kKJ3jO^@eva_@4=;)xSsfoRN_oC5gjHa*CL0VcGhYug7s;Y|K-d@9{$>{l_ zP$=l{?guJ{w9zJ}COeQm#cK#P@kC{6iI&=tyLLsJ9 zuYl1Dm=;oMUdt#a@2o6FNqaZj4QH+A%AVe_=f`bsnC_U7TP7oZ0C`LhW5TY0b!9n~3+K>oAIEFYR00000NkvXXu0mjfa>B+g diff --git a/docs/html/group__ThorVGCapi__Shape.html b/docs/html/group__ThorVGCapi__Shape.html deleted file mode 100644 index 9157f17..0000000 --- a/docs/html/group__ThorVGCapi__Shape.html +++ /dev/null @@ -1,2126 +0,0 @@ - - - - - - - -ThorVG: Shape - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - -
- -
-
- - -
- -
- - -
- -

A module for managing two-dimensional figures and their properties. -More...

-
-Collaboration diagram for Shape:
-
-
- - - - -
- - - - - - - - - - - - - - - - - -

-Enumerations

enum  Tvg_Path_Command { TVG_PATH_COMMAND_CLOSE = 0, -TVG_PATH_COMMAND_MOVE_TO, -TVG_PATH_COMMAND_LINE_TO, -TVG_PATH_COMMAND_CUBIC_TO - }
 Enumeration specifying the values of the path commands accepted by TVG. More...
 
enum  Tvg_Stroke_Cap { TVG_STROKE_CAP_SQUARE = 0, -TVG_STROKE_CAP_ROUND, -TVG_STROKE_CAP_BUTT - }
 Enumeration determining the ending type of a stroke in the open sub-paths. More...
 
enum  Tvg_Stroke_Join { TVG_STROKE_JOIN_BEVEL = 0, -TVG_STROKE_JOIN_ROUND, -TVG_STROKE_JOIN_MITER - }
 Enumeration specifying how to fill the area outside the gradient bounds. More...
 
enum  Tvg_Stroke_Fill { TVG_STROKE_FILL_PAD = 0, -TVG_STROKE_FILL_REFLECT, -TVG_STROKE_FILL_REPEAT - }
 Enumeration specifying how to fill the area outside the gradient bounds. More...
 
enum  Tvg_Fill_Rule { TVG_FILL_RULE_WINDING = 0, -TVG_FILL_RULE_EVEN_ODD - }
 Enumeration specifying the algorithm used to establish which parts of the shape are treated as the inside of the shape. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

TVG_EXPORT Tvg_Painttvg_shape_new ()
 Creates a new shape object. More...
 
TVG_EXPORT Tvg_Result tvg_shape_reset (Tvg_Paint *paint)
 Resets the shape path properties. More...
 
TVG_EXPORT Tvg_Result tvg_shape_move_to (Tvg_Paint *paint, float x, float y)
 Sets the initial point of the sub-path. More...
 
TVG_EXPORT Tvg_Result tvg_shape_line_to (Tvg_Paint *paint, float x, float y)
 Adds a new point to the sub-path, which results in drawing a line from the current point to the given end-point. More...
 
TVG_EXPORT Tvg_Result tvg_shape_cubic_to (Tvg_Paint *paint, float cx1, float cy1, float cx2, float cy2, float x, float y)
 Adds new points to the sub-path, which results in drawing a cubic Bezier curve. More...
 
TVG_EXPORT Tvg_Result tvg_shape_close (Tvg_Paint *paint)
 Closes the current sub-path by drawing a line from the current point to the initial point of the sub-path. More...
 
TVG_EXPORT Tvg_Result tvg_shape_append_rect (Tvg_Paint *paint, float x, float y, float w, float h, float rx, float ry)
 Appends a rectangle to the path. More...
 
TVG_EXPORT Tvg_Result tvg_shape_append_circle (Tvg_Paint *paint, float cx, float cy, float rx, float ry)
 Appends an ellipse to the path. More...
 
TVG_EXPORT Tvg_Result tvg_shape_append_arc (Tvg_Paint *paint, float cx, float cy, float radius, float startAngle, float sweep, uint8_t pie)
 Appends a circular arc to the path. More...
 
TVG_EXPORT Tvg_Result tvg_shape_append_path (Tvg_Paint *paint, const Tvg_Path_Command *cmds, uint32_t cmdCnt, const Tvg_Point *pts, uint32_t ptsCnt)
 Appends a given sub-path to the path. More...
 
TVG_EXPORT Tvg_Result tvg_shape_get_path_coords (const Tvg_Paint *paint, const Tvg_Point **pts, uint32_t *cnt)
 Gets the points values of the path. More...
 
TVG_EXPORT Tvg_Result tvg_shape_get_path_commands (const Tvg_Paint *paint, const Tvg_Path_Command **cmds, uint32_t *cnt)
 Gets the commands data of the path. More...
 
TVG_EXPORT Tvg_Result tvg_shape_set_stroke_width (Tvg_Paint *paint, float width)
 Sets the stroke width for all of the figures from the paint. More...
 
TVG_EXPORT Tvg_Result tvg_shape_get_stroke_width (const Tvg_Paint *paint, float *width)
 Gets the shape's stroke width. More...
 
TVG_EXPORT Tvg_Result tvg_shape_set_stroke_color (Tvg_Paint *paint, uint8_t r, uint8_t g, uint8_t b, uint8_t a)
 Sets the shape's stroke color. More...
 
TVG_EXPORT Tvg_Result tvg_shape_get_stroke_color (const Tvg_Paint *paint, uint8_t *r, uint8_t *g, uint8_t *b, uint8_t *a)
 Gets the shape's stroke color. More...
 
TVG_EXPORT Tvg_Result tvg_shape_set_stroke_linear_gradient (Tvg_Paint *paint, Tvg_Gradient *grad)
 Sets the linear gradient fill of the stroke for all of the figures from the path. More...
 
TVG_EXPORT Tvg_Result tvg_shape_set_stroke_radial_gradient (Tvg_Paint *paint, Tvg_Gradient *grad)
 Sets the radial gradient fill of the stroke for all of the figures from the path. More...
 
TVG_EXPORT Tvg_Result tvg_shape_get_stroke_gradient (const Tvg_Paint *paint, Tvg_Gradient **grad)
 Gets the gradient fill of the shape's stroke. More...
 
TVG_EXPORT Tvg_Result tvg_shape_set_stroke_dash (Tvg_Paint *paint, const float *dashPattern, uint32_t cnt)
 Sets the shape's stroke dash pattern. More...
 
TVG_EXPORT Tvg_Result tvg_shape_get_stroke_dash (const Tvg_Paint *paint, const float **dashPattern, uint32_t *cnt)
 Gets the dash pattern of the stroke. More...
 
TVG_EXPORT Tvg_Result tvg_shape_set_stroke_cap (Tvg_Paint *paint, Tvg_Stroke_Cap cap)
 Sets the cap style used for stroking the path. More...
 
TVG_EXPORT Tvg_Result tvg_shape_get_stroke_cap (const Tvg_Paint *paint, Tvg_Stroke_Cap *cap)
 Gets the stroke cap style used for stroking the path. More...
 
TVG_EXPORT Tvg_Result tvg_shape_set_stroke_join (Tvg_Paint *paint, Tvg_Stroke_Join join)
 Sets the join style for stroked path segments. More...
 
TVG_EXPORT Tvg_Result tvg_shape_get_stroke_join (const Tvg_Paint *paint, Tvg_Stroke_Join *join)
 The function gets the stroke join method. More...
 
TVG_EXPORT Tvg_Result tvg_shape_set_fill_color (Tvg_Paint *paint, uint8_t r, uint8_t g, uint8_t b, uint8_t a)
 Sets the shape's solid color. More...
 
TVG_EXPORT Tvg_Result tvg_shape_get_fill_color (const Tvg_Paint *paint, uint8_t *r, uint8_t *g, uint8_t *b, uint8_t *a)
 Gets the shape's solid color. More...
 
TVG_EXPORT Tvg_Result tvg_shape_set_fill_rule (Tvg_Paint *paint, Tvg_Fill_Rule rule)
 Sets the shape's fill rule. More...
 
TVG_EXPORT Tvg_Result tvg_shape_get_fill_rule (const Tvg_Paint *paint, Tvg_Fill_Rule *rule)
 Gets the shape's fill rule. More...
 
TVG_EXPORT Tvg_Result tvg_shape_set_linear_gradient (Tvg_Paint *paint, Tvg_Gradient *grad)
 Sets the linear gradient fill for all of the figures from the path. More...
 
TVG_EXPORT Tvg_Result tvg_shape_set_radial_gradient (Tvg_Paint *paint, Tvg_Gradient *grad)
 Sets the radial gradient fill for all of the figures from the path. More...
 
TVG_EXPORT Tvg_Result tvg_shape_get_gradient (const Tvg_Paint *paint, Tvg_Gradient **grad)
 Gets the gradient fill of the shape. More...
 
-

Detailed Description

-

A module for managing two-dimensional figures and their properties.

-

A shape has three major properties: shape outline, stroking, filling. The outline in the shape is retained as the path. Path can be composed by accumulating primitive commands such as tvg_shape_move_to(), tvg_shape_line_to(), tvg_shape_cubic_to() or complete shape interfaces such as tvg_shape_append_rect(), tvg_shape_append_circle(), etc. Path can consists of sub-paths. One sub-path is determined by a close command.

-

The stroke of a shape is an optional property in case the shape needs to be represented with/without the outline borders. It's efficient since the shape path and the stroking path can be shared with each other. It's also convenient when controlling both in one context.

-

Enumeration Type Documentation

- -

◆ Tvg_Fill_Rule

- -
-
- - - - -
enum Tvg_Fill_Rule
-
- -

Enumeration specifying the algorithm used to establish which parts of the shape are treated as the inside of the shape.

- - - -
Enumerator
TVG_FILL_RULE_WINDING 

A line from the point to a location outside the shape is drawn. The intersections of the line with the path segment of the shape are counted. Starting from zero, if the path segment of the shape crosses the line clockwise, one is added, otherwise one is subtracted. If the resulting sum is non zero, the point is inside the shape.

-
TVG_FILL_RULE_EVEN_ODD 

A line from the point to a location outside the shape is drawn and its intersections with the path segments of the shape are counted. If the number of intersections is an odd number, the point is inside the shape.

-
- -
-
- -

◆ Tvg_Path_Command

- -
-
- - - - -
enum Tvg_Path_Command
-
- -

Enumeration specifying the values of the path commands accepted by TVG.

-

Not to be confused with the path commands from the svg path element (like M, L, Q, H and many others). TVG interprets all of them and translates to the ones from the PathCommand values.

- - - - - -
Enumerator
TVG_PATH_COMMAND_CLOSE 

Ends the current sub-path and connects it with its initial point - corresponds to Z command in the svg path commands.

-
TVG_PATH_COMMAND_MOVE_TO 

Sets a new initial point of the sub-path and a new current point - corresponds to M command in the svg path commands.

-
TVG_PATH_COMMAND_LINE_TO 

Draws a line from the current point to the given point and sets a new value of the current point - corresponds to L command in the svg path commands.

-
TVG_PATH_COMMAND_CUBIC_TO 

Draws a cubic Bezier curve from the current point to the given point using two given control points and sets a new value of the current point - corresponds to C command in the svg path commands.

-
- -
-
- -

◆ Tvg_Stroke_Cap

- -
-
- - - - -
enum Tvg_Stroke_Cap
-
- -

Enumeration determining the ending type of a stroke in the open sub-paths.

- - - - -
Enumerator
TVG_STROKE_CAP_SQUARE 

The stroke is extended in both endpoints of a sub-path by a rectangle, with the width equal to the stroke width and the length equal to the half of the stroke width. For zero length sub-paths the square is rendered with the size of the stroke width.

-
TVG_STROKE_CAP_ROUND 

The stroke is extended in both endpoints of a sub-path by a half circle, with a radius equal to the half of a stroke width. For zero length sub-paths a full circle is rendered.

-
TVG_STROKE_CAP_BUTT 

The stroke ends exactly at each of the two endpoints of a sub-path. For zero length sub-paths no stroke is rendered.

-
- -
-
- -

◆ Tvg_Stroke_Fill

- -
-
- - - - -
enum Tvg_Stroke_Fill
-
- -

Enumeration specifying how to fill the area outside the gradient bounds.

- - - - -
Enumerator
TVG_STROKE_FILL_PAD 

The remaining area is filled with the closest stop color.

-
TVG_STROKE_FILL_REFLECT 

The gradient pattern is reflected outside the gradient area until the expected region is filled.

-
TVG_STROKE_FILL_REPEAT 

The gradient pattern is repeated continuously beyond the gradient area until the expected region is filled.

-
- -
-
- -

◆ Tvg_Stroke_Join

- -
-
- - - - -
enum Tvg_Stroke_Join
-
- -

Enumeration specifying how to fill the area outside the gradient bounds.

- - - - -
Enumerator
TVG_STROKE_JOIN_BEVEL 

The outer corner of the joined path segments is bevelled at the join point. The triangular region of the corner is enclosed by a straight line between the outer corners of each stroke.

-
TVG_STROKE_JOIN_ROUND 

The outer corner of the joined path segments is rounded. The circular region is centered at the join point.

-
TVG_STROKE_JOIN_MITER 

The outer corner of the joined path segments is spiked. The spike is created by extension beyond the join point of the outer edges of the stroke until they intersect. In case the extension goes beyond the limit, the join style is converted to the Bevel style.

-
- -
-
-

Function Documentation

- -

◆ tvg_shape_append_arc()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_append_arc (Tvg_Paintpaint,
float cx,
float cy,
float radius,
float startAngle,
float sweep,
uint8_t pie 
)
-
- -

Appends a circular arc to the path.

-

The arc is treated as a new sub-path - it is not connected with the previous sub-path. The current point value is set to the end-point of the arc in case pie is false, and to the center of the arc otherwise.

-
Parameters
- - - - - - - - -
[in]paintA Tvg_Paint pointer to the shape object.
[in]cxThe horizontal coordinate of the center of the arc.
[in]cyThe vertical coordinate of the center of the arc.
[in]radiusThe radius of the arc.
[in]startAngleThe start angle of the arc given in degrees, measured counter-clockwise from the horizontal line.
[in]sweepThe central angle of the arc given in degrees, measured counter-clockwise from startAngle.
[in]pieSpecifies whether to draw radii from the arc's center to both of its end-point - drawn if true.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
-
-
-
Note
Setting sweep value greater than 360 degrees, is equivalent to calling tvg_shape_append_circle(paint, cx, cy, radius, radius).
- -
-
- -

◆ tvg_shape_append_circle()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_append_circle (Tvg_Paintpaint,
float cx,
float cy,
float rx,
float ry 
)
-
- -

Appends an ellipse to the path.

-

The position of the ellipse is specified by the coordinates of its center - cx and cy arguments.

-

The ellipse is treated as a new sub-path - it is not connected with the previous sub-path.

-

The value of the current point is set to (cx, cy - ry).

-
Parameters
- - - - - - -
[in]paintA Tvg_Paint pointer to the shape object.
[in]cxThe horizontal coordinate of the center of the ellipse.
[in]cyThe vertical coordinate of the center of the ellipse.
[in]rxThe x-axis radius of the ellipse.
[in]ryThe y-axis radius of the ellipse.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
-
-
- -
-
- -

◆ tvg_shape_append_path()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_append_path (Tvg_Paintpaint,
const Tvg_Path_Commandcmds,
uint32_t cmdCnt,
const Tvg_Pointpts,
uint32_t ptsCnt 
)
-
- -

Appends a given sub-path to the path.

-

The current point value is set to the last point from the sub-path. For each command from the cmds array, an appropriate number of points in pts array should be specified. If the number of points in the pts array is different than the number required by the cmds array, the shape with this sub-path will not be displayed on the screen.

-
Parameters
- - - - - - -
[in]paintA Tvg_Paint pointer to the shape object.
[in]cmdsThe array of the commands in the sub-path.
[in]cmdCntThe length of the cmds array.
[in]ptsThe array of the two-dimensional points.
[in]ptsCntThe length of the pts array.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTA nullptr passed as the argument or cmdCnt or ptsCnt equal to zero.
-
-
- -
-
- -

◆ tvg_shape_append_rect()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_append_rect (Tvg_Paintpaint,
float x,
float y,
float w,
float h,
float rx,
float ry 
)
-
- -

Appends a rectangle to the path.

-

The rectangle with rounded corners can be achieved by setting non-zero values to rx and ry arguments. The rx and ry values specify the radii of the ellipse defining the rounding of the corners.

-

The position of the rectangle is specified by the coordinates of its upper left corner - x and y arguments.

-

The rectangle is treated as a new sub-path - it is not connected with the previous sub-path.

-

The value of the current point is set to (x + rx, y) - in case rx is greater than w/2 the current point is set to (x + w/2, y)

-
Parameters
- - - - - - - - -
[in]paintA Tvg_Paint pointer to the shape object.
[in]xThe horizontal coordinate of the upper left corner of the rectangle.
[in]yThe vertical coordinate of the upper left corner of the rectangle.
[in]wThe width of the rectangle.
[in]hThe height of the rectangle.
[in]rxThe x-axis radius of the ellipse defining the rounded corners of the rectangle.
[in]ryThe y-axis radius of the ellipse defining the rounded corners of the rectangle.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
-
-
-

&

Note
For rx and ry greater than or equal to the half of w and the half of h, respectively, the shape become an ellipse.
- -
-
- -

◆ tvg_shape_close()

- -
-
- - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_close (Tvg_Paintpaint)
-
- -

Closes the current sub-path by drawing a line from the current point to the initial point of the sub-path.

-

The value of the current point is set to the initial point of the closed sub-path.

-
Parameters
- - -
[in]paintA Tvg_Paint pointer to the shape object.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
-
-
-
Note
In case the sub-path does not contain any points, this function has no effect.
- -
-
- -

◆ tvg_shape_cubic_to()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_cubic_to (Tvg_Paintpaint,
float cx1,
float cy1,
float cx2,
float cy2,
float x,
float y 
)
-
- -

Adds new points to the sub-path, which results in drawing a cubic Bezier curve.

-

The Bezier curve starts at the current point and ends at the given end-point (x, y). Two control points (cx1, cy1) and (cx2, cy2) are used to determine the shape of the curve. The value of the current point is set to the given end-point.

-
Parameters
- - - - - - - - -
[in]paintA Tvg_Paint pointer to the shape object.
[in]cx1The horizontal coordinate of the 1st control point.
[in]cy1The vertical coordinate of the 1st control point.
[in]cx2The horizontal coordinate of the 2nd control point.
[in]cy2The vertical coordinate of the 2nd control point.
[in]xThe horizontal coordinate of the endpoint of the curve.
[in]yThe vertical coordinate of the endpoint of the curve.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
-
-
-
Note
In case this is the first command in the path, no data from the path are rendered.
- -
-
- -

◆ tvg_shape_get_fill_color()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_get_fill_color (const Tvg_Paintpaint,
uint8_t * r,
uint8_t * g,
uint8_t * b,
uint8_t * a 
)
-
- -

Gets the shape's solid color.

-
Parameters
- - - - - - -
[in]paintA Tvg_Paint pointer to the shape object.
[out]rThe red color channel value in the range [0 ~ 255]. The default value is 0.
[out]gThe green color channel value in the range [0 ~ 255]. The default value is 0.
[out]bThe blue color channel value in the range [0 ~ 255]. The default value is 0.
[out]aThe alpha channel value in the range [0 ~ 255], where 0 is completely transparent and 255 is opaque. The default value is 0.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
-
-
- -
-
- -

◆ tvg_shape_get_fill_rule()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_get_fill_rule (const Tvg_Paintpaint,
Tvg_Fill_Rulerule 
)
-
- -

Gets the shape's fill rule.

-
Parameters
- - - -
[in]paintA Tvg_Paint pointer to the shape object.
[out]ruleshape's fill rule
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid pointer passed as an argument.
-
-
- -
-
- -

◆ tvg_shape_get_gradient()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_get_gradient (const Tvg_Paintpaint,
Tvg_Gradient ** grad 
)
-
- -

Gets the gradient fill of the shape.

-

The function does not allocate any data.

-
Parameters
- - - -
[in]paintA Tvg_Paint pointer to the shape object.
[out]gradThe gradient fill.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid pointer passed as an argument.
-
-
- -
-
- -

◆ tvg_shape_get_path_commands()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_get_path_commands (const Tvg_Paintpaint,
const Tvg_Path_Command ** cmds,
uint32_t * cnt 
)
-
- -

Gets the commands data of the path.

-

The function does not allocate any data. There is no need to free the cmds array.

-
Tvg_Shape *shape = tvg_shape_new();
-
Tvg_Path_Command *cmds = NULL;
-
uint32_t len = 0;
-
-
tvg_shape_append_circle(shape, 10, 10, 50, 50);
-
tvg_shape_get_path_commands(shape, (const Tvg_Path_Command**)&cmds, &len);
-
//TVG approximates a circle by four Bezier curves. In the example above the cmds array stores the commands of the path data.
-
Parameters
- - - - -
[in]paintA Tvg_Paint pointer to the shape object.
[out]cmdsThe pointer to the array of the commands from the path.
[out]cntThe length of the cmds array.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTA nullptr passed as the argument.
-
-
- -
-
- -

◆ tvg_shape_get_path_coords()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_get_path_coords (const Tvg_Paintpaint,
const Tvg_Point ** pts,
uint32_t * cnt 
)
-
- -

Gets the points values of the path.

-

The function does not allocate any data, it operates on internal memory. There is no need to free the pts array.

-
Tvg_Shape *shape = tvg_shape_new();
-
Tvg_Point *coords = NULL;
-
uint32_t len = 0;
-
-
tvg_shape_append_circle(shape, 10, 10, 50, 50);
-
tvg_shape_get_path_coords(shape, (const Tvg_Point**)&coords, &len);
-
//TVG approximates a circle by four Bezier curves. In the example above the coords array stores their coordinates.
-
Parameters
- - - - -
[in]paintA Tvg_Paint pointer to the shape object.
[out]ptsThe pointer to the array of the two-dimensional points from the path.
[out]cntThe length of the pts array.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTA nullptr passed as the argument.
-
-
- -
-
- -

◆ tvg_shape_get_stroke_cap()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_get_stroke_cap (const Tvg_Paintpaint,
Tvg_Stroke_Capcap 
)
-
- -

Gets the stroke cap style used for stroking the path.

-
Parameters
- - - -
[in]paintA Tvg_Paint pointer to the shape object.
[out]capThe cap style value.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid pointer passed as an argument.
-
-
- -
-
- -

◆ tvg_shape_get_stroke_color()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_get_stroke_color (const Tvg_Paintpaint,
uint8_t * r,
uint8_t * g,
uint8_t * b,
uint8_t * a 
)
-
- -

Gets the shape's stroke color.

-
Parameters
- - - - - - -
[in]paintA Tvg_Paint pointer to the shape object.
[out]rThe red color channel value in the range [0 ~ 255]. The default value is 0.
[out]gThe green color channel value in the range [0 ~ 255]. The default value is 0.
[out]bThe blue color channel value in the range [0 ~ 255]. The default value is 0.
[out]aThe alpha channel value in the range [0 ~ 255], where 0 is completely transparent and 255 is opaque.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
TVG_RESULT_INSUFFICIENT_CONDITIONNo stroke was set.
-
-
- -
-
- -

◆ tvg_shape_get_stroke_dash()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_get_stroke_dash (const Tvg_Paintpaint,
const float ** dashPattern,
uint32_t * cnt 
)
-
- -

Gets the dash pattern of the stroke.

-

The function does not allocate any memory.

-
Parameters
- - - - -
[in]paintA Tvg_Paint pointer to the shape object.
[out]dashPatternThe array of consecutive pair values of the dash length and the gap length.
[out]cntThe size of the dashPattern array.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid pointer passed as an argument.
-
-
- -
-
- -

◆ tvg_shape_get_stroke_gradient()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_get_stroke_gradient (const Tvg_Paintpaint,
Tvg_Gradient ** grad 
)
-
- -

Gets the gradient fill of the shape's stroke.

-

The function does not allocate any memory.

-
Parameters
- - - -
[in]paintA Tvg_Paint pointer to the shape object.
[out]gradThe gradient fill.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid pointer passed as an argument.
-
-
- -
-
- -

◆ tvg_shape_get_stroke_join()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_get_stroke_join (const Tvg_Paintpaint,
Tvg_Stroke_Joinjoin 
)
-
- -

The function gets the stroke join method.

-
Parameters
- - - -
[in]paintA Tvg_Paint pointer to the shape object.
[out]joinThe join style value.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid pointer passed as an argument.
-
-
- -
-
- -

◆ tvg_shape_get_stroke_width()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_get_stroke_width (const Tvg_Paintpaint,
float * width 
)
-
- -

Gets the shape's stroke width.

-
Parameters
- - - -
[in]paintA Tvg_Paint pointer to the shape object.
[out]widthThe stroke width.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid pointer passed as an argument.
-
-
- -
-
- -

◆ tvg_shape_line_to()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_line_to (Tvg_Paintpaint,
float x,
float y 
)
-
- -

Adds a new point to the sub-path, which results in drawing a line from the current point to the given end-point.

-

The value of the current point is set to the given end-point.

-
Parameters
- - - - -
[in]paintA Tvg_Paint pointer to the shape object.
[in]xThe horizontal coordinate of the end-point of the line.
[in]yThe vertical coordinate of the end-point of the line.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
-
-
-
Note
In case this is the first command in the path, it corresponds to the tvg_shape_move_to() call.
- -
-
- -

◆ tvg_shape_move_to()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_move_to (Tvg_Paintpaint,
float x,
float y 
)
-
- -

Sets the initial point of the sub-path.

-

The value of the current point is set to the given point.

-
Parameters
- - - - -
[in]paintA Tvg_Paint pointer to the shape object.
[in]xThe horizontal coordinate of the initial point of the sub-path.
[in]yThe vertical coordinate of the initial point of the sub-path.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
-
-
- -
-
- -

◆ tvg_shape_new()

- -
-
- - - - - - - -
TVG_EXPORT Tvg_Paint* tvg_shape_new ()
-
- -

Creates a new shape object.

-
Returns
A new shape object.
- -
-
- -

◆ tvg_shape_reset()

- -
-
- - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_reset (Tvg_Paintpaint)
-
- -

Resets the shape path properties.

-

The color, the fill and the stroke properties are retained.

-
Parameters
- - -
[in]paintA Tvg_Paint pointer to the shape object.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
-
-
-
Note
The memory, where the path data is stored, is not deallocated at this stage for caching effect.
- -
-
- -

◆ tvg_shape_set_fill_color()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_set_fill_color (Tvg_Paintpaint,
uint8_t r,
uint8_t g,
uint8_t b,
uint8_t a 
)
-
- -

Sets the shape's solid color.

-

The parts of the shape defined as inner are colored.

-
Parameters
- - - - - - -
[in]paintA Tvg_Paint pointer to the shape object.
[in]rThe red color channel value in the range [0 ~ 255]. The default value is 0.
[in]gThe green color channel value in the range [0 ~ 255]. The default value is 0.
[in]bThe blue color channel value in the range [0 ~ 255]. The default value is 0.
[in]aThe alpha channel value in the range [0 ~ 255], where 0 is completely transparent and 255 is opaque. The default value is 0.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
-
-
-
Note
Either a solid color or a gradient fill is applied, depending on what was set as last.
-
See also
tvg_shape_set_fill_rule()
- -
-
- -

◆ tvg_shape_set_fill_rule()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_set_fill_rule (Tvg_Paintpaint,
Tvg_Fill_Rule rule 
)
-
- -

Sets the shape's fill rule.

-
Parameters
- - - -
[in]paintA Tvg_Paint pointer to the shape object.
[in]ruleThe fill rule value. The default value is TVG_FILL_RULE_WINDING.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
-
-
- -
-
- -

◆ tvg_shape_set_linear_gradient()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_set_linear_gradient (Tvg_Paintpaint,
Tvg_Gradientgrad 
)
-
- -

Sets the linear gradient fill for all of the figures from the path.

-

The parts of the shape defined as inner are filled.

-
-
tvg_linear_gradient_set(grad, 700, 700, 800, 800);
-
Tvg_Color_Stop color_stops[4] =
-
{
-
{0.0 , 0, 0, 0, 255},
-
{0.25, 255, 0, 0, 255},
-
{0.5 , 0, 255, 0, 255},
-
{1.0 , 0, 0, 255, 255}
-
};
-
tvg_gradient_set_color_stops(grad, color_stops, 4);
- -
Parameters
- - - -
[in]paintA Tvg_Paint pointer to the shape object.
[in]gradThe linear gradient fill.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
TVG_RESULT_MEMORY_CORRUPTIONAn invalid Tvg_Gradient pointer.
-
-
-
Note
Either a solid color or a gradient fill is applied, depending on what was set as last.
-
See also
tvg_shape_set_fill_rule()
- -
-
- -

◆ tvg_shape_set_radial_gradient()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_set_radial_gradient (Tvg_Paintpaint,
Tvg_Gradientgrad 
)
-
- -

Sets the radial gradient fill for all of the figures from the path.

-

The parts of the shape defined as inner are filled.

-
-
tvg_radial_gradient_set(grad, 550, 550, 50);
-
Tvg_Color_Stop color_stops[4] =
-
{
-
{0.0 , 0, 0, 0, 255},
-
{0.25, 255, 0, 0, 255},
-
{0.5 , 0, 255, 0, 255},
-
{1.0 , 0, 0, 255, 255}
-
};
-
tvg_gradient_set_color_stops(grad, color_stops, 4);
- -
Parameters
- - - -
[in]paintA Tvg_Paint pointer to the shape object.
[in]gradThe radial gradient fill.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
TVG_RESULT_MEMORY_CORRUPTIONAn invalid Tvg_Gradient pointer.
-
-
-
Note
Either a solid color or a gradient fill is applied, depending on what was set as last.
-
See also
tvg_shape_set_fill_rule()
- -
-
- -

◆ tvg_shape_set_stroke_cap()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_set_stroke_cap (Tvg_Paintpaint,
Tvg_Stroke_Cap cap 
)
-
- -

Sets the cap style used for stroking the path.

-

The cap style specifies the shape to be used at the end of the open stroked sub-paths.

-
Parameters
- - - -
[in]paintA Tvg_Paint pointer to the shape object.
[in]capThe cap style value. The default value is TVG_STROKE_CAP_SQUARE.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
TVG_RESULT_FAILED_ALLOCATIONAn internal error with a memory allocation.
-
-
- -
-
- -

◆ tvg_shape_set_stroke_color()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_set_stroke_color (Tvg_Paintpaint,
uint8_t r,
uint8_t g,
uint8_t b,
uint8_t a 
)
-
- -

Sets the shape's stroke color.

-
Parameters
- - - - - - -
[in]paintA Tvg_Paint pointer to the shape object.
[in]rThe red color channel value in the range [0 ~ 255]. The default value is 0.
[in]gThe green color channel value in the range [0 ~ 255]. The default value is 0.
[in]bThe blue color channel value in the range [0 ~ 255]. The default value is 0.
[in]aThe alpha channel value in the range [0 ~ 255], where 0 is completely transparent and 255 is opaque.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
TVG_RESULT_FAILED_ALLOCATIONAn internal error with a memory allocation.
-
-
-
Note
Either a solid color or a gradient fill is applied, depending on what was set as last.
- -
-
- -

◆ tvg_shape_set_stroke_dash()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_set_stroke_dash (Tvg_Paintpaint,
const float * dashPattern,
uint32_t cnt 
)
-
- -

Sets the shape's stroke dash pattern.

-
//dash pattern examples
-
float dashPattern[2] = {20, 10}; // -- -- --
-
float dashPattern[2] = {40, 20}; // ---- ---- ----
-
float dashPattern[4] = {10, 20, 30, 40} // - --- - ---
-
Parameters
- - - - -
[in]paintA Tvg_Paint pointer to the shape object.
[in]dashPatternThe array of consecutive pair values of the dash length and the gap length.
[in]cntThe size of the dashPattern array.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid pointer passed as an argument and cnt > 0, the given length of the array is less than two or any of the dashPattern values is zero or less.
TVG_RESULT_FAILED_ALLOCATIONAn internal error with a memory allocation.
-
-
-
Note
To reset the stroke dash pattern, pass nullptr to dashPattern and zero to cnt.
- -
-
- -

◆ tvg_shape_set_stroke_join()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_set_stroke_join (Tvg_Paintpaint,
Tvg_Stroke_Join join 
)
-
- -

Sets the join style for stroked path segments.

-
Parameters
- - - -
[in]paintA Tvg_Paint pointer to the shape object.
[in]joinThe join style value. The default value is TVG_STROKE_JOIN_BEVEL.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
TVG_RESULT_FAILED_ALLOCATIONAn internal error with a memory allocation.
-
-
- -
-
- -

◆ tvg_shape_set_stroke_linear_gradient()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_set_stroke_linear_gradient (Tvg_Paintpaint,
Tvg_Gradientgrad 
)
-
- -

Sets the linear gradient fill of the stroke for all of the figures from the path.

-
Parameters
- - - -
[in]paintA Tvg_Paint pointer to the shape object.
[in]gradThe linear gradient fill.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
TVG_RESULT_FAILED_ALLOCATIONAn internal error with a memory allocation.
TVG_RESULT_MEMORY_CORRUPTIONAn invalid Tvg_Gradient pointer.
-
-
-
Note
Either a solid color or a gradient fill is applied, depending on what was set as last.
- -
-
- -

◆ tvg_shape_set_stroke_radial_gradient()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_set_stroke_radial_gradient (Tvg_Paintpaint,
Tvg_Gradientgrad 
)
-
- -

Sets the radial gradient fill of the stroke for all of the figures from the path.

-
Parameters
- - - -
[in]paintA Tvg_Paint pointer to the shape object.
[in]gradThe radial gradient fill.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
TVG_RESULT_FAILED_ALLOCATIONAn internal error with a memory allocation.
TVG_RESULT_MEMORY_CORRUPTIONAn invalid Tvg_Gradient pointer.
-
-
-
Note
Either a solid color or a gradient fill is applied, depending on what was set as last.
- -
-
- -

◆ tvg_shape_set_stroke_width()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_shape_set_stroke_width (Tvg_Paintpaint,
float width 
)
-
- -

Sets the stroke width for all of the figures from the paint.

-
Parameters
- - - -
[in]paintA Tvg_Paint pointer to the shape object.
[in]widthThe width of the stroke. The default value is 0.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTAn invalid Tvg_Paint pointer.
TVG_RESULT_FAILED_ALLOCATIONAn internal error with a memory allocation.
-
-
- -
-
-
-
TVG_EXPORT Tvg_Result tvg_gradient_set_color_stops(Tvg_Gradient *grad, const Tvg_Color_Stop *color_stop, uint32_t cnt)
Sets the parameters of the colors of the gradient and their position.
-
TVG_EXPORT Tvg_Result tvg_shape_get_path_coords(const Tvg_Paint *paint, const Tvg_Point **pts, uint32_t *cnt)
Gets the points values of the path.
-
TVG_EXPORT Tvg_Gradient * tvg_radial_gradient_new()
Creates a new radial gradient object.
-
TVG_EXPORT Tvg_Result tvg_shape_get_path_commands(const Tvg_Paint *paint, const Tvg_Path_Command **cmds, uint32_t *cnt)
Gets the commands data of the path.
-
A data structure representing a point in two-dimensional space.
Definition: thorvg_capi.h:199
-
TVG_EXPORT Tvg_Paint * tvg_shape_new()
Creates a new shape object.
-
TVG_EXPORT Tvg_Result tvg_shape_set_linear_gradient(Tvg_Paint *paint, Tvg_Gradient *grad)
Sets the linear gradient fill for all of the figures from the path.
-
TVG_EXPORT Tvg_Result tvg_shape_append_circle(Tvg_Paint *paint, float cx, float cy, float rx, float ry)
Appends an ellipse to the path.
-
TVG_EXPORT Tvg_Result tvg_radial_gradient_set(Tvg_Gradient *grad, float cx, float cy, float radius)
Sets the radial gradient bounds.
-
TVG_EXPORT Tvg_Result tvg_linear_gradient_set(Tvg_Gradient *grad, float x1, float y1, float x2, float y2)
Sets the linear gradient bounds.
-
struct _Tvg_Gradient Tvg_Gradient
A structure representing a gradient fill of a Tvg_Paint object.
Definition: thorvg_capi.h:69
-
TVG_EXPORT Tvg_Gradient * tvg_linear_gradient_new()
Creates a new linear gradient object.
-
A data structure storing the information about the color and its relative position inside the gradien...
Definition: thorvg_capi.h:184
-
Tvg_Path_Command
Enumeration specifying the values of the path commands accepted by TVG.
Definition: thorvg_capi.h:127
-
TVG_EXPORT Tvg_Result tvg_shape_set_radial_gradient(Tvg_Paint *paint, Tvg_Gradient *grad)
Sets the radial gradient fill for all of the figures from the path.
- - - - diff --git a/docs/html/group__ThorVGCapi__Shape.map b/docs/html/group__ThorVGCapi__Shape.map deleted file mode 100644 index 3855075..0000000 --- a/docs/html/group__ThorVGCapi__Shape.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/html/group__ThorVGCapi__Shape.md5 b/docs/html/group__ThorVGCapi__Shape.md5 deleted file mode 100644 index f88e902..0000000 --- a/docs/html/group__ThorVGCapi__Shape.md5 +++ /dev/null @@ -1 +0,0 @@ -93fb9188797dd82cf9eef43f77c609e2 \ No newline at end of file diff --git a/docs/html/group__ThorVGCapi__Shape.png b/docs/html/group__ThorVGCapi__Shape.png deleted file mode 100644 index b5e5c9f6ea1d7a490895725b706b3291fbbdc5db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2364 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 Npws4LT#>1J>_2({elh?6 diff --git a/docs/html/group__ThorVGCapi__SwCanvas.html b/docs/html/group__ThorVGCapi__SwCanvas.html deleted file mode 100644 index d23b815..0000000 --- a/docs/html/group__ThorVGCapi__SwCanvas.html +++ /dev/null @@ -1,348 +0,0 @@ - - - - - - - -ThorVG: SwCanvas - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
- -
-
SwCanvas
-
-
- -

A module for rendering the graphical elements using the software engine. -More...

-
-Collaboration diagram for SwCanvas:
-
-
- - - - -
- - - - - - - - -

-Enumerations

enum  Tvg_Mempool_Policy { TVG_MEMPOOL_POLICY_DEFAULT = 0, -TVG_MEMPOOL_POLICY_SHAREABLE, -TVG_MEMPOOL_POLICY_INDIVIDUAL - }
 Enumeration specifying the methods of Memory Pool behavior policy. More...
 
enum  Tvg_Colorspace { TVG_COLORSPACE_ABGR8888 = 0, -TVG_COLORSPACE_ARGB8888 - }
 Enumeration specifying the methods of combining the 8-bit color channels into 32-bit color. More...
 
- - - - - - - - - - -

-Functions

TVG_EXPORT Tvg_Canvastvg_swcanvas_create ()
 Creates a Canvas object. More...
 
TVG_EXPORT Tvg_Result tvg_swcanvas_set_target (Tvg_Canvas *canvas, uint32_t *buffer, uint32_t stride, uint32_t w, uint32_t h, Tvg_Colorspace cs)
 Sets the buffer used in the rasterization process and defines the used colorspace. More...
 
TVG_EXPORT Tvg_Result tvg_swcanvas_set_mempool (Tvg_Canvas *canvas, Tvg_Mempool_Policy policy)
 Sets the software engine memory pool behavior policy. More...
 
-

Detailed Description

-

A module for rendering the graphical elements using the software engine.

-

Enumeration Type Documentation

- -

◆ Tvg_Colorspace

- -
-
- - - - -
enum Tvg_Colorspace
-
- -

Enumeration specifying the methods of combining the 8-bit color channels into 32-bit color.

- - - -
Enumerator
TVG_COLORSPACE_ABGR8888 

The 8-bit color channels are combined into 32-bit color in the order: alpha, blue, green, red.

-
TVG_COLORSPACE_ARGB8888 

The 8-bit color channels are combined into 32-bit color in the order: alpha, red, green, blue.

-
- -
-
- -

◆ Tvg_Mempool_Policy

- -
-
- - - - -
enum Tvg_Mempool_Policy
-
- -

Enumeration specifying the methods of Memory Pool behavior policy.

- - - - -
Enumerator
TVG_MEMPOOL_POLICY_DEFAULT 

Default behavior that ThorVG is designed to.

-
TVG_MEMPOOL_POLICY_SHAREABLE 

Memory Pool is shared among canvases.

-
TVG_MEMPOOL_POLICY_INDIVIDUAL 

Allocate designated memory pool that is used only by the current canvas instance.

-
- -
-
-

Function Documentation

- -

◆ tvg_swcanvas_create()

- -
-
- - - - - - - -
TVG_EXPORT Tvg_Canvas* tvg_swcanvas_create ()
-
- -

Creates a Canvas object.

-
Tvg_Canvas *canvas = NULL;
-
- - -
-
//set up the canvas buffer
-
uint32_t *buffer = NULL;
-
buffer = (uint32_t*) malloc(sizeof(uint32_t) * 100 * 100);
-
if (!buffer) return;
-
-
tvg_swcanvas_set_target(canvas, buffer, 100, 100, 100, TVG_COLORSPACE_ARGB8888);
-
-
//set up paints and add them into the canvas before drawing it
-
- - -
Returns
A new Tvg_Canvas object.
- -
-
- -

◆ tvg_swcanvas_set_mempool()

- -
-
- - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_swcanvas_set_mempool (Tvg_Canvascanvas,
Tvg_Mempool_Policy policy 
)
-
- -

Sets the software engine memory pool behavior policy.

-

ThorVG draws a lot of shapes, it allocates/deallocates a few chunk of memory while processing rendering. It internally uses one shared memory pool which can be reused among the canvases in order to avoid memory overhead.

-

Thus ThorVG suggests using a memory pool policy to satisfy user demands, if it needs to guarantee the thread-safety of the internal data access.

-
Parameters
- - - -
[in]canvasThe Tvg_Canvas object of which the Memory Pool behavior is to be specified.
[in]policyThe method specifying the Memory Pool behavior. The default value is TVG_MEMPOOL_POLICY_DEFAULT.
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_INVALID_ARGUMENTSAn invalid canvas pointer passed.
TVG_RESULT_INSUFFICIENT_CONDITIONThe canvas contains some paints already.
TVG_RESULT_NOT_SUPPORTEDThe software engine is not supported.
-
-
-
Note
When policy is set as TVG_MEMPOOL_POLICY_INDIVIDUAL, the current instance of canvas uses its own individual memory data, which is not shared with others. This is necessary when the canvas is accessed on a worker-thread.
-
Warning
It's not allowed after pushing any paints.
- -
-
- -

◆ tvg_swcanvas_set_target()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TVG_EXPORT Tvg_Result tvg_swcanvas_set_target (Tvg_Canvascanvas,
uint32_t * buffer,
uint32_t stride,
uint32_t w,
uint32_t h,
Tvg_Colorspace cs 
)
-
- -

Sets the buffer used in the rasterization process and defines the used colorspace.

-

For optimisation reasons TVG does not allocate memory for the output buffer on its own. The buffer of a desirable size should be allocated and owned by the caller.

-
Parameters
- - - - - - - -
[in]canvasThe Tvg_Canvas object managing the buffer.
[in]bufferA pointer to the allocated memory block of the size stride x h.
[in]strideThe stride of the raster image - in most cases same value as w.
[in]wThe width of the raster image.
[in]hThe height of the raster image.
[in]csThe colorspace value defining the way the 32-bits colors should be read/written.
    -
  • TVG_COLORSPACE_ABGR8888
  • -
  • TVG_COLORSPACE_ARGB8888
  • -
-
-
-
-
Returns
Tvg_Result enumeration.
-
Return values
- - - - - -
TVG_RESULT_SUCCESSSucceed.
TVG_RESULT_MEMORY_CORRUPTIONCasting in the internal function implementation failed.
TVG_RESULT_INVALID_ARGUMENTSAn invalid canvas or buffer pointer passed or one of the stride, w or h being zero.
TVG_RESULT_NOT_SUPPORTEDThe software engine is not supported.
-
-
-
Warning
Do not access buffer during tvg_canvas_draw() - tvg_canvas_sync(). It should not be accessed while TVG is writing on it.
-
See also
Tvg_Colorspace
- -
-
-
-
TVG_EXPORT Tvg_Result tvg_swcanvas_set_target(Tvg_Canvas *canvas, uint32_t *buffer, uint32_t stride, uint32_t w, uint32_t h, Tvg_Colorspace cs)
Sets the buffer used in the rasterization process and defines the used colorspace.
-
@ TVG_ENGINE_SW
CPU rasterizer.
Definition: thorvg_capi.h:84
-
struct _Tvg_Canvas Tvg_Canvas
A structure responsible for managing and drawing graphical elements.
Definition: thorvg_capi.h:55
-
TVG_EXPORT Tvg_Canvas * tvg_swcanvas_create()
Creates a Canvas object.
-
TVG_EXPORT Tvg_Result tvg_engine_init(Tvg_Engine engine_method, unsigned threads)
Initializes TVG engines.
-
@ TVG_COLORSPACE_ARGB8888
The 8-bit color channels are combined into 32-bit color in the order: alpha, red, green,...
Definition: thorvg_capi.h:332
-
TVG_EXPORT Tvg_Result tvg_canvas_destroy(Tvg_Canvas *canvas)
Clears the canvas internal data, releases all paints stored by the canvas and destroys the canvas obj...
-
TVG_EXPORT Tvg_Result tvg_engine_term(Tvg_Engine engine_method)
Terminates TVG engines.
- - - - diff --git a/docs/html/group__ThorVGCapi__SwCanvas.map b/docs/html/group__ThorVGCapi__SwCanvas.map deleted file mode 100644 index 44abe20..0000000 --- a/docs/html/group__ThorVGCapi__SwCanvas.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/html/group__ThorVGCapi__SwCanvas.md5 b/docs/html/group__ThorVGCapi__SwCanvas.md5 deleted file mode 100644 index 9fe9573..0000000 --- a/docs/html/group__ThorVGCapi__SwCanvas.md5 +++ /dev/null @@ -1 +0,0 @@ -e70d73e8d9dd6b80d0ad936d7886cbf0 \ No newline at end of file diff --git a/docs/html/group__ThorVGCapi__SwCanvas.png b/docs/html/group__ThorVGCapi__SwCanvas.png deleted file mode 100644 index 162d5d8271d8ace03d482c9f5aac8742a0641549..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2544 zcmZ{mc|4R|8^@5Q(%5>bWcNhbChH?KV;_VW zL}P6TF=KfvTVomf(pciX{qes4z4!Ut=lH#dQTj!#+vxilRF;wUkN>chftD^rmccC^dw8&y~MCx$fB zdO@e+Ek%p0q;B_|hW-16`}tb?3^!1n0_N7@*Iu^n#M`2Yfw9*h1>={cijoRE6?u)+ zUdg`@?0(}{orU4*wXZl+6h7@2&DuJ$$N%N1aC<<`Yj_){%V=th#IEWzHO`&`9v-%7 zI6g#Zg_F&Vz(bKeA1ak#$-_h*t|$s|p1bkjgOW&-HqSeYYy&iU0bQyr#l^*Sc(^rK z{I)BrI$|%VUyvPRXJexbdfDwFE|UCn*JZc;3tFwX^|-5V_Ky^Y&%TYEFOAGDI#q-c z?N~G^DXE^`Uf~tBqq?P~r5-Ak{4nuo1eFFa6l)nbK~;z#I5qQO$`iAr^{Np&-c9+;(Re=$N6V;2tb#xfyVVABYBqR`0Jd}jKEQYY1J!|9SWai=Vr(!Eh3K-VHp8Y-A*Vb24 zQ?s;{qSV`rDn><5-U_odLV zfgWNS9j&*svqL)E><}&jl2$~-#`EpN&G~*AS=k)Q{*PGhmx+lF_crIX_ZNzL=7T(`ITWomlJt(U z5GN9a;^X7%1b*4u*H=_mXXkw%KN_(&pD80J$H&ia%2KDz>1d+*Pu%KY^$l?pJ=tI^qDJFZgLqkZXgzNS7^>xr_nZLe;r)FgdUAlCM-smqut3sf@ zk)9BVL{Pxe*K0@>VblQbR6$eIcoDt1xjEqRV~G&b8TLPvPy?c}7FkaX3V%Eog#W-- zwW=&{P54wzFD}N{)v0c5Y!K_~PpwY{58Al6SRxP-pvcHb+^xXV$;PToR!U0BgQlS8 z-=hw=09!Qpj;nO&pn7F5%B-%g0_pSc@C49w1r^~kIy!IPy^~%1GB`9eL`W?yE!}=_ zBhx(2b)?i91$abMD>RA43IkMbhDKkFii+w?LAbb38~i2#dS#(-^GKqwr(nw`u-Q7a$8&5JEo>?uC5?5d~mum zZoD;8%hAyh3VFY;B?zg`%Yj+jdL>g%7n ztbrjyq5=Yx0OVaWF8=%R_sC2@N6t0RPfuxA?f&|OTA8SS&>X@6sEI@(mErM*vgsRh z>DI$ETKC=-V`F!>i$b9=e}DY=5vLo8{i57}`L`Ji2KMmq_&PQQxX>^<`nWpyD_U(h zroTc0UC)&~385kOBj2{JH?B(Spsi>GbsC&Tq zq3Ia`2C=yc2E3ezAQx(HeO4tP+VXyVkIs)1$G+4I{+U(J&9A4f{)Wl)6^}j){P9z; zTLcb=m%$(~2*1|j)w%WQPQYR702gzpL66hlzO_Um|GD>YBF7$2L903K&b~JD7}JFv zDmXW!Wn{>R-E=(A5l*u7RDW$oSsW=nVSp-X;8S;ZTv8I}ScS9Pj%L6QkUweTTxDft z*{C;gFA~H}N=FJu7Q=q;&=e+KB;;pgK+Vi905l`*{mjjH{o1ju@OYNNFu`JP15zS3 zG}J!X@{EXx009}F_}0wQavtCi!MQO7(4o37{b_Nrbar-jJJslw53RDs_2X%ffV{)g zUS#bp#F_Pt4L4e)O9T*&04Ix7*qeKKl{>m&CW!GfGwyHX9b>FYAMP^8?HPn2G@Tr- zaowI!jlK*ysvFcbkBZV&R#raY<%E^9kVe2HSPC(LE5qE>UWErF41Q_Ym0f9yyft#{jtii)1+=0*WL6G}Gr z;%Dw|3Aiz9$LF0oj)BXPS4_+@B!n2!G*;1R;l{i~2~F*t-_**}I{z^BRucIC*AEk$ zDzA@UMZ@)vuG|jamG`d45=Vs6i_@% diff --git a/docs/html/group__ThorVG__CAPI.html b/docs/html/group__ThorVG__CAPI.html deleted file mode 100644 index 19316ef..0000000 --- a/docs/html/group__ThorVG__CAPI.html +++ /dev/null @@ -1,243 +0,0 @@ - - - - - - - -ThorVG: ThorVG_CAPI - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
- -
-
ThorVG_CAPI
-
-
- -

ThorVG C language binding APIs. -More...

-
-Collaboration diagram for ThorVG_CAPI:
-
-
- - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Modules

 Initializer
 A module enabling initialization and termination of the TVG engines.
 
 Canvas
 A module for managing and drawing graphical elements.
 
 Paint
 A module for managing graphical elements. It enables duplication, transformation and composition.
 
 Shape
 A module for managing two-dimensional figures and their properties.
 
 Gradient
 A module managing the gradient fill of objects.
 
 Picture
 A module enabling to create and to load an image in one of the supported formats: svg, png, jpg and raw.
 
 Scene
 A module managing the multiple paints as one group paint.
 
 Saver
 A module for exporting a paint object into a specified file.
 
- - - - - - - -

-Classes

struct  Tvg_Point
 A data structure representing a point in two-dimensional space. More...
 
struct  Tvg_Matrix
 A data structure representing a three-dimensional matrix. More...
 
- - - - - - - - - - - - - -

-Typedefs

typedef struct _Tvg_Canvas Tvg_Canvas
 A structure responsible for managing and drawing graphical elements. More...
 
typedef struct _Tvg_Paint Tvg_Paint
 A structure representing a graphical element. More...
 
-typedef struct _Tvg_Gradient Tvg_Gradient
 A structure representing a gradient fill of a Tvg_Paint object.
 
-typedef struct _Tvg_Saver Tvg_Saver
 A structure representing an object that enables to save a Tvg_Paint object into a file.
 
- - - - -

-Enumerations

enum  Tvg_Result {
-  TVG_RESULT_SUCCESS = 0, -TVG_RESULT_INVALID_ARGUMENT, -TVG_RESULT_INSUFFICIENT_CONDITION, -TVG_RESULT_FAILED_ALLOCATION, -
-  TVG_RESULT_MEMORY_CORRUPTION, -TVG_RESULT_NOT_SUPPORTED, -TVG_RESULT_UNKNOWN -
- }
 Enumeration specifying the result from the APIs. More...
 
-

Detailed Description

-

ThorVG C language binding APIs.

-

Typedef Documentation

- -

◆ Tvg_Canvas

- -
-
- - - - -
typedef struct _Tvg_Canvas Tvg_Canvas
-
- -

A structure responsible for managing and drawing graphical elements.

-

It sets up the target buffer, which can be drawn on the screen. It stores the Tvg_Paint objects (Shape, Scene, Picture).

- -
-
- -

◆ Tvg_Paint

- -
-
- - - - -
typedef struct _Tvg_Paint Tvg_Paint
-
- -

A structure representing a graphical element.

-
Warning
The TvgPaint objects can not be shared between Canvases.
- -
-
-

Enumeration Type Documentation

- -

◆ Tvg_Result

- -
-
- - - - -
enum Tvg_Result
-
- -

Enumeration specifying the result from the APIs.

- - - - - - - - -
Enumerator
TVG_RESULT_SUCCESS 

The value returned in case of a correct request execution.

-
TVG_RESULT_INVALID_ARGUMENT 

The value returned in the event of a problem with the arguments given to the API - e.g. empty paths or null pointers.

-
TVG_RESULT_INSUFFICIENT_CONDITION 

The value returned in case the request cannot be processed - e.g. asking for properties of an object, which does not exist.

-
TVG_RESULT_FAILED_ALLOCATION 

The value returned in case of unsuccessful memory allocation.

-
TVG_RESULT_MEMORY_CORRUPTION 

The value returned in the event of bad memory handling - e.g. failing in pointer releasing or casting.

-
TVG_RESULT_NOT_SUPPORTED 

The value returned in case of choosing unsupported options.

-
TVG_RESULT_UNKNOWN 

The value returned in all other cases.

-
- -
-
-
- - - - diff --git a/docs/html/group__ThorVG__CAPI.map b/docs/html/group__ThorVG__CAPI.map deleted file mode 100644 index b6ce4eb..0000000 --- a/docs/html/group__ThorVG__CAPI.map +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/docs/html/group__ThorVG__CAPI.md5 b/docs/html/group__ThorVG__CAPI.md5 deleted file mode 100644 index 15217e6..0000000 --- a/docs/html/group__ThorVG__CAPI.md5 +++ /dev/null @@ -1 +0,0 @@ -a966acf3060b11ff6d68f2ee487724f0 \ No newline at end of file diff --git a/docs/html/group__ThorVG__CAPI.png b/docs/html/group__ThorVG__CAPI.png deleted file mode 100644 index 9e62c796203f9f9b4e402c148d36f8c5328b53ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17615 zcmZ{M2Rzm7|MxM{$vmixj1w}lOUPasWt3zT8Oex3WN$JmBuR=&Mu~<{Ms~}nP!x&C zI7Vfa&GUBue!tiAAJ22{*InW`Ym<;rFO!4^0#ViX4cVS*V@#$ zy82~lI4wIm`l?a-9Dnt-#+Kb578f0NDKE9`mWd>j2;|Z4Pkadk5}gKxkWV1;lDClX zZ!(*svvb($GMAe)ol|>`L118DlnXH`_7H(q({b0r@VlFqL9#MlUS7wKAIA^!q{73d zW@mMDwjKY)y#5%3ESel@vQM}fA)5IzeRwNXBz25^q0M|4zO*K+vGDTp^7Hf4pRdo` zB{D9gwX_SrP)1`j8niHdGAL;2b;7nH-`K;rbCjlqg~HCAJ9q5Z5P8S%cW*#o;3*fE z`}z6hm6e}Af6hKc^!vQI79p8l$#@J2d1 z^CL%&n46D{jm5;o{Iy#9`}1pKW8=AV=ZuYwS65eC*M{X^)G!XbJ+^(8iWKtJaTl%T zrcIkB3hE|nA{Rz(hlMUr=@BCz+19*2nw6XTs=b|!>88E8?qj!8r+j>T$i%y*`8RId zFxy$Gmq`_2&lyc1MAIr=K4xXrKQ;gMtv)gG_zQno?_oncBWDa=3Vv_VJ?;TdBzePz z^MC*P_6IO(lH!ijdLH;q<==L9pR(UCLw)^&M~<9!bvGbK-Sd0r7 zE~KWWR##VBmv(&mBq1iodig{lR?vTkyu9z%XQ!K*nm*n$xh;R1+v4=|(_iIX+l97Y z8vky;nV`v|e#wEspK}9&?w@P@zpj%h6-h~BCqZkY{swaA27)H(Q%_IEjT<{nZ}!bI zkSa<(c65}6t*u_Vbg3;{Z*96++Ol#tAw}4T+gh9KlP|2G;P+>&PPwZ*< zlHPO+YElhTOzAU?*ZzFA6*0Pzlbd_w;K3)ZAB8uW@1@oC86BJ%`Ousu9rkykt2$&U zba7OK$9VdUG9K?o=fh)eorP^39U-gB3)f{&Jn_}j*I%{Zs*N_j=kcu~)lgXa_zOh^ z1&cs4<_K1sz&i&;FLFq~Z)s8S`_=Q{NCEEug^+b%gGcX+h5lInN&n@(u(i`CPo6JT z<|O1vT`>s^T>O-O*vQZj*Jpd?&e-tQ9k-4>KlARU!iTmt*}Z$y3sx4`=tvbp-plh| zyV7|`BoaTrw1`M-sj?+?v{Vt#-m^lAiu2#=qV$sZQe#rj{tb^k)HwJySrCt+>N{b1 z@F1zPI*zt|bzho3Gr!u4bK{+Hal|`kg*7NwUe`r!)Yj5UZc_RxS zBNJ1?g$wkIj4!)6+Ndv4t~5NdsnpWeHpx(=GV9$YbN2vI*>~bgO<0Xjb?*o**~j2} zZ3NBI-0!4>1e+p<4R}6L4T{5u(U13@d-R3QQV!iYD+Fd{gy?Y8}Go~{3o?06{bYI24 zey!{5>?|qyFlg>qV{`L~pNWc8x;{l&1qBxkg%$SfQ4RWQxNqMEH@}yRWS=R5=H)$Z zorA-}Y5~(awzmBEHVeK@mXn(WieQhQc$4_5o1=)9Xu}v6AHUa!(t4hO!|C0P^QF=Q z^!}V%&i(4EsX6nl0uMVsKW|6T_4f95aiPSq3U1!KdG^nrM#r<}=38S{JyHJpGt)!O z`1M8H@m6^--qdFL9eekd7Zu6w-tAo%xj}t(UhtWe*T$sZ9fZgq*o4}#%$dr5QVF{3 z*3!5BxzU)Xq@{VBIyGjq`uFEC78Vvj0suil;rV0R8dK5DMn>;qV(6TB>CfMN_%PvG z>*#D%&>Si!`0eHG;ueqGPoLg5u0h(&&Ypem-o^%*Ad@?qRa_ecE8^OFdlTs?c+<4h zf0Im^nVCaFL#?c=e*XMfIOMo%uZ+x-2M-=ReQF9om6J2GvHAA#FT+V)PIab+i?F@cPG+m*(VRz* zR##VoH0NIR$MyE~yud;iop^(La&d8;?s}R#N9gP6DZF>Yiu0FnNUfIzyta_X>;Hg*w zY^95;i>J|`u+=|2_S}wBEo8C8v*L$2MKmEH0T@Y)_to+-BK?l^Qw@;gZx_aN&uR-4`&Y^EuE=}{}iab7E zb@cf0-j0qVhYl41aD#$^h>_jh-DYNHo40Hc7Z(o+2}%Ehb^eCNv1LncPR`34^$KKi z?dQ+Wb8@2h=VCP~Dk|tl>B?4|2()^qPfNz@+)z4q%Gvo|tJ09C&WEO^>FMeAj*irn zl-+W2jEsyq2StgILLwqJ)6-ewb=cxJb8$63xPSdRCl7Pll`Hk9VvXFVCNc~e|e z^vjnoLc+p#hcXVZa({|r_T`MHm*YO&S!i`zEhKPtxjZi~uXS-pN+XGOhma8Qp&nm^ zz2f?&E_0ap{E#3@MMbr+u+Y`jRc}^4ONf?Yd-?KZhI*KqtgIJ+&T>g09hf%}@MjFL z-YQ+QJl(*eZuj%zOX}!EStceXU`vXK2{QvjLpO&39g+6{C*$iYI}T8M7XOTY-mw&Y zwuQ>uM`8h8mR~(IBRzc+pT-6zl9E$TrQdJhs;sQ6yu3V~Wr2`&q5&vZRaLdJylnpX zctWXkYq9f(){fc4L}sPTNB8f?mFg{TB=XYSH+xW7xr8kYXiY4YzMPrK8+Zt}g9q`J3sO;4-B_%e@zo-q&}&tCDz%~_@Z`xIor%lMu`K*Nyu4nD8Mklu0YTA3 z$b>A0o7)u5)XD_U{jw?K)g;kowYjjevZ58Aczp>lQ`gN)g@$0(TNC#9?%k&WGfw~9 z3jkL9?Af)nG!_O1b|+3Q;qW_B{cT-cuFlSSWYR6Qkez~pQCT7nA3nsoHOI4yYk>WFvxTl=XAoECmg`eO<{O3|+UbpCcpX(?bh{l*R99XmFOSdQHe zTlMnula`XIK09<_lFj$Rc5-0y?da&};FZNas;V}MJ3qXC|95iops6XqluE3cj(|(t z*pIg%!^j}1HidnI#yKw>no_wIO|qfhK2JS!MjSYqw{Kjsuq~y=;Qnwyq;_r80d#H?s0Zw7}-WTcV1t&CWm6RSI6y0oVYwO|Rf%T8@ zH9LHG_v!AEiHV7l61mbKtB)ym)1 zKOQ&b(vxTFK7RUCg4#oUzRy&)@T{_~4(`HMY-^jsT9HS8-J#OrSJBkeWTg86LKZnb z05}mhFPxm4OS*V*+-tLBxOgp3$mL}~Pa0@Z$ddd_tK+IxcH8pu@}uKbfx|6a>gwv6 zK6QdJ62?=48kDGY?%&rJHZ}0-%$YNhPfT)6RaI4Y@813UTjj{$pirDt4wK9|E=F*_ zT+@8OL!?aar%!Uu?=x@%vx|#tx_R@awzjt3CC;onckVoXY$BXe{PgJ)-wSTFaqst_ zb7F^MC*L3+XX)td#M^p~oh2xEVwTbt{9K*5RmxglAo)s4ih+W8xN=iyijrvi2;S?Ggnt}%pc8ZIG3t@HA|NQPLp8+0y1|G)cP;yB<4s^Tmtc+o%7`&bES00Lxp)0aqtZoS5wfp(!cZ zT=nSTL%`j2MzCCoF5*|KKal+lf1+q;wx&yl~;VU`2Ym6?pOUGx!x5y^**N zx7D$X-q3?vw{8uV3mSO2$;0D!cz8Gz5*tyVg4)T=EeL82mGS7&BfR<3U!Qe-{aTz4 z+Maj!?%n(MEv>9Z$H$u&4|#fe;>zIW={eb+d!Vg8Je*)_+jr#(+s@Q=ig7>laZhMU z4!ebg#o@z;SB)iGZM0DCgV{!pzW;y7i~gEm;MucJ)6=<<^@Wo4QEa5J}^?J9BocwvjU)BB7@jwoWJ`W|g`}{q^p%v7Is;N4T(s#sRF*F;cIIAhVR?CTZS5#OHy@>tR~NQ`AFTdJ zQg`}r>s_Vh6m^~4CstyWEs55uCbSB5^8C5N?@mxV@a0*c5A*@(0@sUew4NJCfi>1; zp8aT)(6HZCf0~2rrKNpF`{Y;gmw{%lF5CDWFjwvB?hZ+4^Zd-WGOr*0a{F>kQF8$E z^eb0(c@5~S-)$@IwlI`tOD1*~JF_JD9zAx<#@ZU!lutEK4k|RXjE<90gAy`{>Y`96 z=$?FYf1#!J?%f-*JiiW?*}4e>X+gm`*oJCqw-!Vq$!tLmO8lQEchJy9**iNc;05t{ zCx9gzUYCi`5wJg3PYFlQba<$Ci{POfFo2Hlud>=vVDW-;0qyesp=_80bgYkr9F>%n zv+v%GVdi}RV&wdRZ@b<>dM5JhT5C^_3N8iq?~DWOk@EQX#*q)V7ly8r?PNHorltU2 zyLRn@h(R~93=+}^Z(Y;2v%B-`nXk5X!yU;_9UTdLs@=7<8ZX~WfBN)k>c^WOo{GED zt!PBFr7K)_IfBZ8hFVvYy_X<>lbQZ>($@l(l+0nLOi6CHwkl zO%F0`r6&>YXhErOkYn zt)5(%aYl!rj4Gs?K3z@<# zg4XEdv!@{`MUvm5m+z628yg?r*!HZbs0}-v_DFAcH#Z;OBe3%Pd@eq|_dRWbnS?As zVBzZ@Q$XDs=bM|Gw-?L3-(o81!=2#d>bf_M zsa{f2^4YUzi;If_ch8PmMxU1R%UrB?RB|U z;Q8J!U*OFxd^Az_>UdCG{IRRc>hR%|bd{~*5MP5MBe8FOPZYp?mwzr>h zcOQIV0QSkEzI^AwgT;YY40U_u$!I5bt{KO2%qRdpkR3D=+|AE#4u%A%D?09m5ze62 zTrVi+Cvxv4O?UbzC@6S)&!Af}kMHKZggS)qQ3;&Yza099!IFD~)pc_qm>Ofl-0!}T zCu&i3U;$~#$^9=j@lzf65v(}|N9p5fcXy|j>vaJslE4iC17MG|_#&0SU>Hjs`<1xEl{L`SRV+f|yW_LWTeqY{M4mgm zqUU4hWQr4&NYJ*VuA%1)J?lg=V8oEr78&Pp_$ODGistSrk!hxjLT!+M4 zH*aEzzTy9V&k5sx@tr%*`uaXAEnO!t-}BzOy1If0g{&-=#>VRH-+uuZAFf3GL}1Gs z=`(my(}RsL{+thwz$SqUE2w*^%zGpe#Y^sa+t`>cd*U@}Sx!z4{b}IGkBFx8F@p>% zk84)FKA%#p4u;KMcE5r*`UZmvj`e zrVt~SmuEgmNlAeik3TjBg0!UXw&yf9GCIjO@lIMTZ1sij&u*|>jxAeWy?V6*jd=K; z@sI}x!T7RgR$rNypt|~PBek%dsbd2J?L9rq-|J{##;W-mWgUD5#qaPku4Z*{92W*w z@c+|${+UxR2_AKSS zdjkRjR6`c8?$3RC?f2K`AL{DRPgwTs*#qOirQf4wMc#Y31y>Qm^knn3)6frHZIK%o zU}U3BL2s!BOgsMl(T8$Ls|gZ+4Ae^Ky6hQP4{#y%x)g zXV2vEQvdZ-YpYAYw-W`};_rVqJ91=hqAQC07IeF`q~v&YaARS>&+a`u%zpEe_Pxqm z=I(nLN52O^aBSTQ>#yae0{A0rzupLKysbi$a7CWPu0u(oU7wwk%osBNZ1xsNCN@ms zJ?=kn0FP+L2?Jnl{BaG5*5JT_l+;vSndS{qb#`kcF|I>DtT*xI78M-=t<@wQKK!xw zA0l^qw10^`Fbu0wwGJ#*ADDFX{Du!kH1tDFr(V5!P0B{euGSoU3_GHGM6cz(*MS2E zypq;eg#o3|#5S{Q*0|FMH;W9HaNVE&^-+|h2zAQ&55GRR=i70hcF_@yCmzTZo zr)=Bx#i`PQ-8SgCx1*)Sz4qN2>ROyubN~MRo9WM&T2He*@D!LWER>LzmIe(0fxuou z6P~TfEhunX`uh_My&;B4Ib>1pX!`$RZ@ZMo+N75jCz6k6WtVI1rHXA>n4f>r7U<(6 zxA;SYOnT#KFuO$yChOxx za6HcSVjlhVOG->EnJ?>r{`E7s#7S(NG0CC6tuRk-1OTuyp; zm}DJ9w(uNU1Tv~RNNRnvGSJgsxOfp<8WpfG)*-$#^+M_4dTp&}*qlpfEW@`Id6;AD zXXA_gPO9*!!%0R=P>`Q5%Ya%7oA2M~<4jk4SvMP*Oio@N_V3|4t23Fue*J>el64~# z!pqA`wxTR6FAq%?Hv{1mFvNR?>5--Pzz?F={ovs}%&~%O@hwrJmId(js3V>rFaR;f zmXmGns|iy_uJQi8F$O8xC<8s9=DGADD^4$%I(>+W$V_vH>7s%)Y|Ay9ibtR zEFmEQyZ;QXFz~*Vb@B??hgS1JK|!0F3ZJx~AUhY=I=w#{t1r|(I=e;O92?G$(wbGs zf5gHL$$%7i?%W7O3!71D8>azSA zIy*aI=vbJW-?iOj9;YKftLd_rFUiB*J$P-kDnEbpyGr5X$9?cG8dF5txET17V7u+v zmi5u41ehheaRQb>=ci8^RdnuPQ=OYQ!r1ViCFIXOYC;!nV*b4|ewCj1CFUN3x* z1l3))Xi<3p4XA=os$~QxlU9U0ng_#Sq%q^EquUFC-OME_tqb z%x~iFY-^~mkN&M7trEKYrKxE@v}NQSKt+xJlmonD0D}7sP?dxEW_$LOYO-{MT)BKX z95LFI!;jYqaEldr9?k7%rqx74w5s%dh)Z8u`Ufo?Rap)6 z{@~zcc#bd}UwS;IWdJ;m9U+PPWfZ%8mfEo+*S;a<)$7-g(DE#0Bw9qdSM-Il7KDfN z>v=NInY}(Zv>qv|hpwAUO3}p@ducWI?c1k8(bBFjCJqoX72Cqe6tx!eYvZTo0Zx@eTSx#!=1QV(0T2G-zaYHDg}X=!b3n01g$tp72k zBT$5345G!dQexlaVG7s_N997*_g2KwpFiK;Upr>KavBLqAA(4jWyLm3~FZh~ON zB{&uH z>|1zQaE-n!{fc4a+6ActtoG?(Tegf>wpPESw#cvgC_oc+(B8fatE{&Gk)WH%lV4b9 zZEK5IOv%csYjScD{vbFAaQF4gmrshUjvOg<{g?++bv@hKzP;}A=Q*HhiwP@jIrauL zO4V~{Z51OMkvX~cI$^yh{Yip5lmH;j@6}{>k8XCTRTLHgm zsl9@?BO)RKpniwI7u$wn&XJc7NPq!#x8Wz`GOjcYH8nC2$A5BWrISrp@81`dzh(Wx zzYRO8x%mJPLQ~Ve<+?0lXot`nDJj`GIfw}JATS_Pd*6YZD4glJe)DGY(%L4C&EJb# zp(yYgz_ygV23`U*?w+@Je0*ho>Ia&~-R$h<=4NC(O@+5JGeZ_<(N%mvuJAfKiFNQG z)~UvZFCZqsw&qk3G$8lLx9iMpc$iM}azVj3aCNDWror=f3pGLZ{0A-Uz|OX|CSOpnYy$-Y|?j%4a*+3t&$!?qqRflb97K&_5b3+Awm219W*-%iR1~aWQ*U z-a%13xb|awZ+v__{g2h|JxSXXm}47IMfl?vZt*ROESl9G zr{D*LD^IUnzy9SPYm>*R5jAuDjl^9iG(LBCcWN4%y)}N}qJo!(_94ke3IYB_j6~nD zdd@j_ecPR=MfezJddli}-ft(~kg=}^)9gC&krebgiU0PkTh%_J?R@LD8nQUxl5@-p zz-%FyCtPe7KB^}bAXkF4cEc^{NOaIH@an{uR?-mL;U7i@2Ciq$=z5FY1-nH>56zB# z#H<9I{=Vvv=J)TN`bJ>{o$0I2ynK1`&$z|T)I|)lT)s>qMz(+a2m#i}{YBONiwx@F zjz^;|r{E&IjO^^}w(>eWQkvwkPFo|+7!K*p?o~UFdn; zOPna9P4byzqocfVVC3ch;$ax+8oqqtZ3=Iz^SPyw?> zkr^30=qyfpS|sQLZCza_bfN2u;x>e=nFN@EFq9!_`SK-{l#~_=-N7OxJ`)fq&?MBo z{4qu8XL7lASRR(Xl%bG)NA4T*O!&fuDiLIT8yi(+WtjKKmD1iBpN3KaR3V1+4+?_0 zH3`$2!t2qXOc6WKZV()-G9I>%UvLpq4)d$(QU|&JxxvY9Rfj8l-)tv$>sMQL?gaDW z$BoG($P|bj+`7z$GX@3*07P{%hQcW*81Sr>X6YJaV1JDR6d=ifb#nF#D@${2KXdS2 z;Bj&9IdwHRcgG@7cW07RS9dqv#*H&BIumx^45Oy`v#=S00t4yW_*bF50mK?YY@lfN zoR}Um!l2Of&_zrwl$QsDiP%Ge88N>=_iz5XB@^dfBqvpU~a0zE^@i6FJ zkE~IUGtj;d;%QrtQLcEFFk~9*bs$~2bn6V}P%xXLWQS5(0{;q;hoZ~6bcwNr%`&E; zAARk5yu;P2S6?UcRysCbK|O>)4Y%@z;!hx|3?n;{mKYhQ%o39P`MZLG0wg9Je0+(*@wy*h zk%+YDTfiJxB(L7Qfy#P%D|KV^>e>#=@_O5zZ{H48p$H{_ve-&o~5IU}GS^*+he&a~;_xGPXKykm?6dz|bPSl*OIxn?poI;{a zPfstZ&P2+LVTF)KhS?_;u&5xrz`cf^-_H@D!las=cewK*5AVC_?ORgLQe@=H)k_7Z zhzAt?k`{?+0iER!KX3@?QB?O=R93cW3ojNXk>d&rClE4Qa*%*rCD4hT&sB(#xNN9> zY#>Bzx8_bb`4fE0Q&s-^DSpP8D@W;NJ@egIrl5`-o1OU z1u!~SS*bj(>)$D5`PfR6fs64q(l`)zl%~bQqe#MD7Y6_8*&7nFqRG=o-mVq9$o(m+ zI&{Y-T4187lT%(*Rmkr}_|NdS;oH3WG3BGQg1CyZwwhy*0;X+x`0zGv?!t!;t6scN z3!W#(RgyNWcY%xyYfRS-4!&G8XE=WjJ4G_xkeQLO5LsAZAuML3NhkX_yqQBVoQ49; zK96mJlx}o%6viZmDA4g+77Yvxpo1r(;^-&_Jyyj|MoFI%L<@gxOxDK$h?#{2sI}vX z2c@Owz|Rlo8IG>7M%Be7CGpET&?f88&dd}%dbITm(-al+=eDdhHL+c3YG1p%0dh-) zA8ozOp-d4_(YYs*^-rC8keYe~FtK4T%;LP6v~o zujmLII({6QbBJ;qp!4$OAW#tU3MjZ^#}4;GG^zFRra7@pL$D~#MpO5%Cct_X*pvXWVijbjQQ01}_r=9PT1_}S7(l}7M}GfJCbA#B0kV7cTlY3m8oL)azS`9uCw*GwW?WR7&x_(bg z2bKrS2-9kUEc|N(2=uJQR+m;2HHFJCFi1%CwdIDO-{4^q5{9s2FjXZWpr!F!t$d$` z*4oeKePDfy%c6VtcD1xz(ieiFksFm?l3EOQ$oV)5+6*yBPfw5O7nf7Nd#j6T1mm|L zGiVXv9KMarTweZJ%_3qTO_q4wdvY%hTUcNUVm3>onU8UBYCOav2wU9 znl&dZA%W$@YYrWM9C_>3ajYdGTwKo@;|~JK`Urm!DI;ja7(q#KaS#kfTL~JvglGmE zJhG6`AU31BuOs)iZR&xu6l7dzgDVLuQG|qTL6Ft)I%j=+Xjy5$2=r^kl0_92En$YP z=zd`p)CFC*gL$cU?-IC%UvcOr@qH7FB=AUI*mOnO2Ob=_=j+$6cQwc_I)b}^JtIuB zEO9yXyQ)Q{o?BBUblJZ#kxViYvIV9BF}h2OvEfQ6h3 zUg~qiX>9S(L9eRwii)NXx`nPTj9`B7Oj5`oj|!j1>C?O<5?MsV57HkDg;o<6ap_VW z4-bNqz`l`)&@hlpMe(l`9yLY5;}Bl zJ-v-1MsVT;TNaeWu>;}$YY*MJeOo$sqYy!C%OZYd%a$!Hd@65`6ksfuGlqpnkxYL4 zCFRBqB~%U%vz~AYT(_inmVt{`>3KCT+f@1@#PP07Si=S((c0&pn`+V|o5HBfHycBZ zhXex z>wOEY43L7A_naw-PnEu55^mRq{w*VMXV>r2eg3$anGTtR6jD9znM-{I+W*uy@iSDc zv@`-gvEo89G6#u|PNbGcbhw#*pSJc1Og==pg<`0Mhxs{7 zmDRvKE*i9&xAAjgWQJPE4Sk`fA5@xR000A?WspRxfv*?}S!r4L)n0bWJC^>l{x4E3F~o*&(2)h2p+ zXpj2^1=~u_&(He{B$pv>(JZu}=N3yM6SUUCplFeZKy<&mn2eNM+uYpu-Hkm0_s_W| zuK%0`XANW+fgN!ig788yKyu)k1nav$?xUCR~I+vS-&;LjVl92huJ~ zI6N!aMvj_01w49wh)RDWy}NL=AaWm*F3pOm#K+Z^JzTS*bP3!9BI zrXLfxlV={}D(BGFkoO{NVO?j45?>J zOA9zw{^5K3Pmf8oP-*>6Lwy{|{{%RnIdf`$vL9qpN5BgsZ)AHpVXVhRY+x`f0Re&O znVEp+dD+<*Kaqu_Ep|8$ykPPSsdkG7Wnyw><|gzx0)&MtT1O%3BqiU~*Vot8ZN~(> zUlidzm6r2H=2+!(V`exAVra-{%eYfaYy~ScDaYUi90YFh}tC-7&$2RY9m~{2pwLpJ=7clkv_rHAoI#b<#K~jT4QyesR2IJtE zDW7h>bLo;H1Y^3Pua{Rjlv7R1bTZ%vZnfbJxlyFPz%>{udPxymPed2Di~WKYs+Cds z?jUI)!+8lsjV;cr^ir>QqTiEueOwrc#rRA%Tsk~6$`gXKqP#q0WpRsSESUm|j+Ta( zilRq*!!|m6xHu~-qU)MgmW!KP_KuY<1UeYtx{{X0zxV9m@0zvujYgV0h1oP&-c2|5 zxWSZPSZx;(5P(QL-BWf*@#`MN&5KZj%}q^<%Pw%Jz$9^MBtPF3HU`LyCPsQN$G2`? zy19-2`c{eUe2E-~IVrclH&LSQ-6io=nJ`1Yy$C4ABy3KOBZkp3dNz}k)G^_R31MCx zr^i&~XNTxPE&u) z{|sn%eQo>v8P@#r>?pgl!mP*V@9#wWa2!PyQ66^I{3>m^d)HH}bYHpmn{VGT_vcQ3 zp8ww3+DiHD@)ll53(^l88{QauT#rt{a@2b(X3o}6x)38<-o0DbjNd9YXs#zHkW=vT zzI-jmWeyCiNKNg);O^@3j7jx3wvoPVgh(>x<`HPa!1+-*1jGhy3t3y4Yw3DG{vMpz zYa8hfy#|*I5jmU^G{3y)K$rLhXGG4hTO-N1c(CMXx-~Jv4yum+hV{b1lWO)YTRPg? zr)NH>&wQJX-o$=OCBXF9F;w#>*xWPU)GXk~i0|4p4XDT4z-z`fLQ+k^eD;4khC_4X zhH8*6d4&iCLk#dH!9sm_c_opG%kSQeutbP$la04db5^J>8Xy>hr=s=# z{q%0Y?ib_`>{;;dL-LX?aR zfg=Oq1OxpJC=}3!YD}-f8I?W$hFJKT?^NR?Hh#8fdmA_wOn6?3H=h@W6-Vw4`_Tvr#V7GF}0XMdz;MP=Ap_0y-*7*M0-{wXRO-g9x; z5seyr8WI}JR*UirU6o<0L^xR#1NT4-Ey|%_Dy|Zk~p-IHq*aq zZWb3289{r1jKLkP>lQ`!wfp}WOU2|4Qu*_pf(g3X3Rbbv(Q)4cb_r0El-4$}u%xA? zp8RGcNDHU?q@yDY(a$|S5-p*xHpraoS7)R<0r3m!hE0U*SZiECT)erVK^r?oRyO&K zAfph=q|?>4@1AAYgQ#8v{8rajjBlwdz^%sY4!f|SKinyq%B?g{Rt=IZF}-TfSsl7k zae3*qhllMmcdiHxJEQy51T79Sj#NNcggEVD6@`tXqQZlKcyTdOVZW$dqLc=9uCQ^2 zXiJB#IU74W@;5bT2{2;J;BKFjIu*XRf&fn)yuEwfy#Xm*?nN`k-15K2otj*O&eN{X zY@5LMiqIgvycTLakCT8njnI0;H(B+Y1rc-pJake06BF)sb{bg+pG^0o0KqnJ;^h9L zN3WYUx>FtIh@feh#LzLBIQ{ppu1ui7^xPZ{XrNBGaW_OFGXEZxXFv*u(NyRL&P9z} zQ*>;iW-EHihN~e4ju`vo+sMpQ>-qHkAi@(64=7#W&YMnldmJQC;be?KJF2c$8)h8@ z`XH>QrQR+i6rG|%VIx@TaqNUIgiVjW4@_G&+|sNH{ab$aBq%Osd9elYMMEo>efS>* zqcQ)#6X}<%z(Wn_E>SqWA@#tIE6dCGC@A0@n-C3- znm`g`a&dpIlx;N+kK1;|@YW({q}e#e32$J1rMo%eHxO-vo)i}=pB-Eu_E-oIEvv1S z_qX>XWL>1k5UC}w46=XUh#|v#80IA5Xko;?B)E2nnROYw=^_c~H^?0z`*=u*YG?H_ zL&b$TTv7Bjxob9txTf3VbOzAW>^XgLlwfSEzB_YG@1G;A7s?xMoU28H>c!}CL`2;a z`-WD*Lv1E)w3@sx9(#=z6|m? zGBkwY1!gzfRhj}%tG)h{cBma3WyC_^ct_Tnk-K7WRtkt~N=lTJ!af}xupkUSV4JtO zl%PPTXXu^;-rHc;fXE1QYCy&fj(s0Lrlcrj8wRW!R!2)*0Q9O&th9K;Vxppy$J>|G zw-X)S{c=2W=J?U07mk1K?1WDB9N12zBAq~CfEEJSWlXZ-mKm%HYrRbRY^eKVQuJ44KAA9jERQy<*9L(n{k#v8WBK&ag|Y-LaIyeD7CFLs%`7e!?l-@Ja!&Baw-Rt5~W z`)OQLXj$ZdgbOhN)~;oQ9+_F^K2uOCWLhvkaG(Zbbl1F$rj|@7_o- zxt^ZRgcFhIlYnNh8_P<;yWy-hY?FWgVu)s)cz7!Iz@UgORlZ9kRYa3GIrW9uR#sMA z<+$U#CzwbTgWpF+Hfml5ucp=17*{1|rHSGdl4v&(iQ)E&Fh|||bci@vdjcn5;E~nU z)sbka9`2^nO4C4@-}UEN71-ub=vi&>)P^wY|8u}xnqQ=L@m?1Te zIK~Z9MN2gz2?9ZXbhPvV1T?}G9RXIiBpI5Q75Zv0jDQPxAHXV%RajO=F=
(Ind zdgpwG;vcgT2(<3&p9|oF<1i;29r4CE2?K4p)Tn6mL9}J#>oWZ~PK@8B(x9}%q3cDI z1Jem!1MCga(=~&*^5@n?tdP*lj*dOT!cI6)iiHyjZ_Q1{s5Zt1a8@0R!e+lfP~E3} z++LoZq7o9=ESUQL^6d1s1l@*i!3Y{0*xsOd874coEqUZ}?gok5DrKKt=;XD9p9@Yz{6v%rP7*#K1?Ji9M&9->(dG z=Rm_HAB_62BKSA zvwkQEXO-*@Z%6kM5!uMJERfQOhXfS>6@y*aB4+^k6^7v+bR(E;z>vifc2-vS#>wz! z&CPYQ+kAiZG%i#A>t`Lfuo?KgkE(t>GWs`~%ZI9#791SYA5;abMB1IHP0PixT4dtl z{M3otOo+1oIT!~hQS~_ zUZ<-%h>IAn<8XX^Xb8y_n28J{G&U0bJ3|O}S|n(&Kq0YK3r-FuXr8-w!EC@$X-ukLzk2nP?GWNgSb+QXy+U`w zVK%1)utDrza4*~xPIrHD{`%ifyI@~8^~$0VBaN^7_GztQVPYdW&r?xPkCcN+osI`b zpz3&&^>r+4R-rs*v-wO7{;!e~+qLV;f~%fhY)wrKt|Ictim~>}y@+8hU6R8G8Q_x< zii!*j4JV2jhHqob+{FAu?9ua!>Df`dx>s1z4P(gnYxa;f(ZuwZm6i3%HrkC*|MLkO z|K*b#{<9_i^)Vcme`)Om|KqB-AytacLQsQsZCOcHLCIp`E+{QZAsZk3(b7isUmjp> aqq~5~uT(XP6F#AYV6e|v=aH6O - - - - - - -ThorVG: Class Hierarchy - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
-
Class Hierarchy
-
-
-
-

Go to the graphical class hierarchy

-This inheritance list is sorted roughly, but not completely, alphabetically:
-
[detail level 12]
- - - - - - - - - - - - - - - - - - -
 CCanvasAn abstract class for drawing graphical elements
 CGlCanvasA class for the rendering graphic elements with a GL raster engine
 CSwCanvasA class for the rendering graphical elements with a software raster engine
 CFill::ColorStopA data structure storing the information about the color and its relative position inside the gradient bounds
 CFillAn abstract class representing the gradient fill of the Shape object
 CLinearGradientA class representing the linear gradient fill of the Shape object
 CRadialGradientA class representing the radial gradient fill of the Shape object
 CInitializerA class that enables initialization and termination of the TVG engines
 CMatrixA data structure representing a three-dimensional matrix
 CPaintAn abstract class for managing graphical elements
 CPictureA class representing an image read in one of the supported formats: raw, svg, png, jpg and etc. Besides the methods inherited from the Paint, it provides methods to load & draw images on the canvas
 CSceneA class to composite children paints
 CShapeA class representing two-dimensional figures and their properties
 CPointA data structure representing a point in two-dimensional space
 CSaverA class for exporting a paint object into a specified file, from which to recover the paint data later
 CTvg_Color_StopA data structure storing the information about the color and its relative position inside the gradient bounds
 CTvg_MatrixA data structure representing a three-dimensional matrix
 CTvg_PointA data structure representing a point in two-dimensional space
-
-
- - - - diff --git a/docs/html/index.html b/docs/html/index.html deleted file mode 100644 index ca660c6..0000000 --- a/docs/html/index.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - -ThorVG: ThorVG API Documentation - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
-
ThorVG API Documentation
-
-
-

-

-


-

-
-
- - - - diff --git a/docs/html/inherit_graph_10.map b/docs/html/inherit_graph_10.map deleted file mode 100644 index 6c71ea5..0000000 --- a/docs/html/inherit_graph_10.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/html/inherit_graph_10.md5 b/docs/html/inherit_graph_10.md5 deleted file mode 100644 index 3807977..0000000 --- a/docs/html/inherit_graph_10.md5 +++ /dev/null @@ -1 +0,0 @@ -bfab543bc61da2a3de0b6ef6ee6848d8 \ No newline at end of file diff --git a/docs/html/inherit_graph_10.png b/docs/html/inherit_graph_10.png deleted file mode 100644 index eccff56ade55c697d893e32834bf87f37d52ff39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 947 zcmV;k15EshP)yI?HaG&Y9=kA_+ z^3CNrlHj_oV~CQtemj9C0BHmVX#@vp1gF*9$Ye6nX!N&IX&h*p76id){WCNnVBLFsz-2;MsScuaF9lDnqDIu$LqaB#TwyO z*qD$JlO)Oc`T5t^*V5z5c_*(i!-_T1zbUe91jM|!xKLGfd3o91;8kGHv-bA(=J9ym z-`~w1f*^oL)3l|frQY6Nzu%uoB+9(2UavPEkEhdV(9|@I=lTBrev%}4p4T)D_|4I9 z9N*sF4g><7ot-pIUteDv18Ujt_Gr}8)59=KGMO|y$z*bFZqDs?V;B~RL~^-YHk&;; zIXOByDnG3G!q(Q-L{U6DJ3Bu=zq-0wUthPJa(H-ne0==!@-jI&xwyE9eLsvf?RVY8 z?(S}prvybKB}p0@8Y&bDx~>-r1&X5X@9#mE&*zgQ3D}}2mR`c>&FAx>P$(1%89_u* z1a>x?_51ynkNo4~Bd|X|Kik{eEmJKG!!QiPm_4?gYhz<$fk5Ek-~hw0R4PT&^ziU7 z=u#Agq9|bdd_HI>uziBTU`tEO=H{jm#F#reI-1YtE$5OX35<@84pmiaxS+q-dG_-> zAB)8>42#8LtE;Pqe_&wX?(PoQx3{;@INuaEXxXlpeTx>DCTbt6~VGB$8oYO%d*UI9Luuh&+Y5$lO(CS zburAodIZ?o+H$#E>2%ucR8@6hVZrToQxp}AM%&ujDh&&Qgu`KiAP9m8hr_C>{v2O4 z*Jy5RY;<>bmw9PF>rwR@RmbJ!B}GwnU7|+nShGvBva<5@^pwlx1VNado_1zYyRi7i zRu4u-M#jg-zrMbvrlum12=<>ksyF1%K8G~oIF92uv!^lTu%zkV`yBvj1P5sZ2WbSy zqGs>y?Kz)E;~>lO;NYOyW1-RP?5tDyG$;(in45SLox#5asz-2;MsScuaF9lD{s1_y V@zSP - - - - - diff --git a/docs/html/inherit_graph_5.md5 b/docs/html/inherit_graph_5.md5 deleted file mode 100644 index 3c81604..0000000 --- a/docs/html/inherit_graph_5.md5 +++ /dev/null @@ -1 +0,0 @@ -0f646d9455b17a102239fd869f2ce27b \ No newline at end of file diff --git a/docs/html/inherit_graph_8.map b/docs/html/inherit_graph_8.map deleted file mode 100644 index a228fc3..0000000 --- a/docs/html/inherit_graph_8.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/html/inherit_graph_8.md5 b/docs/html/inherit_graph_8.md5 deleted file mode 100644 index 2768926..0000000 --- a/docs/html/inherit_graph_8.md5 +++ /dev/null @@ -1 +0,0 @@ -f9729067204027e69c2f946a024377ad \ No newline at end of file diff --git a/docs/html/inherit_graph_8.png b/docs/html/inherit_graph_8.png deleted file mode 100644 index 9e085909b4b1ade12f4c59f17b8fd91d576c227a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1257 zcmV=P)XE`oSz%KbS=p^~7$s>vX#BYUOuQUth0QtI5;9 z)`#EkUteF(cuT*R{r!Er-A;{U#V4(;t!1j8-%fXT_nQd2e=rNy4`#vo!7P4)A6zc? zyIV*ZKf#Zm#Han>CL*;xot~a{b#)1a!uU2-ot@OyPev#dnwXfVuCC6_%`Go4 z@9yrl*=(H5uD?(F0si65ajLkuxR6LB4Gj&)$H##{K&#an42Bfer$M1m1cSlt?d`|M zN2}G^(a|wBHkKLbe*qL$R#x6bXrN{WgTcbW!iR?kYNWWhn21Cok%55$fk1$wsL^Po zmryE|8jU95P$Uw;aa<%4!7z;Dcq9^u?}R4DY&Msbm2tV;WYRe~IZsbd@zZ?sTG2=t zjYbqjg+k%b(9rYqGtD#!Fbu;mj2cPJ{vi+uFbp%9Ok~7lGAWhHf`S4LhojMGZf|d$ zPN&ss-Q3)yFSWO~*W25haA5{X2m zQrT>_a5zi`seZpJv9YmXu~-}q$JyE0+}s@fOcO&j=gaE@0O0j{D=I3Y(I@~Q8jT_d za&vP-4529M^?He8x7$rGk(HGd4u=yCp(yHhyNP3`(^*wj72gR>4%tsKLZQ&~^mI*4 z4Fo|bijI$u6U*gI!!#0P+~snSaT?;+N6P#F0LbO?<>h4nz|zu^QmG{45CoBnnz;37 z%EB=0^Z61EK@db*6%L0X2#W87CMOn)eQajn_4U=|a`pA~wY9Z@xS7&OB#hILuIClO z$jFFZujg<$dcA&pe4LDzl$2awUlYeyS6B2!nwy)6+ajKlk`nUr%gf8s($Y`meEe+^ zkH-^>#S04y7KK2&r5Z-rLUoMve0E&u=JRZ+SBxEvKAP@)y0xc~qGcz;qDyH{&1pqLc%{(4&cXyW> z42Q!im8zhi06`F)PM4jXO<&pL@pN`}^7;I{ygcIb2U%x$co>FZ7>0+3hslQnwUdwJ zB*SL2_4M?VmX<;ggdoV!&`>ZK1OUv>&-3|wvI32S(P%^vL?93h4i1u!Xc|)K$JcN; z90-D>RpPt&!b_Ll{eywGuSsuze|Svz;PVMacbln=bt9&l$2$^-(?o8AIyUFgITbCFpC8H`ReLw z=KJ`a1OkDwvNCEUfgcKmB2)daa4-y`o^l!TzMF-B-9MNG>j$%7{a_ZXAI#zp433^i Tf_&gi00000NkvXXu0mjfmt1fl diff --git a/docs/html/inherit_graph_9.map b/docs/html/inherit_graph_9.map deleted file mode 100644 index e52f6b8..0000000 --- a/docs/html/inherit_graph_9.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/html/inherit_graph_9.md5 b/docs/html/inherit_graph_9.md5 deleted file mode 100644 index bd1d7d3..0000000 --- a/docs/html/inherit_graph_9.md5 +++ /dev/null @@ -1 +0,0 @@ -918e300129ef2b935b62e663b88c1a8f \ No newline at end of file diff --git a/docs/html/inherit_graph_9.png b/docs/html/inherit_graph_9.png deleted file mode 100644 index dc60df90e8b7a1893519f506e83f11ce1f011201..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1074 zcmV-21kL-2P)2tSF*dxT!W_5JW9XD1xE{7i9&ZrrCEFL&ID%v$>;P@119L zzVH0K=jF^9=ZFCS65xdBrv+p%f_K~zyyK4G9e2d+!0mQZ6!lY5{(f{ioz-e(!r%7Y z&CSi~>T230Wd;Wa2X42Uoe_U*w6e02Ev$eIwgc}*?vC%R@s$Mx)W|^?JSD+S=O0Qy_$*(WpkF+27v> zfZg3)jYboVM%lf}%gc9mb^?LG@ zeK;Kca=j!;k|g=t`0U_Myz_WGDwQe{i2y((5+MlU>gtNFDlRVecsz9Z^z`&g?*L$O za)OzP~xpX=m08~{~9UUDpc@Fyy0Bkm!SS)7F0d_C7 zT0K8Me}8}f`ughk`a91rBW#qe&$_kYb$+*(ohuD*4CCl5)Gf;apUCVgdm8NPLU!$dY7hevfkca zpU-!FeQmW`>+9>&Gij=cbN87Fii(OVD=Wj{u*qZ^85u#Jd_O@({aKtQ?<^LJ#bRM+ zGRvm8{73gFyd!wW9l<;92;Olg&bwlHc{%+${(f$6Z*d%FXX1F*+}xZlJsAc`lI#%s s2YxI36vBDO9l<;92;Ol=@Qypb0Ng8@%#+= - - - - - - -ThorVG: Class Hierarchy - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
-
Class Hierarchy
-
-
- - - - - - - - - - - - -
- - - - - -
- - - - - -
- - - -
- - - -
- - - -
- - - - - - -
- - - -
- - - -
- - - -
- - - -
- - - -
-
- - - - diff --git a/docs/html/modules.html b/docs/html/modules.html deleted file mode 100644 index 4d19065..0000000 --- a/docs/html/modules.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -ThorVG: Modules - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
-
Modules
-
-
-
Here is a list of all modules:
-
[detail level 123]
- - - - - - - - - - - -
 ThorVGThorVG classes and enumerations providing C++ APIs
 ThorVG_CAPIThorVG C language binding APIs
 InitializerA module enabling initialization and termination of the TVG engines
 CanvasA module for managing and drawing graphical elements
 SwCanvasA module for rendering the graphical elements using the software engine
 PaintA module for managing graphical elements. It enables duplication, transformation and composition
 ShapeA module for managing two-dimensional figures and their properties
 GradientA module managing the gradient fill of objects
 PictureA module enabling to create and to load an image in one of the supported formats: svg, png, jpg and raw
 SceneA module managing the multiple paints as one group paint
 SaverA module for exporting a paint object into a specified file
-
-
- - - - diff --git a/docs/html/search/all_0.js b/docs/html/search/all_0.js deleted file mode 100644 index bd17ba2..0000000 --- a/docs/html/search/all_0.js +++ /dev/null @@ -1,13 +0,0 @@ -var searchData= -[ - ['a_0',['a',['../structtvg_1_1Fill_1_1ColorStop.html#af4007aacd75b22aee32dba9ea96082c0',1,'tvg::Fill::ColorStop::a()'],['../structTvg__Color__Stop.html#af4007aacd75b22aee32dba9ea96082c0',1,'Tvg_Color_Stop::a()']]], - ['abgr8888_1',['ABGR8888',['../classtvg_1_1SwCanvas.html#a7a7e24cdb2a27271343f0adceff89f65adb1b146d65c52857a5a4af54e5006101',1,'tvg::SwCanvas']]], - ['abgr8888_5fstraight_2',['ABGR8888_STRAIGHT',['../classtvg_1_1SwCanvas.html#a7a7e24cdb2a27271343f0adceff89f65a991b20672747a79379896e54794fdb85',1,'tvg::SwCanvas']]], - ['alphamask_3',['AlphaMask',['../group__ThorVG.html#ggaabdf94ada64e69d06deabc5aa6576f87abd68e2bb79d1a5e65ad8f0d202d14cbc',1,'tvg']]], - ['appendarc_4',['appendArc',['../classtvg_1_1Shape.html#a2f003a843ff42f6cee6a726f543836e3',1,'tvg::Shape']]], - ['appendcircle_5',['appendCircle',['../classtvg_1_1Shape.html#a52eccb2815eaa1231da9c389cd92ffa1',1,'tvg::Shape']]], - ['appendpath_6',['appendPath',['../classtvg_1_1Shape.html#a3588ea30776a747a22b6ee82dadb9717',1,'tvg::Shape']]], - ['appendrect_7',['appendRect',['../classtvg_1_1Shape.html#a676c64ce75c274ce75032606d33b03da',1,'tvg::Shape']]], - ['argb8888_8',['ARGB8888',['../classtvg_1_1SwCanvas.html#a7a7e24cdb2a27271343f0adceff89f65af540c373a71dee269827b0d12026de80',1,'tvg::SwCanvas']]], - ['argb8888_5fstraight_9',['ARGB8888_STRAIGHT',['../classtvg_1_1SwCanvas.html#a7a7e24cdb2a27271343f0adceff89f65a6cb891fcc637047868e6bcade0a6d608',1,'tvg::SwCanvas']]] -]; diff --git a/docs/html/search/all_1.js b/docs/html/search/all_1.js deleted file mode 100644 index a9921cf..0000000 --- a/docs/html/search/all_1.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['b_10',['b',['../structtvg_1_1Fill_1_1ColorStop.html#a4313c9563516f94387762ab05763456b',1,'tvg::Fill::ColorStop::b()'],['../structTvg__Color__Stop.html#a4313c9563516f94387762ab05763456b',1,'Tvg_Color_Stop::b()']]], - ['bevel_11',['Bevel',['../group__ThorVG.html#ggaba8b7236c41a171289aef2f3c71eef51a1b9ae4ca6d43fc984af318046e1e7bb5',1,'tvg']]], - ['bounds_12',['bounds',['../classtvg_1_1Paint.html#aed5a6ad8edd827a378111b590ed7755d',1,'tvg::Paint::bounds(float *x, float *y, float *w, float *h) const noexcept'],['../classtvg_1_1Paint.html#a1b51b7344eac48d285c073bc488197d3',1,'tvg::Paint::bounds(float *x, float *y, float *w, float *h, bool transformed) const noexcept']]], - ['butt_13',['Butt',['../group__ThorVG.html#gga6239974a858100e129f1e0b8ffac4f96ab2635ed1075287dea1eb1598a90df1fe',1,'tvg']]] -]; diff --git a/docs/html/search/all_10.js b/docs/html/search/all_10.js deleted file mode 100644 index 7e8c6b7..0000000 --- a/docs/html/search/all_10.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['unknown_250',['Unknown',['../group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066a88183b946cc5f0e8c96b2e66e1c74a7e',1,'tvg']]], - ['update_251',['update',['../classtvg_1_1Canvas.html#a89ac8a85a8c22723af9fb07c098472b3',1,'tvg::Canvas']]] -]; diff --git a/docs/html/search/all_11.js b/docs/html/search/all_11.js deleted file mode 100644 index b0d3606..0000000 --- a/docs/html/search/all_11.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['viewbox_252',['viewbox',['../classtvg_1_1Picture.html#af04ad88b171b00da024fae34112378be',1,'tvg::Picture']]] -]; diff --git a/docs/html/search/all_12.js b/docs/html/search/all_12.js deleted file mode 100644 index 4150db2..0000000 --- a/docs/html/search/all_12.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['winding_253',['Winding',['../group__ThorVG.html#gga9a534b0377c9ca41983d53b0dae0d5a4a268b61c62382fc1f9ca5cf52a4fece32',1,'tvg']]] -]; diff --git a/docs/html/search/all_2.js b/docs/html/search/all_2.js deleted file mode 100644 index c27209b..0000000 --- a/docs/html/search/all_2.js +++ /dev/null @@ -1,15 +0,0 @@ -var searchData= -[ - ['canvas_14',['Canvas',['../classtvg_1_1Canvas.html',1,'tvg']]], - ['canvasengine_15',['CanvasEngine',['../group__ThorVG.html#ga3dfc0651e85484b1011772dd9f8300df',1,'tvg']]], - ['clear_16',['clear',['../classtvg_1_1Canvas.html#a99cdb01cd893f4199b521b754d21aefd',1,'tvg::Canvas::clear()'],['../classtvg_1_1Scene.html#ac020ea777be697067c6f5c8b18f6a4ed',1,'tvg::Scene::clear()']]], - ['clippath_17',['ClipPath',['../group__ThorVG.html#ggaabdf94ada64e69d06deabc5aa6576f87a60575a18ece363c72551a982450efd52',1,'tvg']]], - ['close_18',['close',['../classtvg_1_1Shape.html#a2765987a2641ac1db76d5c64f00da697',1,'tvg::Shape::close()'],['../group__ThorVG.html#gga6876ed676934f4dbcc19b1b53c153cc1ad3d2e617335f08df83599665eef8a418',1,'tvg::Close()']]], - ['colorspace_19',['Colorspace',['../classtvg_1_1SwCanvas.html#a7a7e24cdb2a27271343f0adceff89f65',1,'tvg::SwCanvas']]], - ['colorstop_20',['ColorStop',['../structtvg_1_1Fill_1_1ColorStop.html',1,'tvg::Fill']]], - ['colorstops_21',['colorStops',['../classtvg_1_1Fill.html#a92717fc84a7d5df56e42e3bc863fce1a',1,'tvg::Fill::colorStops(const ColorStop *colorStops, uint32_t cnt) noexcept'],['../classtvg_1_1Fill.html#addbc9de36b4427639f3cc1dceeccb734',1,'tvg::Fill::colorStops(const ColorStop **colorStops) const noexcept']]], - ['composite_22',['composite',['../classtvg_1_1Paint.html#a2e2d077b820d1cfd6502a86e0221638b',1,'tvg::Paint::composite(std::unique_ptr< Paint > target, CompositeMethod method) noexcept'],['../classtvg_1_1Paint.html#aefe4ade5b1b6bc13d518bd5f968af3ee',1,'tvg::Paint::composite(const Paint **target) const noexcept']]], - ['compositemethod_23',['CompositeMethod',['../group__ThorVG.html#gaabdf94ada64e69d06deabc5aa6576f87',1,'tvg']]], - ['cubicto_24',['cubicTo',['../classtvg_1_1Shape.html#a7b71316176172fa052373bdb7c9efd29',1,'tvg::Shape::cubicTo()'],['../group__ThorVG.html#gga6876ed676934f4dbcc19b1b53c153cc1ac8cd9cd16086764627079ed21bfc4e29',1,'tvg::CubicTo()']]], - ['canvas_25',['Canvas',['../group__ThorVGCapi__Canvas.html',1,'']]] -]; diff --git a/docs/html/search/all_3.js b/docs/html/search/all_3.js deleted file mode 100644 index da776ac..0000000 --- a/docs/html/search/all_3.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['data_26',['data',['../classtvg_1_1Picture.html#a21b1473525a4e1fccdc6b893bdfd4fbb',1,'tvg::Picture']]], - ['default_27',['Default',['../classtvg_1_1SwCanvas.html#a9b9770837f0171b15f0cd86f94e8e22ba79935518a3889663d8688b6b01fff051',1,'tvg::SwCanvas']]], - ['draw_28',['draw',['../classtvg_1_1Canvas.html#aabf9e5a14da3b4bfd5883c2b4459abd0',1,'tvg::Canvas']]], - ['duplicate_29',['duplicate',['../classtvg_1_1Paint.html#a71afac69fe1e7c352460be5878812635',1,'tvg::Paint::duplicate()'],['../classtvg_1_1Fill.html#a48e358abab4478ff7f84dfb85608eaf3',1,'tvg::Fill::duplicate()']]] -]; diff --git a/docs/html/search/all_4.js b/docs/html/search/all_4.js deleted file mode 100644 index b7528d3..0000000 --- a/docs/html/search/all_4.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['evenodd_30',['EvenOdd',['../group__ThorVG.html#gga9a534b0377c9ca41983d53b0dae0d5a4a8e586e4bd2c45e86222301f2e6e0e390',1,'tvg']]] -]; diff --git a/docs/html/search/all_5.js b/docs/html/search/all_5.js deleted file mode 100644 index 2e92a77..0000000 --- a/docs/html/search/all_5.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['failedallocation_31',['FailedAllocation',['../group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066abc2b4181e818f2e9b52b2bc54dd55907',1,'tvg']]], - ['fill_32',['Fill',['../classtvg_1_1Fill.html',1,'Fill'],['../classtvg_1_1Shape.html#ae25e3697b5df587d50b809f1faeeabd9',1,'tvg::Shape::fill(uint8_t r, uint8_t g, uint8_t b, uint8_t a) noexcept'],['../classtvg_1_1Shape.html#ad0cb7b2ec8d18d7c6d366cc84741682c',1,'tvg::Shape::fill(std::unique_ptr< Fill > f) noexcept'],['../classtvg_1_1Shape.html#a02b95c15d0c2006134a95cdadf64e3f4',1,'tvg::Shape::fill(FillRule r) noexcept'],['../classtvg_1_1Shape.html#a989edf4b4f68532ff25004fc0c7fe826',1,'tvg::Shape::fill() const noexcept']]], - ['fillcolor_33',['fillColor',['../classtvg_1_1Shape.html#afc81d85ad3fb3f006abf835311a0acfc',1,'tvg::Shape']]], - ['fillrule_34',['fillRule',['../classtvg_1_1Shape.html#ac14cd997439012e1abf6c1b8d9f3d4aa',1,'tvg::Shape::fillRule()'],['../group__ThorVG.html#ga9a534b0377c9ca41983d53b0dae0d5a4',1,'tvg::FillRule()']]], - ['fillspread_35',['FillSpread',['../group__ThorVG.html#ga0cfa2c92260cca776292cc9e8964f2da',1,'tvg']]] -]; diff --git a/docs/html/search/all_6.js b/docs/html/search/all_6.js deleted file mode 100644 index 07eb347..0000000 --- a/docs/html/search/all_6.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['g_36',['g',['../structtvg_1_1Fill_1_1ColorStop.html#a1673907d4d89d763bb7b94ec1eeb7b60',1,'tvg::Fill::ColorStop::g()'],['../structTvg__Color__Stop.html#a1673907d4d89d763bb7b94ec1eeb7b60',1,'Tvg_Color_Stop::g()']]], - ['gen_37',['gen',['../classtvg_1_1LinearGradient.html#a346e161f12d8e8ad26b6eaaf5d0f5c5c',1,'tvg::LinearGradient::gen()'],['../classtvg_1_1RadialGradient.html#aba51891c8702157ba088bf7e2f1425eb',1,'tvg::RadialGradient::gen()'],['../classtvg_1_1Shape.html#aa91a801f4f9e8fd8e1567d014c280cb9',1,'tvg::Shape::gen()'],['../classtvg_1_1Picture.html#a68af11946af3c1c63a4e915cd0207811',1,'tvg::Picture::gen()'],['../classtvg_1_1Scene.html#a01a17bb81862d89f2a0feb5d9818a149',1,'tvg::Scene::gen()'],['../classtvg_1_1SwCanvas.html#aba83ff17ba357417c8bbe62cf5141c96',1,'tvg::SwCanvas::gen()'],['../classtvg_1_1GlCanvas.html#ad6ae7e14a4f29b7ae78ad5b92350cf90',1,'tvg::GlCanvas::gen()'],['../classtvg_1_1Saver.html#a938c339098e9da63f98f2b182a4cf683',1,'tvg::Saver::gen()']]], - ['gl_38',['Gl',['../group__ThorVG.html#gga3dfc0651e85484b1011772dd9f8300dfa0f16de4274952a7184e059c5f2d048d6',1,'tvg']]], - ['glcanvas_39',['GlCanvas',['../classtvg_1_1GlCanvas.html',1,'tvg']]], - ['gradient_40',['Gradient',['../group__ThorVGCapi__Gradient.html',1,'']]] -]; diff --git a/docs/html/search/all_7.js b/docs/html/search/all_7.js deleted file mode 100644 index 6932380..0000000 --- a/docs/html/search/all_7.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['identifier_41',['identifier',['../classtvg_1_1Paint.html#a87a69d60151166624e63799203acbd1d',1,'tvg::Paint::identifier()'],['../classtvg_1_1Fill.html#a87a69d60151166624e63799203acbd1d',1,'tvg::Fill::identifier()'],['../classtvg_1_1LinearGradient.html#a13df43a335dadaea01769a726dc9ddfd',1,'tvg::LinearGradient::identifier()'],['../classtvg_1_1RadialGradient.html#a13df43a335dadaea01769a726dc9ddfd',1,'tvg::RadialGradient::identifier()'],['../classtvg_1_1Shape.html#a13df43a335dadaea01769a726dc9ddfd',1,'tvg::Shape::identifier()'],['../classtvg_1_1Picture.html#a13df43a335dadaea01769a726dc9ddfd',1,'tvg::Picture::identifier()'],['../classtvg_1_1Scene.html#a13df43a335dadaea01769a726dc9ddfd',1,'tvg::Scene::identifier()']]], - ['individual_42',['Individual',['../classtvg_1_1SwCanvas.html#a9b9770837f0171b15f0cd86f94e8e22bab0257211e60ed5eb6767ec8ed3ec2524',1,'tvg::SwCanvas']]], - ['init_43',['init',['../classtvg_1_1Initializer.html#aecd30dc028635b645b0dac5b6facea73',1,'tvg::Initializer']]], - ['initializer_44',['Initializer',['../classtvg_1_1Initializer.html',1,'tvg']]], - ['insufficientcondition_45',['InsufficientCondition',['../group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066a119732ff568bf103d744e930ae2404f1',1,'tvg']]], - ['invalidarguments_46',['InvalidArguments',['../group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066ae73a2e92f1c87086c838b442552a4775',1,'tvg']]], - ['invalphamask_47',['InvAlphaMask',['../group__ThorVG.html#ggaabdf94ada64e69d06deabc5aa6576f87a59cc48dcf714e3a3c2492f4dce1fe134',1,'tvg']]], - ['initializer_48',['Initializer',['../group__ThorVGCapi__Initializer.html',1,'']]] -]; diff --git a/docs/html/search/all_8.js b/docs/html/search/all_8.js deleted file mode 100644 index 9abd0f4..0000000 --- a/docs/html/search/all_8.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['linear_49',['linear',['../classtvg_1_1LinearGradient.html#aa881eb89e14ade6a30bc41d7eb8eaf52',1,'tvg::LinearGradient::linear(float x1, float y1, float x2, float y2) noexcept'],['../classtvg_1_1LinearGradient.html#a5c77e9f6e855a595945f45a6b19ee983',1,'tvg::LinearGradient::linear(float *x1, float *y1, float *x2, float *y2) const noexcept']]], - ['lineargradient_50',['LinearGradient',['../classtvg_1_1LinearGradient.html',1,'tvg']]], - ['lineto_51',['lineTo',['../classtvg_1_1Shape.html#a9c28e9bbc6bd22dc62e891ffb3fa02cd',1,'tvg::Shape::lineTo()'],['../group__ThorVG.html#gga6876ed676934f4dbcc19b1b53c153cc1a5dc59cf06f56c730c0a4bfe69c9bf689',1,'tvg::LineTo()']]], - ['load_52',['load',['../classtvg_1_1Picture.html#aaf06be7d0b572c5ce35315cbddd7d318',1,'tvg::Picture::load(const std::string &path) noexcept'],['../classtvg_1_1Picture.html#a3e487c0b236a6eea853c5ccb7665cdce',1,'tvg::Picture::load(const char *data, uint32_t size, bool copy=false) noexcept'],['../classtvg_1_1Picture.html#a95979a7c4ce51445c7ef9d6461c34767',1,'tvg::Picture::load(const char *data, uint32_t size, const std::string &mimeType, bool copy=false) noexcept'],['../classtvg_1_1Picture.html#a1fdf75092cebaa7cde48d6a7d4946368',1,'tvg::Picture::load(uint32_t *data, uint32_t w, uint32_t h, bool copy) noexcept']]] -]; diff --git a/docs/html/search/all_9.js b/docs/html/search/all_9.js deleted file mode 100644 index e36b26d..0000000 --- a/docs/html/search/all_9.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['matrix_53',['Matrix',['../structtvg_1_1Matrix.html',1,'tvg']]], - ['memorycorruption_54',['MemoryCorruption',['../group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066ae8c0c653fcac575c31470f0f800991c6',1,'tvg']]], - ['mempool_55',['mempool',['../classtvg_1_1SwCanvas.html#a3486268541200559f16847cbe714a72c',1,'tvg::SwCanvas']]], - ['mempoolpolicy_56',['MempoolPolicy',['../classtvg_1_1SwCanvas.html#a9b9770837f0171b15f0cd86f94e8e22b',1,'tvg::SwCanvas']]], - ['miter_57',['Miter',['../group__ThorVG.html#ggaba8b7236c41a171289aef2f3c71eef51ae4396f81cd926bb129ccf3c147c64514',1,'tvg']]], - ['moveto_58',['moveTo',['../classtvg_1_1Shape.html#a59f97aaa973af7c58081690433286461',1,'tvg::Shape::moveTo()'],['../group__ThorVG.html#gga6876ed676934f4dbcc19b1b53c153cc1ad9046d3b1ebf3889943b3be3ca477613',1,'tvg::MoveTo()']]] -]; diff --git a/docs/html/search/all_a.js b/docs/html/search/all_a.js deleted file mode 100644 index 764aae2..0000000 --- a/docs/html/search/all_a.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['none_59',['None',['../group__ThorVG.html#ggaabdf94ada64e69d06deabc5aa6576f87a6adf97f83acf6453d4a6a4b1070f3754',1,'tvg']]], - ['nonsupport_60',['NonSupport',['../group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066aa0cfd518e4385f31d38720579321ed29',1,'tvg']]] -]; diff --git a/docs/html/search/all_b.js b/docs/html/search/all_b.js deleted file mode 100644 index d85eff4..0000000 --- a/docs/html/search/all_b.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['offset_61',['offset',['../structtvg_1_1Fill_1_1ColorStop.html#a3e60b3c561be982d7c8e23f14c01fd5b',1,'tvg::Fill::ColorStop::offset()'],['../structTvg__Color__Stop.html#a3e60b3c561be982d7c8e23f14c01fd5b',1,'Tvg_Color_Stop::offset()']]], - ['opacity_62',['opacity',['../classtvg_1_1Paint.html#a2f25b71fed3ae390eb8051c7ea65aebf',1,'tvg::Paint::opacity(uint8_t o) noexcept'],['../classtvg_1_1Paint.html#a2ee7517b8bfad47e0f999ba3450e0e3e',1,'tvg::Paint::opacity() const noexcept']]] -]; diff --git a/docs/html/search/all_c.js b/docs/html/search/all_c.js deleted file mode 100644 index 53423ab..0000000 --- a/docs/html/search/all_c.js +++ /dev/null @@ -1,13 +0,0 @@ -var searchData= -[ - ['pad_63',['Pad',['../group__ThorVG.html#gga0cfa2c92260cca776292cc9e8964f2daade43468adaf6acb2c38ebc0c1176f82f',1,'tvg']]], - ['paint_64',['Paint',['../classtvg_1_1Paint.html',1,'tvg']]], - ['pathcommand_65',['PathCommand',['../group__ThorVG.html#ga6876ed676934f4dbcc19b1b53c153cc1',1,'tvg']]], - ['pathcommands_66',['pathCommands',['../classtvg_1_1Shape.html#ac14d90c2c0130b66a9a33eb7d08101b7',1,'tvg::Shape']]], - ['pathcoords_67',['pathCoords',['../classtvg_1_1Shape.html#a818b1b358f0ed7ba448b6d804e087923',1,'tvg::Shape']]], - ['picture_68',['Picture',['../classtvg_1_1Picture.html',1,'tvg']]], - ['point_69',['Point',['../structtvg_1_1Point.html',1,'tvg']]], - ['push_70',['push',['../classtvg_1_1Canvas.html#a82c5ec1c1ba93cf7671642400074201e',1,'tvg::Canvas::push()'],['../classtvg_1_1Scene.html#a19240cd5b53571da718fabef8afb7103',1,'tvg::Scene::push()']]], - ['paint_71',['Paint',['../group__ThorVGCapi__Paint.html',1,'']]], - ['picture_72',['Picture',['../group__ThorVGCapi__Picture.html',1,'']]] -]; diff --git a/docs/html/search/all_d.js b/docs/html/search/all_d.js deleted file mode 100644 index 1abe800..0000000 --- a/docs/html/search/all_d.js +++ /dev/null @@ -1,13 +0,0 @@ -var searchData= -[ - ['r_73',['r',['../structtvg_1_1Fill_1_1ColorStop.html#a4c5c6ceb8ed33456261fa907136e0c3a',1,'tvg::Fill::ColorStop::r()'],['../structTvg__Color__Stop.html#a4c5c6ceb8ed33456261fa907136e0c3a',1,'Tvg_Color_Stop::r()']]], - ['radial_74',['radial',['../classtvg_1_1RadialGradient.html#a3688387d86ebd5003ee98d90f24a6030',1,'tvg::RadialGradient::radial(float cx, float cy, float radius) noexcept'],['../classtvg_1_1RadialGradient.html#a706e9ec51bf12483b1d59f99c6fe045e',1,'tvg::RadialGradient::radial(float *cx, float *cy, float *radius) const noexcept']]], - ['radialgradient_75',['RadialGradient',['../classtvg_1_1RadialGradient.html',1,'tvg']]], - ['reflect_76',['Reflect',['../group__ThorVG.html#gga0cfa2c92260cca776292cc9e8964f2daa74de3e45e4491e956e8dc18d841d9b00',1,'tvg']]], - ['repeat_77',['Repeat',['../group__ThorVG.html#gga0cfa2c92260cca776292cc9e8964f2daa7020426cfb0a204051be4b3053d2acc8',1,'tvg']]], - ['reserve_78',['reserve',['../classtvg_1_1Canvas.html#a4cff0ab757e1db9077bbecaf25f012ba',1,'tvg::Canvas::reserve()'],['../classtvg_1_1Scene.html#a7e23b9ddc266b5910001174b3c84a485',1,'tvg::Scene::reserve()']]], - ['reset_79',['reset',['../classtvg_1_1Shape.html#a8014640e362066901c2e2ebe6ddd1251',1,'tvg::Shape']]], - ['result_80',['Result',['../group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066',1,'tvg']]], - ['rotate_81',['rotate',['../classtvg_1_1Paint.html#a7841fa0c14643e09735d48042ead68f3',1,'tvg::Paint']]], - ['round_82',['Round',['../group__ThorVG.html#gga6239974a858100e129f1e0b8ffac4f96ab7f41fc1412ad2ee75e9b2635d3b9d5c',1,'tvg::Round()'],['../group__ThorVG.html#ggaba8b7236c41a171289aef2f3c71eef51ab7f41fc1412ad2ee75e9b2635d3b9d5c',1,'tvg::Round()']]] -]; diff --git a/docs/html/search/all_e.js b/docs/html/search/all_e.js deleted file mode 100644 index 7bbf70e..0000000 --- a/docs/html/search/all_e.js +++ /dev/null @@ -1,27 +0,0 @@ -var searchData= -[ - ['save_83',['save',['../classtvg_1_1Saver.html#acda492a458f3ddc2da01df672ecd85bd',1,'tvg::Saver']]], - ['saver_84',['Saver',['../classtvg_1_1Saver.html',1,'tvg']]], - ['scale_85',['scale',['../classtvg_1_1Paint.html#a5c057876185525c5723215f95a3984f2',1,'tvg::Paint']]], - ['scene_86',['Scene',['../classtvg_1_1Scene.html',1,'tvg']]], - ['shape_87',['Shape',['../classtvg_1_1Shape.html',1,'tvg']]], - ['shareable_88',['Shareable',['../classtvg_1_1SwCanvas.html#a9b9770837f0171b15f0cd86f94e8e22ba4652dcff02024c6e4cba53124ddb5dd5',1,'tvg::SwCanvas']]], - ['size_89',['size',['../classtvg_1_1Picture.html#a065e47b46c791ee4d93ed3252d581a40',1,'tvg::Picture::size(float w, float h) noexcept'],['../classtvg_1_1Picture.html#af80639ef3460a5cf06278fdc03c13aad',1,'tvg::Picture::size(float *w, float *h) const noexcept']]], - ['spread_90',['spread',['../classtvg_1_1Fill.html#aed49d00ca09e69fdf97aaae235f8e950',1,'tvg::Fill::spread(FillSpread s) noexcept'],['../classtvg_1_1Fill.html#a55f6de063e5ac8023243c9cef5cb9a12',1,'tvg::Fill::spread() const noexcept']]], - ['square_91',['Square',['../group__ThorVG.html#gga6239974a858100e129f1e0b8ffac4f96aceb46ca115d05c51aa5a16a8867c3304',1,'tvg']]], - ['stroke_92',['stroke',['../classtvg_1_1Shape.html#a5ce764cd1970c7a7d76b209c4441bc73',1,'tvg::Shape::stroke(float width) noexcept'],['../classtvg_1_1Shape.html#a68a4822b30573cf4f02195b249218e4e',1,'tvg::Shape::stroke(uint8_t r, uint8_t g, uint8_t b, uint8_t a) noexcept'],['../classtvg_1_1Shape.html#ab0b09b5064dff4931db9ea898b36dcc1',1,'tvg::Shape::stroke(std::unique_ptr< Fill > f) noexcept'],['../classtvg_1_1Shape.html#ae79102d63897ad86a96afb4436c731e4',1,'tvg::Shape::stroke(const float *dashPattern, uint32_t cnt) noexcept'],['../classtvg_1_1Shape.html#a39068c9686211de862844dacabf92375',1,'tvg::Shape::stroke(StrokeCap cap) noexcept'],['../classtvg_1_1Shape.html#ac416cad0d9e15079a112b1f609d19177',1,'tvg::Shape::stroke(StrokeJoin join) noexcept']]], - ['strokecap_93',['strokeCap',['../classtvg_1_1Shape.html#a0948989a7f0a9e253234cd9f53784674',1,'tvg::Shape::strokeCap()'],['../group__ThorVG.html#ga6239974a858100e129f1e0b8ffac4f96',1,'tvg::StrokeCap()']]], - ['strokecolor_94',['strokeColor',['../classtvg_1_1Shape.html#a7b81219e058ae54e731c5702a1c61462',1,'tvg::Shape']]], - ['strokedash_95',['strokeDash',['../classtvg_1_1Shape.html#afbc1e469219ee86df47d216f58af282a',1,'tvg::Shape']]], - ['strokefill_96',['strokeFill',['../classtvg_1_1Shape.html#a08ce41b2d01d2d43980e5c26f4df111e',1,'tvg::Shape']]], - ['strokejoin_97',['strokeJoin',['../classtvg_1_1Shape.html#aac0235df4172e9c079689e5291c7ad5a',1,'tvg::Shape::strokeJoin()'],['../group__ThorVG.html#gaba8b7236c41a171289aef2f3c71eef51',1,'tvg::StrokeJoin()']]], - ['strokewidth_98',['strokeWidth',['../classtvg_1_1Shape.html#a1536ec32e91c29dd8300b0d4354773f9',1,'tvg::Shape']]], - ['success_99',['Success',['../group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066a505a83f220c02df2f85c3810cd9ceb38',1,'tvg']]], - ['sw_100',['Sw',['../group__ThorVG.html#gga3dfc0651e85484b1011772dd9f8300dfa1f030517f6d25e8607a2a9a7f6227ebc',1,'tvg']]], - ['swcanvas_101',['SwCanvas',['../classtvg_1_1SwCanvas.html',1,'tvg']]], - ['sync_102',['sync',['../classtvg_1_1Canvas.html#adbca600af79f9a0b8e8366e3be7450e9',1,'tvg::Canvas::sync()'],['../classtvg_1_1Saver.html#a2fdf9b2208358ea10f912b1877733778',1,'tvg::Saver::sync()']]], - ['saver_103',['Saver',['../group__ThorVGCapi__Saver.html',1,'']]], - ['scene_104',['Scene',['../group__ThorVGCapi__Scene.html',1,'']]], - ['shape_105',['Shape',['../group__ThorVGCapi__Shape.html',1,'']]], - ['swcanvas_106',['SwCanvas',['../group__ThorVGCapi__SwCanvas.html',1,'']]] -]; diff --git a/docs/html/search/all_f.js b/docs/html/search/all_f.js deleted file mode 100644 index 5b4aef4..0000000 --- a/docs/html/search/all_f.js +++ /dev/null @@ -1,146 +0,0 @@ -var searchData= -[ - ['thorvg_20api_20documentation_107',['ThorVG API Documentation',['../index.html',1,'']]], - ['target_108',['target',['../classtvg_1_1SwCanvas.html#a2d4c80a0ba45465b073ee0c279e8c8dc',1,'tvg::SwCanvas::target()'],['../classtvg_1_1GlCanvas.html#aad369f9a4a762338d0ef4a16265a0f29',1,'tvg::GlCanvas::target()']]], - ['term_109',['term',['../classtvg_1_1Initializer.html#ace5ab49a2678becae6e7230420a003df',1,'tvg::Initializer']]], - ['thorvg_110',['ThorVG',['../group__ThorVG.html',1,'']]], - ['thorvg_5fcapi_111',['ThorVG_CAPI',['../group__ThorVG__CAPI.html',1,'']]], - ['transform_112',['transform',['../classtvg_1_1Paint.html#ac9f6ba428afe884bcc2861de0a2a96f4',1,'tvg::Paint::transform(const Matrix &m) noexcept'],['../classtvg_1_1Paint.html#ad1e49b6eb81e87bd860f19e1b92c574b',1,'tvg::Paint::transform() noexcept'],['../classtvg_1_1Fill.html#ac9f6ba428afe884bcc2861de0a2a96f4',1,'tvg::Fill::transform(const Matrix &m) noexcept'],['../classtvg_1_1Fill.html#ad96ad531732975db718aaf1210d47cd7',1,'tvg::Fill::transform() const noexcept']]], - ['translate_113',['translate',['../classtvg_1_1Paint.html#ae896f56bfa51c98a50eee3f2bb62e41e',1,'tvg::Paint']]], - ['tvg_5fcanvas_114',['Tvg_Canvas',['../group__ThorVG__CAPI.html#ga5f10c1f3dabdc9287166611c7fe5fd8a',1,'thorvg_capi.h']]], - ['tvg_5fcanvas_5fclear_115',['tvg_canvas_clear',['../group__ThorVGCapi__Canvas.html#ga052c131ed5a2a3a053dcb321542c2c80',1,'thorvg_capi.h']]], - ['tvg_5fcanvas_5fdestroy_116',['tvg_canvas_destroy',['../group__ThorVGCapi__Canvas.html#ga0a3af123f8054dc6c182c70dc4907813',1,'thorvg_capi.h']]], - ['tvg_5fcanvas_5fdraw_117',['tvg_canvas_draw',['../group__ThorVGCapi__Canvas.html#ga0be96c28afddf9cf252d68a431438632',1,'thorvg_capi.h']]], - ['tvg_5fcanvas_5fpush_118',['tvg_canvas_push',['../group__ThorVGCapi__Canvas.html#ga0e4daf723d6080d526ce0aa4111a1439',1,'thorvg_capi.h']]], - ['tvg_5fcanvas_5freserve_119',['tvg_canvas_reserve',['../group__ThorVGCapi__Canvas.html#gafd31da91fe8571f0b12bca25364d71f2',1,'thorvg_capi.h']]], - ['tvg_5fcanvas_5fsync_120',['tvg_canvas_sync',['../group__ThorVGCapi__Canvas.html#ga61c17823da7ed6748cc0d80013b2e1b7',1,'thorvg_capi.h']]], - ['tvg_5fcanvas_5fupdate_121',['tvg_canvas_update',['../group__ThorVGCapi__Canvas.html#ga7c43ae4fb1a06afbe3616b4552740edf',1,'thorvg_capi.h']]], - ['tvg_5fcanvas_5fupdate_5fpaint_122',['tvg_canvas_update_paint',['../group__ThorVGCapi__Canvas.html#ga50761cba3cc3143a90f72124a597216f',1,'thorvg_capi.h']]], - ['tvg_5fcolor_5fstop_123',['Tvg_Color_Stop',['../structTvg__Color__Stop.html',1,'']]], - ['tvg_5fcolorspace_124',['Tvg_Colorspace',['../group__ThorVGCapi__SwCanvas.html#gae038f89e569d85c0896711a0a31b4a78',1,'thorvg_capi.h']]], - ['tvg_5fcolorspace_5fabgr8888_125',['TVG_COLORSPACE_ABGR8888',['../group__ThorVGCapi__SwCanvas.html#ggae038f89e569d85c0896711a0a31b4a78a3e19cdea8a31c91c381385ba87626ae4',1,'thorvg_capi.h']]], - ['tvg_5fcolorspace_5fargb8888_126',['TVG_COLORSPACE_ARGB8888',['../group__ThorVGCapi__SwCanvas.html#ggae038f89e569d85c0896711a0a31b4a78a362994879a2332b343d408dd3a397d97',1,'thorvg_capi.h']]], - ['tvg_5fcomposite_5fmethod_127',['Tvg_Composite_Method',['../group__ThorVGCapi__Paint.html#ga1ec9193ca6959f9d91a80cc61cd0df3a',1,'thorvg_capi.h']]], - ['tvg_5fcomposite_5fmethod_5falpha_5fmask_128',['TVG_COMPOSITE_METHOD_ALPHA_MASK',['../group__ThorVGCapi__Paint.html#gga1ec9193ca6959f9d91a80cc61cd0df3aae536c237d654d73f306f2d346fc3c86a',1,'thorvg_capi.h']]], - ['tvg_5fcomposite_5fmethod_5fclip_5fpath_129',['TVG_COMPOSITE_METHOD_CLIP_PATH',['../group__ThorVGCapi__Paint.html#gga1ec9193ca6959f9d91a80cc61cd0df3aa517f996a4e50e88727607b959ce52852',1,'thorvg_capi.h']]], - ['tvg_5fcomposite_5fmethod_5finverse_5falpha_5fmask_130',['TVG_COMPOSITE_METHOD_INVERSE_ALPHA_MASK',['../group__ThorVGCapi__Paint.html#gga1ec9193ca6959f9d91a80cc61cd0df3aaf5b9626da41b4a50070f97139062c759',1,'thorvg_capi.h']]], - ['tvg_5fcomposite_5fmethod_5fnone_131',['TVG_COMPOSITE_METHOD_NONE',['../group__ThorVGCapi__Paint.html#gga1ec9193ca6959f9d91a80cc61cd0df3aa9122090fc6c074e22fa0964effa1b375',1,'thorvg_capi.h']]], - ['tvg_5fengine_132',['Tvg_Engine',['../group__ThorVGCapi__Initializer.html#gaa61c2088915fc211ac91ffafaf45f695',1,'thorvg_capi.h']]], - ['tvg_5fengine_5fgl_133',['TVG_ENGINE_GL',['../group__ThorVGCapi__Initializer.html#ggaa61c2088915fc211ac91ffafaf45f695a512e634431a51f22e388d7b87828cac1',1,'thorvg_capi.h']]], - ['tvg_5fengine_5finit_134',['tvg_engine_init',['../group__ThorVGCapi__Initializer.html#ga315ed4054d2547029c3d67414d0f227e',1,'thorvg_capi.h']]], - ['tvg_5fengine_5fsw_135',['TVG_ENGINE_SW',['../group__ThorVGCapi__Initializer.html#ggaa61c2088915fc211ac91ffafaf45f695a87a18b02d5fc2509c1c4372e46183c96',1,'thorvg_capi.h']]], - ['tvg_5fengine_5fterm_136',['tvg_engine_term',['../group__ThorVGCapi__Initializer.html#ga96d2cc74ed36a277467aba48093e7862',1,'thorvg_capi.h']]], - ['tvg_5ffill_5frule_137',['Tvg_Fill_Rule',['../group__ThorVGCapi__Shape.html#gaffafa3cd9dc4bc90a7ef3c763add2695',1,'thorvg_capi.h']]], - ['tvg_5ffill_5frule_5feven_5fodd_138',['TVG_FILL_RULE_EVEN_ODD',['../group__ThorVGCapi__Shape.html#ggaffafa3cd9dc4bc90a7ef3c763add2695abed5f43e043f8f277310ac6765cd4d88',1,'thorvg_capi.h']]], - ['tvg_5ffill_5frule_5fwinding_139',['TVG_FILL_RULE_WINDING',['../group__ThorVGCapi__Shape.html#ggaffafa3cd9dc4bc90a7ef3c763add2695ad241fa1df1af5a66c711414462ff1190',1,'thorvg_capi.h']]], - ['tvg_5fgradient_140',['Tvg_Gradient',['../group__ThorVG__CAPI.html#gafc8e0d01812127260d0753eceb056181',1,'thorvg_capi.h']]], - ['tvg_5fgradient_5fdel_141',['tvg_gradient_del',['../group__ThorVGCapi__Gradient.html#gad267b161f306064cc3c0082ec7906a95',1,'thorvg_capi.h']]], - ['tvg_5fgradient_5fduplicate_142',['tvg_gradient_duplicate',['../group__ThorVGCapi__Gradient.html#ga6eba942f41e445f09011647fea1b1ae1',1,'thorvg_capi.h']]], - ['tvg_5fgradient_5fget_5fcolor_5fstops_143',['tvg_gradient_get_color_stops',['../group__ThorVGCapi__Gradient.html#gac52a300f42295ac9f4c4ab1d41f68d28',1,'thorvg_capi.h']]], - ['tvg_5fgradient_5fget_5fspread_144',['tvg_gradient_get_spread',['../group__ThorVGCapi__Gradient.html#gaa40a5554a7abd6b19c07c2335ab7f539',1,'thorvg_capi.h']]], - ['tvg_5fgradient_5fget_5ftransform_145',['tvg_gradient_get_transform',['../group__ThorVGCapi__Gradient.html#ga07743c5cb03f2a484558b7728aefba2c',1,'thorvg_capi.h']]], - ['tvg_5fgradient_5fset_5fcolor_5fstops_146',['tvg_gradient_set_color_stops',['../group__ThorVGCapi__Gradient.html#ga8d5755566bb7281984a44c9c687f2b48',1,'thorvg_capi.h']]], - ['tvg_5fgradient_5fset_5fspread_147',['tvg_gradient_set_spread',['../group__ThorVGCapi__Gradient.html#gad800cb39d78429089adba8f0952ba433',1,'thorvg_capi.h']]], - ['tvg_5fgradient_5fset_5ftransform_148',['tvg_gradient_set_transform',['../group__ThorVGCapi__Gradient.html#ga64c5d823f8a3f1791e215da25e290905',1,'thorvg_capi.h']]], - ['tvg_5flinear_5fgradient_5fget_149',['tvg_linear_gradient_get',['../group__ThorVGCapi__Gradient.html#gaa503fc8455eb63acda4b3ff0737f4d4e',1,'thorvg_capi.h']]], - ['tvg_5flinear_5fgradient_5fnew_150',['tvg_linear_gradient_new',['../group__ThorVGCapi__Gradient.html#gab77d80df3c269fa531e7b81c8e8410d2',1,'thorvg_capi.h']]], - ['tvg_5flinear_5fgradient_5fset_151',['tvg_linear_gradient_set',['../group__ThorVGCapi__Gradient.html#ga00590e1313394b75b8619ff27ddd233b',1,'thorvg_capi.h']]], - ['tvg_5fmatrix_152',['Tvg_Matrix',['../structTvg__Matrix.html',1,'']]], - ['tvg_5fmempool_5fpolicy_153',['Tvg_Mempool_Policy',['../group__ThorVGCapi__SwCanvas.html#gae63c2c2eee33be6410d3c8a013067b47',1,'thorvg_capi.h']]], - ['tvg_5fmempool_5fpolicy_5fdefault_154',['TVG_MEMPOOL_POLICY_DEFAULT',['../group__ThorVGCapi__SwCanvas.html#ggae63c2c2eee33be6410d3c8a013067b47aa37438e515a19c5770e52b7346c8d8c5',1,'thorvg_capi.h']]], - ['tvg_5fmempool_5fpolicy_5findividual_155',['TVG_MEMPOOL_POLICY_INDIVIDUAL',['../group__ThorVGCapi__SwCanvas.html#ggae63c2c2eee33be6410d3c8a013067b47a17b8765ba731e3c626d04ce31487c859',1,'thorvg_capi.h']]], - ['tvg_5fmempool_5fpolicy_5fshareable_156',['TVG_MEMPOOL_POLICY_SHAREABLE',['../group__ThorVGCapi__SwCanvas.html#ggae63c2c2eee33be6410d3c8a013067b47aec88b2753a257cdc5be880c7d4bfeef9',1,'thorvg_capi.h']]], - ['tvg_5fpaint_157',['Tvg_Paint',['../group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292',1,'thorvg_capi.h']]], - ['tvg_5fpaint_5fdel_158',['tvg_paint_del',['../group__ThorVGCapi__Paint.html#ga707bc7b4cf99ab40063b7eeef89ca170',1,'thorvg_capi.h']]], - ['tvg_5fpaint_5fduplicate_159',['tvg_paint_duplicate',['../group__ThorVGCapi__Paint.html#gae7852760d3f05e2d7ce0c899535d223b',1,'thorvg_capi.h']]], - ['tvg_5fpaint_5fget_5fbounds_160',['tvg_paint_get_bounds',['../group__ThorVGCapi__Paint.html#gac66ede4c89860773ad5cbb005b3114b9',1,'thorvg_capi.h']]], - ['tvg_5fpaint_5fget_5fcomposite_5fmethod_161',['tvg_paint_get_composite_method',['../group__ThorVGCapi__Paint.html#ga78b13aa50047f1ac576b6452697217df',1,'thorvg_capi.h']]], - ['tvg_5fpaint_5fget_5fopacity_162',['tvg_paint_get_opacity',['../group__ThorVGCapi__Paint.html#gaecd6459a42a59995dd23a58e4600dfeb',1,'thorvg_capi.h']]], - ['tvg_5fpaint_5fget_5ftransform_163',['tvg_paint_get_transform',['../group__ThorVGCapi__Paint.html#ga143f8e55a6b5dd6076be197c573fe32d',1,'thorvg_capi.h']]], - ['tvg_5fpaint_5frotate_164',['tvg_paint_rotate',['../group__ThorVGCapi__Paint.html#ga60ab7fce408fc3065d77895855fcf532',1,'thorvg_capi.h']]], - ['tvg_5fpaint_5fscale_165',['tvg_paint_scale',['../group__ThorVGCapi__Paint.html#gad91401c9574f634f0f744d8e5903203b',1,'thorvg_capi.h']]], - ['tvg_5fpaint_5fset_5fcomposite_5fmethod_166',['tvg_paint_set_composite_method',['../group__ThorVGCapi__Paint.html#ga5af1043991b0de19c888855feeab2e5d',1,'thorvg_capi.h']]], - ['tvg_5fpaint_5fset_5fopacity_167',['tvg_paint_set_opacity',['../group__ThorVGCapi__Paint.html#ga9b621889be1a6aac905a6564d71a800f',1,'thorvg_capi.h']]], - ['tvg_5fpaint_5fset_5ftransform_168',['tvg_paint_set_transform',['../group__ThorVGCapi__Paint.html#ga6a6eda669568d251f63b92836c281123',1,'thorvg_capi.h']]], - ['tvg_5fpaint_5ftranslate_169',['tvg_paint_translate',['../group__ThorVGCapi__Paint.html#gaf7c5c66bd41da9262996ee9a9def42ff',1,'thorvg_capi.h']]], - ['tvg_5fpath_5fcommand_170',['Tvg_Path_Command',['../group__ThorVGCapi__Shape.html#ga08e05d64247332603a624cea6597be77',1,'thorvg_capi.h']]], - ['tvg_5fpath_5fcommand_5fclose_171',['TVG_PATH_COMMAND_CLOSE',['../group__ThorVGCapi__Shape.html#gga08e05d64247332603a624cea6597be77a6d66fea8e74674015ebb98d53f3f1fb1',1,'thorvg_capi.h']]], - ['tvg_5fpath_5fcommand_5fcubic_5fto_172',['TVG_PATH_COMMAND_CUBIC_TO',['../group__ThorVGCapi__Shape.html#gga08e05d64247332603a624cea6597be77a411110736873e7f995446761ab927a26',1,'thorvg_capi.h']]], - ['tvg_5fpath_5fcommand_5fline_5fto_173',['TVG_PATH_COMMAND_LINE_TO',['../group__ThorVGCapi__Shape.html#gga08e05d64247332603a624cea6597be77ae77bc11698c492057df630321cab5536',1,'thorvg_capi.h']]], - ['tvg_5fpath_5fcommand_5fmove_5fto_174',['TVG_PATH_COMMAND_MOVE_TO',['../group__ThorVGCapi__Shape.html#gga08e05d64247332603a624cea6597be77a8fcafa6e4f0b512e2a09a711c74aa821',1,'thorvg_capi.h']]], - ['tvg_5fpicture_5fget_5fsize_175',['tvg_picture_get_size',['../group__ThorVGCapi__Picture.html#gaa3a390498aeb3e873a0469a1cf5c627d',1,'thorvg_capi.h']]], - ['tvg_5fpicture_5fget_5fviewbox_176',['tvg_picture_get_viewbox',['../group__ThorVGCapi__Picture.html#ga4a3950f95a05cbc29e869d7d5071aeb9',1,'thorvg_capi.h']]], - ['tvg_5fpicture_5fload_177',['tvg_picture_load',['../group__ThorVGCapi__Picture.html#gaa101b96db706db4edd10a65da628a1ef',1,'thorvg_capi.h']]], - ['tvg_5fpicture_5fload_5fdata_178',['tvg_picture_load_data',['../group__ThorVGCapi__Picture.html#ga7876e1e653d61b44bac8ad03f832108e',1,'thorvg_capi.h']]], - ['tvg_5fpicture_5fload_5fraw_179',['tvg_picture_load_raw',['../group__ThorVGCapi__Picture.html#ga6c05096bb5d5074bff0fdbbb13a587f8',1,'thorvg_capi.h']]], - ['tvg_5fpicture_5fnew_180',['tvg_picture_new',['../group__ThorVGCapi__Picture.html#gaeb31f27827d96269a3c4d251a45215b6',1,'thorvg_capi.h']]], - ['tvg_5fpicture_5fset_5fsize_181',['tvg_picture_set_size',['../group__ThorVGCapi__Picture.html#ga2861dfc3f8d3f2ad7a5d91e73c69a058',1,'thorvg_capi.h']]], - ['tvg_5fpoint_182',['Tvg_Point',['../structTvg__Point.html',1,'']]], - ['tvg_5fradial_5fgradient_5fget_183',['tvg_radial_gradient_get',['../group__ThorVGCapi__Gradient.html#gaabab5eabf6d11b95b96e9c543a341199',1,'thorvg_capi.h']]], - ['tvg_5fradial_5fgradient_5fnew_184',['tvg_radial_gradient_new',['../group__ThorVGCapi__Gradient.html#ga7dc487e5d1557961cd2cc31a42daeb28',1,'thorvg_capi.h']]], - ['tvg_5fradial_5fgradient_5fset_185',['tvg_radial_gradient_set',['../group__ThorVGCapi__Gradient.html#ga321045b5fda8e8e002c4837bd03ccdac',1,'thorvg_capi.h']]], - ['tvg_5fresult_186',['Tvg_Result',['../group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781',1,'thorvg_capi.h']]], - ['tvg_5fresult_5ffailed_5fallocation_187',['TVG_RESULT_FAILED_ALLOCATION',['../group__ThorVG__CAPI.html#ggad980f552658dcbbe42a0168f35c27781a30ea1fee167bdc1fc70005fb6d2d1b59',1,'thorvg_capi.h']]], - ['tvg_5fresult_5finsufficient_5fcondition_188',['TVG_RESULT_INSUFFICIENT_CONDITION',['../group__ThorVG__CAPI.html#ggad980f552658dcbbe42a0168f35c27781a6ac2425d9e8afeff9d6d847cb6fc44b3',1,'thorvg_capi.h']]], - ['tvg_5fresult_5finvalid_5fargument_189',['TVG_RESULT_INVALID_ARGUMENT',['../group__ThorVG__CAPI.html#ggad980f552658dcbbe42a0168f35c27781a1cf3b50869745c98ef4f59079aed3a6e',1,'thorvg_capi.h']]], - ['tvg_5fresult_5fmemory_5fcorruption_190',['TVG_RESULT_MEMORY_CORRUPTION',['../group__ThorVG__CAPI.html#ggad980f552658dcbbe42a0168f35c27781a7e0e245d6bf67c84e0b74838e765d98b',1,'thorvg_capi.h']]], - ['tvg_5fresult_5fnot_5fsupported_191',['TVG_RESULT_NOT_SUPPORTED',['../group__ThorVG__CAPI.html#ggad980f552658dcbbe42a0168f35c27781a24cd3c83f47655b8987281f4cbc1dd24',1,'thorvg_capi.h']]], - ['tvg_5fresult_5fsuccess_192',['TVG_RESULT_SUCCESS',['../group__ThorVG__CAPI.html#ggad980f552658dcbbe42a0168f35c27781ab3840b5bbade03c076caa5a32fe5ee47',1,'thorvg_capi.h']]], - ['tvg_5fresult_5funknown_193',['TVG_RESULT_UNKNOWN',['../group__ThorVG__CAPI.html#ggad980f552658dcbbe42a0168f35c27781a1820972547d1ef01782d7e8f60266109',1,'thorvg_capi.h']]], - ['tvg_5fsaver_194',['Tvg_Saver',['../group__ThorVG__CAPI.html#gac16750954e423565f6d143a66aa03b31',1,'thorvg_capi.h']]], - ['tvg_5fsaver_5fdel_195',['tvg_saver_del',['../group__ThorVGCapi__Saver.html#gad9a7fbb599d78a5fdc81bb3bca10642c',1,'thorvg_capi.h']]], - ['tvg_5fsaver_5fnew_196',['tvg_saver_new',['../group__ThorVGCapi__Saver.html#ga6cb67e1b5775c480965e4465f1c9ca80',1,'thorvg_capi.h']]], - ['tvg_5fsaver_5fsave_197',['tvg_saver_save',['../group__ThorVGCapi__Saver.html#ga509981928d383dacc3a3655e161660d5',1,'thorvg_capi.h']]], - ['tvg_5fsaver_5fsync_198',['tvg_saver_sync',['../group__ThorVGCapi__Saver.html#gaee7c2b8f317f34d5d365b8cc4275dab6',1,'thorvg_capi.h']]], - ['tvg_5fscene_5fclear_199',['tvg_scene_clear',['../group__ThorVGCapi__Scene.html#gaf1c3c73f367274a10b6c1584b2ff55ec',1,'thorvg_capi.h']]], - ['tvg_5fscene_5fnew_200',['tvg_scene_new',['../group__ThorVGCapi__Scene.html#ga7572898d23143d37faa85cc89ad1625e',1,'thorvg_capi.h']]], - ['tvg_5fscene_5fpush_201',['tvg_scene_push',['../group__ThorVGCapi__Scene.html#ga16cbf3d1bdd02ebfc5a93c5d03f2d6cf',1,'thorvg_capi.h']]], - ['tvg_5fscene_5freserve_202',['tvg_scene_reserve',['../group__ThorVGCapi__Scene.html#ga8b712509a62cf5a3200ecbca53e773d3',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fappend_5farc_203',['tvg_shape_append_arc',['../group__ThorVGCapi__Shape.html#ga237a7a1bc5274dd7ffc7355be48888fd',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fappend_5fcircle_204',['tvg_shape_append_circle',['../group__ThorVGCapi__Shape.html#ga32c7b28d082544df3cc9dc6730fc6a39',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fappend_5fpath_205',['tvg_shape_append_path',['../group__ThorVGCapi__Shape.html#ga31d8aaa35a50228b0b343471ff0d77b3',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fappend_5frect_206',['tvg_shape_append_rect',['../group__ThorVGCapi__Shape.html#gac1af7237c282fc0269e65a3ba6609291',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fclose_207',['tvg_shape_close',['../group__ThorVGCapi__Shape.html#ga99049e9ec53866666fdec34f05d084b1',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fcubic_5fto_208',['tvg_shape_cubic_to',['../group__ThorVGCapi__Shape.html#ga275080e39eba2bc732625be046292176',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fget_5ffill_5fcolor_209',['tvg_shape_get_fill_color',['../group__ThorVGCapi__Shape.html#gaaf9b92ffb5736b1ab808b4f15356dd08',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fget_5ffill_5frule_210',['tvg_shape_get_fill_rule',['../group__ThorVGCapi__Shape.html#gaeebedc65bb77544aeb05980465284947',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fget_5fgradient_211',['tvg_shape_get_gradient',['../group__ThorVGCapi__Shape.html#ga962f01af5960ad4dd2e1da2f6a0336b9',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fget_5fpath_5fcommands_212',['tvg_shape_get_path_commands',['../group__ThorVGCapi__Shape.html#gacd0ecb2f60ad6ab2e616e5870e1857aa',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fget_5fpath_5fcoords_213',['tvg_shape_get_path_coords',['../group__ThorVGCapi__Shape.html#gad5323f2c523a6a14b89ed105f3450108',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fget_5fstroke_5fcap_214',['tvg_shape_get_stroke_cap',['../group__ThorVGCapi__Shape.html#gaad894f66bc9bbd8f91c351aff534536b',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fget_5fstroke_5fcolor_215',['tvg_shape_get_stroke_color',['../group__ThorVGCapi__Shape.html#gad63d7d12327f3d9912999de2a2504b8d',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fget_5fstroke_5fdash_216',['tvg_shape_get_stroke_dash',['../group__ThorVGCapi__Shape.html#ga40dd2d0753ce8a3018e02a7382abe04f',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fget_5fstroke_5fgradient_217',['tvg_shape_get_stroke_gradient',['../group__ThorVGCapi__Shape.html#ga48c323d84e770c561c14bfc586240b96',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fget_5fstroke_5fjoin_218',['tvg_shape_get_stroke_join',['../group__ThorVGCapi__Shape.html#gae31a53e787b763eaf8a0268edeab76a1',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fget_5fstroke_5fwidth_219',['tvg_shape_get_stroke_width',['../group__ThorVGCapi__Shape.html#ga6964fd905664d48bf7252d6c67cb4dcd',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fline_5fto_220',['tvg_shape_line_to',['../group__ThorVGCapi__Shape.html#ga715e047ef4d45ced617f9ed000df1842',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fmove_5fto_221',['tvg_shape_move_to',['../group__ThorVGCapi__Shape.html#ga892eb9130555a02a6e6bec3c91a7de3c',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fnew_222',['tvg_shape_new',['../group__ThorVGCapi__Shape.html#ga9c0423ae5b7747a9b6b086a93504bd8d',1,'thorvg_capi.h']]], - ['tvg_5fshape_5freset_223',['tvg_shape_reset',['../group__ThorVGCapi__Shape.html#gae5b23d6696a1b4012270a93210750e77',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fset_5ffill_5fcolor_224',['tvg_shape_set_fill_color',['../group__ThorVGCapi__Shape.html#ga9671d893c912383df0840c2915e3d88b',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fset_5ffill_5frule_225',['tvg_shape_set_fill_rule',['../group__ThorVGCapi__Shape.html#ga6d19a68df8f57681a4815c7d2e3e03ba',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fset_5flinear_5fgradient_226',['tvg_shape_set_linear_gradient',['../group__ThorVGCapi__Shape.html#ga02aa5aa9a017270ce0375b1b9db75d57',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fset_5fradial_5fgradient_227',['tvg_shape_set_radial_gradient',['../group__ThorVGCapi__Shape.html#gabd7b9020f1058aa9e9fae9b683265ef8',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fset_5fstroke_5fcap_228',['tvg_shape_set_stroke_cap',['../group__ThorVGCapi__Shape.html#gabb5f5cfe6ff8098efcde6f80c56ca200',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fset_5fstroke_5fcolor_229',['tvg_shape_set_stroke_color',['../group__ThorVGCapi__Shape.html#ga9c1d8aaf73da6f4386cce28a245d3f27',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fset_5fstroke_5fdash_230',['tvg_shape_set_stroke_dash',['../group__ThorVGCapi__Shape.html#gaab74503fd357cfaf7727c25278b71531',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fset_5fstroke_5fjoin_231',['tvg_shape_set_stroke_join',['../group__ThorVGCapi__Shape.html#ga34cb2634d8e9b603f22d4112b346c32a',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fset_5fstroke_5flinear_5fgradient_232',['tvg_shape_set_stroke_linear_gradient',['../group__ThorVGCapi__Shape.html#gae15955526c9e519ea204b77aa91de111',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fset_5fstroke_5fradial_5fgradient_233',['tvg_shape_set_stroke_radial_gradient',['../group__ThorVGCapi__Shape.html#ga0b1d28f178f276d379ca2c14fd7d869c',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fset_5fstroke_5fwidth_234',['tvg_shape_set_stroke_width',['../group__ThorVGCapi__Shape.html#gae3a63091a9c00c796ecadf3e6983c5fd',1,'thorvg_capi.h']]], - ['tvg_5fstroke_5fcap_235',['Tvg_Stroke_Cap',['../group__ThorVGCapi__Shape.html#ga3bcc39b01d899a7e82a6c939740208d3',1,'thorvg_capi.h']]], - ['tvg_5fstroke_5fcap_5fbutt_236',['TVG_STROKE_CAP_BUTT',['../group__ThorVGCapi__Shape.html#gga3bcc39b01d899a7e82a6c939740208d3aefc7710297416d48b660aeeebdd9c796',1,'thorvg_capi.h']]], - ['tvg_5fstroke_5fcap_5fround_237',['TVG_STROKE_CAP_ROUND',['../group__ThorVGCapi__Shape.html#gga3bcc39b01d899a7e82a6c939740208d3a23c1fc3f65e3389a5d5dc404f9353d08',1,'thorvg_capi.h']]], - ['tvg_5fstroke_5fcap_5fsquare_238',['TVG_STROKE_CAP_SQUARE',['../group__ThorVGCapi__Shape.html#gga3bcc39b01d899a7e82a6c939740208d3adcc12b6372824aacc98ce242452680f4',1,'thorvg_capi.h']]], - ['tvg_5fstroke_5ffill_239',['Tvg_Stroke_Fill',['../group__ThorVGCapi__Shape.html#ga9ac44e712782a9b2a5a36a49b2ae52c7',1,'thorvg_capi.h']]], - ['tvg_5fstroke_5ffill_5fpad_240',['TVG_STROKE_FILL_PAD',['../group__ThorVGCapi__Shape.html#gga9ac44e712782a9b2a5a36a49b2ae52c7aa9c76cb4d947723ba270108f401f13ce',1,'thorvg_capi.h']]], - ['tvg_5fstroke_5ffill_5freflect_241',['TVG_STROKE_FILL_REFLECT',['../group__ThorVGCapi__Shape.html#gga9ac44e712782a9b2a5a36a49b2ae52c7a1cd7fd72e3ba1df2ccfbc683d81d1038',1,'thorvg_capi.h']]], - ['tvg_5fstroke_5ffill_5frepeat_242',['TVG_STROKE_FILL_REPEAT',['../group__ThorVGCapi__Shape.html#gga9ac44e712782a9b2a5a36a49b2ae52c7ab6191afa65b90f78dcd2261d058e8ed2',1,'thorvg_capi.h']]], - ['tvg_5fstroke_5fjoin_243',['Tvg_Stroke_Join',['../group__ThorVGCapi__Shape.html#gaf2cbac2c9164a782b96a8cd94f32e1ed',1,'thorvg_capi.h']]], - ['tvg_5fstroke_5fjoin_5fbevel_244',['TVG_STROKE_JOIN_BEVEL',['../group__ThorVGCapi__Shape.html#ggaf2cbac2c9164a782b96a8cd94f32e1eda05cffd5ebeeb548afaee19ae77257168',1,'thorvg_capi.h']]], - ['tvg_5fstroke_5fjoin_5fmiter_245',['TVG_STROKE_JOIN_MITER',['../group__ThorVGCapi__Shape.html#ggaf2cbac2c9164a782b96a8cd94f32e1eda2b2f5ccaa98b8f535c86c52aae82da4d',1,'thorvg_capi.h']]], - ['tvg_5fstroke_5fjoin_5fround_246',['TVG_STROKE_JOIN_ROUND',['../group__ThorVGCapi__Shape.html#ggaf2cbac2c9164a782b96a8cd94f32e1eda6568aef8eba70b2dac2e901b6a7198ee',1,'thorvg_capi.h']]], - ['tvg_5fswcanvas_5fcreate_247',['tvg_swcanvas_create',['../group__ThorVGCapi__SwCanvas.html#ga0ad0467c444c00b79e58f171dce52433',1,'thorvg_capi.h']]], - ['tvg_5fswcanvas_5fset_5fmempool_248',['tvg_swcanvas_set_mempool',['../group__ThorVGCapi__SwCanvas.html#gaae7e4135b025ed1f981b083f2432dad9',1,'thorvg_capi.h']]], - ['tvg_5fswcanvas_5fset_5ftarget_249',['tvg_swcanvas_set_target',['../group__ThorVGCapi__SwCanvas.html#gabff83e4ba5b127441fc9371617698943',1,'thorvg_capi.h']]] -]; diff --git a/docs/html/search/classes_0.js b/docs/html/search/classes_0.js deleted file mode 100644 index 17772a9..0000000 --- a/docs/html/search/classes_0.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['canvas_254',['Canvas',['../classtvg_1_1Canvas.html',1,'tvg']]], - ['colorstop_255',['ColorStop',['../structtvg_1_1Fill_1_1ColorStop.html',1,'tvg::Fill']]] -]; diff --git a/docs/html/search/classes_1.js b/docs/html/search/classes_1.js deleted file mode 100644 index 5e405b3..0000000 --- a/docs/html/search/classes_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['fill_256',['Fill',['../classtvg_1_1Fill.html',1,'tvg']]] -]; diff --git a/docs/html/search/classes_2.js b/docs/html/search/classes_2.js deleted file mode 100644 index 48e21f4..0000000 --- a/docs/html/search/classes_2.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['glcanvas_257',['GlCanvas',['../classtvg_1_1GlCanvas.html',1,'tvg']]] -]; diff --git a/docs/html/search/classes_3.js b/docs/html/search/classes_3.js deleted file mode 100644 index a676901..0000000 --- a/docs/html/search/classes_3.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['initializer_258',['Initializer',['../classtvg_1_1Initializer.html',1,'tvg']]] -]; diff --git a/docs/html/search/classes_4.js b/docs/html/search/classes_4.js deleted file mode 100644 index 983be5d..0000000 --- a/docs/html/search/classes_4.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['lineargradient_259',['LinearGradient',['../classtvg_1_1LinearGradient.html',1,'tvg']]] -]; diff --git a/docs/html/search/classes_5.js b/docs/html/search/classes_5.js deleted file mode 100644 index 47812c2..0000000 --- a/docs/html/search/classes_5.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['matrix_260',['Matrix',['../structtvg_1_1Matrix.html',1,'tvg']]] -]; diff --git a/docs/html/search/classes_6.js b/docs/html/search/classes_6.js deleted file mode 100644 index 17581f9..0000000 --- a/docs/html/search/classes_6.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['paint_261',['Paint',['../classtvg_1_1Paint.html',1,'tvg']]], - ['picture_262',['Picture',['../classtvg_1_1Picture.html',1,'tvg']]], - ['point_263',['Point',['../structtvg_1_1Point.html',1,'tvg']]] -]; diff --git a/docs/html/search/classes_7.js b/docs/html/search/classes_7.js deleted file mode 100644 index 8b5c1dd..0000000 --- a/docs/html/search/classes_7.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['radialgradient_264',['RadialGradient',['../classtvg_1_1RadialGradient.html',1,'tvg']]] -]; diff --git a/docs/html/search/classes_8.js b/docs/html/search/classes_8.js deleted file mode 100644 index 2272ae5..0000000 --- a/docs/html/search/classes_8.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['saver_265',['Saver',['../classtvg_1_1Saver.html',1,'tvg']]], - ['scene_266',['Scene',['../classtvg_1_1Scene.html',1,'tvg']]], - ['shape_267',['Shape',['../classtvg_1_1Shape.html',1,'tvg']]], - ['swcanvas_268',['SwCanvas',['../classtvg_1_1SwCanvas.html',1,'tvg']]] -]; diff --git a/docs/html/search/classes_9.html b/docs/html/search/classes_9.html deleted file mode 100644 index 86cad04..0000000 --- a/docs/html/search/classes_9.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/docs/html/search/classes_9.js b/docs/html/search/classes_9.js deleted file mode 100644 index f29400d..0000000 --- a/docs/html/search/classes_9.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['tvg_5fcolor_5fstop_269',['Tvg_Color_Stop',['../structTvg__Color__Stop.html',1,'']]], - ['tvg_5fmatrix_270',['Tvg_Matrix',['../structTvg__Matrix.html',1,'']]], - ['tvg_5fpoint_271',['Tvg_Point',['../structTvg__Point.html',1,'']]] -]; diff --git a/docs/html/search/enums_0.js b/docs/html/search/enums_0.js deleted file mode 100644 index a7cf884..0000000 --- a/docs/html/search/enums_0.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['canvasengine_417',['CanvasEngine',['../group__ThorVG.html#ga3dfc0651e85484b1011772dd9f8300df',1,'tvg']]], - ['colorspace_418',['Colorspace',['../classtvg_1_1SwCanvas.html#a7a7e24cdb2a27271343f0adceff89f65',1,'tvg::SwCanvas']]], - ['compositemethod_419',['CompositeMethod',['../group__ThorVG.html#gaabdf94ada64e69d06deabc5aa6576f87',1,'tvg']]] -]; diff --git a/docs/html/search/enums_1.js b/docs/html/search/enums_1.js deleted file mode 100644 index 2e02c42..0000000 --- a/docs/html/search/enums_1.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['fillrule_420',['FillRule',['../group__ThorVG.html#ga9a534b0377c9ca41983d53b0dae0d5a4',1,'tvg']]], - ['fillspread_421',['FillSpread',['../group__ThorVG.html#ga0cfa2c92260cca776292cc9e8964f2da',1,'tvg']]] -]; diff --git a/docs/html/search/enums_2.js b/docs/html/search/enums_2.js deleted file mode 100644 index 5e43c1e..0000000 --- a/docs/html/search/enums_2.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['mempoolpolicy_422',['MempoolPolicy',['../classtvg_1_1SwCanvas.html#a9b9770837f0171b15f0cd86f94e8e22b',1,'tvg::SwCanvas']]] -]; diff --git a/docs/html/search/enums_3.js b/docs/html/search/enums_3.js deleted file mode 100644 index c20d0d2..0000000 --- a/docs/html/search/enums_3.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['pathcommand_423',['PathCommand',['../group__ThorVG.html#ga6876ed676934f4dbcc19b1b53c153cc1',1,'tvg']]] -]; diff --git a/docs/html/search/enums_4.js b/docs/html/search/enums_4.js deleted file mode 100644 index 8d0e774..0000000 --- a/docs/html/search/enums_4.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['result_424',['Result',['../group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066',1,'tvg']]] -]; diff --git a/docs/html/search/enums_5.js b/docs/html/search/enums_5.js deleted file mode 100644 index c932f21..0000000 --- a/docs/html/search/enums_5.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['strokecap_425',['StrokeCap',['../group__ThorVG.html#ga6239974a858100e129f1e0b8ffac4f96',1,'tvg']]], - ['strokejoin_426',['StrokeJoin',['../group__ThorVG.html#gaba8b7236c41a171289aef2f3c71eef51',1,'tvg']]] -]; diff --git a/docs/html/search/enums_6.html b/docs/html/search/enums_6.html deleted file mode 100644 index 7dd141e..0000000 --- a/docs/html/search/enums_6.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/docs/html/search/enums_6.js b/docs/html/search/enums_6.js deleted file mode 100644 index 854bc9e..0000000 --- a/docs/html/search/enums_6.js +++ /dev/null @@ -1,13 +0,0 @@ -var searchData= -[ - ['tvg_5fcolorspace_427',['Tvg_Colorspace',['../group__ThorVGCapi__SwCanvas.html#gae038f89e569d85c0896711a0a31b4a78',1,'thorvg_capi.h']]], - ['tvg_5fcomposite_5fmethod_428',['Tvg_Composite_Method',['../group__ThorVGCapi__Paint.html#ga1ec9193ca6959f9d91a80cc61cd0df3a',1,'thorvg_capi.h']]], - ['tvg_5fengine_429',['Tvg_Engine',['../group__ThorVGCapi__Initializer.html#gaa61c2088915fc211ac91ffafaf45f695',1,'thorvg_capi.h']]], - ['tvg_5ffill_5frule_430',['Tvg_Fill_Rule',['../group__ThorVGCapi__Shape.html#gaffafa3cd9dc4bc90a7ef3c763add2695',1,'thorvg_capi.h']]], - ['tvg_5fmempool_5fpolicy_431',['Tvg_Mempool_Policy',['../group__ThorVGCapi__SwCanvas.html#gae63c2c2eee33be6410d3c8a013067b47',1,'thorvg_capi.h']]], - ['tvg_5fpath_5fcommand_432',['Tvg_Path_Command',['../group__ThorVGCapi__Shape.html#ga08e05d64247332603a624cea6597be77',1,'thorvg_capi.h']]], - ['tvg_5fresult_433',['Tvg_Result',['../group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781',1,'thorvg_capi.h']]], - ['tvg_5fstroke_5fcap_434',['Tvg_Stroke_Cap',['../group__ThorVGCapi__Shape.html#ga3bcc39b01d899a7e82a6c939740208d3',1,'thorvg_capi.h']]], - ['tvg_5fstroke_5ffill_435',['Tvg_Stroke_Fill',['../group__ThorVGCapi__Shape.html#ga9ac44e712782a9b2a5a36a49b2ae52c7',1,'thorvg_capi.h']]], - ['tvg_5fstroke_5fjoin_436',['Tvg_Stroke_Join',['../group__ThorVGCapi__Shape.html#gaf2cbac2c9164a782b96a8cd94f32e1ed',1,'thorvg_capi.h']]] -]; diff --git a/docs/html/search/enumvalues_0.js b/docs/html/search/enumvalues_0.js deleted file mode 100644 index 4f810b8..0000000 --- a/docs/html/search/enumvalues_0.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['abgr8888_437',['ABGR8888',['../classtvg_1_1SwCanvas.html#a7a7e24cdb2a27271343f0adceff89f65adb1b146d65c52857a5a4af54e5006101',1,'tvg::SwCanvas']]], - ['abgr8888_5fstraight_438',['ABGR8888_STRAIGHT',['../classtvg_1_1SwCanvas.html#a7a7e24cdb2a27271343f0adceff89f65a991b20672747a79379896e54794fdb85',1,'tvg::SwCanvas']]], - ['alphamask_439',['AlphaMask',['../group__ThorVG.html#ggaabdf94ada64e69d06deabc5aa6576f87abd68e2bb79d1a5e65ad8f0d202d14cbc',1,'tvg']]], - ['argb8888_440',['ARGB8888',['../classtvg_1_1SwCanvas.html#a7a7e24cdb2a27271343f0adceff89f65af540c373a71dee269827b0d12026de80',1,'tvg::SwCanvas']]], - ['argb8888_5fstraight_441',['ARGB8888_STRAIGHT',['../classtvg_1_1SwCanvas.html#a7a7e24cdb2a27271343f0adceff89f65a6cb891fcc637047868e6bcade0a6d608',1,'tvg::SwCanvas']]] -]; diff --git a/docs/html/search/enumvalues_1.js b/docs/html/search/enumvalues_1.js deleted file mode 100644 index 3c5049e..0000000 --- a/docs/html/search/enumvalues_1.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['bevel_442',['Bevel',['../group__ThorVG.html#ggaba8b7236c41a171289aef2f3c71eef51a1b9ae4ca6d43fc984af318046e1e7bb5',1,'tvg']]], - ['butt_443',['Butt',['../group__ThorVG.html#gga6239974a858100e129f1e0b8ffac4f96ab2635ed1075287dea1eb1598a90df1fe',1,'tvg']]] -]; diff --git a/docs/html/search/enumvalues_10.html b/docs/html/search/enumvalues_10.html deleted file mode 100644 index 7107c3d..0000000 --- a/docs/html/search/enumvalues_10.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/docs/html/search/enumvalues_10.js b/docs/html/search/enumvalues_10.js deleted file mode 100644 index e43b037..0000000 --- a/docs/html/search/enumvalues_10.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['winding_503',['Winding',['../group__ThorVG.html#gga9a534b0377c9ca41983d53b0dae0d5a4a268b61c62382fc1f9ca5cf52a4fece32',1,'tvg']]] -]; diff --git a/docs/html/search/enumvalues_2.js b/docs/html/search/enumvalues_2.js deleted file mode 100644 index f402cb0..0000000 --- a/docs/html/search/enumvalues_2.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['clippath_444',['ClipPath',['../group__ThorVG.html#ggaabdf94ada64e69d06deabc5aa6576f87a60575a18ece363c72551a982450efd52',1,'tvg']]], - ['close_445',['Close',['../group__ThorVG.html#gga6876ed676934f4dbcc19b1b53c153cc1ad3d2e617335f08df83599665eef8a418',1,'tvg']]], - ['cubicto_446',['CubicTo',['../group__ThorVG.html#gga6876ed676934f4dbcc19b1b53c153cc1ac8cd9cd16086764627079ed21bfc4e29',1,'tvg']]] -]; diff --git a/docs/html/search/enumvalues_3.js b/docs/html/search/enumvalues_3.js deleted file mode 100644 index 00633fe..0000000 --- a/docs/html/search/enumvalues_3.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['default_447',['Default',['../classtvg_1_1SwCanvas.html#a9b9770837f0171b15f0cd86f94e8e22ba79935518a3889663d8688b6b01fff051',1,'tvg::SwCanvas']]] -]; diff --git a/docs/html/search/enumvalues_4.js b/docs/html/search/enumvalues_4.js deleted file mode 100644 index c4fcfe1..0000000 --- a/docs/html/search/enumvalues_4.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['evenodd_448',['EvenOdd',['../group__ThorVG.html#gga9a534b0377c9ca41983d53b0dae0d5a4a8e586e4bd2c45e86222301f2e6e0e390',1,'tvg']]] -]; diff --git a/docs/html/search/enumvalues_5.js b/docs/html/search/enumvalues_5.js deleted file mode 100644 index a15fdb0..0000000 --- a/docs/html/search/enumvalues_5.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['failedallocation_449',['FailedAllocation',['../group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066abc2b4181e818f2e9b52b2bc54dd55907',1,'tvg']]] -]; diff --git a/docs/html/search/enumvalues_6.js b/docs/html/search/enumvalues_6.js deleted file mode 100644 index cdc3482..0000000 --- a/docs/html/search/enumvalues_6.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['gl_450',['Gl',['../group__ThorVG.html#gga3dfc0651e85484b1011772dd9f8300dfa0f16de4274952a7184e059c5f2d048d6',1,'tvg']]] -]; diff --git a/docs/html/search/enumvalues_7.js b/docs/html/search/enumvalues_7.js deleted file mode 100644 index 6647d82..0000000 --- a/docs/html/search/enumvalues_7.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['individual_451',['Individual',['../classtvg_1_1SwCanvas.html#a9b9770837f0171b15f0cd86f94e8e22bab0257211e60ed5eb6767ec8ed3ec2524',1,'tvg::SwCanvas']]], - ['insufficientcondition_452',['InsufficientCondition',['../group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066a119732ff568bf103d744e930ae2404f1',1,'tvg']]], - ['invalidarguments_453',['InvalidArguments',['../group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066ae73a2e92f1c87086c838b442552a4775',1,'tvg']]], - ['invalphamask_454',['InvAlphaMask',['../group__ThorVG.html#ggaabdf94ada64e69d06deabc5aa6576f87a59cc48dcf714e3a3c2492f4dce1fe134',1,'tvg']]] -]; diff --git a/docs/html/search/enumvalues_8.js b/docs/html/search/enumvalues_8.js deleted file mode 100644 index be7bf61..0000000 --- a/docs/html/search/enumvalues_8.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['lineto_455',['LineTo',['../group__ThorVG.html#gga6876ed676934f4dbcc19b1b53c153cc1a5dc59cf06f56c730c0a4bfe69c9bf689',1,'tvg']]] -]; diff --git a/docs/html/search/enumvalues_9.js b/docs/html/search/enumvalues_9.js deleted file mode 100644 index d9051e3..0000000 --- a/docs/html/search/enumvalues_9.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['memorycorruption_456',['MemoryCorruption',['../group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066ae8c0c653fcac575c31470f0f800991c6',1,'tvg']]], - ['miter_457',['Miter',['../group__ThorVG.html#ggaba8b7236c41a171289aef2f3c71eef51ae4396f81cd926bb129ccf3c147c64514',1,'tvg']]], - ['moveto_458',['MoveTo',['../group__ThorVG.html#gga6876ed676934f4dbcc19b1b53c153cc1ad9046d3b1ebf3889943b3be3ca477613',1,'tvg']]] -]; diff --git a/docs/html/search/enumvalues_a.js b/docs/html/search/enumvalues_a.js deleted file mode 100644 index 564ffab..0000000 --- a/docs/html/search/enumvalues_a.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['none_459',['None',['../group__ThorVG.html#ggaabdf94ada64e69d06deabc5aa6576f87a6adf97f83acf6453d4a6a4b1070f3754',1,'tvg']]], - ['nonsupport_460',['NonSupport',['../group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066aa0cfd518e4385f31d38720579321ed29',1,'tvg']]] -]; diff --git a/docs/html/search/enumvalues_b.js b/docs/html/search/enumvalues_b.js deleted file mode 100644 index a8b9f0c..0000000 --- a/docs/html/search/enumvalues_b.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['pad_461',['Pad',['../group__ThorVG.html#gga0cfa2c92260cca776292cc9e8964f2daade43468adaf6acb2c38ebc0c1176f82f',1,'tvg']]] -]; diff --git a/docs/html/search/enumvalues_c.js b/docs/html/search/enumvalues_c.js deleted file mode 100644 index ed9f906..0000000 --- a/docs/html/search/enumvalues_c.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['reflect_462',['Reflect',['../group__ThorVG.html#gga0cfa2c92260cca776292cc9e8964f2daa74de3e45e4491e956e8dc18d841d9b00',1,'tvg']]], - ['repeat_463',['Repeat',['../group__ThorVG.html#gga0cfa2c92260cca776292cc9e8964f2daa7020426cfb0a204051be4b3053d2acc8',1,'tvg']]], - ['round_464',['Round',['../group__ThorVG.html#gga6239974a858100e129f1e0b8ffac4f96ab7f41fc1412ad2ee75e9b2635d3b9d5c',1,'tvg::Round()'],['../group__ThorVG.html#ggaba8b7236c41a171289aef2f3c71eef51ab7f41fc1412ad2ee75e9b2635d3b9d5c',1,'tvg::Round()']]] -]; diff --git a/docs/html/search/enumvalues_d.js b/docs/html/search/enumvalues_d.js deleted file mode 100644 index bf3f3e0..0000000 --- a/docs/html/search/enumvalues_d.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['shareable_465',['Shareable',['../classtvg_1_1SwCanvas.html#a9b9770837f0171b15f0cd86f94e8e22ba4652dcff02024c6e4cba53124ddb5dd5',1,'tvg::SwCanvas']]], - ['square_466',['Square',['../group__ThorVG.html#gga6239974a858100e129f1e0b8ffac4f96aceb46ca115d05c51aa5a16a8867c3304',1,'tvg']]], - ['success_467',['Success',['../group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066a505a83f220c02df2f85c3810cd9ceb38',1,'tvg']]], - ['sw_468',['Sw',['../group__ThorVG.html#gga3dfc0651e85484b1011772dd9f8300dfa1f030517f6d25e8607a2a9a7f6227ebc',1,'tvg']]] -]; diff --git a/docs/html/search/enumvalues_e.js b/docs/html/search/enumvalues_e.js deleted file mode 100644 index cf03476..0000000 --- a/docs/html/search/enumvalues_e.js +++ /dev/null @@ -1,36 +0,0 @@ -var searchData= -[ - ['tvg_5fcolorspace_5fabgr8888_469',['TVG_COLORSPACE_ABGR8888',['../group__ThorVGCapi__SwCanvas.html#ggae038f89e569d85c0896711a0a31b4a78a3e19cdea8a31c91c381385ba87626ae4',1,'thorvg_capi.h']]], - ['tvg_5fcolorspace_5fargb8888_470',['TVG_COLORSPACE_ARGB8888',['../group__ThorVGCapi__SwCanvas.html#ggae038f89e569d85c0896711a0a31b4a78a362994879a2332b343d408dd3a397d97',1,'thorvg_capi.h']]], - ['tvg_5fcomposite_5fmethod_5falpha_5fmask_471',['TVG_COMPOSITE_METHOD_ALPHA_MASK',['../group__ThorVGCapi__Paint.html#gga1ec9193ca6959f9d91a80cc61cd0df3aae536c237d654d73f306f2d346fc3c86a',1,'thorvg_capi.h']]], - ['tvg_5fcomposite_5fmethod_5fclip_5fpath_472',['TVG_COMPOSITE_METHOD_CLIP_PATH',['../group__ThorVGCapi__Paint.html#gga1ec9193ca6959f9d91a80cc61cd0df3aa517f996a4e50e88727607b959ce52852',1,'thorvg_capi.h']]], - ['tvg_5fcomposite_5fmethod_5finverse_5falpha_5fmask_473',['TVG_COMPOSITE_METHOD_INVERSE_ALPHA_MASK',['../group__ThorVGCapi__Paint.html#gga1ec9193ca6959f9d91a80cc61cd0df3aaf5b9626da41b4a50070f97139062c759',1,'thorvg_capi.h']]], - ['tvg_5fcomposite_5fmethod_5fnone_474',['TVG_COMPOSITE_METHOD_NONE',['../group__ThorVGCapi__Paint.html#gga1ec9193ca6959f9d91a80cc61cd0df3aa9122090fc6c074e22fa0964effa1b375',1,'thorvg_capi.h']]], - ['tvg_5fengine_5fgl_475',['TVG_ENGINE_GL',['../group__ThorVGCapi__Initializer.html#ggaa61c2088915fc211ac91ffafaf45f695a512e634431a51f22e388d7b87828cac1',1,'thorvg_capi.h']]], - ['tvg_5fengine_5fsw_476',['TVG_ENGINE_SW',['../group__ThorVGCapi__Initializer.html#ggaa61c2088915fc211ac91ffafaf45f695a87a18b02d5fc2509c1c4372e46183c96',1,'thorvg_capi.h']]], - ['tvg_5ffill_5frule_5feven_5fodd_477',['TVG_FILL_RULE_EVEN_ODD',['../group__ThorVGCapi__Shape.html#ggaffafa3cd9dc4bc90a7ef3c763add2695abed5f43e043f8f277310ac6765cd4d88',1,'thorvg_capi.h']]], - ['tvg_5ffill_5frule_5fwinding_478',['TVG_FILL_RULE_WINDING',['../group__ThorVGCapi__Shape.html#ggaffafa3cd9dc4bc90a7ef3c763add2695ad241fa1df1af5a66c711414462ff1190',1,'thorvg_capi.h']]], - ['tvg_5fmempool_5fpolicy_5fdefault_479',['TVG_MEMPOOL_POLICY_DEFAULT',['../group__ThorVGCapi__SwCanvas.html#ggae63c2c2eee33be6410d3c8a013067b47aa37438e515a19c5770e52b7346c8d8c5',1,'thorvg_capi.h']]], - ['tvg_5fmempool_5fpolicy_5findividual_480',['TVG_MEMPOOL_POLICY_INDIVIDUAL',['../group__ThorVGCapi__SwCanvas.html#ggae63c2c2eee33be6410d3c8a013067b47a17b8765ba731e3c626d04ce31487c859',1,'thorvg_capi.h']]], - ['tvg_5fmempool_5fpolicy_5fshareable_481',['TVG_MEMPOOL_POLICY_SHAREABLE',['../group__ThorVGCapi__SwCanvas.html#ggae63c2c2eee33be6410d3c8a013067b47aec88b2753a257cdc5be880c7d4bfeef9',1,'thorvg_capi.h']]], - ['tvg_5fpath_5fcommand_5fclose_482',['TVG_PATH_COMMAND_CLOSE',['../group__ThorVGCapi__Shape.html#gga08e05d64247332603a624cea6597be77a6d66fea8e74674015ebb98d53f3f1fb1',1,'thorvg_capi.h']]], - ['tvg_5fpath_5fcommand_5fcubic_5fto_483',['TVG_PATH_COMMAND_CUBIC_TO',['../group__ThorVGCapi__Shape.html#gga08e05d64247332603a624cea6597be77a411110736873e7f995446761ab927a26',1,'thorvg_capi.h']]], - ['tvg_5fpath_5fcommand_5fline_5fto_484',['TVG_PATH_COMMAND_LINE_TO',['../group__ThorVGCapi__Shape.html#gga08e05d64247332603a624cea6597be77ae77bc11698c492057df630321cab5536',1,'thorvg_capi.h']]], - ['tvg_5fpath_5fcommand_5fmove_5fto_485',['TVG_PATH_COMMAND_MOVE_TO',['../group__ThorVGCapi__Shape.html#gga08e05d64247332603a624cea6597be77a8fcafa6e4f0b512e2a09a711c74aa821',1,'thorvg_capi.h']]], - ['tvg_5fresult_5ffailed_5fallocation_486',['TVG_RESULT_FAILED_ALLOCATION',['../group__ThorVG__CAPI.html#ggad980f552658dcbbe42a0168f35c27781a30ea1fee167bdc1fc70005fb6d2d1b59',1,'thorvg_capi.h']]], - ['tvg_5fresult_5finsufficient_5fcondition_487',['TVG_RESULT_INSUFFICIENT_CONDITION',['../group__ThorVG__CAPI.html#ggad980f552658dcbbe42a0168f35c27781a6ac2425d9e8afeff9d6d847cb6fc44b3',1,'thorvg_capi.h']]], - ['tvg_5fresult_5finvalid_5fargument_488',['TVG_RESULT_INVALID_ARGUMENT',['../group__ThorVG__CAPI.html#ggad980f552658dcbbe42a0168f35c27781a1cf3b50869745c98ef4f59079aed3a6e',1,'thorvg_capi.h']]], - ['tvg_5fresult_5fmemory_5fcorruption_489',['TVG_RESULT_MEMORY_CORRUPTION',['../group__ThorVG__CAPI.html#ggad980f552658dcbbe42a0168f35c27781a7e0e245d6bf67c84e0b74838e765d98b',1,'thorvg_capi.h']]], - ['tvg_5fresult_5fnot_5fsupported_490',['TVG_RESULT_NOT_SUPPORTED',['../group__ThorVG__CAPI.html#ggad980f552658dcbbe42a0168f35c27781a24cd3c83f47655b8987281f4cbc1dd24',1,'thorvg_capi.h']]], - ['tvg_5fresult_5fsuccess_491',['TVG_RESULT_SUCCESS',['../group__ThorVG__CAPI.html#ggad980f552658dcbbe42a0168f35c27781ab3840b5bbade03c076caa5a32fe5ee47',1,'thorvg_capi.h']]], - ['tvg_5fresult_5funknown_492',['TVG_RESULT_UNKNOWN',['../group__ThorVG__CAPI.html#ggad980f552658dcbbe42a0168f35c27781a1820972547d1ef01782d7e8f60266109',1,'thorvg_capi.h']]], - ['tvg_5fstroke_5fcap_5fbutt_493',['TVG_STROKE_CAP_BUTT',['../group__ThorVGCapi__Shape.html#gga3bcc39b01d899a7e82a6c939740208d3aefc7710297416d48b660aeeebdd9c796',1,'thorvg_capi.h']]], - ['tvg_5fstroke_5fcap_5fround_494',['TVG_STROKE_CAP_ROUND',['../group__ThorVGCapi__Shape.html#gga3bcc39b01d899a7e82a6c939740208d3a23c1fc3f65e3389a5d5dc404f9353d08',1,'thorvg_capi.h']]], - ['tvg_5fstroke_5fcap_5fsquare_495',['TVG_STROKE_CAP_SQUARE',['../group__ThorVGCapi__Shape.html#gga3bcc39b01d899a7e82a6c939740208d3adcc12b6372824aacc98ce242452680f4',1,'thorvg_capi.h']]], - ['tvg_5fstroke_5ffill_5fpad_496',['TVG_STROKE_FILL_PAD',['../group__ThorVGCapi__Shape.html#gga9ac44e712782a9b2a5a36a49b2ae52c7aa9c76cb4d947723ba270108f401f13ce',1,'thorvg_capi.h']]], - ['tvg_5fstroke_5ffill_5freflect_497',['TVG_STROKE_FILL_REFLECT',['../group__ThorVGCapi__Shape.html#gga9ac44e712782a9b2a5a36a49b2ae52c7a1cd7fd72e3ba1df2ccfbc683d81d1038',1,'thorvg_capi.h']]], - ['tvg_5fstroke_5ffill_5frepeat_498',['TVG_STROKE_FILL_REPEAT',['../group__ThorVGCapi__Shape.html#gga9ac44e712782a9b2a5a36a49b2ae52c7ab6191afa65b90f78dcd2261d058e8ed2',1,'thorvg_capi.h']]], - ['tvg_5fstroke_5fjoin_5fbevel_499',['TVG_STROKE_JOIN_BEVEL',['../group__ThorVGCapi__Shape.html#ggaf2cbac2c9164a782b96a8cd94f32e1eda05cffd5ebeeb548afaee19ae77257168',1,'thorvg_capi.h']]], - ['tvg_5fstroke_5fjoin_5fmiter_500',['TVG_STROKE_JOIN_MITER',['../group__ThorVGCapi__Shape.html#ggaf2cbac2c9164a782b96a8cd94f32e1eda2b2f5ccaa98b8f535c86c52aae82da4d',1,'thorvg_capi.h']]], - ['tvg_5fstroke_5fjoin_5fround_501',['TVG_STROKE_JOIN_ROUND',['../group__ThorVGCapi__Shape.html#ggaf2cbac2c9164a782b96a8cd94f32e1eda6568aef8eba70b2dac2e901b6a7198ee',1,'thorvg_capi.h']]] -]; diff --git a/docs/html/search/enumvalues_f.js b/docs/html/search/enumvalues_f.js deleted file mode 100644 index 36a8801..0000000 --- a/docs/html/search/enumvalues_f.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['unknown_502',['Unknown',['../group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066a88183b946cc5f0e8c96b2e66e1c74a7e',1,'tvg']]] -]; diff --git a/docs/html/search/functions_0.js b/docs/html/search/functions_0.js deleted file mode 100644 index e8818dd..0000000 --- a/docs/html/search/functions_0.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['appendarc_272',['appendArc',['../classtvg_1_1Shape.html#a2f003a843ff42f6cee6a726f543836e3',1,'tvg::Shape']]], - ['appendcircle_273',['appendCircle',['../classtvg_1_1Shape.html#a52eccb2815eaa1231da9c389cd92ffa1',1,'tvg::Shape']]], - ['appendpath_274',['appendPath',['../classtvg_1_1Shape.html#a3588ea30776a747a22b6ee82dadb9717',1,'tvg::Shape']]], - ['appendrect_275',['appendRect',['../classtvg_1_1Shape.html#a676c64ce75c274ce75032606d33b03da',1,'tvg::Shape']]] -]; diff --git a/docs/html/search/functions_1.js b/docs/html/search/functions_1.js deleted file mode 100644 index 8b6d16b..0000000 --- a/docs/html/search/functions_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['bounds_276',['bounds',['../classtvg_1_1Paint.html#aed5a6ad8edd827a378111b590ed7755d',1,'tvg::Paint::bounds(float *x, float *y, float *w, float *h) const noexcept'],['../classtvg_1_1Paint.html#a1b51b7344eac48d285c073bc488197d3',1,'tvg::Paint::bounds(float *x, float *y, float *w, float *h, bool transformed) const noexcept']]] -]; diff --git a/docs/html/search/functions_2.js b/docs/html/search/functions_2.js deleted file mode 100644 index 14a5589..0000000 --- a/docs/html/search/functions_2.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['clear_277',['clear',['../classtvg_1_1Canvas.html#a99cdb01cd893f4199b521b754d21aefd',1,'tvg::Canvas::clear()'],['../classtvg_1_1Scene.html#ac020ea777be697067c6f5c8b18f6a4ed',1,'tvg::Scene::clear()']]], - ['close_278',['close',['../classtvg_1_1Shape.html#a2765987a2641ac1db76d5c64f00da697',1,'tvg::Shape']]], - ['colorstops_279',['colorStops',['../classtvg_1_1Fill.html#a92717fc84a7d5df56e42e3bc863fce1a',1,'tvg::Fill::colorStops(const ColorStop *colorStops, uint32_t cnt) noexcept'],['../classtvg_1_1Fill.html#addbc9de36b4427639f3cc1dceeccb734',1,'tvg::Fill::colorStops(const ColorStop **colorStops) const noexcept']]], - ['composite_280',['composite',['../classtvg_1_1Paint.html#a2e2d077b820d1cfd6502a86e0221638b',1,'tvg::Paint::composite(std::unique_ptr< Paint > target, CompositeMethod method) noexcept'],['../classtvg_1_1Paint.html#aefe4ade5b1b6bc13d518bd5f968af3ee',1,'tvg::Paint::composite(const Paint **target) const noexcept']]], - ['cubicto_281',['cubicTo',['../classtvg_1_1Shape.html#a7b71316176172fa052373bdb7c9efd29',1,'tvg::Shape']]] -]; diff --git a/docs/html/search/functions_3.js b/docs/html/search/functions_3.js deleted file mode 100644 index ef87f02..0000000 --- a/docs/html/search/functions_3.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['data_282',['data',['../classtvg_1_1Picture.html#a21b1473525a4e1fccdc6b893bdfd4fbb',1,'tvg::Picture']]], - ['draw_283',['draw',['../classtvg_1_1Canvas.html#aabf9e5a14da3b4bfd5883c2b4459abd0',1,'tvg::Canvas']]], - ['duplicate_284',['duplicate',['../classtvg_1_1Paint.html#a71afac69fe1e7c352460be5878812635',1,'tvg::Paint::duplicate()'],['../classtvg_1_1Fill.html#a48e358abab4478ff7f84dfb85608eaf3',1,'tvg::Fill::duplicate()']]] -]; diff --git a/docs/html/search/functions_4.js b/docs/html/search/functions_4.js deleted file mode 100644 index a008009..0000000 --- a/docs/html/search/functions_4.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['fill_285',['fill',['../classtvg_1_1Shape.html#ae25e3697b5df587d50b809f1faeeabd9',1,'tvg::Shape::fill(uint8_t r, uint8_t g, uint8_t b, uint8_t a) noexcept'],['../classtvg_1_1Shape.html#ad0cb7b2ec8d18d7c6d366cc84741682c',1,'tvg::Shape::fill(std::unique_ptr< Fill > f) noexcept'],['../classtvg_1_1Shape.html#a02b95c15d0c2006134a95cdadf64e3f4',1,'tvg::Shape::fill(FillRule r) noexcept'],['../classtvg_1_1Shape.html#a989edf4b4f68532ff25004fc0c7fe826',1,'tvg::Shape::fill() const noexcept']]], - ['fillcolor_286',['fillColor',['../classtvg_1_1Shape.html#afc81d85ad3fb3f006abf835311a0acfc',1,'tvg::Shape']]], - ['fillrule_287',['fillRule',['../classtvg_1_1Shape.html#ac14cd997439012e1abf6c1b8d9f3d4aa',1,'tvg::Shape']]] -]; diff --git a/docs/html/search/functions_5.js b/docs/html/search/functions_5.js deleted file mode 100644 index aad6028..0000000 --- a/docs/html/search/functions_5.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['gen_288',['gen',['../classtvg_1_1LinearGradient.html#a346e161f12d8e8ad26b6eaaf5d0f5c5c',1,'tvg::LinearGradient::gen()'],['../classtvg_1_1RadialGradient.html#aba51891c8702157ba088bf7e2f1425eb',1,'tvg::RadialGradient::gen()'],['../classtvg_1_1Shape.html#aa91a801f4f9e8fd8e1567d014c280cb9',1,'tvg::Shape::gen()'],['../classtvg_1_1Picture.html#a68af11946af3c1c63a4e915cd0207811',1,'tvg::Picture::gen()'],['../classtvg_1_1Scene.html#a01a17bb81862d89f2a0feb5d9818a149',1,'tvg::Scene::gen()'],['../classtvg_1_1SwCanvas.html#aba83ff17ba357417c8bbe62cf5141c96',1,'tvg::SwCanvas::gen()'],['../classtvg_1_1GlCanvas.html#ad6ae7e14a4f29b7ae78ad5b92350cf90',1,'tvg::GlCanvas::gen()'],['../classtvg_1_1Saver.html#a938c339098e9da63f98f2b182a4cf683',1,'tvg::Saver::gen()']]] -]; diff --git a/docs/html/search/functions_6.js b/docs/html/search/functions_6.js deleted file mode 100644 index b77350c..0000000 --- a/docs/html/search/functions_6.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['identifier_289',['identifier',['../classtvg_1_1Paint.html#a87a69d60151166624e63799203acbd1d',1,'tvg::Paint::identifier()'],['../classtvg_1_1Fill.html#a87a69d60151166624e63799203acbd1d',1,'tvg::Fill::identifier()'],['../classtvg_1_1LinearGradient.html#a13df43a335dadaea01769a726dc9ddfd',1,'tvg::LinearGradient::identifier()'],['../classtvg_1_1RadialGradient.html#a13df43a335dadaea01769a726dc9ddfd',1,'tvg::RadialGradient::identifier()'],['../classtvg_1_1Shape.html#a13df43a335dadaea01769a726dc9ddfd',1,'tvg::Shape::identifier()'],['../classtvg_1_1Picture.html#a13df43a335dadaea01769a726dc9ddfd',1,'tvg::Picture::identifier()'],['../classtvg_1_1Scene.html#a13df43a335dadaea01769a726dc9ddfd',1,'tvg::Scene::identifier()']]], - ['init_290',['init',['../classtvg_1_1Initializer.html#aecd30dc028635b645b0dac5b6facea73',1,'tvg::Initializer']]] -]; diff --git a/docs/html/search/functions_7.js b/docs/html/search/functions_7.js deleted file mode 100644 index ed95e76..0000000 --- a/docs/html/search/functions_7.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['linear_291',['linear',['../classtvg_1_1LinearGradient.html#aa881eb89e14ade6a30bc41d7eb8eaf52',1,'tvg::LinearGradient::linear(float x1, float y1, float x2, float y2) noexcept'],['../classtvg_1_1LinearGradient.html#a5c77e9f6e855a595945f45a6b19ee983',1,'tvg::LinearGradient::linear(float *x1, float *y1, float *x2, float *y2) const noexcept']]], - ['lineto_292',['lineTo',['../classtvg_1_1Shape.html#a9c28e9bbc6bd22dc62e891ffb3fa02cd',1,'tvg::Shape']]], - ['load_293',['load',['../classtvg_1_1Picture.html#aaf06be7d0b572c5ce35315cbddd7d318',1,'tvg::Picture::load(const std::string &path) noexcept'],['../classtvg_1_1Picture.html#a3e487c0b236a6eea853c5ccb7665cdce',1,'tvg::Picture::load(const char *data, uint32_t size, bool copy=false) noexcept'],['../classtvg_1_1Picture.html#a95979a7c4ce51445c7ef9d6461c34767',1,'tvg::Picture::load(const char *data, uint32_t size, const std::string &mimeType, bool copy=false) noexcept'],['../classtvg_1_1Picture.html#a1fdf75092cebaa7cde48d6a7d4946368',1,'tvg::Picture::load(uint32_t *data, uint32_t w, uint32_t h, bool copy) noexcept']]] -]; diff --git a/docs/html/search/functions_8.js b/docs/html/search/functions_8.js deleted file mode 100644 index 7584b61..0000000 --- a/docs/html/search/functions_8.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['mempool_294',['mempool',['../classtvg_1_1SwCanvas.html#a3486268541200559f16847cbe714a72c',1,'tvg::SwCanvas']]], - ['moveto_295',['moveTo',['../classtvg_1_1Shape.html#a59f97aaa973af7c58081690433286461',1,'tvg::Shape']]] -]; diff --git a/docs/html/search/functions_9.js b/docs/html/search/functions_9.js deleted file mode 100644 index 32bac21..0000000 --- a/docs/html/search/functions_9.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['opacity_296',['opacity',['../classtvg_1_1Paint.html#a2f25b71fed3ae390eb8051c7ea65aebf',1,'tvg::Paint::opacity(uint8_t o) noexcept'],['../classtvg_1_1Paint.html#a2ee7517b8bfad47e0f999ba3450e0e3e',1,'tvg::Paint::opacity() const noexcept']]] -]; diff --git a/docs/html/search/functions_a.js b/docs/html/search/functions_a.js deleted file mode 100644 index 2502dd4..0000000 --- a/docs/html/search/functions_a.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['pathcommands_297',['pathCommands',['../classtvg_1_1Shape.html#ac14d90c2c0130b66a9a33eb7d08101b7',1,'tvg::Shape']]], - ['pathcoords_298',['pathCoords',['../classtvg_1_1Shape.html#a818b1b358f0ed7ba448b6d804e087923',1,'tvg::Shape']]], - ['push_299',['push',['../classtvg_1_1Canvas.html#a82c5ec1c1ba93cf7671642400074201e',1,'tvg::Canvas::push()'],['../classtvg_1_1Scene.html#a19240cd5b53571da718fabef8afb7103',1,'tvg::Scene::push()']]] -]; diff --git a/docs/html/search/functions_b.js b/docs/html/search/functions_b.js deleted file mode 100644 index 92effac..0000000 --- a/docs/html/search/functions_b.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['radial_300',['radial',['../classtvg_1_1RadialGradient.html#a3688387d86ebd5003ee98d90f24a6030',1,'tvg::RadialGradient::radial(float cx, float cy, float radius) noexcept'],['../classtvg_1_1RadialGradient.html#a706e9ec51bf12483b1d59f99c6fe045e',1,'tvg::RadialGradient::radial(float *cx, float *cy, float *radius) const noexcept']]], - ['reserve_301',['reserve',['../classtvg_1_1Canvas.html#a4cff0ab757e1db9077bbecaf25f012ba',1,'tvg::Canvas::reserve()'],['../classtvg_1_1Scene.html#a7e23b9ddc266b5910001174b3c84a485',1,'tvg::Scene::reserve()']]], - ['reset_302',['reset',['../classtvg_1_1Shape.html#a8014640e362066901c2e2ebe6ddd1251',1,'tvg::Shape']]], - ['rotate_303',['rotate',['../classtvg_1_1Paint.html#a7841fa0c14643e09735d48042ead68f3',1,'tvg::Paint']]] -]; diff --git a/docs/html/search/functions_c.js b/docs/html/search/functions_c.js deleted file mode 100644 index 8f02a58..0000000 --- a/docs/html/search/functions_c.js +++ /dev/null @@ -1,15 +0,0 @@ -var searchData= -[ - ['save_304',['save',['../classtvg_1_1Saver.html#acda492a458f3ddc2da01df672ecd85bd',1,'tvg::Saver']]], - ['scale_305',['scale',['../classtvg_1_1Paint.html#a5c057876185525c5723215f95a3984f2',1,'tvg::Paint']]], - ['size_306',['size',['../classtvg_1_1Picture.html#a065e47b46c791ee4d93ed3252d581a40',1,'tvg::Picture::size(float w, float h) noexcept'],['../classtvg_1_1Picture.html#af80639ef3460a5cf06278fdc03c13aad',1,'tvg::Picture::size(float *w, float *h) const noexcept']]], - ['spread_307',['spread',['../classtvg_1_1Fill.html#aed49d00ca09e69fdf97aaae235f8e950',1,'tvg::Fill::spread(FillSpread s) noexcept'],['../classtvg_1_1Fill.html#a55f6de063e5ac8023243c9cef5cb9a12',1,'tvg::Fill::spread() const noexcept']]], - ['stroke_308',['stroke',['../classtvg_1_1Shape.html#a5ce764cd1970c7a7d76b209c4441bc73',1,'tvg::Shape::stroke(float width) noexcept'],['../classtvg_1_1Shape.html#a68a4822b30573cf4f02195b249218e4e',1,'tvg::Shape::stroke(uint8_t r, uint8_t g, uint8_t b, uint8_t a) noexcept'],['../classtvg_1_1Shape.html#ab0b09b5064dff4931db9ea898b36dcc1',1,'tvg::Shape::stroke(std::unique_ptr< Fill > f) noexcept'],['../classtvg_1_1Shape.html#ae79102d63897ad86a96afb4436c731e4',1,'tvg::Shape::stroke(const float *dashPattern, uint32_t cnt) noexcept'],['../classtvg_1_1Shape.html#a39068c9686211de862844dacabf92375',1,'tvg::Shape::stroke(StrokeCap cap) noexcept'],['../classtvg_1_1Shape.html#ac416cad0d9e15079a112b1f609d19177',1,'tvg::Shape::stroke(StrokeJoin join) noexcept']]], - ['strokecap_309',['strokeCap',['../classtvg_1_1Shape.html#a0948989a7f0a9e253234cd9f53784674',1,'tvg::Shape']]], - ['strokecolor_310',['strokeColor',['../classtvg_1_1Shape.html#a7b81219e058ae54e731c5702a1c61462',1,'tvg::Shape']]], - ['strokedash_311',['strokeDash',['../classtvg_1_1Shape.html#afbc1e469219ee86df47d216f58af282a',1,'tvg::Shape']]], - ['strokefill_312',['strokeFill',['../classtvg_1_1Shape.html#a08ce41b2d01d2d43980e5c26f4df111e',1,'tvg::Shape']]], - ['strokejoin_313',['strokeJoin',['../classtvg_1_1Shape.html#aac0235df4172e9c079689e5291c7ad5a',1,'tvg::Shape']]], - ['strokewidth_314',['strokeWidth',['../classtvg_1_1Shape.html#a1536ec32e91c29dd8300b0d4354773f9',1,'tvg::Shape']]], - ['sync_315',['sync',['../classtvg_1_1Canvas.html#adbca600af79f9a0b8e8366e3be7450e9',1,'tvg::Canvas::sync()'],['../classtvg_1_1Saver.html#a2fdf9b2208358ea10f912b1877733778',1,'tvg::Saver::sync()']]] -]; diff --git a/docs/html/search/functions_d.js b/docs/html/search/functions_d.js deleted file mode 100644 index 56dc86c..0000000 --- a/docs/html/search/functions_d.js +++ /dev/null @@ -1,93 +0,0 @@ -var searchData= -[ - ['target_316',['target',['../classtvg_1_1SwCanvas.html#a2d4c80a0ba45465b073ee0c279e8c8dc',1,'tvg::SwCanvas::target()'],['../classtvg_1_1GlCanvas.html#aad369f9a4a762338d0ef4a16265a0f29',1,'tvg::GlCanvas::target()']]], - ['term_317',['term',['../classtvg_1_1Initializer.html#ace5ab49a2678becae6e7230420a003df',1,'tvg::Initializer']]], - ['transform_318',['transform',['../classtvg_1_1Paint.html#ac9f6ba428afe884bcc2861de0a2a96f4',1,'tvg::Paint::transform(const Matrix &m) noexcept'],['../classtvg_1_1Paint.html#ad1e49b6eb81e87bd860f19e1b92c574b',1,'tvg::Paint::transform() noexcept'],['../classtvg_1_1Fill.html#ac9f6ba428afe884bcc2861de0a2a96f4',1,'tvg::Fill::transform(const Matrix &m) noexcept'],['../classtvg_1_1Fill.html#ad96ad531732975db718aaf1210d47cd7',1,'tvg::Fill::transform() const noexcept']]], - ['translate_319',['translate',['../classtvg_1_1Paint.html#ae896f56bfa51c98a50eee3f2bb62e41e',1,'tvg::Paint']]], - ['tvg_5fcanvas_5fclear_320',['tvg_canvas_clear',['../group__ThorVGCapi__Canvas.html#ga052c131ed5a2a3a053dcb321542c2c80',1,'thorvg_capi.h']]], - ['tvg_5fcanvas_5fdestroy_321',['tvg_canvas_destroy',['../group__ThorVGCapi__Canvas.html#ga0a3af123f8054dc6c182c70dc4907813',1,'thorvg_capi.h']]], - ['tvg_5fcanvas_5fdraw_322',['tvg_canvas_draw',['../group__ThorVGCapi__Canvas.html#ga0be96c28afddf9cf252d68a431438632',1,'thorvg_capi.h']]], - ['tvg_5fcanvas_5fpush_323',['tvg_canvas_push',['../group__ThorVGCapi__Canvas.html#ga0e4daf723d6080d526ce0aa4111a1439',1,'thorvg_capi.h']]], - ['tvg_5fcanvas_5freserve_324',['tvg_canvas_reserve',['../group__ThorVGCapi__Canvas.html#gafd31da91fe8571f0b12bca25364d71f2',1,'thorvg_capi.h']]], - ['tvg_5fcanvas_5fsync_325',['tvg_canvas_sync',['../group__ThorVGCapi__Canvas.html#ga61c17823da7ed6748cc0d80013b2e1b7',1,'thorvg_capi.h']]], - ['tvg_5fcanvas_5fupdate_326',['tvg_canvas_update',['../group__ThorVGCapi__Canvas.html#ga7c43ae4fb1a06afbe3616b4552740edf',1,'thorvg_capi.h']]], - ['tvg_5fcanvas_5fupdate_5fpaint_327',['tvg_canvas_update_paint',['../group__ThorVGCapi__Canvas.html#ga50761cba3cc3143a90f72124a597216f',1,'thorvg_capi.h']]], - ['tvg_5fengine_5finit_328',['tvg_engine_init',['../group__ThorVGCapi__Initializer.html#ga315ed4054d2547029c3d67414d0f227e',1,'thorvg_capi.h']]], - ['tvg_5fengine_5fterm_329',['tvg_engine_term',['../group__ThorVGCapi__Initializer.html#ga96d2cc74ed36a277467aba48093e7862',1,'thorvg_capi.h']]], - ['tvg_5fgradient_5fdel_330',['tvg_gradient_del',['../group__ThorVGCapi__Gradient.html#gad267b161f306064cc3c0082ec7906a95',1,'thorvg_capi.h']]], - ['tvg_5fgradient_5fduplicate_331',['tvg_gradient_duplicate',['../group__ThorVGCapi__Gradient.html#ga6eba942f41e445f09011647fea1b1ae1',1,'thorvg_capi.h']]], - ['tvg_5fgradient_5fget_5fcolor_5fstops_332',['tvg_gradient_get_color_stops',['../group__ThorVGCapi__Gradient.html#gac52a300f42295ac9f4c4ab1d41f68d28',1,'thorvg_capi.h']]], - ['tvg_5fgradient_5fget_5fspread_333',['tvg_gradient_get_spread',['../group__ThorVGCapi__Gradient.html#gaa40a5554a7abd6b19c07c2335ab7f539',1,'thorvg_capi.h']]], - ['tvg_5fgradient_5fget_5ftransform_334',['tvg_gradient_get_transform',['../group__ThorVGCapi__Gradient.html#ga07743c5cb03f2a484558b7728aefba2c',1,'thorvg_capi.h']]], - ['tvg_5fgradient_5fset_5fcolor_5fstops_335',['tvg_gradient_set_color_stops',['../group__ThorVGCapi__Gradient.html#ga8d5755566bb7281984a44c9c687f2b48',1,'thorvg_capi.h']]], - ['tvg_5fgradient_5fset_5fspread_336',['tvg_gradient_set_spread',['../group__ThorVGCapi__Gradient.html#gad800cb39d78429089adba8f0952ba433',1,'thorvg_capi.h']]], - ['tvg_5fgradient_5fset_5ftransform_337',['tvg_gradient_set_transform',['../group__ThorVGCapi__Gradient.html#ga64c5d823f8a3f1791e215da25e290905',1,'thorvg_capi.h']]], - ['tvg_5flinear_5fgradient_5fget_338',['tvg_linear_gradient_get',['../group__ThorVGCapi__Gradient.html#gaa503fc8455eb63acda4b3ff0737f4d4e',1,'thorvg_capi.h']]], - ['tvg_5flinear_5fgradient_5fnew_339',['tvg_linear_gradient_new',['../group__ThorVGCapi__Gradient.html#gab77d80df3c269fa531e7b81c8e8410d2',1,'thorvg_capi.h']]], - ['tvg_5flinear_5fgradient_5fset_340',['tvg_linear_gradient_set',['../group__ThorVGCapi__Gradient.html#ga00590e1313394b75b8619ff27ddd233b',1,'thorvg_capi.h']]], - ['tvg_5fpaint_5fdel_341',['tvg_paint_del',['../group__ThorVGCapi__Paint.html#ga707bc7b4cf99ab40063b7eeef89ca170',1,'thorvg_capi.h']]], - ['tvg_5fpaint_5fduplicate_342',['tvg_paint_duplicate',['../group__ThorVGCapi__Paint.html#gae7852760d3f05e2d7ce0c899535d223b',1,'thorvg_capi.h']]], - ['tvg_5fpaint_5fget_5fbounds_343',['tvg_paint_get_bounds',['../group__ThorVGCapi__Paint.html#gac66ede4c89860773ad5cbb005b3114b9',1,'thorvg_capi.h']]], - ['tvg_5fpaint_5fget_5fcomposite_5fmethod_344',['tvg_paint_get_composite_method',['../group__ThorVGCapi__Paint.html#ga78b13aa50047f1ac576b6452697217df',1,'thorvg_capi.h']]], - ['tvg_5fpaint_5fget_5fopacity_345',['tvg_paint_get_opacity',['../group__ThorVGCapi__Paint.html#gaecd6459a42a59995dd23a58e4600dfeb',1,'thorvg_capi.h']]], - ['tvg_5fpaint_5fget_5ftransform_346',['tvg_paint_get_transform',['../group__ThorVGCapi__Paint.html#ga143f8e55a6b5dd6076be197c573fe32d',1,'thorvg_capi.h']]], - ['tvg_5fpaint_5frotate_347',['tvg_paint_rotate',['../group__ThorVGCapi__Paint.html#ga60ab7fce408fc3065d77895855fcf532',1,'thorvg_capi.h']]], - ['tvg_5fpaint_5fscale_348',['tvg_paint_scale',['../group__ThorVGCapi__Paint.html#gad91401c9574f634f0f744d8e5903203b',1,'thorvg_capi.h']]], - ['tvg_5fpaint_5fset_5fcomposite_5fmethod_349',['tvg_paint_set_composite_method',['../group__ThorVGCapi__Paint.html#ga5af1043991b0de19c888855feeab2e5d',1,'thorvg_capi.h']]], - ['tvg_5fpaint_5fset_5fopacity_350',['tvg_paint_set_opacity',['../group__ThorVGCapi__Paint.html#ga9b621889be1a6aac905a6564d71a800f',1,'thorvg_capi.h']]], - ['tvg_5fpaint_5fset_5ftransform_351',['tvg_paint_set_transform',['../group__ThorVGCapi__Paint.html#ga6a6eda669568d251f63b92836c281123',1,'thorvg_capi.h']]], - ['tvg_5fpaint_5ftranslate_352',['tvg_paint_translate',['../group__ThorVGCapi__Paint.html#gaf7c5c66bd41da9262996ee9a9def42ff',1,'thorvg_capi.h']]], - ['tvg_5fpicture_5fget_5fsize_353',['tvg_picture_get_size',['../group__ThorVGCapi__Picture.html#gaa3a390498aeb3e873a0469a1cf5c627d',1,'thorvg_capi.h']]], - ['tvg_5fpicture_5fget_5fviewbox_354',['tvg_picture_get_viewbox',['../group__ThorVGCapi__Picture.html#ga4a3950f95a05cbc29e869d7d5071aeb9',1,'thorvg_capi.h']]], - ['tvg_5fpicture_5fload_355',['tvg_picture_load',['../group__ThorVGCapi__Picture.html#gaa101b96db706db4edd10a65da628a1ef',1,'thorvg_capi.h']]], - ['tvg_5fpicture_5fload_5fdata_356',['tvg_picture_load_data',['../group__ThorVGCapi__Picture.html#ga7876e1e653d61b44bac8ad03f832108e',1,'thorvg_capi.h']]], - ['tvg_5fpicture_5fload_5fraw_357',['tvg_picture_load_raw',['../group__ThorVGCapi__Picture.html#ga6c05096bb5d5074bff0fdbbb13a587f8',1,'thorvg_capi.h']]], - ['tvg_5fpicture_5fnew_358',['tvg_picture_new',['../group__ThorVGCapi__Picture.html#gaeb31f27827d96269a3c4d251a45215b6',1,'thorvg_capi.h']]], - ['tvg_5fpicture_5fset_5fsize_359',['tvg_picture_set_size',['../group__ThorVGCapi__Picture.html#ga2861dfc3f8d3f2ad7a5d91e73c69a058',1,'thorvg_capi.h']]], - ['tvg_5fradial_5fgradient_5fget_360',['tvg_radial_gradient_get',['../group__ThorVGCapi__Gradient.html#gaabab5eabf6d11b95b96e9c543a341199',1,'thorvg_capi.h']]], - ['tvg_5fradial_5fgradient_5fnew_361',['tvg_radial_gradient_new',['../group__ThorVGCapi__Gradient.html#ga7dc487e5d1557961cd2cc31a42daeb28',1,'thorvg_capi.h']]], - ['tvg_5fradial_5fgradient_5fset_362',['tvg_radial_gradient_set',['../group__ThorVGCapi__Gradient.html#ga321045b5fda8e8e002c4837bd03ccdac',1,'thorvg_capi.h']]], - ['tvg_5fsaver_5fdel_363',['tvg_saver_del',['../group__ThorVGCapi__Saver.html#gad9a7fbb599d78a5fdc81bb3bca10642c',1,'thorvg_capi.h']]], - ['tvg_5fsaver_5fnew_364',['tvg_saver_new',['../group__ThorVGCapi__Saver.html#ga6cb67e1b5775c480965e4465f1c9ca80',1,'thorvg_capi.h']]], - ['tvg_5fsaver_5fsave_365',['tvg_saver_save',['../group__ThorVGCapi__Saver.html#ga509981928d383dacc3a3655e161660d5',1,'thorvg_capi.h']]], - ['tvg_5fsaver_5fsync_366',['tvg_saver_sync',['../group__ThorVGCapi__Saver.html#gaee7c2b8f317f34d5d365b8cc4275dab6',1,'thorvg_capi.h']]], - ['tvg_5fscene_5fclear_367',['tvg_scene_clear',['../group__ThorVGCapi__Scene.html#gaf1c3c73f367274a10b6c1584b2ff55ec',1,'thorvg_capi.h']]], - ['tvg_5fscene_5fnew_368',['tvg_scene_new',['../group__ThorVGCapi__Scene.html#ga7572898d23143d37faa85cc89ad1625e',1,'thorvg_capi.h']]], - ['tvg_5fscene_5fpush_369',['tvg_scene_push',['../group__ThorVGCapi__Scene.html#ga16cbf3d1bdd02ebfc5a93c5d03f2d6cf',1,'thorvg_capi.h']]], - ['tvg_5fscene_5freserve_370',['tvg_scene_reserve',['../group__ThorVGCapi__Scene.html#ga8b712509a62cf5a3200ecbca53e773d3',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fappend_5farc_371',['tvg_shape_append_arc',['../group__ThorVGCapi__Shape.html#ga237a7a1bc5274dd7ffc7355be48888fd',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fappend_5fcircle_372',['tvg_shape_append_circle',['../group__ThorVGCapi__Shape.html#ga32c7b28d082544df3cc9dc6730fc6a39',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fappend_5fpath_373',['tvg_shape_append_path',['../group__ThorVGCapi__Shape.html#ga31d8aaa35a50228b0b343471ff0d77b3',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fappend_5frect_374',['tvg_shape_append_rect',['../group__ThorVGCapi__Shape.html#gac1af7237c282fc0269e65a3ba6609291',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fclose_375',['tvg_shape_close',['../group__ThorVGCapi__Shape.html#ga99049e9ec53866666fdec34f05d084b1',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fcubic_5fto_376',['tvg_shape_cubic_to',['../group__ThorVGCapi__Shape.html#ga275080e39eba2bc732625be046292176',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fget_5ffill_5fcolor_377',['tvg_shape_get_fill_color',['../group__ThorVGCapi__Shape.html#gaaf9b92ffb5736b1ab808b4f15356dd08',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fget_5ffill_5frule_378',['tvg_shape_get_fill_rule',['../group__ThorVGCapi__Shape.html#gaeebedc65bb77544aeb05980465284947',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fget_5fgradient_379',['tvg_shape_get_gradient',['../group__ThorVGCapi__Shape.html#ga962f01af5960ad4dd2e1da2f6a0336b9',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fget_5fpath_5fcommands_380',['tvg_shape_get_path_commands',['../group__ThorVGCapi__Shape.html#gacd0ecb2f60ad6ab2e616e5870e1857aa',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fget_5fpath_5fcoords_381',['tvg_shape_get_path_coords',['../group__ThorVGCapi__Shape.html#gad5323f2c523a6a14b89ed105f3450108',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fget_5fstroke_5fcap_382',['tvg_shape_get_stroke_cap',['../group__ThorVGCapi__Shape.html#gaad894f66bc9bbd8f91c351aff534536b',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fget_5fstroke_5fcolor_383',['tvg_shape_get_stroke_color',['../group__ThorVGCapi__Shape.html#gad63d7d12327f3d9912999de2a2504b8d',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fget_5fstroke_5fdash_384',['tvg_shape_get_stroke_dash',['../group__ThorVGCapi__Shape.html#ga40dd2d0753ce8a3018e02a7382abe04f',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fget_5fstroke_5fgradient_385',['tvg_shape_get_stroke_gradient',['../group__ThorVGCapi__Shape.html#ga48c323d84e770c561c14bfc586240b96',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fget_5fstroke_5fjoin_386',['tvg_shape_get_stroke_join',['../group__ThorVGCapi__Shape.html#gae31a53e787b763eaf8a0268edeab76a1',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fget_5fstroke_5fwidth_387',['tvg_shape_get_stroke_width',['../group__ThorVGCapi__Shape.html#ga6964fd905664d48bf7252d6c67cb4dcd',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fline_5fto_388',['tvg_shape_line_to',['../group__ThorVGCapi__Shape.html#ga715e047ef4d45ced617f9ed000df1842',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fmove_5fto_389',['tvg_shape_move_to',['../group__ThorVGCapi__Shape.html#ga892eb9130555a02a6e6bec3c91a7de3c',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fnew_390',['tvg_shape_new',['../group__ThorVGCapi__Shape.html#ga9c0423ae5b7747a9b6b086a93504bd8d',1,'thorvg_capi.h']]], - ['tvg_5fshape_5freset_391',['tvg_shape_reset',['../group__ThorVGCapi__Shape.html#gae5b23d6696a1b4012270a93210750e77',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fset_5ffill_5fcolor_392',['tvg_shape_set_fill_color',['../group__ThorVGCapi__Shape.html#ga9671d893c912383df0840c2915e3d88b',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fset_5ffill_5frule_393',['tvg_shape_set_fill_rule',['../group__ThorVGCapi__Shape.html#ga6d19a68df8f57681a4815c7d2e3e03ba',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fset_5flinear_5fgradient_394',['tvg_shape_set_linear_gradient',['../group__ThorVGCapi__Shape.html#ga02aa5aa9a017270ce0375b1b9db75d57',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fset_5fradial_5fgradient_395',['tvg_shape_set_radial_gradient',['../group__ThorVGCapi__Shape.html#gabd7b9020f1058aa9e9fae9b683265ef8',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fset_5fstroke_5fcap_396',['tvg_shape_set_stroke_cap',['../group__ThorVGCapi__Shape.html#gabb5f5cfe6ff8098efcde6f80c56ca200',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fset_5fstroke_5fcolor_397',['tvg_shape_set_stroke_color',['../group__ThorVGCapi__Shape.html#ga9c1d8aaf73da6f4386cce28a245d3f27',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fset_5fstroke_5fdash_398',['tvg_shape_set_stroke_dash',['../group__ThorVGCapi__Shape.html#gaab74503fd357cfaf7727c25278b71531',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fset_5fstroke_5fjoin_399',['tvg_shape_set_stroke_join',['../group__ThorVGCapi__Shape.html#ga34cb2634d8e9b603f22d4112b346c32a',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fset_5fstroke_5flinear_5fgradient_400',['tvg_shape_set_stroke_linear_gradient',['../group__ThorVGCapi__Shape.html#gae15955526c9e519ea204b77aa91de111',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fset_5fstroke_5fradial_5fgradient_401',['tvg_shape_set_stroke_radial_gradient',['../group__ThorVGCapi__Shape.html#ga0b1d28f178f276d379ca2c14fd7d869c',1,'thorvg_capi.h']]], - ['tvg_5fshape_5fset_5fstroke_5fwidth_402',['tvg_shape_set_stroke_width',['../group__ThorVGCapi__Shape.html#gae3a63091a9c00c796ecadf3e6983c5fd',1,'thorvg_capi.h']]], - ['tvg_5fswcanvas_5fcreate_403',['tvg_swcanvas_create',['../group__ThorVGCapi__SwCanvas.html#ga0ad0467c444c00b79e58f171dce52433',1,'thorvg_capi.h']]], - ['tvg_5fswcanvas_5fset_5fmempool_404',['tvg_swcanvas_set_mempool',['../group__ThorVGCapi__SwCanvas.html#gaae7e4135b025ed1f981b083f2432dad9',1,'thorvg_capi.h']]], - ['tvg_5fswcanvas_5fset_5ftarget_405',['tvg_swcanvas_set_target',['../group__ThorVGCapi__SwCanvas.html#gabff83e4ba5b127441fc9371617698943',1,'thorvg_capi.h']]] -]; diff --git a/docs/html/search/functions_e.js b/docs/html/search/functions_e.js deleted file mode 100644 index 5bb9e85..0000000 --- a/docs/html/search/functions_e.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['update_406',['update',['../classtvg_1_1Canvas.html#a89ac8a85a8c22723af9fb07c098472b3',1,'tvg::Canvas']]] -]; diff --git a/docs/html/search/functions_f.js b/docs/html/search/functions_f.js deleted file mode 100644 index b4a1168..0000000 --- a/docs/html/search/functions_f.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['viewbox_407',['viewbox',['../classtvg_1_1Picture.html#af04ad88b171b00da024fae34112378be',1,'tvg::Picture']]] -]; diff --git a/docs/html/search/groups_0.js b/docs/html/search/groups_0.js deleted file mode 100644 index 8ceeb9e..0000000 --- a/docs/html/search/groups_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['canvas_504',['Canvas',['../group__ThorVGCapi__Canvas.html',1,'']]] -]; diff --git a/docs/html/search/groups_1.html b/docs/html/search/groups_1.html deleted file mode 100644 index aa06d65..0000000 --- a/docs/html/search/groups_1.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/docs/html/search/groups_1.js b/docs/html/search/groups_1.js deleted file mode 100644 index ffd0376..0000000 --- a/docs/html/search/groups_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['gradient_505',['Gradient',['../group__ThorVGCapi__Gradient.html',1,'']]] -]; diff --git a/docs/html/search/groups_2.html b/docs/html/search/groups_2.html deleted file mode 100644 index a205d30..0000000 --- a/docs/html/search/groups_2.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/docs/html/search/groups_2.js b/docs/html/search/groups_2.js deleted file mode 100644 index ee2398b..0000000 --- a/docs/html/search/groups_2.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['initializer_506',['Initializer',['../group__ThorVGCapi__Initializer.html',1,'']]] -]; diff --git a/docs/html/search/groups_3.html b/docs/html/search/groups_3.html deleted file mode 100644 index 4255bed..0000000 --- a/docs/html/search/groups_3.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/docs/html/search/groups_3.js b/docs/html/search/groups_3.js deleted file mode 100644 index f71d516..0000000 --- a/docs/html/search/groups_3.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['paint_507',['Paint',['../group__ThorVGCapi__Paint.html',1,'']]], - ['picture_508',['Picture',['../group__ThorVGCapi__Picture.html',1,'']]] -]; diff --git a/docs/html/search/groups_4.html b/docs/html/search/groups_4.html deleted file mode 100644 index 8644fbe..0000000 --- a/docs/html/search/groups_4.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/docs/html/search/groups_4.js b/docs/html/search/groups_4.js deleted file mode 100644 index e3d9a1b..0000000 --- a/docs/html/search/groups_4.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['saver_509',['Saver',['../group__ThorVGCapi__Saver.html',1,'']]], - ['scene_510',['Scene',['../group__ThorVGCapi__Scene.html',1,'']]], - ['shape_511',['Shape',['../group__ThorVGCapi__Shape.html',1,'']]], - ['swcanvas_512',['SwCanvas',['../group__ThorVGCapi__SwCanvas.html',1,'']]] -]; diff --git a/docs/html/search/groups_5.html b/docs/html/search/groups_5.html deleted file mode 100644 index 1e9ba85..0000000 --- a/docs/html/search/groups_5.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/docs/html/search/groups_5.js b/docs/html/search/groups_5.js deleted file mode 100644 index 1409cef..0000000 --- a/docs/html/search/groups_5.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['thorvg_513',['ThorVG',['../group__ThorVG.html',1,'']]], - ['thorvg_5fcapi_514',['ThorVG_CAPI',['../group__ThorVG__CAPI.html',1,'']]] -]; diff --git a/docs/html/search/pages_0.js b/docs/html/search/pages_0.js deleted file mode 100644 index 082449d..0000000 --- a/docs/html/search/pages_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['thorvg_20api_20documentation_515',['ThorVG API Documentation',['../index.html',1,'']]] -]; diff --git a/docs/html/search/searchdata.js b/docs/html/search/searchdata.js deleted file mode 100644 index 6920c77..0000000 --- a/docs/html/search/searchdata.js +++ /dev/null @@ -1,39 +0,0 @@ -var indexSectionsWithContent = -{ - 0: "abcdefgilmnoprstuvw", - 1: "cfgilmprst", - 2: "abcdfgilmoprstuv", - 3: "abgor", - 4: "t", - 5: "cfmprst", - 6: "abcdefgilmnprstuw", - 7: "cgipst", - 8: "t" -}; - -var indexSectionNames = -{ - 0: "all", - 1: "classes", - 2: "functions", - 3: "variables", - 4: "typedefs", - 5: "enums", - 6: "enumvalues", - 7: "groups", - 8: "pages" -}; - -var indexSectionLabels = -{ - 0: "All", - 1: "Classes", - 2: "Functions", - 3: "Variables", - 4: "Typedefs", - 5: "Enumerations", - 6: "Enumerator", - 7: "Modules", - 8: "Pages" -}; - diff --git a/docs/html/search/typedefs_0.html b/docs/html/search/typedefs_0.html deleted file mode 100644 index 376db47..0000000 --- a/docs/html/search/typedefs_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/docs/html/search/typedefs_0.js b/docs/html/search/typedefs_0.js deleted file mode 100644 index 373a51e..0000000 --- a/docs/html/search/typedefs_0.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['tvg_5fcanvas_413',['Tvg_Canvas',['../group__ThorVG__CAPI.html#ga5f10c1f3dabdc9287166611c7fe5fd8a',1,'thorvg_capi.h']]], - ['tvg_5fgradient_414',['Tvg_Gradient',['../group__ThorVG__CAPI.html#gafc8e0d01812127260d0753eceb056181',1,'thorvg_capi.h']]], - ['tvg_5fpaint_415',['Tvg_Paint',['../group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292',1,'thorvg_capi.h']]], - ['tvg_5fsaver_416',['Tvg_Saver',['../group__ThorVG__CAPI.html#gac16750954e423565f6d143a66aa03b31',1,'thorvg_capi.h']]] -]; diff --git a/docs/html/search/variables_0.js b/docs/html/search/variables_0.js deleted file mode 100644 index 153ae7c..0000000 --- a/docs/html/search/variables_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['a_408',['a',['../structtvg_1_1Fill_1_1ColorStop.html#af4007aacd75b22aee32dba9ea96082c0',1,'tvg::Fill::ColorStop::a()'],['../structTvg__Color__Stop.html#af4007aacd75b22aee32dba9ea96082c0',1,'Tvg_Color_Stop::a()']]] -]; diff --git a/docs/html/search/variables_1.js b/docs/html/search/variables_1.js deleted file mode 100644 index fa2a50f..0000000 --- a/docs/html/search/variables_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['b_409',['b',['../structtvg_1_1Fill_1_1ColorStop.html#a4313c9563516f94387762ab05763456b',1,'tvg::Fill::ColorStop::b()'],['../structTvg__Color__Stop.html#a4313c9563516f94387762ab05763456b',1,'Tvg_Color_Stop::b()']]] -]; diff --git a/docs/html/search/variables_2.js b/docs/html/search/variables_2.js deleted file mode 100644 index 44b175d..0000000 --- a/docs/html/search/variables_2.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['g_410',['g',['../structtvg_1_1Fill_1_1ColorStop.html#a1673907d4d89d763bb7b94ec1eeb7b60',1,'tvg::Fill::ColorStop::g()'],['../structTvg__Color__Stop.html#a1673907d4d89d763bb7b94ec1eeb7b60',1,'Tvg_Color_Stop::g()']]] -]; diff --git a/docs/html/search/variables_3.js b/docs/html/search/variables_3.js deleted file mode 100644 index 985f825..0000000 --- a/docs/html/search/variables_3.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['offset_411',['offset',['../structtvg_1_1Fill_1_1ColorStop.html#a3e60b3c561be982d7c8e23f14c01fd5b',1,'tvg::Fill::ColorStop::offset()'],['../structTvg__Color__Stop.html#a3e60b3c561be982d7c8e23f14c01fd5b',1,'Tvg_Color_Stop::offset()']]] -]; diff --git a/docs/html/search/variables_4.js b/docs/html/search/variables_4.js deleted file mode 100644 index 97a680f..0000000 --- a/docs/html/search/variables_4.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['r_412',['r',['../structtvg_1_1Fill_1_1ColorStop.html#a4c5c6ceb8ed33456261fa907136e0c3a',1,'tvg::Fill::ColorStop::r()'],['../structTvg__Color__Stop.html#a4c5c6ceb8ed33456261fa907136e0c3a',1,'Tvg_Color_Stop::r()']]] -]; diff --git a/docs/html/small_logo.svg b/docs/html/small_logo.svg deleted file mode 100644 index ded2e09..0000000 --- a/docs/html/small_logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/html/structTvg__Color__Stop-members.html b/docs/html/structTvg__Color__Stop-members.html deleted file mode 100644 index 54ebffd..0000000 --- a/docs/html/structTvg__Color__Stop-members.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -ThorVG: Member List - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
Tvg_Color_Stop Member List
-
-
- -

This is the complete list of members for Tvg_Color_Stop, including all inherited members.

- - - - - - -
aTvg_Color_Stop
bTvg_Color_Stop
gTvg_Color_Stop
offsetTvg_Color_Stop
rTvg_Color_Stop
- - - - diff --git a/docs/html/structTvg__Color__Stop.html b/docs/html/structTvg__Color__Stop.html deleted file mode 100644 index dcd41a3..0000000 --- a/docs/html/structTvg__Color__Stop.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - -ThorVG: Tvg_Color_Stop - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

A data structure storing the information about the color and its relative position inside the gradient bounds. - More...

- - - - - - - - - - - - -

-Public Attributes

float offset
 
uint8_t r
 
uint8_t g
 
uint8_t b
 
uint8_t a
 
-

Detailed Description

-

A data structure storing the information about the color and its relative position inside the gradient bounds.

-

Member Data Documentation

- -

◆ a

- -
-
- - - - -
uint8_t a
-
-

The alpha channel value in the range [0 ~ 255], where 0 is completely transparent and 255 is opaque.

- -
-
- -

◆ b

- -
-
- - - - -
uint8_t b
-
-

The blue color channel value in the range [0 ~ 255].

- -
-
- -

◆ g

- -
-
- - - - -
uint8_t g
-
-

The green color channel value in the range [0 ~ 255].

- -
-
- -

◆ offset

- -
-
- - - - -
float offset
-
-

The relative position of the color.

- -
-
- -

◆ r

- -
-
- - - - -
uint8_t r
-
-

The red color channel value in the range [0 ~ 255].

- -
-
-
- - - - diff --git a/docs/html/structTvg__Matrix-members.html b/docs/html/structTvg__Matrix-members.html deleted file mode 100644 index 8de3ed7..0000000 --- a/docs/html/structTvg__Matrix-members.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - -ThorVG: Member List - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
Tvg_Matrix Member List
-
-
- -

This is the complete list of members for Tvg_Matrix, including all inherited members.

-
- - - - diff --git a/docs/html/structTvg__Matrix.html b/docs/html/structTvg__Matrix.html deleted file mode 100644 index 9edc62b..0000000 --- a/docs/html/structTvg__Matrix.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - -ThorVG: Tvg_Matrix - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
- -
-
Tvg_Matrix
-
-
- -

A data structure representing a three-dimensional matrix. - More...

-

Detailed Description

-

A data structure representing a three-dimensional matrix.

-

The elements e11, e12, e21 and e22 represent the rotation matrix, including the scaling factor. The elements e13 and e23 determine the translation of the object along the x and y-axis, respectively. The elements e31 and e32 are set to 0, e33 is set to 1.

-
- - - - diff --git a/docs/html/structTvg__Point-members.html b/docs/html/structTvg__Point-members.html deleted file mode 100644 index f971c87..0000000 --- a/docs/html/structTvg__Point-members.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - -ThorVG: Member List - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- -
-
-
-
Tvg_Point Member List
-
-
- -

This is the complete list of members for Tvg_Point, including all inherited members.

-
- - - - diff --git a/docs/html/structTvg__Point.html b/docs/html/structTvg__Point.html deleted file mode 100644 index 7345075..0000000 --- a/docs/html/structTvg__Point.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -ThorVG: Tvg_Point - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- -
- -
- -

A data structure representing a point in two-dimensional space. - More...

-

Detailed Description

-

A data structure representing a point in two-dimensional space.

-
- - - - diff --git a/docs/html/structtvg_1_1Fill_1_1ColorStop-members.html b/docs/html/structtvg_1_1Fill_1_1ColorStop-members.html deleted file mode 100644 index c3697dd..0000000 --- a/docs/html/structtvg_1_1Fill_1_1ColorStop-members.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -ThorVG: Member List - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Fill::ColorStop Member List
-
-
- -

This is the complete list of members for Fill::ColorStop, including all inherited members.

- - - - - - -
aFill::ColorStop
bFill::ColorStop
gFill::ColorStop
offsetFill::ColorStop
rFill::ColorStop
- - - - diff --git a/docs/html/structtvg_1_1Fill_1_1ColorStop.html b/docs/html/structtvg_1_1Fill_1_1ColorStop.html deleted file mode 100644 index d780804..0000000 --- a/docs/html/structtvg_1_1Fill_1_1ColorStop.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - -ThorVG: Fill::ColorStop - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
- -
-
Fill::ColorStop
-
-
- -

A data structure storing the information about the color and its relative position inside the gradient bounds. - More...

- - - - - - - - - - - - -

-Public Attributes

float offset
 
uint8_t r
 
uint8_t g
 
uint8_t b
 
uint8_t a
 
-

Detailed Description

-

A data structure storing the information about the color and its relative position inside the gradient bounds.

-

Member Data Documentation

- -

◆ a

- -
-
- - - - -
uint8_t a
-
-

The alpha channel value in the range [0 ~ 255], where 0 is completely transparent and 255 is opaque.

- -
-
- -

◆ b

- -
-
- - - - -
uint8_t b
-
-

The blue color channel value in the range [0 ~ 255].

- -
-
- -

◆ g

- -
-
- - - - -
uint8_t g
-
-

The green color channel value in the range [0 ~ 255].

- -
-
- -

◆ offset

- -
-
- - - - -
float offset
-
-

The relative position of the color.

- -
-
- -

◆ r

- -
-
- - - - -
uint8_t r
-
-

The red color channel value in the range [0 ~ 255].

- -
-
-
- - - - diff --git a/docs/html/structtvg_1_1Matrix-members.html b/docs/html/structtvg_1_1Matrix-members.html deleted file mode 100644 index 6dfd3b5..0000000 --- a/docs/html/structtvg_1_1Matrix-members.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -ThorVG: Member List - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Matrix Member List
-
-
- -

This is the complete list of members for Matrix, including all inherited members.

-
- - - - diff --git a/docs/html/structtvg_1_1Matrix.html b/docs/html/structtvg_1_1Matrix.html deleted file mode 100644 index 3d0e8b5..0000000 --- a/docs/html/structtvg_1_1Matrix.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - -ThorVG: Matrix - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
- -
- -

A data structure representing a three-dimensional matrix. - More...

-

Detailed Description

-

A data structure representing a three-dimensional matrix.

-

The elements e11, e12, e21 and e22 represent the rotation matrix, including the scaling factor. The elements e13 and e23 determine the translation of the object along the x and y-axis, respectively. The elements e31 and e32 are set to 0, e33 is set to 1.

-
- - - - diff --git a/docs/html/structtvg_1_1Point-members.html b/docs/html/structtvg_1_1Point-members.html deleted file mode 100644 index 1010b1f..0000000 --- a/docs/html/structtvg_1_1Point-members.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - -ThorVG: Member List - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
Point Member List
-
-
- -

This is the complete list of members for Point, including all inherited members.

-
- - - - diff --git a/docs/html/structtvg_1_1Point.html b/docs/html/structtvg_1_1Point.html deleted file mode 100644 index ff58066..0000000 --- a/docs/html/structtvg_1_1Point.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - -ThorVG: Point - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
- -
- -

A data structure representing a point in two-dimensional space. - More...

-

Detailed Description

-

A data structure representing a point in two-dimensional space.

-
- - - - diff --git a/docs/html/thorvg_8h_source.html b/docs/html/thorvg_8h_source.html deleted file mode 100644 index 9654f97..0000000 --- a/docs/html/thorvg_8h_source.html +++ /dev/null @@ -1,598 +0,0 @@ - - - - - - - -ThorVG: tmp/thorvg.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
thorvg.h
-
-
-
1 
-
14 #ifndef _THORVG_H_
-
15 #define _THORVG_H_
-
16 
-
17 #include <memory>
-
18 #include <string>
-
19 
-
20 #ifdef TVG_BUILD
-
21  #if defined(_MSC_VER) && !defined(__clang__)
-
22  #define TVG_EXPORT __declspec(dllexport)
-
23  #define TVG_DEPRECATED __declspec(deprecated)
-
24  #else
-
25  #define TVG_EXPORT __attribute__ ((visibility ("default")))
-
26  #define TVG_DEPRECATED __attribute__ ((__deprecated__))
-
27  #endif
-
28 #else
-
29  #define TVG_EXPORT
-
30  #define TVG_DEPRECATED
-
31 #endif
-
32 
-
33 #ifdef __cplusplus
-
34 extern "C" {
-
35 #endif
-
36 
-
37 #define _TVG_DECLARE_PRIVATE(A) \
-
38 protected: \
-
39  struct Impl; \
-
40  Impl* pImpl; \
-
41  A(const A&) = delete; \
-
42  const A& operator=(const A&) = delete; \
-
43  A()
-
44 
-
45 #define _TVG_DISABLE_CTOR(A) \
-
46  A() = delete; \
-
47  ~A() = delete
-
48 
-
49 #define _TVG_DECLARE_ACCESSOR() \
-
50  friend Canvas; \
-
51  friend Scene; \
-
52  friend Picture; \
-
53  friend IteratorAccessor
-
54 
-
55 
-
56 #define _TVG_DECALRE_IDENTIFIER() \
-
57 protected: \
-
58  unsigned _id
-
59 
-
60 namespace tvg
-
61 {
-
62 
-
63 class RenderMethod;
-
64 class IteratorAccessor;
-
65 class Scene;
-
66 class Picture;
-
67 class Canvas;
-
68 
-
79 enum class TVG_EXPORT Result
-
80 {
-
81  Success = 0,
- - - - -
86  NonSupport,
-
87  Unknown
-
88 };
-
89 
-
96 enum class TVG_EXPORT PathCommand
-
97 {
-
98  Close = 0,
-
99  MoveTo,
-
100  LineTo,
-
101  CubicTo
-
102 };
-
103 
-
107 enum class TVG_EXPORT StrokeCap
-
108 {
-
109  Square = 0,
-
110  Round,
-
111  Butt
-
112 };
-
113 
-
117 enum class TVG_EXPORT StrokeJoin
-
118 {
-
119  Bevel = 0,
-
120  Round,
-
121  Miter
-
122 };
-
123 
-
127 enum class TVG_EXPORT FillSpread
-
128 {
-
129  Pad = 0,
-
130  Reflect,
-
131  Repeat
-
132 };
-
133 
-
137 enum class TVG_EXPORT FillRule
-
138 {
-
139  Winding = 0,
-
140  EvenOdd
-
141 };
-
142 
-
146 enum class TVG_EXPORT CompositeMethod
-
147 {
-
148  None = 0,
-
149  ClipPath,
-
150  AlphaMask,
-
151  InvAlphaMask
-
152 };
-
153 
-
157 enum class TVG_EXPORT CanvasEngine
-
158 {
-
159  Sw = (1 << 1),
-
160  Gl = (1 << 2)
-
161 };
-
162 
-
163 
-
167 struct Point
-
168 {
-
169  float x, y;
-
170 };
-
171 
-
172 
-
180 struct Matrix
-
181 {
-
182  float e11, e12, e13;
-
183  float e21, e22, e23;
-
184  float e31, e32, e33;
-
185 };
-
186 
-
187 
-
197 class TVG_EXPORT Paint
-
198 {
-
199 public:
-
200  virtual ~Paint();
-
201 
-
212  Result rotate(float degree) noexcept;
-
213 
-
221  Result scale(float factor) noexcept;
-
222 
-
234  Result translate(float x, float y) noexcept;
-
235 
-
245  Result transform(const Matrix& m) noexcept;
-
246 
-
257  Matrix transform() noexcept;
-
258 
-
268  Result opacity(uint8_t o) noexcept;
-
269 
-
278  Result composite(std::unique_ptr<Paint> target, CompositeMethod method) noexcept;
-
279 
-
293  TVG_DEPRECATED Result bounds(float* x, float* y, float* w, float* h) const noexcept;
-
294 
-
312  Result bounds(float* x, float* y, float* w, float* h, bool transformed) const noexcept;
-
313 
-
321  Paint* duplicate() const noexcept;
-
322 
-
328  uint8_t opacity() const noexcept;
-
329 
-
339  CompositeMethod composite(const Paint** target) const noexcept;
-
340 
-
350  uint32_t identifier() const { return _id; }
-
351 
-
352  _TVG_DECLARE_ACCESSOR();
-
353  _TVG_DECALRE_IDENTIFIER();
-
354  _TVG_DECLARE_PRIVATE(Paint);
-
355 };
-
356 
-
357 
-
369 class TVG_EXPORT Fill
-
370 {
-
371 public:
-
375  struct ColorStop
-
376  {
-
377  float offset;
-
378  uint8_t r;
-
379  uint8_t g;
-
380  uint8_t b;
-
381  uint8_t a;
-
382  };
-
383 
-
384  virtual ~Fill();
-
385 
-
394  Result colorStops(const ColorStop* colorStops, uint32_t cnt) noexcept;
-
395 
-
403  Result spread(FillSpread s) noexcept;
-
404 
-
416  Result transform(const Matrix& m) noexcept;
-
417 
-
425  uint32_t colorStops(const ColorStop** colorStops) const noexcept;
-
426 
-
432  FillSpread spread() const noexcept;
-
433 
-
443  Matrix transform() const noexcept;
-
444 
-
452  Fill* duplicate() const noexcept;
-
453 
-
463  uint32_t identifier() const { return _id; }
-
464 
-
465  _TVG_DECALRE_IDENTIFIER();
-
466  _TVG_DECLARE_PRIVATE(Fill);
-
467 };
-
468 
-
469 
-
480 class TVG_EXPORT Canvas
-
481 {
-
482 public:
-
483  Canvas(RenderMethod*);
-
484  virtual ~Canvas();
-
485 
-
496  Result reserve(uint32_t n) noexcept;
-
497 
-
515  virtual Result push(std::unique_ptr<Paint> paint) noexcept;
-
516 
-
527  virtual Result clear(bool free = true) noexcept;
-
528 
-
541  virtual Result update(Paint* paint = nullptr) noexcept;
-
542 
-
551  virtual Result draw() noexcept;
-
552 
-
562  virtual Result sync() noexcept;
-
563 
-
564  _TVG_DECLARE_PRIVATE(Canvas);
-
565 };
-
566 
-
567 
-
576 class TVG_EXPORT LinearGradient final : public Fill
-
577 {
-
578 public:
-
579  ~LinearGradient();
-
580 
-
597  Result linear(float x1, float y1, float x2, float y2) noexcept;
-
598 
-
613  Result linear(float* x1, float* y1, float* x2, float* y2) const noexcept;
-
614 
-
620  static std::unique_ptr<LinearGradient> gen() noexcept;
-
621 
-
631  static uint32_t identifier() noexcept;
-
632 
-
633  _TVG_DECLARE_PRIVATE(LinearGradient);
-
634 };
-
635 
-
636 
-
643 class TVG_EXPORT RadialGradient final : public Fill
-
644 {
-
645 public:
-
646  ~RadialGradient();
-
647 
-
659  Result radial(float cx, float cy, float radius) noexcept;
-
660 
-
672  Result radial(float* cx, float* cy, float* radius) const noexcept;
-
673 
-
679  static std::unique_ptr<RadialGradient> gen() noexcept;
-
680 
-
690  static uint32_t identifier() noexcept;
-
691 
-
692  _TVG_DECLARE_PRIVATE(RadialGradient);
-
693 };
-
694 
-
695 
-
708 class TVG_EXPORT Shape final : public Paint
-
709 {
-
710 public:
-
711  ~Shape();
-
712 
-
722  Result reset() noexcept;
-
723 
-
734  Result moveTo(float x, float y) noexcept;
-
735 
-
748  Result lineTo(float x, float y) noexcept;
-
749 
-
767  Result cubicTo(float cx1, float cy1, float cx2, float cy2, float x, float y) noexcept;
-
768 
-
778  Result close() noexcept;
-
779 
-
804  Result appendRect(float x, float y, float w, float h, float rx, float ry) noexcept;
-
805 
-
822  Result appendCircle(float cx, float cy, float rx, float ry) noexcept;
-
823 
-
841  Result appendArc(float cx, float cy, float radius, float startAngle, float sweep, bool pie) noexcept;
-
842 
-
859  Result appendPath(const PathCommand* cmds, uint32_t cmdCnt, const Point* pts, uint32_t ptsCnt) noexcept;
-
860 
-
868  Result stroke(float width) noexcept;
-
869 
-
880  Result stroke(uint8_t r, uint8_t g, uint8_t b, uint8_t a) noexcept;
-
881 
-
891  Result stroke(std::unique_ptr<Fill> f) noexcept;
-
892 
-
906  Result stroke(const float* dashPattern, uint32_t cnt) noexcept;
-
907 
-
915  Result stroke(StrokeCap cap) noexcept;
-
916 
-
926  Result stroke(StrokeJoin join) noexcept;
-
927 
-
942  Result fill(uint8_t r, uint8_t g, uint8_t b, uint8_t a) noexcept;
-
943 
-
955  Result fill(std::unique_ptr<Fill> f) noexcept;
-
956 
-
964  Result fill(FillRule r) noexcept;
-
965 
-
973  uint32_t pathCommands(const PathCommand** cmds) const noexcept;
-
974 
-
982  uint32_t pathCoords(const Point** pts) const noexcept;
-
983 
-
989  const Fill* fill() const noexcept;
-
990 
-
1001  Result fillColor(uint8_t* r, uint8_t* g, uint8_t* b, uint8_t* a) const noexcept;
-
1002 
-
1008  FillRule fillRule() const noexcept;
-
1009 
-
1015  float strokeWidth() const noexcept;
-
1016 
-
1027  Result strokeColor(uint8_t* r, uint8_t* g, uint8_t* b, uint8_t* a) const noexcept;
-
1028 
-
1034  const Fill* strokeFill() const noexcept;
-
1035 
-
1043  uint32_t strokeDash(const float** dashPattern) const noexcept;
-
1044 
-
1050  StrokeCap strokeCap() const noexcept;
-
1051 
-
1057  StrokeJoin strokeJoin() const noexcept;
-
1058 
-
1064  static std::unique_ptr<Shape> gen() noexcept;
-
1065 
-
1075  static uint32_t identifier() noexcept;
-
1076 
-
1077  _TVG_DECLARE_PRIVATE(Shape);
-
1078 };
-
1079 
-
1080 
-
1089 class TVG_EXPORT Picture final : public Paint
-
1090 {
-
1091 public:
-
1092  ~Picture();
-
1093 
-
1107  Result load(const std::string& path) noexcept;
-
1108 
-
1125  TVG_DEPRECATED Result load(const char* data, uint32_t size, bool copy = false) noexcept;
-
1126 
-
1144  Result load(const char* data, uint32_t size, const std::string& mimeType, bool copy = false) noexcept;
-
1145 
-
1157  Result size(float w, float h) noexcept;
-
1158 
-
1167  Result size(float* w, float* h) const noexcept;
-
1168 
-
1176  const uint32_t* data(uint32_t* w, uint32_t* h) const noexcept;
-
1177 
-
1185  Result load(uint32_t* data, uint32_t w, uint32_t h, bool copy) noexcept;
-
1186 
-
1194  Result viewbox(float* x, float* y, float* w, float* h) const noexcept;
-
1195 
-
1201  static std::unique_ptr<Picture> gen() noexcept;
-
1202 
-
1212  static uint32_t identifier() noexcept;
-
1213 
-
1214  _TVG_DECLARE_PRIVATE(Picture);
-
1215 };
-
1216 
-
1217 
-
1229 class TVG_EXPORT Scene final : public Paint
-
1230 {
-
1231 public:
-
1232  ~Scene();
-
1233 
-
1248  Result push(std::unique_ptr<Paint> paint) noexcept;
-
1249 
-
1260  Result reserve(uint32_t size) noexcept;
-
1261 
-
1274  Result clear(bool free = true) noexcept;
-
1275 
-
1281  static std::unique_ptr<Scene> gen() noexcept;
-
1282 
-
1292  static uint32_t identifier() noexcept;
-
1293 
-
1294  _TVG_DECLARE_PRIVATE(Scene);
-
1295 };
-
1296 
-
1297 
-
1303 class TVG_EXPORT SwCanvas final : public Canvas
-
1304 {
-
1305 public:
-
1306  ~SwCanvas();
-
1307 
- -
1312  {
-
1313  ABGR8888 = 0,
- - - -
1317  };
-
1318 
- -
1324  {
-
1325  Default = 0,
- -
1327  Individual
-
1328  };
-
1329 
-
1348  Result target(uint32_t* buffer, uint32_t stride, uint32_t w, uint32_t h, Colorspace cs) noexcept;
-
1349 
-
1373  Result mempool(MempoolPolicy policy) noexcept;
-
1374 
-
1379  static std::unique_ptr<SwCanvas> gen() noexcept;
-
1380 
-
1381  _TVG_DECLARE_PRIVATE(SwCanvas);
-
1382 };
-
1383 
-
1384 
-
1394 class TVG_EXPORT GlCanvas final : public Canvas
-
1395 {
-
1396 public:
-
1397  ~GlCanvas();
-
1398 
-
1406  Result target(uint32_t* buffer, uint32_t stride, uint32_t w, uint32_t h) noexcept;
-
1407 
-
1415  static std::unique_ptr<GlCanvas> gen() noexcept;
-
1416 
-
1417  _TVG_DECLARE_PRIVATE(GlCanvas);
-
1418 };
-
1419 
-
1420 
-
1426 class TVG_EXPORT Initializer final
-
1427 {
-
1428 public:
-
1449  static Result init(CanvasEngine engine, uint32_t threads) noexcept;
-
1450 
-
1465  static Result term(CanvasEngine engine) noexcept;
-
1466 
-
1467  _TVG_DISABLE_CTOR(Initializer);
-
1468 };
-
1469 
-
1470 
-
1488 class TVG_EXPORT Saver final
-
1489 {
-
1490 public:
-
1491  ~Saver();
-
1492 
-
1515  Result save(std::unique_ptr<Paint> paint, const std::string& path, bool compress = true) noexcept;
-
1516 
-
1532  Result sync() noexcept;
-
1533 
-
1541  static std::unique_ptr<Saver> gen() noexcept;
-
1542 
-
1543  _TVG_DECLARE_PRIVATE(Saver);
-
1544 };
-
1545 
-
1548 } //namespace
-
1549 
-
1550 #ifdef __cplusplus
-
1551 }
-
1552 #endif
-
1553 
-
1554 #endif //_THORVG_H_
-
-
A data structure storing the information about the color and its relative position inside the gradien...
Definition: thorvg.h:375
-
@ MemoryCorruption
The value returned in the event of bad memory handling - e.g. failing in pointer releasing or casting...
-
@ InvalidArguments
The value returned in the event of a problem with the arguments given to the API - e....
-
An abstract class for managing graphical elements.
Definition: thorvg.h:197
-
@ ABGR8888_STRAIGHT
@BETA_API The channels are joined in the order: alpha, blue, green, red. Colors are un-alpha-premulti...
Definition: thorvg.h:1315
-
@ Repeat
The gradient pattern is repeated continuously beyond the gradient area until the expected region is f...
-
StrokeCap
Enumeration determining the ending type of a stroke in the open sub-paths.
Definition: thorvg.h:107
-
@ Winding
A line from the point to a location outside the shape is drawn. The intersections of the line with th...
-
@ NonSupport
The value returned in case of choosing unsupported options.
-
@ Gl
OpenGL rasterizer.
-
Colorspace
Enumeration specifying the methods of combining the 8-bit color channels into 32-bit color.
Definition: thorvg.h:1311
-
FillRule
Enumeration specifying the algorithm used to establish which parts of the shape are treated as the in...
Definition: thorvg.h:137
-
@ Sw
CPU rasterizer.
-
Result
Enumeration specifying the result from the APIs.
Definition: thorvg.h:79
-
@ ARGB8888
The channels are joined in the order: alpha, red, green, blue. Colors are alpha-premultiplied.
Definition: thorvg.h:1314
-
FillSpread
Enumeration specifying how to fill the area outside the gradient bounds.
Definition: thorvg.h:127
-
@ Success
The value returned in case of a correct request execution.
-
uint8_t r
Definition: thorvg.h:378
-
@ Butt
The stroke ends exactly at each of the two end-points of a sub-path. For zero length sub-paths no str...
-
@ MoveTo
Sets a new initial point of the sub-path and a new current point. This command expects 1 point: the s...
-
float offset
Definition: thorvg.h:377
-
CanvasEngine
Enumeration specifying the engine type used for the graphics backend. For multiple backends bitwise o...
Definition: thorvg.h:157
-
A class for the rendering graphical elements with a software raster engine.
Definition: thorvg.h:1303
-
@ Shareable
Memory Pool is shared among the SwCanvases.
Definition: thorvg.h:1326
-
CompositeMethod
Enumeration indicating the method used in the composition of two objects - the target and the source.
Definition: thorvg.h:146
-
A data structure representing a point in two-dimensional space.
Definition: thorvg.h:167
-
A class to composite children paints.
Definition: thorvg.h:1229
-
PathCommand
Enumeration specifying the values of the path commands accepted by TVG.
Definition: thorvg.h:96
-
A class for the rendering graphic elements with a GL raster engine.
Definition: thorvg.h:1394
-
uint8_t b
Definition: thorvg.h:380
-
@ ClipPath
The intersection of the source and the target is determined and only the resulting pixels from the so...
-
A class representing two-dimensional figures and their properties.
Definition: thorvg.h:708
-
@ Reflect
The gradient pattern is reflected outside the gradient area until the expected region is filled.
-
An abstract class representing the gradient fill of the Shape object.
Definition: thorvg.h:369
-
uint8_t a
Definition: thorvg.h:381
-
@ Round
The stroke is extended in both end-points of a sub-path by a half circle, with a radius equal to the ...
-
@ None
No composition is applied.
-
@ Unknown
The value returned in all other cases.
-
@ CubicTo
Draws a cubic Bezier curve from the current point to the given point using two given control points a...
-
@ InvAlphaMask
The pixels of the source and the complement to the target's pixels are alpha blended....
-
A class that enables initialization and termination of the TVG engines.
Definition: thorvg.h:1426
-
@ AlphaMask
The pixels of the source and the target are alpha blended. As a result, only the part of the source,...
-
@ Miter
The outer corner of the joined path segments is spiked. The spike is created by extension beyond the ...
-
@ LineTo
Draws a line from the current point to the given point and sets a new value of the current point....
-
@ FailedAllocation
The value returned in case of unsuccessful memory allocation.
-
@ EvenOdd
A line from the point to a location outside the shape is drawn and its intersections with the path se...
-
@ ARGB8888_STRAIGHT
@BETA_API The channels are joined in the order: alpha, red, green, blue. Colors are un-alpha-premulti...
Definition: thorvg.h:1316
-
A data structure representing a three-dimensional matrix.
Definition: thorvg.h:180
-
MempoolPolicy
Enumeration specifying the methods of Memory Pool behavior policy.
Definition: thorvg.h:1323
-
@ InsufficientCondition
The value returned in case the request cannot be processed - e.g. asking for properties of an object,...
-
@ Bevel
The outer corner of the joined path segments is bevelled at the join point. The triangular region of ...
-
@ Close
Ends the current sub-path and connects it with its initial point. This command doesn't expect any poi...
-
@ Pad
The remaining area is filled with the closest stop color.
-
StrokeJoin
Enumeration determining the style used at the corners of joined stroked path segments.
Definition: thorvg.h:117
-
A class representing the linear gradient fill of the Shape object.
Definition: thorvg.h:576
-
A class representing an image read in one of the supported formats: raw, svg, png,...
Definition: thorvg.h:1089
-
A class representing the radial gradient fill of the Shape object.
Definition: thorvg.h:643
-
An abstract class for drawing graphical elements.
Definition: thorvg.h:480
-
uint8_t g
Definition: thorvg.h:379
-
uint32_t identifier() const
Return the unique id value of the paint instance.
Definition: thorvg.h:350
-
A class for exporting a paint object into a specified file, from which to recover the paint data late...
Definition: thorvg.h:1488
-
@ Square
The stroke is extended in both end-points of a sub-path by a rectangle, with the width equal to the s...
- - - - diff --git a/docs/html/thorvg__capi_8h_source.html b/docs/html/thorvg__capi_8h_source.html deleted file mode 100644 index 431db4b..0000000 --- a/docs/html/thorvg__capi_8h_source.html +++ /dev/null @@ -1,668 +0,0 @@ - - - - - - - -ThorVG: tmp/thorvg_capi.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
ThorVG -  v0.6 -
-
-
- - - - - - - - -
-
- - -
- -
- - -
-
-
-
thorvg_capi.h
-
-
-
1 
-
18 #ifndef __THORVG_CAPI_H__
-
19 #define __THORVG_CAPI_H__
-
20 
-
21 #include <stdint.h>
-
22 #include <stdbool.h>
-
23 
-
24 #ifdef TVG_EXPORT
-
25  #undef TVG_EXPORT
-
26 #endif
-
27 
-
28 #ifdef TVG_BUILD
-
29  #ifdef _WIN32
-
30  #define TVG_EXPORT __declspec(dllexport)
-
31  #else
-
32  #define TVG_EXPORT __attribute__ ((visibility ("default")))
-
33  #endif
-
34 #else
-
35  #define TVG_EXPORT
-
36 #endif
-
37 
-
38 #ifdef __cplusplus
-
39 extern "C" {
-
40 #endif
-
41 
-
55 typedef struct _Tvg_Canvas Tvg_Canvas;
-
56 
-
57 
-
63 typedef struct _Tvg_Paint Tvg_Paint;
-
64 
-
65 
-
69 typedef struct _Tvg_Gradient Tvg_Gradient;
-
70 
-
71 
-
75 typedef struct _Tvg_Saver Tvg_Saver;
-
76 
-
77 
-
83 typedef enum {
-
84  TVG_ENGINE_SW = (1 << 1),
-
85  TVG_ENGINE_GL = (1 << 2)
-
86 } Tvg_Engine;
-
87 
-
88 
-
92 typedef enum {
- - - - - - - -
100 } Tvg_Result;
-
101 
-
102 
-
108 typedef enum {
- - - - - -
114 
-
115 
-
127 typedef enum {
- - - - - -
133 
-
134 
-
138 typedef enum {
- - - - -
143 
-
144 
-
148 typedef enum {
- - - - -
153 
-
154 
-
158 typedef enum {
- - - - -
163 
-
164 
-
168 typedef enum {
- - -
171 } Tvg_Fill_Rule;
-
172  // end addtogroup ThorVGCapi_Shape
-
174 
-
175 
-
184 typedef struct
-
185 {
-
186  float offset;
-
187  uint8_t r;
-
188  uint8_t g;
-
189  uint8_t b;
-
190  uint8_t a;
- -
192  // end addtogroup ThorVGCapi_Gradient
-
194 
-
195 
-
199 typedef struct
-
200 {
-
201  float x, y;
-
202 } Tvg_Point;
-
203 
-
204 
-
212 typedef struct
-
213 {
-
214  float e11, e12, e13;
-
215  float e21, e22, e23;
-
216  float e31, e32, e33;
-
217 } Tvg_Matrix;
-
218 
-
219 
-
227 /************************************************************************/
-
228 /* Engine API */
-
229 /************************************************************************/
-
258 TVG_EXPORT Tvg_Result tvg_engine_init(Tvg_Engine engine_method, unsigned threads);
-
259 
-
260 
-
286 TVG_EXPORT Tvg_Result tvg_engine_term(Tvg_Engine engine_method);
-
287 
-
288  // end defgroup ThorVGCapi_Initializer
-
290 
-
291 
-
313 /************************************************************************/
-
314 /* SwCanvas API */
-
315 /************************************************************************/
-
316 
-
320 typedef enum {
- - - - -
325 
-
326 
-
330 typedef enum {
- - - -
334 
-
335 
-
360 TVG_EXPORT Tvg_Canvas* tvg_swcanvas_create();
-
361 
-
362 
-
388 TVG_EXPORT Tvg_Result tvg_swcanvas_set_target(Tvg_Canvas* canvas, uint32_t* buffer, uint32_t stride, uint32_t w, uint32_t h, Tvg_Colorspace cs);
-
389 
-
390 
- -
416  // end defgroup ThorVGCapi_SwCanvas
-
418 
-
419 
-
420 /************************************************************************/
-
421 /* Common Canvas API */
-
422 /************************************************************************/
-
484 TVG_EXPORT Tvg_Result tvg_canvas_destroy(Tvg_Canvas* canvas);
-
485 
-
486 
-
505 TVG_EXPORT Tvg_Result tvg_canvas_push(Tvg_Canvas* canvas, Tvg_Paint* paint);
-
506 
-
507 
-
539 TVG_EXPORT Tvg_Result tvg_canvas_reserve(Tvg_Canvas* canvas, uint32_t n);
-
540 
-
541 
-
559 TVG_EXPORT Tvg_Result tvg_canvas_clear(Tvg_Canvas* canvas, bool free);
-
560 
-
561 
-
619 TVG_EXPORT Tvg_Result tvg_canvas_update(Tvg_Canvas* canvas);
-
620 
-
621 
-
637 TVG_EXPORT Tvg_Result tvg_canvas_update_paint(Tvg_Canvas* canvas, Tvg_Paint* paint);
-
638 
-
639 
-
655 TVG_EXPORT Tvg_Result tvg_canvas_draw(Tvg_Canvas* canvas);
-
656 
-
657 
-
672 TVG_EXPORT Tvg_Result tvg_canvas_sync(Tvg_Canvas* canvas);
-
673 
-
674  // end defgroup ThorVGCapi_Canvas
-
676 
-
677 
-
685 /************************************************************************/
-
686 /* Paint API */
-
687 /************************************************************************/
-
718 TVG_EXPORT Tvg_Result tvg_paint_del(Tvg_Paint* paint);
-
719 
-
720 
-
732 TVG_EXPORT Tvg_Result tvg_paint_scale(Tvg_Paint* paint, float factor);
-
733 
-
734 
-
749 TVG_EXPORT Tvg_Result tvg_paint_rotate(Tvg_Paint* paint, float degree);
-
750 
-
751 
-
767 TVG_EXPORT Tvg_Result tvg_paint_translate(Tvg_Paint* paint, float x, float y);
-
768 
-
769 
-
783 TVG_EXPORT Tvg_Result tvg_paint_set_transform(Tvg_Paint* paint, const Tvg_Matrix* m);
-
784 
-
785 
- -
799 
-
800 
-
813 TVG_EXPORT Tvg_Result tvg_paint_set_opacity(Tvg_Paint* paint, uint8_t opacity);
-
814 
-
815 
-
826 TVG_EXPORT Tvg_Result tvg_paint_get_opacity(const Tvg_Paint* paint, uint8_t* opacity);
-
827 
-
828 
-
838 TVG_EXPORT Tvg_Paint* tvg_paint_duplicate(Tvg_Paint* paint);
-
839 
-
840 
-
858 TVG_EXPORT Tvg_Result tvg_paint_get_bounds(const Tvg_Paint* paint, float* x, float* y, float* w, float* h, bool transformed);
-
859 
-
860 
- -
873 
-
874 
-
886 TVG_EXPORT Tvg_Result tvg_paint_get_composite_method(const Tvg_Paint* paint, const Tvg_Paint** target, Tvg_Composite_Method* method);
-
887  // end defgroup ThorVGCapi_Paint
-
889 
-
890 
-
906 /************************************************************************/
-
907 /* Shape API */
-
908 /************************************************************************/
-
914 TVG_EXPORT Tvg_Paint* tvg_shape_new();
-
915 
-
916 
-
930 TVG_EXPORT Tvg_Result tvg_shape_reset(Tvg_Paint* paint);
-
931 
-
932 
-
946 TVG_EXPORT Tvg_Result tvg_shape_move_to(Tvg_Paint* paint, float x, float y);
-
947 
-
948 
-
964 TVG_EXPORT Tvg_Result tvg_shape_line_to(Tvg_Paint* paint, float x, float y);
-
965 
-
966 
-
987 TVG_EXPORT Tvg_Result tvg_shape_cubic_to(Tvg_Paint* paint, float cx1, float cy1, float cx2, float cy2, float x, float y);
-
988 
-
989 
-
1003 TVG_EXPORT Tvg_Result tvg_shape_close(Tvg_Paint* paint);
-
1004 
-
1005 
-
1033 TVG_EXPORT Tvg_Result tvg_shape_append_rect(Tvg_Paint* paint, float x, float y, float w, float h, float rx, float ry);
-
1034 
-
1035 
-
1055 TVG_EXPORT Tvg_Result tvg_shape_append_circle(Tvg_Paint* paint, float cx, float cy, float rx, float ry);
-
1056 
-
1057 
-
1078 TVG_EXPORT Tvg_Result tvg_shape_append_arc(Tvg_Paint* paint, float cx, float cy, float radius, float startAngle, float sweep, uint8_t pie);
-
1079 
-
1080 
-
1098 TVG_EXPORT Tvg_Result tvg_shape_append_path(Tvg_Paint* paint, const Tvg_Path_Command* cmds, uint32_t cmdCnt, const Tvg_Point* pts, uint32_t ptsCnt);
-
1099 
-
1100 
-
1124 TVG_EXPORT Tvg_Result tvg_shape_get_path_coords(const Tvg_Paint* paint, const Tvg_Point** pts, uint32_t* cnt);
-
1125 
-
1126 
-
1150 TVG_EXPORT Tvg_Result tvg_shape_get_path_commands(const Tvg_Paint* paint, const Tvg_Path_Command** cmds, uint32_t* cnt);
-
1151 
-
1152 
-
1164 TVG_EXPORT Tvg_Result tvg_shape_set_stroke_width(Tvg_Paint* paint, float width);
-
1165 
-
1166 
-
1177 TVG_EXPORT Tvg_Result tvg_shape_get_stroke_width(const Tvg_Paint* paint, float* width);
-
1178 
-
1179 
-
1196 TVG_EXPORT Tvg_Result tvg_shape_set_stroke_color(Tvg_Paint* paint, uint8_t r, uint8_t g, uint8_t b, uint8_t a);
-
1197 
-
1198 
-
1213 TVG_EXPORT Tvg_Result tvg_shape_get_stroke_color(const Tvg_Paint* paint, uint8_t* r, uint8_t* g, uint8_t* b, uint8_t* a);
-
1214 
-
1215 
- -
1231 
-
1232 
- -
1248 
-
1249 
-
1262 TVG_EXPORT Tvg_Result tvg_shape_get_stroke_gradient(const Tvg_Paint* paint, Tvg_Gradient** grad);
-
1263 
-
1264 
-
1286 TVG_EXPORT Tvg_Result tvg_shape_set_stroke_dash(Tvg_Paint* paint, const float* dashPattern, uint32_t cnt);
-
1287 
-
1288 
-
1302 TVG_EXPORT Tvg_Result tvg_shape_get_stroke_dash(const Tvg_Paint* paint, const float** dashPattern, uint32_t* cnt);
-
1303 
-
1304 
- -
1319 
-
1320 
-
1331 TVG_EXPORT Tvg_Result tvg_shape_get_stroke_cap(const Tvg_Paint* paint, Tvg_Stroke_Cap* cap);
-
1332 
-
1333 
- -
1346 
-
1347 
-
1358 TVG_EXPORT Tvg_Result tvg_shape_get_stroke_join(const Tvg_Paint* paint, Tvg_Stroke_Join* join);
-
1359 
-
1360 
-
1379 TVG_EXPORT Tvg_Result tvg_shape_set_fill_color(Tvg_Paint* paint, uint8_t r, uint8_t g, uint8_t b, uint8_t a);
-
1380 
-
1381 
-
1395 TVG_EXPORT Tvg_Result tvg_shape_get_fill_color(const Tvg_Paint* paint, uint8_t* r, uint8_t* g, uint8_t* b, uint8_t* a);
-
1396 
-
1397 
- -
1409 
-
1410 
-
1421 TVG_EXPORT Tvg_Result tvg_shape_get_fill_rule(const Tvg_Paint* paint, Tvg_Fill_Rule* rule);
-
1422 
-
1423 
- -
1455 
-
1456 
- -
1488 
-
1489 
-
1502 TVG_EXPORT Tvg_Result tvg_shape_get_gradient(const Tvg_Paint* paint, Tvg_Gradient** grad);
-
1503 
-
1504  // end defgroup ThorVGCapi_Shape
-
1506 
-
1507 
-
1519 /************************************************************************/
-
1520 /* Gradient API */
-
1521 /************************************************************************/
- -
1542 
-
1543 
- -
1564 
-
1565 
-
1585 TVG_EXPORT Tvg_Result tvg_linear_gradient_set(Tvg_Gradient* grad, float x1, float y1, float x2, float y2);
-
1586 
-
1587 
-
1605 TVG_EXPORT Tvg_Result tvg_linear_gradient_get(Tvg_Gradient* grad, float* x1, float* y1, float* x2, float* y2);
-
1606 
-
1607 
-
1622 TVG_EXPORT Tvg_Result tvg_radial_gradient_set(Tvg_Gradient* grad, float cx, float cy, float radius);
-
1623 
-
1624 
-
1637 TVG_EXPORT Tvg_Result tvg_radial_gradient_get(Tvg_Gradient* grad, float* cx, float* cy, float* radius);
-
1638 
-
1639 
-
1651 TVG_EXPORT Tvg_Result tvg_gradient_set_color_stops(Tvg_Gradient* grad, const Tvg_Color_Stop* color_stop, uint32_t cnt);
-
1652 
-
1653 
-
1667 TVG_EXPORT Tvg_Result tvg_gradient_get_color_stops(const Tvg_Gradient* grad, const Tvg_Color_Stop** color_stop, uint32_t* cnt);
-
1668 
-
1669 
-
1680 TVG_EXPORT Tvg_Result tvg_gradient_set_spread(Tvg_Gradient* grad, const Tvg_Stroke_Fill spread);
-
1681 
-
1682 
-
1693 TVG_EXPORT Tvg_Result tvg_gradient_get_spread(const Tvg_Gradient* grad, Tvg_Stroke_Fill* spread);
-
1694 
-
1695 
-
1709 TVG_EXPORT Tvg_Result tvg_gradient_set_transform(Tvg_Gradient* grad, const Tvg_Matrix* m);
-
1710 
-
1711 
-
1724 TVG_EXPORT Tvg_Result tvg_gradient_get_transform(const Tvg_Gradient* grad, Tvg_Matrix* m);
-
1725 
-
1726 
- -
1737 
-
1738 
-
1748 TVG_EXPORT Tvg_Result tvg_gradient_del(Tvg_Gradient* grad);
-
1749 
-
1750  // end defgroup ThorVGCapi_Gradient
-
1752 
-
1753 
-
1763 /************************************************************************/
-
1764 /* Picture API */
-
1765 /************************************************************************/
-
1771 TVG_EXPORT Tvg_Paint* tvg_picture_new();
-
1772 
-
1773 
-
1786 TVG_EXPORT Tvg_Result tvg_picture_load(Tvg_Paint* paint, const char* path);
-
1787 
-
1788 
-
1798 TVG_EXPORT Tvg_Result tvg_picture_load_raw(Tvg_Paint* paint, uint32_t *data, uint32_t w, uint32_t h, bool copy);
-
1799 
-
1800 
-
1818 TVG_EXPORT Tvg_Result tvg_picture_load_data(Tvg_Paint* paint, const char *data, uint32_t size, const char *mimetype, bool copy);
-
1819 
-
1820 
-
1835 TVG_EXPORT Tvg_Result tvg_picture_set_size(Tvg_Paint* paint, float w, float h);
-
1836 
-
1837 
-
1848 TVG_EXPORT Tvg_Result tvg_picture_get_size(const Tvg_Paint* paint, float* w, float* h);
-
1849 
-
1850 
-
1856 TVG_EXPORT Tvg_Result tvg_picture_get_viewbox(const Tvg_Paint* paint, float* x, float* y, float* w, float* h);
-
1857 
-
1858  // end defgroup ThorVGCapi_Picture
-
1860 
-
1861 
-
1872 /************************************************************************/
-
1873 /* Scene API */
-
1874 /************************************************************************/
-
1882 TVG_EXPORT Tvg_Paint* tvg_scene_new();
-
1883 
-
1884 
-
1899 TVG_EXPORT Tvg_Result tvg_scene_reserve(Tvg_Paint* scene, uint32_t size);
-
1900 
-
1901 
-
1920 TVG_EXPORT Tvg_Result tvg_scene_push(Tvg_Paint* scene, Tvg_Paint* paint);
-
1921 
-
1922 
-
1938 TVG_EXPORT Tvg_Result tvg_scene_clear(Tvg_Paint* scene, bool free);
-
1939  // end defgroup ThorVGCapi_Scene
-
1941 
-
1942 
-
1953 /************************************************************************/
-
1954 /* Saver API */
-
1955 /************************************************************************/
-
1961 TVG_EXPORT Tvg_Saver* tvg_saver_new();
-
1962 
-
1963 
-
1987 TVG_EXPORT Tvg_Result tvg_saver_save(Tvg_Saver* saver, Tvg_Paint* paint, const char* path, bool compress);
-
1988 
-
1989 
-
2007 TVG_EXPORT Tvg_Result tvg_saver_sync(Tvg_Saver* saver);
-
2008 
-
2009 
-
2019 TVG_EXPORT Tvg_Result tvg_saver_del(Tvg_Saver* saver);
-
2020 
-
2021  // end defgroup ThorVGCapi_Saver
-
2023 
-
2024  // end defgroup ThorVG_CAPI
-
2026 
-
2027 
-
2028 #ifdef __cplusplus
-
2029 }
-
2030 #endif
-
2031 
-
2032 #endif //_THORVG_CAPI_H_
-
-
TVG_EXPORT Tvg_Result tvg_paint_set_opacity(Tvg_Paint *paint, uint8_t opacity)
Sets the opacity of the given Tvg_Paint.
-
TVG_EXPORT Tvg_Result tvg_paint_get_transform(Tvg_Paint *paint, Tvg_Matrix *m)
Gets the matrix of the affine transformation of the given Tvg_Paint object.
-
TVG_EXPORT Tvg_Result tvg_shape_get_fill_rule(const Tvg_Paint *paint, Tvg_Fill_Rule *rule)
Gets the shape's fill rule.
-
TVG_EXPORT Tvg_Result tvg_gradient_set_color_stops(Tvg_Gradient *grad, const Tvg_Color_Stop *color_stop, uint32_t cnt)
Sets the parameters of the colors of the gradient and their position.
-
A data structure representing a three-dimensional matrix.
Definition: thorvg_capi.h:212
-
TVG_EXPORT Tvg_Result tvg_scene_clear(Tvg_Paint *scene, bool free)
Clears a Tvg_Scene objects from pushed paints.
-
TVG_EXPORT Tvg_Result tvg_shape_set_fill_color(Tvg_Paint *paint, uint8_t r, uint8_t g, uint8_t b, uint8_t a)
Sets the shape's solid color.
-
TVG_EXPORT Tvg_Result tvg_gradient_get_spread(const Tvg_Gradient *grad, Tvg_Stroke_Fill *spread)
Gets the FillSpread value of the gradient object.
-
TVG_EXPORT Tvg_Result tvg_scene_reserve(Tvg_Paint *scene, uint32_t size)
Sets the size of the container, where all the paints pushed into the scene are stored.
-
TVG_EXPORT Tvg_Result tvg_paint_get_composite_method(const Tvg_Paint *paint, const Tvg_Paint **target, Tvg_Composite_Method *method)
Gets the composition target object and the composition method.
-
@ TVG_FILL_RULE_WINDING
A line from the point to a location outside the shape is drawn. The intersections of the line with th...
Definition: thorvg_capi.h:169
-
@ TVG_RESULT_FAILED_ALLOCATION
The value returned in case of unsuccessful memory allocation.
Definition: thorvg_capi.h:96
-
TVG_EXPORT Tvg_Result tvg_shape_append_rect(Tvg_Paint *paint, float x, float y, float w, float h, float rx, float ry)
Appends a rectangle to the path.
-
TVG_EXPORT Tvg_Result tvg_radial_gradient_get(Tvg_Gradient *grad, float *cx, float *cy, float *radius)
The function gets radial gradient center point ant radius.
-
TVG_EXPORT Tvg_Result tvg_shape_get_path_coords(const Tvg_Paint *paint, const Tvg_Point **pts, uint32_t *cnt)
Gets the points values of the path.
-
TVG_EXPORT Tvg_Result tvg_canvas_push(Tvg_Canvas *canvas, Tvg_Paint *paint)
Inserts a drawing element into the canvas using a Tvg_Paint object.
-
TVG_EXPORT Tvg_Result tvg_swcanvas_set_target(Tvg_Canvas *canvas, uint32_t *buffer, uint32_t stride, uint32_t w, uint32_t h, Tvg_Colorspace cs)
Sets the buffer used in the rasterization process and defines the used colorspace.
-
TVG_EXPORT Tvg_Gradient * tvg_radial_gradient_new()
Creates a new radial gradient object.
-
struct _Tvg_Saver Tvg_Saver
A structure representing an object that enables to save a Tvg_Paint object into a file.
Definition: thorvg_capi.h:75
-
TVG_EXPORT Tvg_Paint * tvg_paint_duplicate(Tvg_Paint *paint)
Duplicates the given Tvg_Paint object.
-
TVG_EXPORT Tvg_Saver * tvg_saver_new()
Creates a new Tvg_Saver object.
-
TVG_EXPORT Tvg_Result tvg_saver_sync(Tvg_Saver *saver)
Guarantees that the saving task is finished.
-
TVG_EXPORT Tvg_Result tvg_shape_get_path_commands(const Tvg_Paint *paint, const Tvg_Path_Command **cmds, uint32_t *cnt)
Gets the commands data of the path.
-
TVG_EXPORT Tvg_Result tvg_canvas_sync(Tvg_Canvas *canvas)
Guarantees that the drawing process is finished.
-
TVG_EXPORT Tvg_Result tvg_shape_reset(Tvg_Paint *paint)
Resets the shape path properties.
-
TVG_EXPORT Tvg_Result tvg_shape_set_stroke_radial_gradient(Tvg_Paint *paint, Tvg_Gradient *grad)
Sets the radial gradient fill of the stroke for all of the figures from the path.
-
TVG_EXPORT Tvg_Result tvg_swcanvas_set_mempool(Tvg_Canvas *canvas, Tvg_Mempool_Policy policy)
Sets the software engine memory pool behavior policy.
-
TVG_EXPORT Tvg_Result tvg_canvas_clear(Tvg_Canvas *canvas, bool free)
Sets the total number of the paints pushed into the canvas to be zero. Tvg_Paint objects stored in th...
-
@ TVG_COMPOSITE_METHOD_ALPHA_MASK
The pixels of the source and the target are alpha blended. As a result, only the part of the source,...
Definition: thorvg_capi.h:111
-
@ TVG_ENGINE_SW
CPU rasterizer.
Definition: thorvg_capi.h:84
-
TVG_EXPORT Tvg_Result tvg_paint_del(Tvg_Paint *paint)
Releases the given Tvg_Paint object.
-
uint8_t a
Definition: thorvg_capi.h:190
-
TVG_EXPORT Tvg_Result tvg_paint_get_opacity(const Tvg_Paint *paint, uint8_t *opacity)
Gets the opacity of the given Tvg_Paint.
-
Tvg_Composite_Method
Enumeration indicating the method used in the composition of two objects - the target and the source.
Definition: thorvg_capi.h:108
-
TVG_EXPORT Tvg_Result tvg_shape_set_stroke_cap(Tvg_Paint *paint, Tvg_Stroke_Cap cap)
Sets the cap style used for stroking the path.
-
struct _Tvg_Canvas Tvg_Canvas
A structure responsible for managing and drawing graphical elements.
Definition: thorvg_capi.h:55
-
TVG_EXPORT Tvg_Result tvg_canvas_update(Tvg_Canvas *canvas)
Updates all paints in a canvas.
-
TVG_EXPORT Tvg_Result tvg_gradient_set_spread(Tvg_Gradient *grad, const Tvg_Stroke_Fill spread)
Sets the Tvg_Stroke_Fill value, which specifies how to fill the area outside the gradient bounds.
-
TVG_EXPORT Tvg_Result tvg_shape_set_stroke_join(Tvg_Paint *paint, Tvg_Stroke_Join join)
Sets the join style for stroked path segments.
-
Tvg_Engine
Enumeration specifying the engine type used for the graphics backend. For multiple backends bitwise o...
Definition: thorvg_capi.h:83
-
uint8_t r
Definition: thorvg_capi.h:187
-
TVG_EXPORT Tvg_Result tvg_gradient_del(Tvg_Gradient *grad)
Deletes the given gradient object.
-
TVG_EXPORT Tvg_Result tvg_canvas_draw(Tvg_Canvas *canvas)
Requests the canvas to draw the Tvg_Paint objects.
-
Tvg_Mempool_Policy
Enumeration specifying the methods of Memory Pool behavior policy.
Definition: thorvg_capi.h:320
-
@ TVG_STROKE_CAP_BUTT
The stroke ends exactly at each of the two endpoints of a sub-path. For zero length sub-paths no stro...
Definition: thorvg_capi.h:141
-
TVG_EXPORT Tvg_Result tvg_picture_get_viewbox(const Tvg_Paint *paint, float *x, float *y, float *w, float *h)
Gets the position and the size of the loaded picture. (BETA_API)
-
Tvg_Fill_Rule
Enumeration specifying the algorithm used to establish which parts of the shape are treated as the in...
Definition: thorvg_capi.h:168
-
TVG_EXPORT Tvg_Result tvg_paint_translate(Tvg_Paint *paint, float x, float y)
Moves the given Tvg_Paint in a two-dimensional space.
-
TVG_EXPORT Tvg_Result tvg_shape_get_stroke_color(const Tvg_Paint *paint, uint8_t *r, uint8_t *g, uint8_t *b, uint8_t *a)
Gets the shape's stroke color.
-
TVG_EXPORT Tvg_Result tvg_shape_set_fill_rule(Tvg_Paint *paint, Tvg_Fill_Rule rule)
Sets the shape's fill rule.
-
TVG_EXPORT Tvg_Paint * tvg_scene_new()
Creates a new scene object.
-
@ TVG_MEMPOOL_POLICY_SHAREABLE
Memory Pool is shared among canvases.
Definition: thorvg_capi.h:322
-
A data structure representing a point in two-dimensional space.
Definition: thorvg_capi.h:199
-
@ TVG_RESULT_UNKNOWN
The value returned in all other cases.
Definition: thorvg_capi.h:99
-
@ TVG_PATH_COMMAND_LINE_TO
Draws a line from the current point to the given point and sets a new value of the current point - co...
Definition: thorvg_capi.h:130
-
@ TVG_FILL_RULE_EVEN_ODD
A line from the point to a location outside the shape is drawn and its intersections with the path se...
Definition: thorvg_capi.h:170
-
TVG_EXPORT Tvg_Canvas * tvg_swcanvas_create()
Creates a Canvas object.
-
Tvg_Colorspace
Enumeration specifying the methods of combining the 8-bit color channels into 32-bit color.
Definition: thorvg_capi.h:330
-
uint8_t g
Definition: thorvg_capi.h:188
-
TVG_EXPORT Tvg_Paint * tvg_shape_new()
Creates a new shape object.
-
TVG_EXPORT Tvg_Result tvg_engine_init(Tvg_Engine engine_method, unsigned threads)
Initializes TVG engines.
-
TVG_EXPORT Tvg_Result tvg_shape_set_linear_gradient(Tvg_Paint *paint, Tvg_Gradient *grad)
Sets the linear gradient fill for all of the figures from the path.
-
@ TVG_MEMPOOL_POLICY_DEFAULT
Default behavior that ThorVG is designed to.
Definition: thorvg_capi.h:321
-
TVG_EXPORT Tvg_Result tvg_shape_get_stroke_cap(const Tvg_Paint *paint, Tvg_Stroke_Cap *cap)
Gets the stroke cap style used for stroking the path.
-
TVG_EXPORT Tvg_Result tvg_shape_append_circle(Tvg_Paint *paint, float cx, float cy, float rx, float ry)
Appends an ellipse to the path.
-
@ TVG_STROKE_JOIN_BEVEL
The outer corner of the joined path segments is bevelled at the join point. The triangular region of ...
Definition: thorvg_capi.h:149
-
TVG_EXPORT Tvg_Result tvg_paint_scale(Tvg_Paint *paint, float factor)
Scales the given Tvg_Paint object by the given factor.
-
TVG_EXPORT Tvg_Result tvg_picture_load(Tvg_Paint *paint, const char *path)
Loads a picture data directly from a file.
-
TVG_EXPORT Tvg_Result tvg_scene_push(Tvg_Paint *scene, Tvg_Paint *paint)
Passes drawing elements to the scene using Tvg_Paint objects.
-
TVG_EXPORT Tvg_Result tvg_radial_gradient_set(Tvg_Gradient *grad, float cx, float cy, float radius)
Sets the radial gradient bounds.
-
@ TVG_ENGINE_GL
OpenGL rasterizer.
Definition: thorvg_capi.h:85
-
@ TVG_MEMPOOL_POLICY_INDIVIDUAL
Allocate designated memory pool that is used only by the current canvas instance.
Definition: thorvg_capi.h:323
-
TVG_EXPORT Tvg_Result tvg_linear_gradient_get(Tvg_Gradient *grad, float *x1, float *y1, float *x2, float *y2)
Gets the linear gradient bounds.
-
Tvg_Result
Enumeration specifying the result from the APIs.
Definition: thorvg_capi.h:92
-
@ TVG_STROKE_CAP_SQUARE
The stroke is extended in both endpoints of a sub-path by a rectangle, with the width equal to the st...
Definition: thorvg_capi.h:139
-
TVG_EXPORT Tvg_Result tvg_shape_append_path(Tvg_Paint *paint, const Tvg_Path_Command *cmds, uint32_t cmdCnt, const Tvg_Point *pts, uint32_t ptsCnt)
Appends a given sub-path to the path.
-
@ TVG_COMPOSITE_METHOD_NONE
No composition is applied.
Definition: thorvg_capi.h:109
-
TVG_EXPORT Tvg_Result tvg_gradient_get_transform(const Tvg_Gradient *grad, Tvg_Matrix *m)
Gets the matrix of the affine transformation of the gradient object. (BETA_API)
-
TVG_EXPORT Tvg_Result tvg_shape_get_stroke_width(const Tvg_Paint *paint, float *width)
Gets the shape's stroke width.
-
TVG_EXPORT Tvg_Result tvg_picture_load_raw(Tvg_Paint *paint, uint32_t *data, uint32_t w, uint32_t h, bool copy)
Loads a picture data from a memory block of a given size. (BETA_API)
-
@ TVG_COLORSPACE_ARGB8888
The 8-bit color channels are combined into 32-bit color in the order: alpha, red, green,...
Definition: thorvg_capi.h:332
-
TVG_EXPORT Tvg_Result tvg_shape_get_stroke_dash(const Tvg_Paint *paint, const float **dashPattern, uint32_t *cnt)
Gets the dash pattern of the stroke.
-
@ TVG_STROKE_FILL_REFLECT
The gradient pattern is reflected outside the gradient area until the expected region is filled.
Definition: thorvg_capi.h:160
-
TVG_EXPORT Tvg_Result tvg_paint_set_transform(Tvg_Paint *paint, const Tvg_Matrix *m)
Transforms the given Tvg_Paint using the augmented transformation matrix.
-
TVG_EXPORT Tvg_Result tvg_shape_set_stroke_linear_gradient(Tvg_Paint *paint, Tvg_Gradient *grad)
Sets the linear gradient fill of the stroke for all of the figures from the path.
-
TVG_EXPORT Tvg_Result tvg_paint_set_composite_method(Tvg_Paint *paint, Tvg_Paint *target, Tvg_Composite_Method method)
Sets the composition target object and the composition method.
-
TVG_EXPORT Tvg_Result tvg_shape_get_fill_color(const Tvg_Paint *paint, uint8_t *r, uint8_t *g, uint8_t *b, uint8_t *a)
Gets the shape's solid color.
-
@ TVG_RESULT_NOT_SUPPORTED
The value returned in case of choosing unsupported options.
Definition: thorvg_capi.h:98
-
TVG_EXPORT Tvg_Result tvg_shape_line_to(Tvg_Paint *paint, float x, float y)
Adds a new point to the sub-path, which results in drawing a line from the current point to the given...
-
@ TVG_COMPOSITE_METHOD_CLIP_PATH
The intersection of the source and the target is determined and only the resulting pixels from the so...
Definition: thorvg_capi.h:110
-
TVG_EXPORT Tvg_Result tvg_shape_set_stroke_dash(Tvg_Paint *paint, const float *dashPattern, uint32_t cnt)
Sets the shape's stroke dash pattern.
-
TVG_EXPORT Tvg_Gradient * tvg_gradient_duplicate(Tvg_Gradient *grad)
Duplicates the given Tvg_Gradient object.
-
TVG_EXPORT Tvg_Result tvg_shape_get_stroke_join(const Tvg_Paint *paint, Tvg_Stroke_Join *join)
The function gets the stroke join method.
-
Tvg_Stroke_Cap
Enumeration determining the ending type of a stroke in the open sub-paths.
Definition: thorvg_capi.h:138
-
@ TVG_PATH_COMMAND_CLOSE
Ends the current sub-path and connects it with its initial point - corresponds to Z command in the sv...
Definition: thorvg_capi.h:128
-
@ TVG_COLORSPACE_ABGR8888
The 8-bit color channels are combined into 32-bit color in the order: alpha, blue,...
Definition: thorvg_capi.h:331
-
Tvg_Stroke_Fill
Enumeration specifying how to fill the area outside the gradient bounds.
Definition: thorvg_capi.h:158
-
TVG_EXPORT Tvg_Result tvg_paint_rotate(Tvg_Paint *paint, float degree)
Rotates the given Tvg_Paint by the given angle.
-
TVG_EXPORT Tvg_Result tvg_linear_gradient_set(Tvg_Gradient *grad, float x1, float y1, float x2, float y2)
Sets the linear gradient bounds.
-
float offset
Definition: thorvg_capi.h:186
-
TVG_EXPORT Tvg_Result tvg_picture_get_size(const Tvg_Paint *paint, float *w, float *h)
Gets the size of the loaded picture.
-
struct _Tvg_Gradient Tvg_Gradient
A structure representing a gradient fill of a Tvg_Paint object.
Definition: thorvg_capi.h:69
-
@ TVG_STROKE_FILL_REPEAT
The gradient pattern is repeated continuously beyond the gradient area until the expected region is f...
Definition: thorvg_capi.h:161
-
@ TVG_RESULT_SUCCESS
The value returned in case of a correct request execution.
Definition: thorvg_capi.h:93
-
struct _Tvg_Paint Tvg_Paint
A structure representing a graphical element.
Definition: thorvg_capi.h:63
-
TVG_EXPORT Tvg_Gradient * tvg_linear_gradient_new()
Creates a new linear gradient object.
-
TVG_EXPORT Tvg_Result tvg_canvas_destroy(Tvg_Canvas *canvas)
Clears the canvas internal data, releases all paints stored by the canvas and destroys the canvas obj...
-
@ TVG_RESULT_INSUFFICIENT_CONDITION
The value returned in case the request cannot be processed - e.g. asking for properties of an object,...
Definition: thorvg_capi.h:95
-
TVG_EXPORT Tvg_Result tvg_shape_cubic_to(Tvg_Paint *paint, float cx1, float cy1, float cx2, float cy2, float x, float y)
Adds new points to the sub-path, which results in drawing a cubic Bezier curve.
-
TVG_EXPORT Tvg_Result tvg_saver_del(Tvg_Saver *saver)
Deletes the given Tvg_Saver object.
-
@ TVG_STROKE_FILL_PAD
The remaining area is filled with the closest stop color.
Definition: thorvg_capi.h:159
-
TVG_EXPORT Tvg_Result tvg_gradient_set_transform(Tvg_Gradient *grad, const Tvg_Matrix *m)
Sets the matrix of the affine transformation for the gradient object. (BETA_API)
-
A data structure storing the information about the color and its relative position inside the gradien...
Definition: thorvg_capi.h:184
-
TVG_EXPORT Tvg_Result tvg_shape_close(Tvg_Paint *paint)
Closes the current sub-path by drawing a line from the current point to the initial point of the sub-...
-
Tvg_Stroke_Join
Enumeration specifying how to fill the area outside the gradient bounds.
Definition: thorvg_capi.h:148
-
TVG_EXPORT Tvg_Result tvg_shape_set_stroke_width(Tvg_Paint *paint, float width)
Sets the stroke width for all of the figures from the paint.
-
TVG_EXPORT Tvg_Result tvg_gradient_get_color_stops(const Tvg_Gradient *grad, const Tvg_Color_Stop **color_stop, uint32_t *cnt)
Gets the parameters of the colors of the gradient, their position and number.
-
uint8_t b
Definition: thorvg_capi.h:189
-
@ TVG_PATH_COMMAND_MOVE_TO
Sets a new initial point of the sub-path and a new current point - corresponds to M command in the sv...
Definition: thorvg_capi.h:129
-
TVG_EXPORT Tvg_Result tvg_shape_move_to(Tvg_Paint *paint, float x, float y)
Sets the initial point of the sub-path.
-
@ TVG_PATH_COMMAND_CUBIC_TO
Draws a cubic Bezier curve from the current point to the given point using two given control points a...
Definition: thorvg_capi.h:131
-
@ TVG_STROKE_CAP_ROUND
The stroke is extended in both endpoints of a sub-path by a half circle, with a radius equal to the h...
Definition: thorvg_capi.h:140
-
TVG_EXPORT Tvg_Result tvg_shape_set_stroke_color(Tvg_Paint *paint, uint8_t r, uint8_t g, uint8_t b, uint8_t a)
Sets the shape's stroke color.
-
TVG_EXPORT Tvg_Paint * tvg_picture_new()
Creates a new picture object.
-
TVG_EXPORT Tvg_Result tvg_engine_term(Tvg_Engine engine_method)
Terminates TVG engines.
-
TVG_EXPORT Tvg_Result tvg_shape_get_stroke_gradient(const Tvg_Paint *paint, Tvg_Gradient **grad)
Gets the gradient fill of the shape's stroke.
-
@ TVG_STROKE_JOIN_MITER
The outer corner of the joined path segments is spiked. The spike is created by extension beyond the ...
Definition: thorvg_capi.h:151
-
TVG_EXPORT Tvg_Result tvg_picture_set_size(Tvg_Paint *paint, float w, float h)
Resizes the picture content to the given width and height.
-
Tvg_Path_Command
Enumeration specifying the values of the path commands accepted by TVG.
Definition: thorvg_capi.h:127
-
@ TVG_STROKE_JOIN_ROUND
The outer corner of the joined path segments is rounded. The circular region is centered at the join ...
Definition: thorvg_capi.h:150
-
TVG_EXPORT Tvg_Result tvg_picture_load_data(Tvg_Paint *paint, const char *data, uint32_t size, const char *mimetype, bool copy)
Loads a picture data from a memory block of a given size.
-
TVG_EXPORT Tvg_Result tvg_shape_append_arc(Tvg_Paint *paint, float cx, float cy, float radius, float startAngle, float sweep, uint8_t pie)
Appends a circular arc to the path.
-
TVG_EXPORT Tvg_Result tvg_shape_set_radial_gradient(Tvg_Paint *paint, Tvg_Gradient *grad)
Sets the radial gradient fill for all of the figures from the path.
-
TVG_EXPORT Tvg_Result tvg_canvas_update_paint(Tvg_Canvas *canvas, Tvg_Paint *paint)
Updates the given Tvg_Paint object from the canvas before the rendering.
-
TVG_EXPORT Tvg_Result tvg_saver_save(Tvg_Saver *saver, Tvg_Paint *paint, const char *path, bool compress)
Exports the given paint data to the given path.
-
@ TVG_RESULT_INVALID_ARGUMENT
The value returned in the event of a problem with the arguments given to the API - e....
Definition: thorvg_capi.h:94
-
TVG_EXPORT Tvg_Result tvg_canvas_reserve(Tvg_Canvas *canvas, uint32_t n)
Reserves a memory block where the objects pushed into a canvas are stored.
-
TVG_EXPORT Tvg_Result tvg_paint_get_bounds(const Tvg_Paint *paint, float *x, float *y, float *w, float *h, bool transformed)
Gets the axis-aligned bounding box of the Tvg_Paint object. (BETA_API)
-
@ TVG_COMPOSITE_METHOD_INVERSE_ALPHA_MASK
The pixels of the source and the complement to the target's pixels are alpha blended....
Definition: thorvg_capi.h:112
-
TVG_EXPORT Tvg_Result tvg_shape_get_gradient(const Tvg_Paint *paint, Tvg_Gradient **grad)
Gets the gradient fill of the shape.
-
@ TVG_RESULT_MEMORY_CORRUPTION
The value returned in the event of bad memory handling - e.g. failing in pointer releasing or casting...
Definition: thorvg_capi.h:97
- - - - -- 2.7.4 From 2e33b6cce6232adda404ed6635a6d6fa0397b437 Mon Sep 17 00:00:00 2001 From: jykeon Date: Thu, 11 Nov 2021 08:35:30 +0900 Subject: [PATCH 16/16] bump up version v0.5.3 Change-Id: I34ba3c0ba4fe7b1b4cb150ae8c0ebafcbe31b5b5 Signed-off-by: jykeon --- packaging/thorvg.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/thorvg.spec b/packaging/thorvg.spec index a3d3d00..55c8183 100644 --- a/packaging/thorvg.spec +++ b/packaging/thorvg.spec @@ -1,6 +1,6 @@ Name: thorvg Summary: Thor Vector Graphics Library -Version: 0.5.2 +Version: 0.5.3 Release: 1 Group: Graphics System/Rendering Engine License: MIT -- 2.7.4