thorvg/docs/html/group__ThorVGCapi__Paint.html
2023-07-29 14:24:37 +09:00

885 lines
54 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.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ThorVG: Paint</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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.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" />
</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.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">ThorVG
&#160;<span id="projectnumber">v0.10</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<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','.html');
/* @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 -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('group__ThorVGCapi__Paint.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- 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">Paint<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 graphical elements. It enables duplication, transformation and composition.
<a href="#details">More...</a></p>
<div class="dynheader">
Collaboration diagram for Paint:</div>
<div class="dyncontent">
<div class="center"><img src="group__ThorVGCapi__Paint.png" border="0" usemap="#agroup____ThorVGCapi____Paint" alt=""/></div>
<map name="agroup____ThorVGCapi____Paint" id="agroup____ThorVGCapi____Paint">
<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 graphical elements. It enables duplication, transformation and composition." alt="" coords="160,5,215,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:ga1ec9193ca6959f9d91a80cc61cd0df3a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Paint.html#ga1ec9193ca6959f9d91a80cc61cd0df3a">Tvg_Composite_Method</a> { <br />
&#160;&#160;<a class="el" href="group__ThorVGCapi__Paint.html#gga1ec9193ca6959f9d91a80cc61cd0df3aa9122090fc6c074e22fa0964effa1b375">TVG_COMPOSITE_METHOD_NONE</a> = 0
, <a class="el" href="group__ThorVGCapi__Paint.html#gga1ec9193ca6959f9d91a80cc61cd0df3aa517f996a4e50e88727607b959ce52852">TVG_COMPOSITE_METHOD_CLIP_PATH</a>
, <a class="el" href="group__ThorVGCapi__Paint.html#gga1ec9193ca6959f9d91a80cc61cd0df3aae536c237d654d73f306f2d346fc3c86a">TVG_COMPOSITE_METHOD_ALPHA_MASK</a>
, <a class="el" href="group__ThorVGCapi__Paint.html#gga1ec9193ca6959f9d91a80cc61cd0df3aaf5b9626da41b4a50070f97139062c759">TVG_COMPOSITE_METHOD_INVERSE_ALPHA_MASK</a>
, <br />
&#160;&#160;<a class="el" href="group__ThorVGCapi__Paint.html#gga1ec9193ca6959f9d91a80cc61cd0df3aa0780ffcaadd9a4396a8c2342a05f2d79">TVG_COMPOSITE_METHOD_LUMA_MASK</a>
<br />
}</td></tr>
<tr class="memdesc:ga1ec9193ca6959f9d91a80cc61cd0df3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration indicating the method used in the composition of two objects - the target and the source. <a href="group__ThorVGCapi__Paint.html#ga1ec9193ca6959f9d91a80cc61cd0df3a">More...</a><br /></td></tr>
<tr class="separator:ga1ec9193ca6959f9d91a80cc61cd0df3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga906459e9a724fa6d89d18c5dedeb619f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVGCapi__Paint.html#ga906459e9a724fa6d89d18c5dedeb619f">Tvg_Identifier</a> { <br />
&#160;&#160;<a class="el" href="group__ThorVGCapi__Paint.html#gga906459e9a724fa6d89d18c5dedeb619fa4835d63e75912ad680a068f82616e311">TVG_IDENTIFIER_UNDEF</a> = 0
, <a class="el" href="group__ThorVGCapi__Paint.html#gga906459e9a724fa6d89d18c5dedeb619fa105de16ee2517a216f2bc7ed6a5e7b69">TVG_IDENTIFIER_SHAPE</a>
, <a class="el" href="group__ThorVGCapi__Paint.html#gga906459e9a724fa6d89d18c5dedeb619fa77977fb5cff9194b55ecb96492fe8f3e">TVG_IDENTIFIER_SCENE</a>
, <a class="el" href="group__ThorVGCapi__Paint.html#gga906459e9a724fa6d89d18c5dedeb619fa3ddbd748d2bf2936b6151ba50879a1e8">TVG_IDENTIFIER_PICTURE</a>
, <br />
&#160;&#160;<a class="el" href="group__ThorVGCapi__Paint.html#gga906459e9a724fa6d89d18c5dedeb619fa933f17c80ac7b0c474965a2175b19293">TVG_IDENTIFIER_LINEAR_GRAD</a>
, <a class="el" href="group__ThorVGCapi__Paint.html#gga906459e9a724fa6d89d18c5dedeb619fa73a9ed807395d0f3ac0d7218a37c225f">TVG_IDENTIFIER_RADIAL_GRAD</a>
<br />
}</td></tr>
<tr class="memdesc:ga906459e9a724fa6d89d18c5dedeb619f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration indicating the ThorVG class type. <a href="group__ThorVGCapi__Paint.html#ga906459e9a724fa6d89d18c5dedeb619f">More...</a><br /></td></tr>
<tr class="separator:ga906459e9a724fa6d89d18c5dedeb619f"><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:ga4d4d3afa5b161c44155f40790d869e83"><td class="memItemLeft" align="right" valign="top">TVG_API <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__Paint.html#ga4d4d3afa5b161c44155f40790d869e83">tvg_paint_del</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint)</td></tr>
<tr class="memdesc:ga4d4d3afa5b161c44155f40790d869e83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases the given Tvg_Paint object. <a href="group__ThorVGCapi__Paint.html#ga4d4d3afa5b161c44155f40790d869e83">More...</a><br /></td></tr>
<tr class="separator:ga4d4d3afa5b161c44155f40790d869e83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafddf34275dd9318f5f32ecdc8000417b"><td class="memItemLeft" align="right" valign="top">TVG_API <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__Paint.html#gafddf34275dd9318f5f32ecdc8000417b">tvg_paint_scale</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, float factor)</td></tr>
<tr class="memdesc:gafddf34275dd9318f5f32ecdc8000417b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scales the given Tvg_Paint object by the given factor. <a href="group__ThorVGCapi__Paint.html#gafddf34275dd9318f5f32ecdc8000417b">More...</a><br /></td></tr>
<tr class="separator:gafddf34275dd9318f5f32ecdc8000417b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaac7bdf6ece56b99da5253a3484a6c5cb"><td class="memItemLeft" align="right" valign="top">TVG_API <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__Paint.html#gaac7bdf6ece56b99da5253a3484a6c5cb">tvg_paint_rotate</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, float degree)</td></tr>
<tr class="memdesc:gaac7bdf6ece56b99da5253a3484a6c5cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotates the given Tvg_Paint by the given angle. <a href="group__ThorVGCapi__Paint.html#gaac7bdf6ece56b99da5253a3484a6c5cb">More...</a><br /></td></tr>
<tr class="separator:gaac7bdf6ece56b99da5253a3484a6c5cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga18f9577abca1cee26f297b76a7bf2ff0"><td class="memItemLeft" align="right" valign="top">TVG_API <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__Paint.html#ga18f9577abca1cee26f297b76a7bf2ff0">tvg_paint_translate</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, float x, float y)</td></tr>
<tr class="memdesc:ga18f9577abca1cee26f297b76a7bf2ff0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Moves the given Tvg_Paint in a two-dimensional space. <a href="group__ThorVGCapi__Paint.html#ga18f9577abca1cee26f297b76a7bf2ff0">More...</a><br /></td></tr>
<tr class="separator:ga18f9577abca1cee26f297b76a7bf2ff0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2d6ccb84503d750540926dc6a408acd1"><td class="memItemLeft" align="right" valign="top">TVG_API <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__Paint.html#ga2d6ccb84503d750540926dc6a408acd1">tvg_paint_set_transform</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, const <a class="el" href="structTvg__Matrix.html">Tvg_Matrix</a> *m)</td></tr>
<tr class="memdesc:ga2d6ccb84503d750540926dc6a408acd1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transforms the given Tvg_Paint using the augmented transformation matrix. <a href="group__ThorVGCapi__Paint.html#ga2d6ccb84503d750540926dc6a408acd1">More...</a><br /></td></tr>
<tr class="separator:ga2d6ccb84503d750540926dc6a408acd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac94393c4eae0115031990211cb499b71"><td class="memItemLeft" align="right" valign="top">TVG_API <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__Paint.html#gac94393c4eae0115031990211cb499b71">tvg_paint_get_transform</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, <a class="el" href="structTvg__Matrix.html">Tvg_Matrix</a> *m)</td></tr>
<tr class="memdesc:gac94393c4eae0115031990211cb499b71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the matrix of the affine transformation of the given Tvg_Paint object. <a href="group__ThorVGCapi__Paint.html#gac94393c4eae0115031990211cb499b71">More...</a><br /></td></tr>
<tr class="separator:gac94393c4eae0115031990211cb499b71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga605cab45412d5ef63d3f5917df3f8cc4"><td class="memItemLeft" align="right" valign="top">TVG_API <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__Paint.html#ga605cab45412d5ef63d3f5917df3f8cc4">tvg_paint_set_opacity</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, uint8_t opacity)</td></tr>
<tr class="memdesc:ga605cab45412d5ef63d3f5917df3f8cc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the opacity of the given Tvg_Paint. <a href="group__ThorVGCapi__Paint.html#ga605cab45412d5ef63d3f5917df3f8cc4">More...</a><br /></td></tr>
<tr class="separator:ga605cab45412d5ef63d3f5917df3f8cc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga55f53aa0bef3ef826c2be87b18c0e559"><td class="memItemLeft" align="right" valign="top">TVG_API <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__Paint.html#ga55f53aa0bef3ef826c2be87b18c0e559">tvg_paint_get_opacity</a> (const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, uint8_t *opacity)</td></tr>
<tr class="memdesc:ga55f53aa0bef3ef826c2be87b18c0e559"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the opacity of the given Tvg_Paint. <a href="group__ThorVGCapi__Paint.html#ga55f53aa0bef3ef826c2be87b18c0e559">More...</a><br /></td></tr>
<tr class="separator:ga55f53aa0bef3ef826c2be87b18c0e559"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b1ce06f883dd5c3b5b926d1084f6b0f"><td class="memItemLeft" align="right" valign="top">TVG_API <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__Paint.html#ga7b1ce06f883dd5c3b5b926d1084f6b0f">tvg_paint_duplicate</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint)</td></tr>
<tr class="memdesc:ga7b1ce06f883dd5c3b5b926d1084f6b0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicates the given Tvg_Paint object. <a href="group__ThorVGCapi__Paint.html#ga7b1ce06f883dd5c3b5b926d1084f6b0f">More...</a><br /></td></tr>
<tr class="separator:ga7b1ce06f883dd5c3b5b926d1084f6b0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga07b227466a584264e2a89f37c710b737"><td class="memItemLeft" align="right" valign="top">TVG_API <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__Paint.html#ga07b227466a584264e2a89f37c710b737">tvg_paint_get_bounds</a> (const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, float *x, float *y, float *w, float *h, bool transformed)</td></tr>
<tr class="memdesc:ga07b227466a584264e2a89f37c710b737"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the axis-aligned bounding box of the Tvg_Paint object. <a href="group__ThorVGCapi__Paint.html#ga07b227466a584264e2a89f37c710b737">More...</a><br /></td></tr>
<tr class="separator:ga07b227466a584264e2a89f37c710b737"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga484f01c2fe271602fdab3219207ccfb2"><td class="memItemLeft" align="right" valign="top">TVG_API <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__Paint.html#ga484f01c2fe271602fdab3219207ccfb2">tvg_paint_set_composite_method</a> (<a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *target, <a class="el" href="group__ThorVGCapi__Paint.html#ga1ec9193ca6959f9d91a80cc61cd0df3a">Tvg_Composite_Method</a> method)</td></tr>
<tr class="memdesc:ga484f01c2fe271602fdab3219207ccfb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the composition target object and the composition method. <a href="group__ThorVGCapi__Paint.html#ga484f01c2fe271602fdab3219207ccfb2">More...</a><br /></td></tr>
<tr class="separator:ga484f01c2fe271602fdab3219207ccfb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga49588e675af84f5722686249ece91245"><td class="memItemLeft" align="right" valign="top">TVG_API <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__Paint.html#ga49588e675af84f5722686249ece91245">tvg_paint_get_composite_method</a> (const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> **target, <a class="el" href="group__ThorVGCapi__Paint.html#ga1ec9193ca6959f9d91a80cc61cd0df3a">Tvg_Composite_Method</a> *method)</td></tr>
<tr class="memdesc:ga49588e675af84f5722686249ece91245"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the composition target object and the composition method. <a href="group__ThorVGCapi__Paint.html#ga49588e675af84f5722686249ece91245">More...</a><br /></td></tr>
<tr class="separator:ga49588e675af84f5722686249ece91245"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b914e27aba456a6dbb7811506e6d70d"><td class="memItemLeft" align="right" valign="top">TVG_API <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__Paint.html#ga7b914e27aba456a6dbb7811506e6d70d">tvg_paint_get_identifier</a> (const <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *paint, <a class="el" href="group__ThorVGCapi__Paint.html#ga906459e9a724fa6d89d18c5dedeb619f">Tvg_Identifier</a> *identifier)</td></tr>
<tr class="memdesc:ga7b914e27aba456a6dbb7811506e6d70d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the unique id value of the paint instance indicating the instance type. <a href="group__ThorVGCapi__Paint.html#ga7b914e27aba456a6dbb7811506e6d70d">More...</a><br /></td></tr>
<tr class="separator:ga7b914e27aba456a6dbb7811506e6d70d"><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 graphical elements. It enables duplication, transformation and composition. </p>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ga1ec9193ca6959f9d91a80cc61cd0df3a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1ec9193ca6959f9d91a80cc61cd0df3a">&#9670;&nbsp;</a></span>Tvg_Composite_Method</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__ThorVGCapi__Paint.html#ga1ec9193ca6959f9d91a80cc61cd0df3a">Tvg_Composite_Method</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enumeration indicating the method used in the composition of two objects - the target and the source. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga1ec9193ca6959f9d91a80cc61cd0df3aa9122090fc6c074e22fa0964effa1b375"></a>TVG_COMPOSITE_METHOD_NONE&#160;</td><td class="fielddoc"><p>No composition is applied. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga1ec9193ca6959f9d91a80cc61cd0df3aa517f996a4e50e88727607b959ce52852"></a>TVG_COMPOSITE_METHOD_CLIP_PATH&#160;</td><td class="fielddoc"><p>The intersection of the source and the target is determined and only the resulting pixels from the source are rendered. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga1ec9193ca6959f9d91a80cc61cd0df3aae536c237d654d73f306f2d346fc3c86a"></a>TVG_COMPOSITE_METHOD_ALPHA_MASK&#160;</td><td class="fielddoc"><p>The pixels of the source and the target are alpha blended. As a result, only the part of the source, which intersects with the target is visible. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga1ec9193ca6959f9d91a80cc61cd0df3aaf5b9626da41b4a50070f97139062c759"></a>TVG_COMPOSITE_METHOD_INVERSE_ALPHA_MASK&#160;</td><td class="fielddoc"><p>The pixels of the source and the complement to the target's pixels are alpha blended. As a result, only the part of the source which is not covered by the target is visible. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga1ec9193ca6959f9d91a80cc61cd0df3aa0780ffcaadd9a4396a8c2342a05f2d79"></a>TVG_COMPOSITE_METHOD_LUMA_MASK&#160;</td><td class="fielddoc"><p>The source pixels are converted to grayscale (luma value) and alpha blended with the target. As a result, only the part of the source which intersects with the target is visible. </p>
<dl class="section since"><dt>Since</dt><dd>0.9 </dd></dl>
</td></tr>
</table>
</div>
</div>
<a id="ga906459e9a724fa6d89d18c5dedeb619f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga906459e9a724fa6d89d18c5dedeb619f">&#9670;&nbsp;</a></span>Tvg_Identifier</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__ThorVGCapi__Paint.html#ga906459e9a724fa6d89d18c5dedeb619f">Tvg_Identifier</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enumeration indicating the ThorVG class type. </p>
<dl class="section since"><dt>Since</dt><dd>0.9 </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga906459e9a724fa6d89d18c5dedeb619fa4835d63e75912ad680a068f82616e311"></a>TVG_IDENTIFIER_UNDEF&#160;</td><td class="fielddoc"><p>Undefined type. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga906459e9a724fa6d89d18c5dedeb619fa105de16ee2517a216f2bc7ed6a5e7b69"></a>TVG_IDENTIFIER_SHAPE&#160;</td><td class="fielddoc"><p>A shape type paint. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga906459e9a724fa6d89d18c5dedeb619fa77977fb5cff9194b55ecb96492fe8f3e"></a>TVG_IDENTIFIER_SCENE&#160;</td><td class="fielddoc"><p>A scene type paint. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga906459e9a724fa6d89d18c5dedeb619fa3ddbd748d2bf2936b6151ba50879a1e8"></a>TVG_IDENTIFIER_PICTURE&#160;</td><td class="fielddoc"><p>A picture type paint. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga906459e9a724fa6d89d18c5dedeb619fa933f17c80ac7b0c474965a2175b19293"></a>TVG_IDENTIFIER_LINEAR_GRAD&#160;</td><td class="fielddoc"><p>A linear gradient type. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga906459e9a724fa6d89d18c5dedeb619fa73a9ed807395d0f3ac0d7218a37c225f"></a>TVG_IDENTIFIER_RADIAL_GRAD&#160;</td><td class="fielddoc"><p>A radial gradient type. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga4d4d3afa5b161c44155f40790d869e83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4d4d3afa5b161c44155f40790d869e83">&#9670;&nbsp;</a></span>tvg_paint_del()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_API <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_paint_del </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>Releases the given Tvg_Paint object. </p>
<div class="fragment"><div class="line"><span class="comment">//example of cleanup function</span></div>
<div class="line"><a class="code" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *rect = NULL; <span class="comment">//rectangle shape added in other function</span></div>
<div class="line"> </div>
<div class="line"><span class="comment">//rectangle delete API</span></div>
<div class="line"><span class="keywordtype">int</span> rectangle_delete(<span class="keywordtype">void</span>) {</div>
<div class="line"> <span class="keywordflow">if</span> (rect) <a class="code" href="group__ThorVGCapi__Paint.html#ga4d4d3afa5b161c44155f40790d869e83">tvg_paint_del</a>(rect);</div>
<div class="line"> rect = NULL;</div>
<div class="line">}</div>
<div class="line"> </div>
<div class="line"><span class="keywordtype">int</span> cleanup(<span class="keywordtype">void</span>) {</div>
<div class="line"> <a class="code" href="group__ThorVGCapi__Canvas.html#gaca4447f647446c29b90cc443aa84f032">tvg_canvas_clear</a>(canvas, <span class="keyword">false</span>);</div>
<div class="line"> <a class="code" href="group__ThorVGCapi__Canvas.html#ga15208125646162cd19a928708a335295">tvg_canvas_destroy</a>(canvas);</div>
<div class="line"> canvas = NULL;</div>
<div class="line">}</div>
<div class="ttc" id="agroup__ThorVGCapi__Canvas_html_ga15208125646162cd19a928708a335295"><div class="ttname"><a href="group__ThorVGCapi__Canvas.html#ga15208125646162cd19a928708a335295">tvg_canvas_destroy</a></div><div class="ttdeci">TVG_API Tvg_Result tvg_canvas_destroy(Tvg_Canvas *canvas)</div><div class="ttdoc">Clears the canvas internal data, releases all paints stored by the canvas and destroys the canvas obj...</div></div>
<div class="ttc" id="agroup__ThorVGCapi__Canvas_html_gaca4447f647446c29b90cc443aa84f032"><div class="ttname"><a href="group__ThorVGCapi__Canvas.html#gaca4447f647446c29b90cc443aa84f032">tvg_canvas_clear</a></div><div class="ttdeci">TVG_API Tvg_Result tvg_canvas_clear(Tvg_Canvas *canvas, bool free)</div><div class="ttdoc">Sets the total number of the paints pushed into the canvas to be zero. Tvg_Paint objects stored in th...</div></div>
<div class="ttc" id="agroup__ThorVGCapi__Paint_html_ga4d4d3afa5b161c44155f40790d869e83"><div class="ttname"><a href="group__ThorVGCapi__Paint.html#ga4d4d3afa5b161c44155f40790d869e83">tvg_paint_del</a></div><div class="ttdeci">TVG_API Tvg_Result tvg_paint_del(Tvg_Paint *paint)</div><div class="ttdoc">Releases the given Tvg_Paint object.</div></div>
<div class="ttc" id="agroup__ThorVG__CAPI_html_ga98af7c3fe18afa8ad65ea6a6e097a292"><div class="ttname"><a href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a></div><div class="ttdeci">struct _Tvg_Paint Tvg_Paint</div><div class="ttdoc">A structure representing a graphical element.</div><div class="ttdef"><b>Definition:</b> thorvg_capi.h:85</div></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>The Tvg_Paint object to be released.</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 warning"><dt>Warning</dt><dd>If this function is used, <a class="el" href="group__ThorVGCapi__Canvas.html#gaca4447f647446c29b90cc443aa84f032" title="Sets the total number of the paints pushed into the canvas to be zero. Tvg_Paint objects stored in th...">tvg_canvas_clear()</a> with the <code>free</code> argument value set to <code>false</code> should be used in order to avoid unexpected behaviours.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__ThorVGCapi__Canvas.html#gaca4447f647446c29b90cc443aa84f032" title="Sets the total number of the paints pushed into the canvas to be zero. Tvg_Paint objects stored in th...">tvg_canvas_clear()</a>, <a class="el" href="group__ThorVGCapi__Canvas.html#ga15208125646162cd19a928708a335295" title="Clears the canvas internal data, releases all paints stored by the canvas and destroys the canvas obj...">tvg_canvas_destroy()</a> </dd></dl>
</div>
</div>
<a id="ga7b1ce06f883dd5c3b5b926d1084f6b0f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7b1ce06f883dd5c3b5b926d1084f6b0f">&#9670;&nbsp;</a></span>tvg_paint_duplicate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_API <a class="el" href="group__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a>* tvg_paint_duplicate </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>Duplicates the given Tvg_Paint object. </p>
<p>Creates a new object and sets its all properties as in the original object.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>The Tvg_Paint object to be copied.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A copied Tvg_Paint object if succeed, <code>nullptr</code> otherwise. </dd></dl>
</div>
</div>
<a id="ga07b227466a584264e2a89f37c710b737"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga07b227466a584264e2a89f37c710b737">&#9670;&nbsp;</a></span>tvg_paint_get_bounds()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_API <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_paint_get_bounds </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>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">bool&#160;</td>
<td class="paramname"><em>transformed</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the axis-aligned bounding box of the Tvg_Paint object. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>The Tvg_Paint object of which to get the bounds. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">x</td><td>The x coordinate of the upper left corner of the object. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">y</td><td>The y coordinate of the upper left corner of the object. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">w</td><td>The width of the object. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">h</td><td>The height of the object. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">transformed</td><td>If <code>true</code>, the transformation of the paint is taken into account, otherwise it isn't.</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>Other errors.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The bounding box doesn't indicate the actual drawing region. It's the smallest rectangle that encloses the object. </dd></dl>
</div>
</div>
<a id="ga49588e675af84f5722686249ece91245"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga49588e675af84f5722686249ece91245">&#9670;&nbsp;</a></span>tvg_paint_get_composite_method()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_API <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_paint_get_composite_method </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__ThorVG__CAPI.html#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> **&#160;</td>
<td class="paramname"><em>target</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__ThorVGCapi__Paint.html#ga1ec9193ca6959f9d91a80cc61cd0df3a">Tvg_Composite_Method</a> *&#160;</td>
<td class="paramname"><em>method</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the composition target object and the composition method. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>The source object of the composition. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">target</td><td>The target object of the composition. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">method</td><td>The method used to composite the source object with the target.</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> is passed as the argument. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga7b914e27aba456a6dbb7811506e6d70d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7b914e27aba456a6dbb7811506e6d70d">&#9670;&nbsp;</a></span>tvg_paint_get_identifier()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_API <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_paint_get_identifier </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__Paint.html#ga906459e9a724fa6d89d18c5dedeb619f">Tvg_Identifier</a> *&#160;</td>
<td class="paramname"><em>identifier</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the unique id value of the paint instance indicating the instance type. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>The Tvg_Paint object of which to get the identifier value. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">identifier</td><td>The unique identifier of the paint instance type.</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>In case a <code>nullptr</code> is passed as the argument.</td></tr>
</table>
</dd>
</dl>
<dl class="section since"><dt>Since</dt><dd>0.9 </dd></dl>
</div>
</div>
<a id="ga55f53aa0bef3ef826c2be87b18c0e559"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga55f53aa0bef3ef826c2be87b18c0e559">&#9670;&nbsp;</a></span>tvg_paint_get_opacity()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_API <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_paint_get_opacity </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>opacity</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the opacity of the given Tvg_Paint. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>The Tvg_Paint object of which to get the opacity value. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">opacity</td><td>The opacity 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>In case a <code>nullptr</code> is passed as the argument. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gac94393c4eae0115031990211cb499b71"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac94393c4eae0115031990211cb499b71">&#9670;&nbsp;</a></span>tvg_paint_get_transform()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_API <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_paint_get_transform </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="structTvg__Matrix.html">Tvg_Matrix</a> *&#160;</td>
<td class="paramname"><em>m</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the matrix of the affine transformation of the given Tvg_Paint object. </p>
<p>In case no transformation was applied, the identity matrix is returned.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>The Tvg_Paint object of which to get the transformation matrix. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">m</td><td>The 3x3 augmented matrix.</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> is passed as the argument. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gaac7bdf6ece56b99da5253a3484a6c5cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaac7bdf6ece56b99da5253a3484a6c5cb">&#9670;&nbsp;</a></span>tvg_paint_rotate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_API <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_paint_rotate </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>degree</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Rotates the given Tvg_Paint by the given angle. </p>
<p>The angle in measured clockwise from the horizontal axis. The rotational axis passes through the point on the object with zero coordinates.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>The Tvg_Paint object to be rotated. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">degree</td><td>The value of the rotation angle in degrees.</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 memory allocation. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="gafddf34275dd9318f5f32ecdc8000417b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafddf34275dd9318f5f32ecdc8000417b">&#9670;&nbsp;</a></span>tvg_paint_scale()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_API <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_paint_scale </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>factor</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Scales the given Tvg_Paint object by the given factor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>The Tvg_Paint object to be scaled. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">factor</td><td>The value of the scaling factor. The default value is 1.</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 memory allocation. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga484f01c2fe271602fdab3219207ccfb2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga484f01c2fe271602fdab3219207ccfb2">&#9670;&nbsp;</a></span>tvg_paint_set_composite_method()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_API <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_paint_set_composite_method </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#ga98af7c3fe18afa8ad65ea6a6e097a292">Tvg_Paint</a> *&#160;</td>
<td class="paramname"><em>target</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__ThorVGCapi__Paint.html#ga1ec9193ca6959f9d91a80cc61cd0df3a">Tvg_Composite_Method</a>&#160;</td>
<td class="paramname"><em>method</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the composition target object and the composition method. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>The source object of the composition. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">target</td><td>The target object of the composition. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The method used to composite the source object with the target.</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 <code>paint</code> or <code>target</code> object or the <code>method</code> equal to TVG_COMPOSITE_METHOD_NONE. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga605cab45412d5ef63d3f5917df3f8cc4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga605cab45412d5ef63d3f5917df3f8cc4">&#9670;&nbsp;</a></span>tvg_paint_set_opacity()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_API <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_paint_set_opacity </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>opacity</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the opacity of the given Tvg_Paint. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>The Tvg_Paint object of which the opacity value is to be set. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">opacity</td><td>The opacity 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>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Setting the opacity with this API may require multiple renderings using a composition. It is recommended to avoid changing the opacity if possible. </dd></dl>
</div>
</div>
<a id="ga2d6ccb84503d750540926dc6a408acd1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2d6ccb84503d750540926dc6a408acd1">&#9670;&nbsp;</a></span>tvg_paint_set_transform()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_API <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_paint_set_transform </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="structTvg__Matrix.html">Tvg_Matrix</a> *&#160;</td>
<td class="paramname"><em>m</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Transforms the given Tvg_Paint using the augmented transformation matrix. </p>
<p>The augmented matrix of the transformation is expected to be given.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>The Tvg_Paint object to be transformed. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">m</td><td>The 3x3 augmented matrix.</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> is passed as the argument. </td></tr>
<tr><td class="paramname">TVG_RESULT_FAILED_ALLOCATION</td><td>An internal error with memory allocation. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga18f9577abca1cee26f297b76a7bf2ff0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga18f9577abca1cee26f297b76a7bf2ff0">&#9670;&nbsp;</a></span>tvg_paint_translate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TVG_API <a class="el" href="group__ThorVG__CAPI.html#gad980f552658dcbbe42a0168f35c27781">Tvg_Result</a> tvg_paint_translate </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>Moves the given Tvg_Paint in a two-dimensional space. </p>
<p>The origin of the coordinate system is in the upper left corner of the canvas. The horizontal and vertical axes point to the right and down, respectively.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">paint</td><td>The Tvg_Paint object to be shifted. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>The value of the horizontal shift. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>The value of the vertical shift.</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 memory allocation. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
</ul>
</div>
</body>
</html>