thorvg/docs/html/group__ThorVGCapi__Shape.html
2021-12-22 19:11:22 +09:00

2126 lines
136 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ThorVG: Shape</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="small_logo.svg"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">ThorVG
&#160;<span id="projectnumber">v0.7</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Shape<div class="ingroups"><a class="el" href="group__ThorVG__CAPI.html">ThorVG_CAPI</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>A module for managing two-dimensional figures and their properties.
<a href="#details">More...</a></p>
<div class="dynheader">
Collaboration diagram for Shape:</div>
<div class="dyncontent">
<div class="center"><img src="group__ThorVGCapi__Shape.png" border="0" usemap="#group____ThorVGCapi____Shape" alt=""/></div>
<map name="group____ThorVGCapi____Shape" id="group____ThorVGCapi____Shape">
<area shape="rect" href="group__ThorVG__CAPI.html" title="ThorVG C language binding APIs." alt="" coords="5,5,112,31"/>
<area shape="rect" title="A module for managing two&#45;dimensional figures and their properties." alt="" coords="160,5,223,31"/>
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga08e05d64247332603a624cea6597be77"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#ga08e05d64247332603a624cea6597be77">Tvg_Path_Command</a> { <a class="el" href="group__ThorVGCapi__Shape.html#gga08e05d64247332603a624cea6597be77a6d66fea8e74674015ebb98d53f3f1fb1">TVG_PATH_COMMAND_CLOSE</a> = 0,
<a class="el" href="group__ThorVGCapi__Shape.html#gga08e05d64247332603a624cea6597be77a8fcafa6e4f0b512e2a09a711c74aa821">TVG_PATH_COMMAND_MOVE_TO</a>,
<a class="el" href="group__ThorVGCapi__Shape.html#gga08e05d64247332603a624cea6597be77ae77bc11698c492057df630321cab5536">TVG_PATH_COMMAND_LINE_TO</a>,
<a class="el" href="group__ThorVGCapi__Shape.html#gga08e05d64247332603a624cea6597be77a411110736873e7f995446761ab927a26">TVG_PATH_COMMAND_CUBIC_TO</a>
}</td></tr>
<tr class="memdesc:ga08e05d64247332603a624cea6597be77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the values of the path commands accepted by TVG. <a href="group__ThorVGCapi__Shape.html#ga08e05d64247332603a624cea6597be77">More...</a><br /></td></tr>
<tr class="separator:ga08e05d64247332603a624cea6597be77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3bcc39b01d899a7e82a6c939740208d3"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#ga3bcc39b01d899a7e82a6c939740208d3">Tvg_Stroke_Cap</a> { <a class="el" href="group__ThorVGCapi__Shape.html#gga3bcc39b01d899a7e82a6c939740208d3adcc12b6372824aacc98ce242452680f4">TVG_STROKE_CAP_SQUARE</a> = 0,
<a class="el" href="group__ThorVGCapi__Shape.html#gga3bcc39b01d899a7e82a6c939740208d3a23c1fc3f65e3389a5d5dc404f9353d08">TVG_STROKE_CAP_ROUND</a>,
<a class="el" href="group__ThorVGCapi__Shape.html#gga3bcc39b01d899a7e82a6c939740208d3aefc7710297416d48b660aeeebdd9c796">TVG_STROKE_CAP_BUTT</a>
}</td></tr>
<tr class="memdesc:ga3bcc39b01d899a7e82a6c939740208d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration determining the ending type of a stroke in the open sub-paths. <a href="group__ThorVGCapi__Shape.html#ga3bcc39b01d899a7e82a6c939740208d3">More...</a><br /></td></tr>
<tr class="separator:ga3bcc39b01d899a7e82a6c939740208d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf2cbac2c9164a782b96a8cd94f32e1ed"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#gaf2cbac2c9164a782b96a8cd94f32e1ed">Tvg_Stroke_Join</a> { <a class="el" href="group__ThorVGCapi__Shape.html#ggaf2cbac2c9164a782b96a8cd94f32e1eda05cffd5ebeeb548afaee19ae77257168">TVG_STROKE_JOIN_BEVEL</a> = 0,
<a class="el" href="group__ThorVGCapi__Shape.html#ggaf2cbac2c9164a782b96a8cd94f32e1eda6568aef8eba70b2dac2e901b6a7198ee">TVG_STROKE_JOIN_ROUND</a>,
<a class="el" href="group__ThorVGCapi__Shape.html#ggaf2cbac2c9164a782b96a8cd94f32e1eda2b2f5ccaa98b8f535c86c52aae82da4d">TVG_STROKE_JOIN_MITER</a>
}</td></tr>
<tr class="memdesc:gaf2cbac2c9164a782b96a8cd94f32e1ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying how to fill the area outside the gradient bounds. <a href="group__ThorVGCapi__Shape.html#gaf2cbac2c9164a782b96a8cd94f32e1ed">More...</a><br /></td></tr>
<tr class="separator:gaf2cbac2c9164a782b96a8cd94f32e1ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ac44e712782a9b2a5a36a49b2ae52c7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#ga9ac44e712782a9b2a5a36a49b2ae52c7">Tvg_Stroke_Fill</a> { <a class="el" href="group__ThorVGCapi__Shape.html#gga9ac44e712782a9b2a5a36a49b2ae52c7aa9c76cb4d947723ba270108f401f13ce">TVG_STROKE_FILL_PAD</a> = 0,
<a class="el" href="group__ThorVGCapi__Shape.html#gga9ac44e712782a9b2a5a36a49b2ae52c7a1cd7fd72e3ba1df2ccfbc683d81d1038">TVG_STROKE_FILL_REFLECT</a>,
<a class="el" href="group__ThorVGCapi__Shape.html#gga9ac44e712782a9b2a5a36a49b2ae52c7ab6191afa65b90f78dcd2261d058e8ed2">TVG_STROKE_FILL_REPEAT</a>
}</td></tr>
<tr class="memdesc:ga9ac44e712782a9b2a5a36a49b2ae52c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying how to fill the area outside the gradient bounds. <a href="group__ThorVGCapi__Shape.html#ga9ac44e712782a9b2a5a36a49b2ae52c7">More...</a><br /></td></tr>
<tr class="separator:ga9ac44e712782a9b2a5a36a49b2ae52c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaffafa3cd9dc4bc90a7ef3c763add2695"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#gaffafa3cd9dc4bc90a7ef3c763add2695">Tvg_Fill_Rule</a> { <a class="el" href="group__ThorVGCapi__Shape.html#ggaffafa3cd9dc4bc90a7ef3c763add2695ad241fa1df1af5a66c711414462ff1190">TVG_FILL_RULE_WINDING</a> = 0,
<a class="el" href="group__ThorVGCapi__Shape.html#ggaffafa3cd9dc4bc90a7ef3c763add2695abed5f43e043f8f277310ac6765cd4d88">TVG_FILL_RULE_EVEN_ODD</a>
}</td></tr>
<tr class="memdesc:gaffafa3cd9dc4bc90a7ef3c763add2695"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the algorithm used to establish which parts of the shape are treated as the inside of the shape. <a href="group__ThorVGCapi__Shape.html#gaffafa3cd9dc4bc90a7ef3c763add2695">More...</a><br /></td></tr>
<tr class="separator:gaffafa3cd9dc4bc90a7ef3c763add2695"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga9c0423ae5b7747a9b6b086a93504bd8d"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#ga9c0423ae5b7747a9b6b086a93504bd8d">tvg_shape_new</a> ()</td></tr>
<tr class="memdesc:ga9c0423ae5b7747a9b6b086a93504bd8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new shape object. <a href="group__ThorVGCapi__Shape.html#ga9c0423ae5b7747a9b6b086a93504bd8d">More...</a><br /></td></tr>
<tr class="separator:ga9c0423ae5b7747a9b6b086a93504bd8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae5b23d6696a1b4012270a93210750e77"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#gae5b23d6696a1b4012270a93210750e77">tvg_shape_reset</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint)</td></tr>
<tr class="memdesc:gae5b23d6696a1b4012270a93210750e77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the shape path properties. <a href="group__ThorVGCapi__Shape.html#gae5b23d6696a1b4012270a93210750e77">More...</a><br /></td></tr>
<tr class="separator:gae5b23d6696a1b4012270a93210750e77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga892eb9130555a02a6e6bec3c91a7de3c"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#ga892eb9130555a02a6e6bec3c91a7de3c">tvg_shape_move_to</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, float x, float y)</td></tr>
<tr class="memdesc:ga892eb9130555a02a6e6bec3c91a7de3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the initial point of the sub-path. <a href="group__ThorVGCapi__Shape.html#ga892eb9130555a02a6e6bec3c91a7de3c">More...</a><br /></td></tr>
<tr class="separator:ga892eb9130555a02a6e6bec3c91a7de3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga715e047ef4d45ced617f9ed000df1842"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#ga715e047ef4d45ced617f9ed000df1842">tvg_shape_line_to</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, float x, float y)</td></tr>
<tr class="memdesc:ga715e047ef4d45ced617f9ed000df1842"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a new point to the sub-path, which results in drawing a line from the current point to the given end-point. <a href="group__ThorVGCapi__Shape.html#ga715e047ef4d45ced617f9ed000df1842">More...</a><br /></td></tr>
<tr class="separator:ga715e047ef4d45ced617f9ed000df1842"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga275080e39eba2bc732625be046292176"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#ga275080e39eba2bc732625be046292176">tvg_shape_cubic_to</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, float cx1, float cy1, float cx2, float cy2, float x, float y)</td></tr>
<tr class="memdesc:ga275080e39eba2bc732625be046292176"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds new points to the sub-path, which results in drawing a cubic Bezier curve. <a href="group__ThorVGCapi__Shape.html#ga275080e39eba2bc732625be046292176">More...</a><br /></td></tr>
<tr class="separator:ga275080e39eba2bc732625be046292176"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga99049e9ec53866666fdec34f05d084b1"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#ga99049e9ec53866666fdec34f05d084b1">tvg_shape_close</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint)</td></tr>
<tr class="memdesc:ga99049e9ec53866666fdec34f05d084b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes the current sub-path by drawing a line from the current point to the initial point of the sub-path. <a href="group__ThorVGCapi__Shape.html#ga99049e9ec53866666fdec34f05d084b1">More...</a><br /></td></tr>
<tr class="separator:ga99049e9ec53866666fdec34f05d084b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1af7237c282fc0269e65a3ba6609291"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#gac1af7237c282fc0269e65a3ba6609291">tvg_shape_append_rect</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, float x, float y, float w, float h, float rx, float ry)</td></tr>
<tr class="memdesc:gac1af7237c282fc0269e65a3ba6609291"><td class="mdescLeft">&#160;</td><td class="mdescRight">Appends a rectangle to the path. <a href="group__ThorVGCapi__Shape.html#gac1af7237c282fc0269e65a3ba6609291">More...</a><br /></td></tr>
<tr class="separator:gac1af7237c282fc0269e65a3ba6609291"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga32c7b28d082544df3cc9dc6730fc6a39"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#ga32c7b28d082544df3cc9dc6730fc6a39">tvg_shape_append_circle</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, float cx, float cy, float rx, float ry)</td></tr>
<tr class="memdesc:ga32c7b28d082544df3cc9dc6730fc6a39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Appends an ellipse to the path. <a href="group__ThorVGCapi__Shape.html#ga32c7b28d082544df3cc9dc6730fc6a39">More...</a><br /></td></tr>
<tr class="separator:ga32c7b28d082544df3cc9dc6730fc6a39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga237a7a1bc5274dd7ffc7355be48888fd"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#ga237a7a1bc5274dd7ffc7355be48888fd">tvg_shape_append_arc</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, float cx, float cy, float radius, float startAngle, float sweep, uint8_t pie)</td></tr>
<tr class="memdesc:ga237a7a1bc5274dd7ffc7355be48888fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Appends a circular arc to the path. <a href="group__ThorVGCapi__Shape.html#ga237a7a1bc5274dd7ffc7355be48888fd">More...</a><br /></td></tr>
<tr class="separator:ga237a7a1bc5274dd7ffc7355be48888fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga31d8aaa35a50228b0b343471ff0d77b3"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#ga31d8aaa35a50228b0b343471ff0d77b3">tvg_shape_append_path</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, const <a class="el" href="group__ThorVGCapi__Shape.html#ga08e05d64247332603a624cea6597be77">Tvg_Path_Command</a> *cmds, uint32_t cmdCnt, const <a class="el" href="structTvg__Point.html">Tvg_Point</a> *pts, uint32_t ptsCnt)</td></tr>
<tr class="memdesc:ga31d8aaa35a50228b0b343471ff0d77b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Appends a given sub-path to the path. <a href="group__ThorVGCapi__Shape.html#ga31d8aaa35a50228b0b343471ff0d77b3">More...</a><br /></td></tr>
<tr class="separator:ga31d8aaa35a50228b0b343471ff0d77b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad5323f2c523a6a14b89ed105f3450108"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#gad5323f2c523a6a14b89ed105f3450108">tvg_shape_get_path_coords</a> (const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, const <a class="el" href="structTvg__Point.html">Tvg_Point</a> **pts, uint32_t *cnt)</td></tr>
<tr class="memdesc:gad5323f2c523a6a14b89ed105f3450108"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the points values of the path. <a href="group__ThorVGCapi__Shape.html#gad5323f2c523a6a14b89ed105f3450108">More...</a><br /></td></tr>
<tr class="separator:gad5323f2c523a6a14b89ed105f3450108"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacd0ecb2f60ad6ab2e616e5870e1857aa"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#gacd0ecb2f60ad6ab2e616e5870e1857aa">tvg_shape_get_path_commands</a> (const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, const <a class="el" href="group__ThorVGCapi__Shape.html#ga08e05d64247332603a624cea6597be77">Tvg_Path_Command</a> **cmds, uint32_t *cnt)</td></tr>
<tr class="memdesc:gacd0ecb2f60ad6ab2e616e5870e1857aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the commands data of the path. <a href="group__ThorVGCapi__Shape.html#gacd0ecb2f60ad6ab2e616e5870e1857aa">More...</a><br /></td></tr>
<tr class="separator:gacd0ecb2f60ad6ab2e616e5870e1857aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae3a63091a9c00c796ecadf3e6983c5fd"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#gae3a63091a9c00c796ecadf3e6983c5fd">tvg_shape_set_stroke_width</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, float width)</td></tr>
<tr class="memdesc:gae3a63091a9c00c796ecadf3e6983c5fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the stroke width for all of the figures from the <code>paint</code>. <a href="group__ThorVGCapi__Shape.html#gae3a63091a9c00c796ecadf3e6983c5fd">More...</a><br /></td></tr>
<tr class="separator:gae3a63091a9c00c796ecadf3e6983c5fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6964fd905664d48bf7252d6c67cb4dcd"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#ga6964fd905664d48bf7252d6c67cb4dcd">tvg_shape_get_stroke_width</a> (const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, float *width)</td></tr>
<tr class="memdesc:ga6964fd905664d48bf7252d6c67cb4dcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the shape's stroke width. <a href="group__ThorVGCapi__Shape.html#ga6964fd905664d48bf7252d6c67cb4dcd">More...</a><br /></td></tr>
<tr class="separator:ga6964fd905664d48bf7252d6c67cb4dcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9c1d8aaf73da6f4386cce28a245d3f27"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#ga9c1d8aaf73da6f4386cce28a245d3f27">tvg_shape_set_stroke_color</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, uint8_t r, uint8_t g, uint8_t b, uint8_t a)</td></tr>
<tr class="memdesc:ga9c1d8aaf73da6f4386cce28a245d3f27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the shape's stroke color. <a href="group__ThorVGCapi__Shape.html#ga9c1d8aaf73da6f4386cce28a245d3f27">More...</a><br /></td></tr>
<tr class="separator:ga9c1d8aaf73da6f4386cce28a245d3f27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad63d7d12327f3d9912999de2a2504b8d"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#gad63d7d12327f3d9912999de2a2504b8d">tvg_shape_get_stroke_color</a> (const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, uint8_t *r, uint8_t *g, uint8_t *b, uint8_t *a)</td></tr>
<tr class="memdesc:gad63d7d12327f3d9912999de2a2504b8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the shape's stroke color. <a href="group__ThorVGCapi__Shape.html#gad63d7d12327f3d9912999de2a2504b8d">More...</a><br /></td></tr>
<tr class="separator:gad63d7d12327f3d9912999de2a2504b8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae15955526c9e519ea204b77aa91de111"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#gae15955526c9e519ea204b77aa91de111">tvg_shape_set_stroke_linear_gradient</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, <a class="el" href="group__ThorVG__CAPI.html#gafc8e0d01812127260d0753eceb056181">Tvg_Gradient</a> *grad)</td></tr>
<tr class="memdesc:gae15955526c9e519ea204b77aa91de111"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the linear gradient fill of the stroke for all of the figures from the path. <a href="group__ThorVGCapi__Shape.html#gae15955526c9e519ea204b77aa91de111">More...</a><br /></td></tr>
<tr class="separator:gae15955526c9e519ea204b77aa91de111"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0b1d28f178f276d379ca2c14fd7d869c"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#ga0b1d28f178f276d379ca2c14fd7d869c">tvg_shape_set_stroke_radial_gradient</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, <a class="el" href="group__ThorVG__CAPI.html#gafc8e0d01812127260d0753eceb056181">Tvg_Gradient</a> *grad)</td></tr>
<tr class="memdesc:ga0b1d28f178f276d379ca2c14fd7d869c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the radial gradient fill of the stroke for all of the figures from the path. <a href="group__ThorVGCapi__Shape.html#ga0b1d28f178f276d379ca2c14fd7d869c">More...</a><br /></td></tr>
<tr class="separator:ga0b1d28f178f276d379ca2c14fd7d869c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga48c323d84e770c561c14bfc586240b96"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#ga48c323d84e770c561c14bfc586240b96">tvg_shape_get_stroke_gradient</a> (const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, <a class="el" href="group__ThorVG__CAPI.html#gafc8e0d01812127260d0753eceb056181">Tvg_Gradient</a> **grad)</td></tr>
<tr class="memdesc:ga48c323d84e770c561c14bfc586240b96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the gradient fill of the shape's stroke. <a href="group__ThorVGCapi__Shape.html#ga48c323d84e770c561c14bfc586240b96">More...</a><br /></td></tr>
<tr class="separator:ga48c323d84e770c561c14bfc586240b96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaab74503fd357cfaf7727c25278b71531"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#gaab74503fd357cfaf7727c25278b71531">tvg_shape_set_stroke_dash</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, const float *dashPattern, uint32_t cnt)</td></tr>
<tr class="memdesc:gaab74503fd357cfaf7727c25278b71531"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the shape's stroke dash pattern. <a href="group__ThorVGCapi__Shape.html#gaab74503fd357cfaf7727c25278b71531">More...</a><br /></td></tr>
<tr class="separator:gaab74503fd357cfaf7727c25278b71531"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga40dd2d0753ce8a3018e02a7382abe04f"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#ga40dd2d0753ce8a3018e02a7382abe04f">tvg_shape_get_stroke_dash</a> (const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, const float **dashPattern, uint32_t *cnt)</td></tr>
<tr class="memdesc:ga40dd2d0753ce8a3018e02a7382abe04f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the dash pattern of the stroke. <a href="group__ThorVGCapi__Shape.html#ga40dd2d0753ce8a3018e02a7382abe04f">More...</a><br /></td></tr>
<tr class="separator:ga40dd2d0753ce8a3018e02a7382abe04f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabb5f5cfe6ff8098efcde6f80c56ca200"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#gabb5f5cfe6ff8098efcde6f80c56ca200">tvg_shape_set_stroke_cap</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, <a class="el" href="group__ThorVGCapi__Shape.html#ga3bcc39b01d899a7e82a6c939740208d3">Tvg_Stroke_Cap</a> cap)</td></tr>
<tr class="memdesc:gabb5f5cfe6ff8098efcde6f80c56ca200"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the cap style used for stroking the path. <a href="group__ThorVGCapi__Shape.html#gabb5f5cfe6ff8098efcde6f80c56ca200">More...</a><br /></td></tr>
<tr class="separator:gabb5f5cfe6ff8098efcde6f80c56ca200"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaad894f66bc9bbd8f91c351aff534536b"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#gaad894f66bc9bbd8f91c351aff534536b">tvg_shape_get_stroke_cap</a> (const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, <a class="el" href="group__ThorVGCapi__Shape.html#ga3bcc39b01d899a7e82a6c939740208d3">Tvg_Stroke_Cap</a> *cap)</td></tr>
<tr class="memdesc:gaad894f66bc9bbd8f91c351aff534536b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the stroke cap style used for stroking the path. <a href="group__ThorVGCapi__Shape.html#gaad894f66bc9bbd8f91c351aff534536b">More...</a><br /></td></tr>
<tr class="separator:gaad894f66bc9bbd8f91c351aff534536b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga34cb2634d8e9b603f22d4112b346c32a"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#ga34cb2634d8e9b603f22d4112b346c32a">tvg_shape_set_stroke_join</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, <a class="el" href="group__ThorVGCapi__Shape.html#gaf2cbac2c9164a782b96a8cd94f32e1ed">Tvg_Stroke_Join</a> join)</td></tr>
<tr class="memdesc:ga34cb2634d8e9b603f22d4112b346c32a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the join style for stroked path segments. <a href="group__ThorVGCapi__Shape.html#ga34cb2634d8e9b603f22d4112b346c32a">More...</a><br /></td></tr>
<tr class="separator:ga34cb2634d8e9b603f22d4112b346c32a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae31a53e787b763eaf8a0268edeab76a1"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#gae31a53e787b763eaf8a0268edeab76a1">tvg_shape_get_stroke_join</a> (const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, <a class="el" href="group__ThorVGCapi__Shape.html#gaf2cbac2c9164a782b96a8cd94f32e1ed">Tvg_Stroke_Join</a> *join)</td></tr>
<tr class="memdesc:gae31a53e787b763eaf8a0268edeab76a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function gets the stroke join method. <a href="group__ThorVGCapi__Shape.html#gae31a53e787b763eaf8a0268edeab76a1">More...</a><br /></td></tr>
<tr class="separator:gae31a53e787b763eaf8a0268edeab76a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9671d893c912383df0840c2915e3d88b"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#ga9671d893c912383df0840c2915e3d88b">tvg_shape_set_fill_color</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, uint8_t r, uint8_t g, uint8_t b, uint8_t a)</td></tr>
<tr class="memdesc:ga9671d893c912383df0840c2915e3d88b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the shape's solid color. <a href="group__ThorVGCapi__Shape.html#ga9671d893c912383df0840c2915e3d88b">More...</a><br /></td></tr>
<tr class="separator:ga9671d893c912383df0840c2915e3d88b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf9b92ffb5736b1ab808b4f15356dd08"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#gaaf9b92ffb5736b1ab808b4f15356dd08">tvg_shape_get_fill_color</a> (const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, uint8_t *r, uint8_t *g, uint8_t *b, uint8_t *a)</td></tr>
<tr class="memdesc:gaaf9b92ffb5736b1ab808b4f15356dd08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the shape's solid color. <a href="group__ThorVGCapi__Shape.html#gaaf9b92ffb5736b1ab808b4f15356dd08">More...</a><br /></td></tr>
<tr class="separator:gaaf9b92ffb5736b1ab808b4f15356dd08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6d19a68df8f57681a4815c7d2e3e03ba"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#ga6d19a68df8f57681a4815c7d2e3e03ba">tvg_shape_set_fill_rule</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, <a class="el" href="group__ThorVGCapi__Shape.html#gaffafa3cd9dc4bc90a7ef3c763add2695">Tvg_Fill_Rule</a> rule)</td></tr>
<tr class="memdesc:ga6d19a68df8f57681a4815c7d2e3e03ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the shape's fill rule. <a href="group__ThorVGCapi__Shape.html#ga6d19a68df8f57681a4815c7d2e3e03ba">More...</a><br /></td></tr>
<tr class="separator:ga6d19a68df8f57681a4815c7d2e3e03ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeebedc65bb77544aeb05980465284947"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#gaeebedc65bb77544aeb05980465284947">tvg_shape_get_fill_rule</a> (const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, <a class="el" href="group__ThorVGCapi__Shape.html#gaffafa3cd9dc4bc90a7ef3c763add2695">Tvg_Fill_Rule</a> *rule)</td></tr>
<tr class="memdesc:gaeebedc65bb77544aeb05980465284947"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the shape's fill rule. <a href="group__ThorVGCapi__Shape.html#gaeebedc65bb77544aeb05980465284947">More...</a><br /></td></tr>
<tr class="separator:gaeebedc65bb77544aeb05980465284947"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga02aa5aa9a017270ce0375b1b9db75d57"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#ga02aa5aa9a017270ce0375b1b9db75d57">tvg_shape_set_linear_gradient</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, <a class="el" href="group__ThorVG__CAPI.html#gafc8e0d01812127260d0753eceb056181">Tvg_Gradient</a> *grad)</td></tr>
<tr class="memdesc:ga02aa5aa9a017270ce0375b1b9db75d57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the linear gradient fill for all of the figures from the path. <a href="group__ThorVGCapi__Shape.html#ga02aa5aa9a017270ce0375b1b9db75d57">More...</a><br /></td></tr>
<tr class="separator:ga02aa5aa9a017270ce0375b1b9db75d57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabd7b9020f1058aa9e9fae9b683265ef8"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#gabd7b9020f1058aa9e9fae9b683265ef8">tvg_shape_set_radial_gradient</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, <a class="el" href="group__ThorVG__CAPI.html#gafc8e0d01812127260d0753eceb056181">Tvg_Gradient</a> *grad)</td></tr>
<tr class="memdesc:gabd7b9020f1058aa9e9fae9b683265ef8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the radial gradient fill for all of the figures from the path. <a href="group__ThorVGCapi__Shape.html#gabd7b9020f1058aa9e9fae9b683265ef8">More...</a><br /></td></tr>
<tr class="separator:gabd7b9020f1058aa9e9fae9b683265ef8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga962f01af5960ad4dd2e1da2f6a0336b9"><td class="memItemLeft" align="right" valign="top">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Shape.html#ga962f01af5960ad4dd2e1da2f6a0336b9">tvg_shape_get_gradient</a> (const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, <a class="el" href="group__ThorVG__CAPI.html#gafc8e0d01812127260d0753eceb056181">Tvg_Gradient</a> **grad)</td></tr>
<tr class="memdesc:ga962f01af5960ad4dd2e1da2f6a0336b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the gradient fill of the shape. <a href="group__ThorVGCapi__Shape.html#ga962f01af5960ad4dd2e1da2f6a0336b9">More...</a><br /></td></tr>
<tr class="separator:ga962f01af5960ad4dd2e1da2f6a0336b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>A module for managing two-dimensional figures and their properties. </p>
<p>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 <a class="el" href="group__ThorVGCapi__Shape.html#ga892eb9130555a02a6e6bec3c91a7de3c" title="Sets the initial point of the sub-path.">tvg_shape_move_to()</a>, <a class="el" href="group__ThorVGCapi__Shape.html#ga715e047ef4d45ced617f9ed000df1842" title="Adds a new point to the sub-path, which results in drawing a line from the current point to the given...">tvg_shape_line_to()</a>, <a class="el" href="group__ThorVGCapi__Shape.html#ga275080e39eba2bc732625be046292176" title="Adds new points to the sub-path, which results in drawing a cubic Bezier curve.">tvg_shape_cubic_to()</a> or complete shape interfaces such as <a class="el" href="group__ThorVGCapi__Shape.html#gac1af7237c282fc0269e65a3ba6609291" title="Appends a rectangle to the path.">tvg_shape_append_rect()</a>, <a class="el" href="group__ThorVGCapi__Shape.html#ga32c7b28d082544df3cc9dc6730fc6a39" title="Appends an ellipse to the path.">tvg_shape_append_circle()</a>, etc. Path can consists of sub-paths. One sub-path is determined by a close command.</p>
<p>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. </p>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="gaffafa3cd9dc4bc90a7ef3c763add2695"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaffafa3cd9dc4bc90a7ef3c763add2695">&#9670;&nbsp;</a></span>Tvg_Fill_Rule</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__ThorVGCapi__Shape.html#gaffafa3cd9dc4bc90a7ef3c763add2695">Tvg_Fill_Rule</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enumeration specifying the algorithm used to establish which parts of the shape are treated as the inside of the shape. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggaffafa3cd9dc4bc90a7ef3c763add2695ad241fa1df1af5a66c711414462ff1190"></a>TVG_FILL_RULE_WINDING&#160;</td><td class="fielddoc"><p>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. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaffafa3cd9dc4bc90a7ef3c763add2695abed5f43e043f8f277310ac6765cd4d88"></a>TVG_FILL_RULE_EVEN_ODD&#160;</td><td class="fielddoc"><p>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. </p>
</td></tr>
</table>
</div>
</div>
<a id="ga08e05d64247332603a624cea6597be77"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga08e05d64247332603a624cea6597be77">&#9670;&nbsp;</a></span>Tvg_Path_Command</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__ThorVGCapi__Shape.html#ga08e05d64247332603a624cea6597be77">Tvg_Path_Command</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enumeration specifying the values of the path commands accepted by TVG. </p>
<p>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. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga08e05d64247332603a624cea6597be77a6d66fea8e74674015ebb98d53f3f1fb1"></a>TVG_PATH_COMMAND_CLOSE&#160;</td><td class="fielddoc"><p>Ends the current sub-path and connects it with its initial point - corresponds to Z command in the svg path commands. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga08e05d64247332603a624cea6597be77a8fcafa6e4f0b512e2a09a711c74aa821"></a>TVG_PATH_COMMAND_MOVE_TO&#160;</td><td class="fielddoc"><p>Sets a new initial point of the sub-path and a new current point - corresponds to M command in the svg path commands. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga08e05d64247332603a624cea6597be77ae77bc11698c492057df630321cab5536"></a>TVG_PATH_COMMAND_LINE_TO&#160;</td><td class="fielddoc"><p>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. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga08e05d64247332603a624cea6597be77a411110736873e7f995446761ab927a26"></a>TVG_PATH_COMMAND_CUBIC_TO&#160;</td><td class="fielddoc"><p>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. </p>
</td></tr>
</table>
</div>
</div>
<a id="ga3bcc39b01d899a7e82a6c939740208d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3bcc39b01d899a7e82a6c939740208d3">&#9670;&nbsp;</a></span>Tvg_Stroke_Cap</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__ThorVGCapi__Shape.html#ga3bcc39b01d899a7e82a6c939740208d3">Tvg_Stroke_Cap</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enumeration determining the ending type of a stroke in the open sub-paths. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga3bcc39b01d899a7e82a6c939740208d3adcc12b6372824aacc98ce242452680f4"></a>TVG_STROKE_CAP_SQUARE&#160;</td><td class="fielddoc"><p>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. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga3bcc39b01d899a7e82a6c939740208d3a23c1fc3f65e3389a5d5dc404f9353d08"></a>TVG_STROKE_CAP_ROUND&#160;</td><td class="fielddoc"><p>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. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga3bcc39b01d899a7e82a6c939740208d3aefc7710297416d48b660aeeebdd9c796"></a>TVG_STROKE_CAP_BUTT&#160;</td><td class="fielddoc"><p>The stroke ends exactly at each of the two endpoints of a sub-path. For zero length sub-paths no stroke is rendered. </p>
</td></tr>
</table>
</div>
</div>
<a id="ga9ac44e712782a9b2a5a36a49b2ae52c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9ac44e712782a9b2a5a36a49b2ae52c7">&#9670;&nbsp;</a></span>Tvg_Stroke_Fill</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__ThorVGCapi__Shape.html#ga9ac44e712782a9b2a5a36a49b2ae52c7">Tvg_Stroke_Fill</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enumeration specifying how to fill the area outside the gradient bounds. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga9ac44e712782a9b2a5a36a49b2ae52c7aa9c76cb4d947723ba270108f401f13ce"></a>TVG_STROKE_FILL_PAD&#160;</td><td class="fielddoc"><p>The remaining area is filled with the closest stop color. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga9ac44e712782a9b2a5a36a49b2ae52c7a1cd7fd72e3ba1df2ccfbc683d81d1038"></a>TVG_STROKE_FILL_REFLECT&#160;</td><td class="fielddoc"><p>The gradient pattern is reflected outside the gradient area until the expected region is filled. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga9ac44e712782a9b2a5a36a49b2ae52c7ab6191afa65b90f78dcd2261d058e8ed2"></a>TVG_STROKE_FILL_REPEAT&#160;</td><td class="fielddoc"><p>The gradient pattern is repeated continuously beyond the gradient area until the expected region is filled. </p>
</td></tr>
</table>
</div>
</div>
<a id="gaf2cbac2c9164a782b96a8cd94f32e1ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf2cbac2c9164a782b96a8cd94f32e1ed">&#9670;&nbsp;</a></span>Tvg_Stroke_Join</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__ThorVGCapi__Shape.html#gaf2cbac2c9164a782b96a8cd94f32e1ed">Tvg_Stroke_Join</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enumeration specifying how to fill the area outside the gradient bounds. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggaf2cbac2c9164a782b96a8cd94f32e1eda05cffd5ebeeb548afaee19ae77257168"></a>TVG_STROKE_JOIN_BEVEL&#160;</td><td class="fielddoc"><p>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. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaf2cbac2c9164a782b96a8cd94f32e1eda6568aef8eba70b2dac2e901b6a7198ee"></a>TVG_STROKE_JOIN_ROUND&#160;</td><td class="fielddoc"><p>The outer corner of the joined path segments is rounded. The circular region is centered at the join point. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaf2cbac2c9164a782b96a8cd94f32e1eda2b2f5ccaa98b8f535c86c52aae82da4d"></a>TVG_STROKE_JOIN_MITER&#160;</td><td class="fielddoc"><p>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. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga237a7a1bc5274dd7ffc7355be48888fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga237a7a1bc5274dd7ffc7355be48888fd">&#9670;&nbsp;</a></span>tvg_shape_append_arc()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_append_arc </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>cx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>cy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>radius</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>startAngle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>sweep</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>pie</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Appends a circular arc to the path. </p>
<p>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 <code>pie</code> is <code>false</code>, and to the center of the arc otherwise.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cx</td><td>The horizontal coordinate of the center of the arc. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cy</td><td>The vertical coordinate of the center of the arc. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">radius</td><td>The radius of the arc. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">startAngle</td><td>The start angle of the arc given in degrees, measured counter-clockwise from the horizontal line. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">sweep</td><td>The central angle of the arc given in degrees, measured counter-clockwise from <code>startAngle</code>. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">pie</td><td>Specifies whether to draw radii from the arc's center to both of its end-point - drawn if <code>true</code>.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid Tvg_Paint pointer.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Setting <code>sweep</code> value greater than 360 degrees, is equivalent to calling tvg_shape_append_circle(paint, cx, cy, radius, radius). </dd></dl>
</div>
</div>
<a id="ga32c7b28d082544df3cc9dc6730fc6a39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga32c7b28d082544df3cc9dc6730fc6a39">&#9670;&nbsp;</a></span>tvg_shape_append_circle()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_append_circle </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>cx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>cy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>rx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>ry</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Appends an ellipse to the path. </p>
<p>The position of the ellipse is specified by the coordinates of its center - <code>cx</code> and <code>cy</code> arguments.</p>
<p>The ellipse is treated as a new sub-path - it is not connected with the previous sub-path.</p>
<p>The value of the current point is set to (<code>cx</code>, <code>cy</code> - <code>ry</code>).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cx</td><td>The horizontal coordinate of the center of the ellipse. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cy</td><td>The vertical coordinate of the center of the ellipse. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">rx</td><td>The x-axis radius of the ellipse. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">ry</td><td>The y-axis radius of the ellipse.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid Tvg_Paint pointer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga31d8aaa35a50228b0b343471ff0d77b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga31d8aaa35a50228b0b343471ff0d77b3">&#9670;&nbsp;</a></span>tvg_shape_append_path()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_append_path </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__ThorVGCapi__Shape.html#ga08e05d64247332603a624cea6597be77">Tvg_Path_Command</a> *&#160;</td>
<td class="paramname"><em>cmds</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>cmdCnt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structTvg__Point.html">Tvg_Point</a> *&#160;</td>
<td class="paramname"><em>pts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>ptsCnt</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Appends a given sub-path to the path. </p>
<p>The current point value is set to the last point from the sub-path. For each command from the <code>cmds</code> array, an appropriate number of points in <code>pts</code> array should be specified. If the number of points in the <code>pts</code> array is different than the number required by the <code>cmds</code> array, the shape with this sub-path will not be displayed on the screen.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cmds</td><td>The array of the commands in the sub-path. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cmdCnt</td><td>The length of the <code>cmds</code> array. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">pts</td><td>The array of the two-dimensional points. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">ptsCnt</td><td>The length of the <code>pts</code> array.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>A <code>nullptr</code> passed as the argument or <code>cmdCnt</code> or <code>ptsCnt</code> equal to zero. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gac1af7237c282fc0269e65a3ba6609291"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac1af7237c282fc0269e65a3ba6609291">&#9670;&nbsp;</a></span>tvg_shape_append_rect()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_append_rect </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>w</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>h</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>rx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>ry</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Appends a rectangle to the path. </p>
<p>The rectangle with rounded corners can be achieved by setting non-zero values to <code>rx</code> and <code>ry</code> arguments. The <code>rx</code> and <code>ry</code> values specify the radii of the ellipse defining the rounding of the corners.</p>
<p>The position of the rectangle is specified by the coordinates of its upper left corner - <code>x</code> and <code>y</code> arguments.</p>
<p>The rectangle is treated as a new sub-path - it is not connected with the previous sub-path.</p>
<p>The value of the current point is set to (<code>x</code> + <code>rx</code>, <code>y</code>) - in case <code>rx</code> is greater than <code>w/2</code> the current point is set to (<code>x</code> + <code>w/2</code>, <code>y</code>)</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>The horizontal coordinate of the upper left corner of the rectangle. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>The vertical coordinate of the upper left corner of the rectangle. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>The width of the rectangle. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>The height of the rectangle. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">rx</td><td>The x-axis radius of the ellipse defining the rounded corners of the rectangle. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">ry</td><td>The y-axis radius of the ellipse defining the rounded corners of the rectangle.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid Tvg_Paint pointer.</td></tr>
</table>
</dd>
</dl>
<p>&amp; </p><dl class="section note"><dt>Note</dt><dd>For <code>rx</code> and <code>ry</code> greater than or equal to the half of <code>w</code> and the half of <code>h</code>, respectively, the shape become an ellipse. </dd></dl>
</div>
</div>
<a id="ga99049e9ec53866666fdec34f05d084b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga99049e9ec53866666fdec34f05d084b1">&#9670;&nbsp;</a></span>tvg_shape_close()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_close </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Closes the current sub-path by drawing a line from the current point to the initial point of the sub-path. </p>
<p>The value of the current point is set to the initial point of the closed sub-path.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid Tvg_Paint pointer.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>In case the sub-path does not contain any points, this function has no effect. </dd></dl>
</div>
</div>
<a id="ga275080e39eba2bc732625be046292176"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga275080e39eba2bc732625be046292176">&#9670;&nbsp;</a></span>tvg_shape_cubic_to()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_cubic_to </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>cx1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>cy1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>cx2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>cy2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds new points to the sub-path, which results in drawing a cubic Bezier curve. </p>
<p>The Bezier curve starts at the current point and ends at the given end-point (<code>x</code>, <code>y</code>). Two control points (<code>cx1</code>, <code>cy1</code>) and (<code>cx2</code>, <code>cy2</code>) are used to determine the shape of the curve. The value of the current point is set to the given end-point.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cx1</td><td>The horizontal coordinate of the 1st control point. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cy1</td><td>The vertical coordinate of the 1st control point. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cx2</td><td>The horizontal coordinate of the 2nd control point. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cy2</td><td>The vertical coordinate of the 2nd control point. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>The horizontal coordinate of the endpoint of the curve. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>The vertical coordinate of the endpoint of the curve.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid Tvg_Paint pointer.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>In case this is the first command in the path, no data from the path are rendered. </dd></dl>
</div>
</div>
<a id="gaaf9b92ffb5736b1ab808b4f15356dd08"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaaf9b92ffb5736b1ab808b4f15356dd08">&#9670;&nbsp;</a></span>tvg_shape_get_fill_color()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_get_fill_color </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>g</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>a</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the shape's solid color. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">r</td><td>The red color channel value in the range [0 ~ 255]. The default value is 0. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">g</td><td>The green color channel value in the range [0 ~ 255]. The default value is 0. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">b</td><td>The blue color channel value in the range [0 ~ 255]. The default value is 0. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">a</td><td>The alpha channel value in the range [0 ~ 255], where 0 is completely transparent and 255 is opaque. The default value is 0.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid Tvg_Paint pointer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gaeebedc65bb77544aeb05980465284947"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaeebedc65bb77544aeb05980465284947">&#9670;&nbsp;</a></span>tvg_shape_get_fill_rule()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_get_fill_rule </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__ThorVGCapi__Shape.html#gaffafa3cd9dc4bc90a7ef3c763add2695">Tvg_Fill_Rule</a> *&#160;</td>
<td class="paramname"><em>rule</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the shape's fill rule. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">rule</td><td>shape's fill rule</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid pointer passed as an argument. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga962f01af5960ad4dd2e1da2f6a0336b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga962f01af5960ad4dd2e1da2f6a0336b9">&#9670;&nbsp;</a></span>tvg_shape_get_gradient()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_get_gradient </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#gafc8e0d01812127260d0753eceb056181">Tvg_Gradient</a> **&#160;</td>
<td class="paramname"><em>grad</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the gradient fill of the shape. </p>
<p>The function does not allocate any data.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">grad</td><td>The gradient fill.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid pointer passed as an argument. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gacd0ecb2f60ad6ab2e616e5870e1857aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacd0ecb2f60ad6ab2e616e5870e1857aa">&#9670;&nbsp;</a></span>tvg_shape_get_path_commands()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_get_path_commands </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__ThorVGCapi__Shape.html#ga08e05d64247332603a624cea6597be77">Tvg_Path_Command</a> **&#160;</td>
<td class="paramname"><em>cmds</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t *&#160;</td>
<td class="paramname"><em>cnt</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the commands data of the path. </p>
<p>The function does not allocate any data. There is no need to free the <code>cmds</code> array.</p>
<div class="fragment"><div class="line">Tvg_Shape *shape = <a class="code" href="group__ThorVGCapi__Shape.html#ga9c0423ae5b7747a9b6b086a93504bd8d">tvg_shape_new</a>();</div>
<div class="line"><a class="code" href="group__ThorVGCapi__Shape.html#ga08e05d64247332603a624cea6597be77">Tvg_Path_Command</a> *cmds = NULL;</div>
<div class="line">uint32_t len = 0;</div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__ThorVGCapi__Shape.html#ga32c7b28d082544df3cc9dc6730fc6a39">tvg_shape_append_circle</a>(shape, 10, 10, 50, 50);</div>
<div class="line"><a class="code" href="group__ThorVGCapi__Shape.html#gacd0ecb2f60ad6ab2e616e5870e1857aa">tvg_shape_get_path_commands</a>(shape, (<span class="keyword">const</span> <a class="code" href="group__ThorVGCapi__Shape.html#ga08e05d64247332603a624cea6597be77">Tvg_Path_Command</a>**)&amp;cmds, &amp;len);</div>
<div class="line"><span class="comment">//TVG approximates a circle by four Bezier curves. In the example above the cmds array stores the commands of the path data.</span></div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">cmds</td><td>The pointer to the array of the commands from the path. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">cnt</td><td>The length of the <code>cmds</code> array.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>A <code>nullptr</code> passed as the argument. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gad5323f2c523a6a14b89ed105f3450108"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad5323f2c523a6a14b89ed105f3450108">&#9670;&nbsp;</a></span>tvg_shape_get_path_coords()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_get_path_coords </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structTvg__Point.html">Tvg_Point</a> **&#160;</td>
<td class="paramname"><em>pts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t *&#160;</td>
<td class="paramname"><em>cnt</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the points values of the path. </p>
<p>The function does not allocate any data, it operates on internal memory. There is no need to free the <code>pts</code> array.</p>
<div class="fragment"><div class="line">Tvg_Shape *shape = <a class="code" href="group__ThorVGCapi__Shape.html#ga9c0423ae5b7747a9b6b086a93504bd8d">tvg_shape_new</a>();</div>
<div class="line"><a class="code" href="structTvg__Point.html">Tvg_Point</a> *coords = NULL;</div>
<div class="line">uint32_t len = 0;</div>
<div class="line"> </div>
<div class="line"><a class="code" href="group__ThorVGCapi__Shape.html#ga32c7b28d082544df3cc9dc6730fc6a39">tvg_shape_append_circle</a>(shape, 10, 10, 50, 50);</div>
<div class="line"><a class="code" href="group__ThorVGCapi__Shape.html#gad5323f2c523a6a14b89ed105f3450108">tvg_shape_get_path_coords</a>(shape, (<span class="keyword">const</span> <a class="code" href="structTvg__Point.html">Tvg_Point</a>**)&amp;coords, &amp;len);</div>
<div class="line"><span class="comment">//TVG approximates a circle by four Bezier curves. In the example above the coords array stores their coordinates.</span></div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">pts</td><td>The pointer to the array of the two-dimensional points from the path. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">cnt</td><td>The length of the <code>pts</code> array.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>A <code>nullptr</code> passed as the argument. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gaad894f66bc9bbd8f91c351aff534536b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaad894f66bc9bbd8f91c351aff534536b">&#9670;&nbsp;</a></span>tvg_shape_get_stroke_cap()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_get_stroke_cap </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__ThorVGCapi__Shape.html#ga3bcc39b01d899a7e82a6c939740208d3">Tvg_Stroke_Cap</a> *&#160;</td>
<td class="paramname"><em>cap</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the stroke cap style used for stroking the path. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">cap</td><td>The cap style value.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid pointer passed as an argument. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gad63d7d12327f3d9912999de2a2504b8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad63d7d12327f3d9912999de2a2504b8d">&#9670;&nbsp;</a></span>tvg_shape_get_stroke_color()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_get_stroke_color </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>g</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>a</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the shape's stroke color. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">r</td><td>The red color channel value in the range [0 ~ 255]. The default value is 0. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">g</td><td>The green color channel value in the range [0 ~ 255]. The default value is 0. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">b</td><td>The blue color channel value in the range [0 ~ 255]. The default value is 0. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">a</td><td>The alpha channel value in the range [0 ~ 255], where 0 is completely transparent and 255 is opaque.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid Tvg_Paint pointer. </td></tr>
<tr><td class="paramname">TVG_RESULT_INSUFFICIENT_CONDITION</td><td>No stroke was set. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga40dd2d0753ce8a3018e02a7382abe04f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga40dd2d0753ce8a3018e02a7382abe04f">&#9670;&nbsp;</a></span>tvg_shape_get_stroke_dash()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_get_stroke_dash </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const float **&#160;</td>
<td class="paramname"><em>dashPattern</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t *&#160;</td>
<td class="paramname"><em>cnt</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the dash pattern of the stroke. </p>
<p>The function does not allocate any memory.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">dashPattern</td><td>The array of consecutive pair values of the dash length and the gap length. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">cnt</td><td>The size of the <code>dashPattern</code> array.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid pointer passed as an argument. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga48c323d84e770c561c14bfc586240b96"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga48c323d84e770c561c14bfc586240b96">&#9670;&nbsp;</a></span>tvg_shape_get_stroke_gradient()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_get_stroke_gradient </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#gafc8e0d01812127260d0753eceb056181">Tvg_Gradient</a> **&#160;</td>
<td class="paramname"><em>grad</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the gradient fill of the shape's stroke. </p>
<p>The function does not allocate any memory.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">grad</td><td>The gradient fill.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid pointer passed as an argument. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gae31a53e787b763eaf8a0268edeab76a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae31a53e787b763eaf8a0268edeab76a1">&#9670;&nbsp;</a></span>tvg_shape_get_stroke_join()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_get_stroke_join </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__ThorVGCapi__Shape.html#gaf2cbac2c9164a782b96a8cd94f32e1ed">Tvg_Stroke_Join</a> *&#160;</td>
<td class="paramname"><em>join</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The function gets the stroke join method. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">join</td><td>The join style value.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid pointer passed as an argument. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga6964fd905664d48bf7252d6c67cb4dcd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6964fd905664d48bf7252d6c67cb4dcd">&#9670;&nbsp;</a></span>tvg_shape_get_stroke_width()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_get_stroke_width </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float *&#160;</td>
<td class="paramname"><em>width</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the shape's stroke width. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">width</td><td>The stroke width.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid pointer passed as an argument. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga715e047ef4d45ced617f9ed000df1842"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga715e047ef4d45ced617f9ed000df1842">&#9670;&nbsp;</a></span>tvg_shape_line_to()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_line_to </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds a new point to the sub-path, which results in drawing a line from the current point to the given end-point. </p>
<p>The value of the current point is set to the given end-point.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>The horizontal coordinate of the end-point of the line. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>The vertical coordinate of the end-point of the line.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid Tvg_Paint pointer.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>In case this is the first command in the path, it corresponds to the <a class="el" href="group__ThorVGCapi__Shape.html#ga892eb9130555a02a6e6bec3c91a7de3c" title="Sets the initial point of the sub-path.">tvg_shape_move_to()</a> call. </dd></dl>
</div>
</div>
<a id="ga892eb9130555a02a6e6bec3c91a7de3c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga892eb9130555a02a6e6bec3c91a7de3c">&#9670;&nbsp;</a></span>tvg_shape_move_to()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_move_to </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the initial point of the sub-path. </p>
<p>The value of the current point is set to the given point.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>The horizontal coordinate of the initial point of the sub-path. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>The vertical coordinate of the initial point of the sub-path.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid Tvg_Paint pointer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga9c0423ae5b7747a9b6b086a93504bd8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9c0423ae5b7747a9b6b086a93504bd8d">&#9670;&nbsp;</a></span>tvg_shape_new()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a>* tvg_shape_new </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a new shape object. </p>
<dl class="section return"><dt>Returns</dt><dd>A new shape object. </dd></dl>
</div>
</div>
<a id="gae5b23d6696a1b4012270a93210750e77"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae5b23d6696a1b4012270a93210750e77">&#9670;&nbsp;</a></span>tvg_shape_reset()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_reset </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Resets the shape path properties. </p>
<p>The color, the fill and the stroke properties are retained.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid Tvg_Paint pointer.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The memory, where the path data is stored, is not deallocated at this stage for caching effect. </dd></dl>
</div>
</div>
<a id="ga9671d893c912383df0840c2915e3d88b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9671d893c912383df0840c2915e3d88b">&#9670;&nbsp;</a></span>tvg_shape_set_fill_color()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_set_fill_color </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>g</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>a</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the shape's solid color. </p>
<p>The parts of the shape defined as inner are colored.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">r</td><td>The red color channel value in the range [0 ~ 255]. The default value is 0. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>The green color channel value in the range [0 ~ 255]. The default value is 0. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>The blue color channel value in the range [0 ~ 255]. The default value is 0. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>The alpha channel value in the range [0 ~ 255], where 0 is completely transparent and 255 is opaque. The default value is 0.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid Tvg_Paint pointer.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Either a solid color or a gradient fill is applied, depending on what was set as last. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__ThorVGCapi__Shape.html#ga6d19a68df8f57681a4815c7d2e3e03ba" title="Sets the shape&#39;s fill rule.">tvg_shape_set_fill_rule()</a> </dd></dl>
</div>
</div>
<a id="ga6d19a68df8f57681a4815c7d2e3e03ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6d19a68df8f57681a4815c7d2e3e03ba">&#9670;&nbsp;</a></span>tvg_shape_set_fill_rule()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_set_fill_rule </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__ThorVGCapi__Shape.html#gaffafa3cd9dc4bc90a7ef3c763add2695">Tvg_Fill_Rule</a>&#160;</td>
<td class="paramname"><em>rule</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the shape's fill rule. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">rule</td><td>The fill rule value. The default value is <code>TVG_FILL_RULE_WINDING</code>.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid Tvg_Paint pointer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga02aa5aa9a017270ce0375b1b9db75d57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga02aa5aa9a017270ce0375b1b9db75d57">&#9670;&nbsp;</a></span>tvg_shape_set_linear_gradient()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_set_linear_gradient </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#gafc8e0d01812127260d0753eceb056181">Tvg_Gradient</a> *&#160;</td>
<td class="paramname"><em>grad</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the linear gradient fill for all of the figures from the path. </p>
<p>The parts of the shape defined as inner are filled.</p>
<div class="fragment"><div class="line"><a class="code" href="group__ThorVG__CAPI.html#gafc8e0d01812127260d0753eceb056181">Tvg_Gradient</a>* grad = <a class="code" href="group__ThorVGCapi__Gradient.html#gab77d80df3c269fa531e7b81c8e8410d2">tvg_linear_gradient_new</a>();</div>
<div class="line"><a class="code" href="group__ThorVGCapi__Gradient.html#ga00590e1313394b75b8619ff27ddd233b">tvg_linear_gradient_set</a>(grad, 700, 700, 800, 800);</div>
<div class="line"><a class="code" href="structTvg__Color__Stop.html">Tvg_Color_Stop</a> color_stops[4] =</div>
<div class="line">{</div>
<div class="line"> {0.0 , 0, 0, 0, 255},</div>
<div class="line"> {0.25, 255, 0, 0, 255},</div>
<div class="line"> {0.5 , 0, 255, 0, 255},</div>
<div class="line"> {1.0 , 0, 0, 255, 255}</div>
<div class="line">};</div>
<div class="line"><a class="code" href="group__ThorVGCapi__Gradient.html#ga8d5755566bb7281984a44c9c687f2b48">tvg_gradient_set_color_stops</a>(grad, color_stops, 4);</div>
<div class="line"><a class="code" href="group__ThorVGCapi__Shape.html#ga02aa5aa9a017270ce0375b1b9db75d57">tvg_shape_set_linear_gradient</a>(shape, grad);</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">grad</td><td>The linear gradient fill.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid Tvg_Paint pointer. </td></tr>
<tr><td class="paramname">TVG_RESULT_MEMORY_CORRUPTION</td><td>An invalid Tvg_Gradient pointer.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Either a solid color or a gradient fill is applied, depending on what was set as last. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__ThorVGCapi__Shape.html#ga6d19a68df8f57681a4815c7d2e3e03ba" title="Sets the shape&#39;s fill rule.">tvg_shape_set_fill_rule()</a> </dd></dl>
</div>
</div>
<a id="gabd7b9020f1058aa9e9fae9b683265ef8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabd7b9020f1058aa9e9fae9b683265ef8">&#9670;&nbsp;</a></span>tvg_shape_set_radial_gradient()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_set_radial_gradient </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#gafc8e0d01812127260d0753eceb056181">Tvg_Gradient</a> *&#160;</td>
<td class="paramname"><em>grad</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the radial gradient fill for all of the figures from the path. </p>
<p>The parts of the shape defined as inner are filled.</p>
<div class="fragment"><div class="line"><a class="code" href="group__ThorVG__CAPI.html#gafc8e0d01812127260d0753eceb056181">Tvg_Gradient</a>* grad = <a class="code" href="group__ThorVGCapi__Gradient.html#ga7dc487e5d1557961cd2cc31a42daeb28">tvg_radial_gradient_new</a>();</div>
<div class="line"><a class="code" href="group__ThorVGCapi__Gradient.html#ga321045b5fda8e8e002c4837bd03ccdac">tvg_radial_gradient_set</a>(grad, 550, 550, 50);</div>
<div class="line"><a class="code" href="structTvg__Color__Stop.html">Tvg_Color_Stop</a> color_stops[4] =</div>
<div class="line">{</div>
<div class="line"> {0.0 , 0, 0, 0, 255},</div>
<div class="line"> {0.25, 255, 0, 0, 255},</div>
<div class="line"> {0.5 , 0, 255, 0, 255},</div>
<div class="line"> {1.0 , 0, 0, 255, 255}</div>
<div class="line">};</div>
<div class="line"><a class="code" href="group__ThorVGCapi__Gradient.html#ga8d5755566bb7281984a44c9c687f2b48">tvg_gradient_set_color_stops</a>(grad, color_stops, 4);</div>
<div class="line"><a class="code" href="group__ThorVGCapi__Shape.html#gabd7b9020f1058aa9e9fae9b683265ef8">tvg_shape_set_radial_gradient</a>(shape, grad);</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">grad</td><td>The radial gradient fill.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid Tvg_Paint pointer. </td></tr>
<tr><td class="paramname">TVG_RESULT_MEMORY_CORRUPTION</td><td>An invalid Tvg_Gradient pointer.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Either a solid color or a gradient fill is applied, depending on what was set as last. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__ThorVGCapi__Shape.html#ga6d19a68df8f57681a4815c7d2e3e03ba" title="Sets the shape&#39;s fill rule.">tvg_shape_set_fill_rule()</a> </dd></dl>
</div>
</div>
<a id="gabb5f5cfe6ff8098efcde6f80c56ca200"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabb5f5cfe6ff8098efcde6f80c56ca200">&#9670;&nbsp;</a></span>tvg_shape_set_stroke_cap()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_set_stroke_cap </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__ThorVGCapi__Shape.html#ga3bcc39b01d899a7e82a6c939740208d3">Tvg_Stroke_Cap</a>&#160;</td>
<td class="paramname"><em>cap</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the cap style used for stroking the path. </p>
<p>The cap style specifies the shape to be used at the end of the open stroked sub-paths.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cap</td><td>The cap style value. The default value is <code>TVG_STROKE_CAP_SQUARE</code>.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid Tvg_Paint pointer. </td></tr>
<tr><td class="paramname">TVG_RESULT_FAILED_ALLOCATION</td><td>An internal error with a memory allocation. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga9c1d8aaf73da6f4386cce28a245d3f27"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9c1d8aaf73da6f4386cce28a245d3f27">&#9670;&nbsp;</a></span>tvg_shape_set_stroke_color()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_set_stroke_color </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>g</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>a</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the shape's stroke color. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">r</td><td>The red color channel value in the range [0 ~ 255]. The default value is 0. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>The green color channel value in the range [0 ~ 255]. The default value is 0. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>The blue color channel value in the range [0 ~ 255]. The default value is 0. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>The alpha channel value in the range [0 ~ 255], where 0 is completely transparent and 255 is opaque.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid Tvg_Paint pointer. </td></tr>
<tr><td class="paramname">TVG_RESULT_FAILED_ALLOCATION</td><td>An internal error with a memory allocation.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Either a solid color or a gradient fill is applied, depending on what was set as last. </dd></dl>
</div>
</div>
<a id="gaab74503fd357cfaf7727c25278b71531"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaab74503fd357cfaf7727c25278b71531">&#9670;&nbsp;</a></span>tvg_shape_set_stroke_dash()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_set_stroke_dash </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const float *&#160;</td>
<td class="paramname"><em>dashPattern</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>cnt</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the shape's stroke dash pattern. </p>
<div class="fragment"><div class="line"><span class="comment">//dash pattern examples</span></div>
<div class="line"><span class="keywordtype">float</span> dashPattern[2] = {20, 10}; <span class="comment">// -- -- --</span></div>
<div class="line"><span class="keywordtype">float</span> dashPattern[2] = {40, 20}; <span class="comment">// ---- ---- ----</span></div>
<div class="line"><span class="keywordtype">float</span> dashPattern[4] = {10, 20, 30, 40} <span class="comment">// - --- - ---</span></div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dashPattern</td><td>The array of consecutive pair values of the dash length and the gap length. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cnt</td><td>The size of the <code>dashPattern</code> array.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid pointer passed as an argument and <code>cnt</code> &gt; 0, the given length of the array is less than two or any of the <code>dashPattern</code> values is zero or less. </td></tr>
<tr><td class="paramname">TVG_RESULT_FAILED_ALLOCATION</td><td>An internal error with a memory allocation.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>To reset the stroke dash pattern, pass <code>nullptr</code> to <code>dashPattern</code> and zero to <code>cnt</code>. </dd></dl>
</div>
</div>
<a id="ga34cb2634d8e9b603f22d4112b346c32a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga34cb2634d8e9b603f22d4112b346c32a">&#9670;&nbsp;</a></span>tvg_shape_set_stroke_join()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_set_stroke_join </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__ThorVGCapi__Shape.html#gaf2cbac2c9164a782b96a8cd94f32e1ed">Tvg_Stroke_Join</a>&#160;</td>
<td class="paramname"><em>join</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the join style for stroked path segments. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">join</td><td>The join style value. The default value is <code>TVG_STROKE_JOIN_BEVEL</code>.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid Tvg_Paint pointer. </td></tr>
<tr><td class="paramname">TVG_RESULT_FAILED_ALLOCATION</td><td>An internal error with a memory allocation. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gae15955526c9e519ea204b77aa91de111"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae15955526c9e519ea204b77aa91de111">&#9670;&nbsp;</a></span>tvg_shape_set_stroke_linear_gradient()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_set_stroke_linear_gradient </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#gafc8e0d01812127260d0753eceb056181">Tvg_Gradient</a> *&#160;</td>
<td class="paramname"><em>grad</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the linear gradient fill of the stroke for all of the figures from the path. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">grad</td><td>The linear gradient fill.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid Tvg_Paint pointer. </td></tr>
<tr><td class="paramname">TVG_RESULT_FAILED_ALLOCATION</td><td>An internal error with a memory allocation. </td></tr>
<tr><td class="paramname">TVG_RESULT_MEMORY_CORRUPTION</td><td>An invalid Tvg_Gradient pointer.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Either a solid color or a gradient fill is applied, depending on what was set as last. </dd></dl>
</div>
</div>
<a id="ga0b1d28f178f276d379ca2c14fd7d869c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0b1d28f178f276d379ca2c14fd7d869c">&#9670;&nbsp;</a></span>tvg_shape_set_stroke_radial_gradient()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_set_stroke_radial_gradient </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#gafc8e0d01812127260d0753eceb056181">Tvg_Gradient</a> *&#160;</td>
<td class="paramname"><em>grad</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the radial gradient fill of the stroke for all of the figures from the path. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">grad</td><td>The radial gradient fill.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid Tvg_Paint pointer. </td></tr>
<tr><td class="paramname">TVG_RESULT_FAILED_ALLOCATION</td><td>An internal error with a memory allocation. </td></tr>
<tr><td class="paramname">TVG_RESULT_MEMORY_CORRUPTION</td><td>An invalid Tvg_Gradient pointer.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Either a solid color or a gradient fill is applied, depending on what was set as last. </dd></dl>
</div>
</div>
<a id="gae3a63091a9c00c796ecadf3e6983c5fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae3a63091a9c00c796ecadf3e6983c5fd">&#9670;&nbsp;</a></span>tvg_shape_set_stroke_width()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_EXPORT <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_shape_set_stroke_width </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>paint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>width</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the stroke width for all of the figures from the <code>paint</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>A Tvg_Paint pointer to the shape object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>The width of the stroke. The default value is 0.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Tvg_Result enumeration. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">TVG_RESULT_SUCCESS</td><td>Succeed. </td></tr>
<tr><td class="paramname">TVG_RESULT_INVALID_ARGUMENT</td><td>An invalid Tvg_Paint pointer. </td></tr>
<tr><td class="paramname">TVG_RESULT_FAILED_ALLOCATION</td><td>An internal error with a memory allocation. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
<div class="ttc" id="agroup__ThorVGCapi__Gradient_html_ga8d5755566bb7281984a44c9c687f2b48"><div class="ttname"><a href="group__ThorVGCapi__Gradient.html#ga8d5755566bb7281984a44c9c687f2b48">tvg_gradient_set_color_stops</a></div><div class="ttdeci">TVG_EXPORT Tvg_Result tvg_gradient_set_color_stops(Tvg_Gradient *grad, const Tvg_Color_Stop *color_stop, uint32_t cnt)</div><div class="ttdoc">Sets the parameters of the colors of the gradient and their position.</div></div>
<div class="ttc" id="agroup__ThorVGCapi__Shape_html_gad5323f2c523a6a14b89ed105f3450108"><div class="ttname"><a href="group__ThorVGCapi__Shape.html#gad5323f2c523a6a14b89ed105f3450108">tvg_shape_get_path_coords</a></div><div class="ttdeci">TVG_EXPORT Tvg_Result tvg_shape_get_path_coords(const Tvg_Paint *paint, const Tvg_Point **pts, uint32_t *cnt)</div><div class="ttdoc">Gets the points values of the path.</div></div>
<div class="ttc" id="agroup__ThorVGCapi__Gradient_html_ga7dc487e5d1557961cd2cc31a42daeb28"><div class="ttname"><a href="group__ThorVGCapi__Gradient.html#ga7dc487e5d1557961cd2cc31a42daeb28">tvg_radial_gradient_new</a></div><div class="ttdeci">TVG_EXPORT Tvg_Gradient * tvg_radial_gradient_new()</div><div class="ttdoc">Creates a new radial gradient object.</div></div>
<div class="ttc" id="agroup__ThorVGCapi__Shape_html_gacd0ecb2f60ad6ab2e616e5870e1857aa"><div class="ttname"><a href="group__ThorVGCapi__Shape.html#gacd0ecb2f60ad6ab2e616e5870e1857aa">tvg_shape_get_path_commands</a></div><div class="ttdeci">TVG_EXPORT Tvg_Result tvg_shape_get_path_commands(const Tvg_Paint *paint, const Tvg_Path_Command **cmds, uint32_t *cnt)</div><div class="ttdoc">Gets the commands data of the path.</div></div>
<div class="ttc" id="astructTvg__Point_html"><div class="ttname"><a href="structTvg__Point.html">Tvg_Point</a></div><div class="ttdoc">A data structure representing a point in two-dimensional space.</div><div class="ttdef"><b>Definition:</b> thorvg_capi.h:199</div></div>
<div class="ttc" id="agroup__ThorVGCapi__Shape_html_ga9c0423ae5b7747a9b6b086a93504bd8d"><div class="ttname"><a href="group__ThorVGCapi__Shape.html#ga9c0423ae5b7747a9b6b086a93504bd8d">tvg_shape_new</a></div><div class="ttdeci">TVG_EXPORT Tvg_Paint * tvg_shape_new()</div><div class="ttdoc">Creates a new shape object.</div></div>
<div class="ttc" id="agroup__ThorVGCapi__Shape_html_ga02aa5aa9a017270ce0375b1b9db75d57"><div class="ttname"><a href="group__ThorVGCapi__Shape.html#ga02aa5aa9a017270ce0375b1b9db75d57">tvg_shape_set_linear_gradient</a></div><div class="ttdeci">TVG_EXPORT Tvg_Result tvg_shape_set_linear_gradient(Tvg_Paint *paint, Tvg_Gradient *grad)</div><div class="ttdoc">Sets the linear gradient fill for all of the figures from the path.</div></div>
<div class="ttc" id="agroup__ThorVGCapi__Shape_html_ga32c7b28d082544df3cc9dc6730fc6a39"><div class="ttname"><a href="group__ThorVGCapi__Shape.html#ga32c7b28d082544df3cc9dc6730fc6a39">tvg_shape_append_circle</a></div><div class="ttdeci">TVG_EXPORT Tvg_Result tvg_shape_append_circle(Tvg_Paint *paint, float cx, float cy, float rx, float ry)</div><div class="ttdoc">Appends an ellipse to the path.</div></div>
<div class="ttc" id="agroup__ThorVGCapi__Gradient_html_ga321045b5fda8e8e002c4837bd03ccdac"><div class="ttname"><a href="group__ThorVGCapi__Gradient.html#ga321045b5fda8e8e002c4837bd03ccdac">tvg_radial_gradient_set</a></div><div class="ttdeci">TVG_EXPORT Tvg_Result tvg_radial_gradient_set(Tvg_Gradient *grad, float cx, float cy, float radius)</div><div class="ttdoc">Sets the radial gradient bounds.</div></div>
<div class="ttc" id="agroup__ThorVGCapi__Gradient_html_ga00590e1313394b75b8619ff27ddd233b"><div class="ttname"><a href="group__ThorVGCapi__Gradient.html#ga00590e1313394b75b8619ff27ddd233b">tvg_linear_gradient_set</a></div><div class="ttdeci">TVG_EXPORT Tvg_Result tvg_linear_gradient_set(Tvg_Gradient *grad, float x1, float y1, float x2, float y2)</div><div class="ttdoc">Sets the linear gradient bounds.</div></div>
<div class="ttc" id="agroup__ThorVG__CAPI_html_gafc8e0d01812127260d0753eceb056181"><div class="ttname"><a href="group__ThorVG__CAPI.html#gafc8e0d01812127260d0753eceb056181">Tvg_Gradient</a></div><div class="ttdeci">struct _Tvg_Gradient Tvg_Gradient</div><div class="ttdoc">A structure representing a gradient fill of a Tvg_Paint object.</div><div class="ttdef"><b>Definition:</b> thorvg_capi.h:69</div></div>
<div class="ttc" id="agroup__ThorVGCapi__Gradient_html_gab77d80df3c269fa531e7b81c8e8410d2"><div class="ttname"><a href="group__ThorVGCapi__Gradient.html#gab77d80df3c269fa531e7b81c8e8410d2">tvg_linear_gradient_new</a></div><div class="ttdeci">TVG_EXPORT Tvg_Gradient * tvg_linear_gradient_new()</div><div class="ttdoc">Creates a new linear gradient object.</div></div>
<div class="ttc" id="astructTvg__Color__Stop_html"><div class="ttname"><a href="structTvg__Color__Stop.html">Tvg_Color_Stop</a></div><div class="ttdoc">A data structure storing the information about the color and its relative position inside the gradien...</div><div class="ttdef"><b>Definition:</b> thorvg_capi.h:184</div></div>
<div class="ttc" id="agroup__ThorVGCapi__Shape_html_ga08e05d64247332603a624cea6597be77"><div class="ttname"><a href="group__ThorVGCapi__Shape.html#ga08e05d64247332603a624cea6597be77">Tvg_Path_Command</a></div><div class="ttdeci">Tvg_Path_Command</div><div class="ttdoc">Enumeration specifying the values of the path commands accepted by TVG.</div><div class="ttdef"><b>Definition:</b> thorvg_capi.h:127</div></div>
<div class="ttc" id="agroup__ThorVGCapi__Shape_html_gabd7b9020f1058aa9e9fae9b683265ef8"><div class="ttname"><a href="group__ThorVGCapi__Shape.html#gabd7b9020f1058aa9e9fae9b683265ef8">tvg_shape_set_radial_gradient</a></div><div class="ttdeci">TVG_EXPORT Tvg_Result tvg_shape_set_radial_gradient(Tvg_Paint *paint, Tvg_Gradient *grad)</div><div class="ttdoc">Sets the radial gradient fill for all of the figures from the path.</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>