thorvg/docs/html/classtvg_1_1Paint.html
2024-10-04 00:41:06 +09:00

830 lines
44 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.15</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('classtvg_1_1Paint.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="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="classtvg_1_1Paint-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Paint<span class="mlabels"><span class="mlabel">abstract</span></span><div class="ingroups"><a class="el" href="group__ThorVG.html">ThorVG</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>An abstract class for managing graphical elements.
<a href="classtvg_1_1Paint.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for Paint:</div>
<div class="dyncontent">
<div class="center"><img src="classtvg_1_1Paint__inherit__graph.png" border="0" usemap="#aPaint_inherit__map" alt="Inheritance graph"/></div>
<map name="aPaint_inherit__map" id="aPaint_inherit__map">
<area shape="rect" title="An abstract class for managing graphical elements." alt="" coords="142,5,197,32"/>
<area shape="rect" href="classtvg_1_1Picture.html" title="A class representing an image read in one of the supported formats: raw, svg, png,..." alt="" coords="5,80,72,107"/>
<area shape="rect" href="classtvg_1_1Scene.html" title="A class to composite children paints." alt="" coords="96,80,157,107"/>
<area shape="rect" href="classtvg_1_1Shape.html" title="A class representing two&#45;dimensional figures and their properties." alt="" coords="182,80,245,107"/>
<area shape="rect" href="classtvg_1_1Text.html" title="A class to represent text objects in a graphical context, allowing for rendering and manipulation of ..." alt="" coords="269,80,318,107"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a7841fa0c14643e09735d48042ead68f3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Paint.html#a7841fa0c14643e09735d48042ead68f3">rotate</a> (float degree) noexcept</td></tr>
<tr class="memdesc:a7841fa0c14643e09735d48042ead68f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the angle by which the object is rotated. <a href="classtvg_1_1Paint.html#a7841fa0c14643e09735d48042ead68f3">More...</a><br /></td></tr>
<tr class="separator:a7841fa0c14643e09735d48042ead68f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c057876185525c5723215f95a3984f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Paint.html#a5c057876185525c5723215f95a3984f2">scale</a> (float factor) noexcept</td></tr>
<tr class="memdesc:a5c057876185525c5723215f95a3984f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the scale value of the object. <a href="classtvg_1_1Paint.html#a5c057876185525c5723215f95a3984f2">More...</a><br /></td></tr>
<tr class="separator:a5c057876185525c5723215f95a3984f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae896f56bfa51c98a50eee3f2bb62e41e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Paint.html#ae896f56bfa51c98a50eee3f2bb62e41e">translate</a> (float x, float y) noexcept</td></tr>
<tr class="memdesc:ae896f56bfa51c98a50eee3f2bb62e41e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the values by which the object is moved in a two-dimensional space. <a href="classtvg_1_1Paint.html#ae896f56bfa51c98a50eee3f2bb62e41e">More...</a><br /></td></tr>
<tr class="separator:ae896f56bfa51c98a50eee3f2bb62e41e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9f6ba428afe884bcc2861de0a2a96f4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Paint.html#ac9f6ba428afe884bcc2861de0a2a96f4">transform</a> (const <a class="el" href="structtvg_1_1Matrix.html">Matrix</a> &amp;m) noexcept</td></tr>
<tr class="memdesc:ac9f6ba428afe884bcc2861de0a2a96f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the matrix of the affine transformation for the object. <a href="classtvg_1_1Paint.html#ac9f6ba428afe884bcc2861de0a2a96f4">More...</a><br /></td></tr>
<tr class="separator:ac9f6ba428afe884bcc2861de0a2a96f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1e49b6eb81e87bd860f19e1b92c574b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structtvg_1_1Matrix.html">Matrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Paint.html#ad1e49b6eb81e87bd860f19e1b92c574b">transform</a> () noexcept</td></tr>
<tr class="memdesc:ad1e49b6eb81e87bd860f19e1b92c574b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the matrix of the affine transformation of the object. <a href="classtvg_1_1Paint.html#ad1e49b6eb81e87bd860f19e1b92c574b">More...</a><br /></td></tr>
<tr class="separator:ad1e49b6eb81e87bd860f19e1b92c574b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f25b71fed3ae390eb8051c7ea65aebf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Paint.html#a2f25b71fed3ae390eb8051c7ea65aebf">opacity</a> (uint8_t o) noexcept</td></tr>
<tr class="memdesc:a2f25b71fed3ae390eb8051c7ea65aebf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the opacity of the object. <a href="classtvg_1_1Paint.html#a2f25b71fed3ae390eb8051c7ea65aebf">More...</a><br /></td></tr>
<tr class="separator:a2f25b71fed3ae390eb8051c7ea65aebf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e2d077b820d1cfd6502a86e0221638b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Paint.html#a2e2d077b820d1cfd6502a86e0221638b">composite</a> (std::unique_ptr&lt; <a class="el" href="classtvg_1_1Paint.html">Paint</a> &gt; target, <a class="el" href="group__ThorVG.html#gaabdf94ada64e69d06deabc5aa6576f87">CompositeMethod</a> method) noexcept</td></tr>
<tr class="memdesc:a2e2d077b820d1cfd6502a86e0221638b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the composition target object and the composition method. <a href="classtvg_1_1Paint.html#a2e2d077b820d1cfd6502a86e0221638b">More...</a><br /></td></tr>
<tr class="separator:a2e2d077b820d1cfd6502a86e0221638b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a750662e70fca25a8a0e3f6661021c35c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Paint.html#a750662e70fca25a8a0e3f6661021c35c">clip</a> (std::unique_ptr&lt; <a class="el" href="classtvg_1_1Paint.html">Paint</a> &gt; clipper) noexcept</td></tr>
<tr class="memdesc:a750662e70fca25a8a0e3f6661021c35c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clip the drawing region of the paint object. <a href="classtvg_1_1Paint.html#a750662e70fca25a8a0e3f6661021c35c">More...</a><br /></td></tr>
<tr class="separator:a750662e70fca25a8a0e3f6661021c35c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1878016c09373a24de7b8d618d7be6ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Paint.html#a1878016c09373a24de7b8d618d7be6ee">blend</a> (<a class="el" href="group__ThorVG.html#ga4dd2f3776540c10b565e0446aa8e9e02">BlendMethod</a> method) noexcept</td></tr>
<tr class="memdesc:a1878016c09373a24de7b8d618d7be6ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the blending method for the paint object. <a href="classtvg_1_1Paint.html#a1878016c09373a24de7b8d618d7be6ee">More...</a><br /></td></tr>
<tr class="separator:a1878016c09373a24de7b8d618d7be6ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed5a6ad8edd827a378111b590ed7755d"><td class="memItemLeft" align="right" valign="top">TVG_DEPRECATED <a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Paint.html#aed5a6ad8edd827a378111b590ed7755d">bounds</a> (float *x, float *y, float *w, float *h) const noexcept</td></tr>
<tr class="separator:aed5a6ad8edd827a378111b590ed7755d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b51b7344eac48d285c073bc488197d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Paint.html#a1b51b7344eac48d285c073bc488197d3">bounds</a> (float *x, float *y, float *w, float *h, bool transformed) const noexcept</td></tr>
<tr class="memdesc:a1b51b7344eac48d285c073bc488197d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the axis-aligned bounding box of the paint object. <a href="classtvg_1_1Paint.html#a1b51b7344eac48d285c073bc488197d3">More...</a><br /></td></tr>
<tr class="separator:a1b51b7344eac48d285c073bc488197d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71afac69fe1e7c352460be5878812635"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvg_1_1Paint.html">Paint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Paint.html#a71afac69fe1e7c352460be5878812635">duplicate</a> () const noexcept</td></tr>
<tr class="memdesc:a71afac69fe1e7c352460be5878812635"><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicates the object. <a href="classtvg_1_1Paint.html#a71afac69fe1e7c352460be5878812635">More...</a><br /></td></tr>
<tr class="separator:a71afac69fe1e7c352460be5878812635"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ee7517b8bfad47e0f999ba3450e0e3e"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Paint.html#a2ee7517b8bfad47e0f999ba3450e0e3e">opacity</a> () const noexcept</td></tr>
<tr class="memdesc:a2ee7517b8bfad47e0f999ba3450e0e3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the opacity value of the object. <a href="classtvg_1_1Paint.html#a2ee7517b8bfad47e0f999ba3450e0e3e">More...</a><br /></td></tr>
<tr class="separator:a2ee7517b8bfad47e0f999ba3450e0e3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefe4ade5b1b6bc13d518bd5f968af3ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ThorVG.html#gaabdf94ada64e69d06deabc5aa6576f87">CompositeMethod</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Paint.html#aefe4ade5b1b6bc13d518bd5f968af3ee">composite</a> (const <a class="el" href="classtvg_1_1Paint.html">Paint</a> **target) const noexcept</td></tr>
<tr class="memdesc:aefe4ade5b1b6bc13d518bd5f968af3ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the composition target object and the composition method. <a href="classtvg_1_1Paint.html#aefe4ade5b1b6bc13d518bd5f968af3ee">More...</a><br /></td></tr>
<tr class="separator:aefe4ade5b1b6bc13d518bd5f968af3ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec24b20e43f4edf0fc046517db603181"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__ThorVG.html#ga5f787df9cdf370248382504196841479">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Paint.html#aec24b20e43f4edf0fc046517db603181">type</a> () const noexcept=0</td></tr>
<tr class="memdesc:aec24b20e43f4edf0fc046517db603181"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the ID value of this class. <a href="classtvg_1_1Paint.html#aec24b20e43f4edf0fc046517db603181">More...</a><br /></td></tr>
<tr class="separator:aec24b20e43f4edf0fc046517db603181"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee92a597f61d9bbdbd223b5dfc3877b7"><td class="memItemLeft" align="right" valign="top">TVG_DEPRECATED uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Paint.html#aee92a597f61d9bbdbd223b5dfc3877b7">identifier</a> () const noexcept</td></tr>
<tr class="separator:aee92a597f61d9bbdbd223b5dfc3877b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:abaabdc509cdaba7df9f56c6c76f3ae19"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Paint.html#abaabdc509cdaba7df9f56c6c76f3ae19">id</a> = 0</td></tr>
<tr class="memdesc:abaabdc509cdaba7df9f56c6c76f3ae19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unique ID of this instance. <a href="classtvg_1_1Paint.html#abaabdc509cdaba7df9f56c6c76f3ae19">More...</a><br /></td></tr>
<tr class="separator:abaabdc509cdaba7df9f56c6c76f3ae19"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>An abstract class for managing graphical elements. </p>
<p>A graphical element in TVG is any object composed into a <a class="el" href="classtvg_1_1Canvas.html" title="An abstract class for drawing graphical elements.">Canvas</a>. <a class="el" href="classtvg_1_1Paint.html" title="An abstract class for managing graphical elements.">Paint</a> represents such a graphical object and its behaviors such as duplication, transformation and composition. TVG recommends the user to regard a paint as a set of volatile commands. They can prepare a <a class="el" href="classtvg_1_1Paint.html" title="An abstract class for managing graphical elements.">Paint</a> and then request a <a class="el" href="classtvg_1_1Canvas.html" title="An abstract class for drawing graphical elements.">Canvas</a> to run them. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a1878016c09373a24de7b8d618d7be6ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1878016c09373a24de7b8d618d7be6ee">&#9670;&nbsp;</a></span>blend()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a> blend </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__ThorVG.html#ga4dd2f3776540c10b565e0446aa8e9e02">BlendMethod</a>&#160;</td>
<td class="paramname"><em>method</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the blending method for the paint object. </p>
<p>The blending feature allows you to combine colors to create visually appealing effects, including transparency, lighting, shading, and color mixing, among others. its process involves the combination of colors or images from the source paint object with the destination (the lower layer image) using blending operations. The blending operation is determined by the chosen <code>BlendMethod</code>, which specifies how the colors or images are combined.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">method</td><td>The blending method to be set.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Experimental API </dd></dl>
</div>
</div>
<a id="aed5a6ad8edd827a378111b590ed7755d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed5a6ad8edd827a378111b590ed7755d">&#9670;&nbsp;</a></span>bounds() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">TVG_DEPRECATED <a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a> bounds </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>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1b51b7344eac48d285c073bc488197d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b51b7344eac48d285c073bc488197d3">&#9670;&nbsp;</a></span>bounds() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a> bounds </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> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the axis-aligned bounding box of the paint object. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<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 paint's transformations are taken into account in the scene it belongs to. Otherwise they aren't.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This is useful when you need to figure out the bounding box of the paint in the canvas space. </dd>
<dd>
The bounding box doesn't indicate the actual drawing region. It's the smallest rectangle that encloses the object. </dd>
<dd>
If <code>transformed</code> is <code>true</code>, the paint needs to be pushed into a canvas and updated before this api is called. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classtvg_1_1Canvas.html#a89ac8a85a8c22723af9fb07c098472b3" title="Request the canvas to update the paint objects.">Canvas::update()</a> </dd></dl>
</div>
</div>
<a id="a750662e70fca25a8a0e3f6661021c35c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a750662e70fca25a8a0e3f6661021c35c">&#9670;&nbsp;</a></span>clip()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a> clip </td>
<td>(</td>
<td class="paramtype">std::unique_ptr&lt; <a class="el" href="classtvg_1_1Paint.html">Paint</a> &gt;&#160;</td>
<td class="paramname"><em>clipper</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Clip the drawing region of the paint object. </p>
<p>This function restricts the drawing area of the paint object to the specified shape's paths.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">clipper</td><td>The shape object as the clipper.</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname"><a class="el" href="group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066aa0cfd518e4385f31d38720579321ed29" title="The value returned in case of choosing unsupported engine features(options).">Result::NonSupport</a></td><td>If the <code>clipper</code> type is not <a class="el" href="classtvg_1_1Shape.html" title="A class representing two-dimensional figures and their properties.">Shape</a>.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd><code>clipper</code> only supports the <a class="el" href="classtvg_1_1Shape.html" title="A class representing two-dimensional figures and their properties.">Shape</a> type. </dd>
<dd>
Experimental API </dd></dl>
</div>
</div>
<a id="aefe4ade5b1b6bc13d518bd5f968af3ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aefe4ade5b1b6bc13d518bd5f968af3ee">&#9670;&nbsp;</a></span>composite() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__ThorVG.html#gaabdf94ada64e69d06deabc5aa6576f87">CompositeMethod</a> composite </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classtvg_1_1Paint.html">Paint</a> **&#160;</td>
<td class="paramname"><em>target</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </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">[out]</td><td class="paramname">target</td><td>The paint of the target object.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The method used to composite the source object with the target.</dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.5 </dd></dl>
</div>
</div>
<a id="a2e2d077b820d1cfd6502a86e0221638b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e2d077b820d1cfd6502a86e0221638b">&#9670;&nbsp;</a></span>composite() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a> composite </td>
<td>(</td>
<td class="paramtype">std::unique_ptr&lt; <a class="el" href="classtvg_1_1Paint.html">Paint</a> &gt;&#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__ThorVG.html#gaabdf94ada64e69d06deabc5aa6576f87">CompositeMethod</a>&#160;</td>
<td class="paramname"><em>method</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </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">target</td><td>The paint of the target object. </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>
</div>
</div>
<a id="a71afac69fe1e7c352460be5878812635"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71afac69fe1e7c352460be5878812635">&#9670;&nbsp;</a></span>duplicate()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classtvg_1_1Paint.html">Paint</a>* duplicate </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Duplicates the object. </p>
<p>Creates a new object and sets its all properties as in the original object.</p>
<dl class="section return"><dt>Returns</dt><dd>The created object when succeed, <code>nullptr</code> otherwise. </dd></dl>
</div>
</div>
<a id="aee92a597f61d9bbdbd223b5dfc3877b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aee92a597f61d9bbdbd223b5dfc3877b7">&#9670;&nbsp;</a></span>identifier()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">TVG_DEPRECATED uint32_t identifier </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classtvg_1_1Paint.html#aec24b20e43f4edf0fc046517db603181" title="Returns the ID value of this class.">Paint::type()</a> </dd></dl>
</div>
</div>
<a id="a2ee7517b8bfad47e0f999ba3450e0e3e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ee7517b8bfad47e0f999ba3450e0e3e">&#9670;&nbsp;</a></span>opacity() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint8_t opacity </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the opacity value of the object. </p>
<dl class="section return"><dt>Returns</dt><dd>The opacity value in the range [0 ~ 255], where 0 is completely transparent and 255 is opaque. </dd></dl>
</div>
</div>
<a id="a2f25b71fed3ae390eb8051c7ea65aebf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f25b71fed3ae390eb8051c7ea65aebf">&#9670;&nbsp;</a></span>opacity() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a> opacity </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>o</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the opacity of the object. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">o</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 note"><dt>Note</dt><dd>Setting the opacity with this API may require multiple render pass for composition. It is recommended to avoid changing the opacity if possible. </dd></dl>
</div>
</div>
<a id="a7841fa0c14643e09735d48042ead68f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7841fa0c14643e09735d48042ead68f3">&#9670;&nbsp;</a></span>rotate()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a> rotate </td>
<td>(</td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>degree</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the angle by which the object is rotated. </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">degree</td><td>The value of the angle in degrees.</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname"><a class="el" href="group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066a119732ff568bf103d744e930ae2404f1" title="The value returned in case the request cannot be processed - e.g. asking for properties of an object,...">Result::InsufficientCondition</a></td><td>in case a custom transform is applied. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classtvg_1_1Paint.html#ad1e49b6eb81e87bd860f19e1b92c574b" title="Gets the matrix of the affine transformation of the object.">Paint::transform()</a> </dd></dl>
</div>
</div>
<a id="a5c057876185525c5723215f95a3984f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c057876185525c5723215f95a3984f2">&#9670;&nbsp;</a></span>scale()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a> scale </td>
<td>(</td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>factor</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the scale value of the object. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<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="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname"><a class="el" href="group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066a119732ff568bf103d744e930ae2404f1" title="The value returned in case the request cannot be processed - e.g. asking for properties of an object,...">Result::InsufficientCondition</a></td><td>in case a custom transform is applied. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classtvg_1_1Paint.html#ad1e49b6eb81e87bd860f19e1b92c574b" title="Gets the matrix of the affine transformation of the object.">Paint::transform()</a> </dd></dl>
</div>
</div>
<a id="ad1e49b6eb81e87bd860f19e1b92c574b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1e49b6eb81e87bd860f19e1b92c574b">&#9670;&nbsp;</a></span>transform() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structtvg_1_1Matrix.html">Matrix</a> transform </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the matrix of the affine transformation of the object. </p>
<p>The values of the matrix can be set by the <a class="el" href="classtvg_1_1Paint.html#ad1e49b6eb81e87bd860f19e1b92c574b" title="Gets the matrix of the affine transformation of the object.">transform()</a> API, as well by the <a class="el" href="classtvg_1_1Paint.html#ae896f56bfa51c98a50eee3f2bb62e41e" title="Sets the values by which the object is moved in a two-dimensional space.">translate()</a>, <a class="el" href="classtvg_1_1Paint.html#a5c057876185525c5723215f95a3984f2" title="Sets the scale value of the object.">scale()</a> and <a class="el" href="classtvg_1_1Paint.html#a7841fa0c14643e09735d48042ead68f3" title="Sets the angle by which the object is rotated.">rotate()</a>. In case no transformation was applied, the identity matrix is returned.</p>
<dl class="section return"><dt>Returns</dt><dd>The augmented transformation matrix.</dd></dl>
<dl class="section since"><dt>Since</dt><dd>0.4 </dd></dl>
</div>
</div>
<a id="ac9f6ba428afe884bcc2861de0a2a96f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9f6ba428afe884bcc2861de0a2a96f4">&#9670;&nbsp;</a></span>transform() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a> transform </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structtvg_1_1Matrix.html">Matrix</a> &amp;&#160;</td>
<td class="paramname"><em>m</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the matrix of the affine transformation for the object. </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">m</td><td>The 3x3 augmented matrix. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae896f56bfa51c98a50eee3f2bb62e41e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae896f56bfa51c98a50eee3f2bb62e41e">&#9670;&nbsp;</a></span>translate()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a> translate </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>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the values by which the object is moved 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">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="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname"><a class="el" href="group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066a119732ff568bf103d744e930ae2404f1" title="The value returned in case the request cannot be processed - e.g. asking for properties of an object,...">Result::InsufficientCondition</a></td><td>in case a custom transform is applied. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classtvg_1_1Paint.html#ad1e49b6eb81e87bd860f19e1b92c574b" title="Gets the matrix of the affine transformation of the object.">Paint::transform()</a> </dd></dl>
</div>
</div>
<a id="aec24b20e43f4edf0fc046517db603181"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec24b20e43f4edf0fc046517db603181">&#9670;&nbsp;</a></span>type()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="group__ThorVG.html#ga5f787df9cdf370248382504196841479">Type</a> type </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the ID value of this class. </p>
<p>This method can be used to check the current concrete instance type.</p>
<dl class="section return"><dt>Returns</dt><dd>The class type ID of the <a class="el" href="classtvg_1_1Paint.html" title="An abstract class for managing graphical elements.">Paint</a> instance.</dd></dl>
<dl class="section since"><dt>Since</dt><dd>Experimental API </dd></dl>
<p>Implemented in <a class="el" href="classtvg_1_1Text.html#a0998d9f221df277cafde4934e3828aa2">Text</a>, <a class="el" href="classtvg_1_1Scene.html#a0998d9f221df277cafde4934e3828aa2">Scene</a>, <a class="el" href="classtvg_1_1Picture.html#a0998d9f221df277cafde4934e3828aa2">Picture</a>, and <a class="el" href="classtvg_1_1Shape.html#a0998d9f221df277cafde4934e3828aa2">Shape</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="abaabdc509cdaba7df9f56c6c76f3ae19"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abaabdc509cdaba7df9f56c6c76f3ae19">&#9670;&nbsp;</a></span>id</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t id = 0</td>
</tr>
</table>
</div><div class="memdoc">
<p>Unique ID of this instance. </p>
<p>This is reserved to specify an paint instance in a scene.</p>
<dl class="section since"><dt>Since</dt><dd>Experimental API </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="navelem"><b>tvg</b></li><li class="navelem"><a class="el" href="classtvg_1_1Paint.html">Paint</a></li>
<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>