mirror of
https://github.com/thorvg/thorvg.git
synced 2025-06-08 13:43:43 +00:00

In this update, we have chosen not to include CAPIs. This decision was made due to the mixture of C++ and C languages in a single documentation category, which resulted in a messy presentation. Also, In this update, we have removed 'doxygen-awesome-css' and introduced our own designated styles located in the 'style' folder. After generating the Doxyfiles, we can overwrite the styles with these new ones.
378 lines
29 KiB
HTML
378 lines
29 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: SwCanvas</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
|
|
 <span id="projectnumber">v0.11</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&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&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&dn=gpl-2.0.txt GPL-v2 */
|
|
$(document).ready(function(){initNavTree('classtvg_1_1SwCanvas.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-types">Public Types</a> |
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="#pub-static-methods">Static Public Member Functions</a> |
|
|
<a href="classtvg_1_1SwCanvas-members.html">List of all members</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">SwCanvas<span class="mlabels"><span class="mlabel">final</span></span><div class="ingroups"><a class="el" href="group__ThorVG.html">ThorVG</a></div></div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>A class for the rendering graphical elements with a software raster engine.
|
|
<a href="classtvg_1_1SwCanvas.html#details">More...</a></p>
|
|
<div class="dynheader">
|
|
Inheritance diagram for SwCanvas:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><img src="classtvg_1_1SwCanvas__inherit__graph.png" border="0" usemap="#aSwCanvas_inherit__map" alt="Inheritance graph"/></div>
|
|
<map name="aSwCanvas_inherit__map" id="aSwCanvas_inherit__map">
|
|
<area shape="rect" title="A class for the rendering graphical elements with a software raster engine." alt="" coords="5,80,95,107"/>
|
|
<area shape="rect" href="classtvg_1_1Canvas.html" title="An abstract class for drawing graphical elements." alt="" coords="15,5,85,32"/>
|
|
</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-types"></a>
|
|
Public Types</h2></td></tr>
|
|
<tr class="memitem:a7a7e24cdb2a27271343f0adceff89f65"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1SwCanvas.html#a7a7e24cdb2a27271343f0adceff89f65">Colorspace</a> { <a class="el" href="classtvg_1_1SwCanvas.html#a7a7e24cdb2a27271343f0adceff89f65adb1b146d65c52857a5a4af54e5006101">ABGR8888</a> = 0
|
|
, <a class="el" href="classtvg_1_1SwCanvas.html#a7a7e24cdb2a27271343f0adceff89f65af540c373a71dee269827b0d12026de80">ARGB8888</a>
|
|
, <a class="el" href="classtvg_1_1SwCanvas.html#a7a7e24cdb2a27271343f0adceff89f65a9a1401ad541d674306a4d802c8d39670">ABGR8888S</a>
|
|
, <a class="el" href="classtvg_1_1SwCanvas.html#a7a7e24cdb2a27271343f0adceff89f65a648ac55145f98008589e5ffeac72db2b">ARGB8888S</a>
|
|
}</td></tr>
|
|
<tr class="memdesc:a7a7e24cdb2a27271343f0adceff89f65"><td class="mdescLeft"> </td><td class="mdescRight">Enumeration specifying the methods of combining the 8-bit color channels into 32-bit color. <a href="classtvg_1_1SwCanvas.html#a7a7e24cdb2a27271343f0adceff89f65">More...</a><br /></td></tr>
|
|
<tr class="separator:a7a7e24cdb2a27271343f0adceff89f65"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9b9770837f0171b15f0cd86f94e8e22b"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1SwCanvas.html#a9b9770837f0171b15f0cd86f94e8e22b">MempoolPolicy</a> { <a class="el" href="classtvg_1_1SwCanvas.html#a9b9770837f0171b15f0cd86f94e8e22ba79935518a3889663d8688b6b01fff051">Default</a> = 0
|
|
, <a class="el" href="classtvg_1_1SwCanvas.html#a9b9770837f0171b15f0cd86f94e8e22ba4652dcff02024c6e4cba53124ddb5dd5">Shareable</a>
|
|
, <a class="el" href="classtvg_1_1SwCanvas.html#a9b9770837f0171b15f0cd86f94e8e22bab0257211e60ed5eb6767ec8ed3ec2524">Individual</a>
|
|
}</td></tr>
|
|
<tr class="memdesc:a9b9770837f0171b15f0cd86f94e8e22b"><td class="mdescLeft"> </td><td class="mdescRight">Enumeration specifying the methods of Memory Pool behavior policy. <a href="classtvg_1_1SwCanvas.html#a9b9770837f0171b15f0cd86f94e8e22b">More...</a><br /></td></tr>
|
|
<tr class="separator:a9b9770837f0171b15f0cd86f94e8e22b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><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:a2d4c80a0ba45465b073ee0c279e8c8dc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1SwCanvas.html#a2d4c80a0ba45465b073ee0c279e8c8dc">target</a> (uint32_t *buffer, uint32_t stride, uint32_t w, uint32_t h, <a class="el" href="classtvg_1_1SwCanvas.html#a7a7e24cdb2a27271343f0adceff89f65">Colorspace</a> cs) noexcept</td></tr>
|
|
<tr class="memdesc:a2d4c80a0ba45465b073ee0c279e8c8dc"><td class="mdescLeft"> </td><td class="mdescRight">Sets the target buffer for the rasterization. <a href="classtvg_1_1SwCanvas.html#a2d4c80a0ba45465b073ee0c279e8c8dc">More...</a><br /></td></tr>
|
|
<tr class="separator:a2d4c80a0ba45465b073ee0c279e8c8dc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3486268541200559f16847cbe714a72c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1SwCanvas.html#a3486268541200559f16847cbe714a72c">mempool</a> (<a class="el" href="classtvg_1_1SwCanvas.html#a9b9770837f0171b15f0cd86f94e8e22b">MempoolPolicy</a> policy) noexcept</td></tr>
|
|
<tr class="memdesc:a3486268541200559f16847cbe714a72c"><td class="mdescLeft"> </td><td class="mdescRight">Set sw engine memory pool behavior policy. <a href="classtvg_1_1SwCanvas.html#a3486268541200559f16847cbe714a72c">More...</a><br /></td></tr>
|
|
<tr class="separator:a3486268541200559f16847cbe714a72c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="inherit_header pub_methods_classtvg_1_1Canvas"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classtvg_1_1Canvas')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classtvg_1_1Canvas.html">Canvas</a></td></tr>
|
|
<tr class="memitem:a1db0cc15b62127da865b37981402b411 inherit pub_methods_classtvg_1_1Canvas"><td class="memItemLeft" align="right" valign="top">TVG_DEPRECATED <a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Canvas.html#a1db0cc15b62127da865b37981402b411">reserve</a> (uint32_t n) noexcept</td></tr>
|
|
<tr class="memdesc:a1db0cc15b62127da865b37981402b411 inherit pub_methods_classtvg_1_1Canvas"><td class="mdescLeft"> </td><td class="mdescRight">Sets the size of the container, where all the paints pushed into the <a class="el" href="classtvg_1_1Canvas.html" title="An abstract class for drawing graphical elements.">Canvas</a> are stored. <a href="classtvg_1_1Canvas.html#a1db0cc15b62127da865b37981402b411">More...</a><br /></td></tr>
|
|
<tr class="separator:a1db0cc15b62127da865b37981402b411 inherit pub_methods_classtvg_1_1Canvas"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ace6c268f853a4c144076de89b7bbbe75 inherit pub_methods_classtvg_1_1Canvas"><td class="memItemLeft" align="right" valign="top">std::list< <a class="el" href="classtvg_1_1Paint.html">Paint</a> * > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Canvas.html#ace6c268f853a4c144076de89b7bbbe75">paints</a> () noexcept</td></tr>
|
|
<tr class="memdesc:ace6c268f853a4c144076de89b7bbbe75 inherit pub_methods_classtvg_1_1Canvas"><td class="mdescLeft"> </td><td class="mdescRight">Returns the list of the paints that currently held by the <a class="el" href="classtvg_1_1Canvas.html" title="An abstract class for drawing graphical elements.">Canvas</a>. <a href="classtvg_1_1Canvas.html#ace6c268f853a4c144076de89b7bbbe75">More...</a><br /></td></tr>
|
|
<tr class="separator:ace6c268f853a4c144076de89b7bbbe75 inherit pub_methods_classtvg_1_1Canvas"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a82c5ec1c1ba93cf7671642400074201e inherit pub_methods_classtvg_1_1Canvas"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Canvas.html#a82c5ec1c1ba93cf7671642400074201e">push</a> (std::unique_ptr< <a class="el" href="classtvg_1_1Paint.html">Paint</a> > paint) noexcept</td></tr>
|
|
<tr class="memdesc:a82c5ec1c1ba93cf7671642400074201e inherit pub_methods_classtvg_1_1Canvas"><td class="mdescLeft"> </td><td class="mdescRight">Passes drawing elements to the <a class="el" href="classtvg_1_1Canvas.html" title="An abstract class for drawing graphical elements.">Canvas</a> using <a class="el" href="classtvg_1_1Paint.html" title="An abstract class for managing graphical elements.">Paint</a> objects. <a href="classtvg_1_1Canvas.html#a82c5ec1c1ba93cf7671642400074201e">More...</a><br /></td></tr>
|
|
<tr class="separator:a82c5ec1c1ba93cf7671642400074201e inherit pub_methods_classtvg_1_1Canvas"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a99cdb01cd893f4199b521b754d21aefd inherit pub_methods_classtvg_1_1Canvas"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Canvas.html#a99cdb01cd893f4199b521b754d21aefd">clear</a> (bool free=true) noexcept</td></tr>
|
|
<tr class="memdesc:a99cdb01cd893f4199b521b754d21aefd inherit pub_methods_classtvg_1_1Canvas"><td class="mdescLeft"> </td><td class="mdescRight">Clear the internal canvas resources that used for the drawing. <a href="classtvg_1_1Canvas.html#a99cdb01cd893f4199b521b754d21aefd">More...</a><br /></td></tr>
|
|
<tr class="separator:a99cdb01cd893f4199b521b754d21aefd inherit pub_methods_classtvg_1_1Canvas"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a89ac8a85a8c22723af9fb07c098472b3 inherit pub_methods_classtvg_1_1Canvas"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Canvas.html#a89ac8a85a8c22723af9fb07c098472b3">update</a> (<a class="el" href="classtvg_1_1Paint.html">Paint</a> *paint=nullptr) noexcept</td></tr>
|
|
<tr class="memdesc:a89ac8a85a8c22723af9fb07c098472b3 inherit pub_methods_classtvg_1_1Canvas"><td class="mdescLeft"> </td><td class="mdescRight">Request the canvas to update the paint objects. <a href="classtvg_1_1Canvas.html#a89ac8a85a8c22723af9fb07c098472b3">More...</a><br /></td></tr>
|
|
<tr class="separator:a89ac8a85a8c22723af9fb07c098472b3 inherit pub_methods_classtvg_1_1Canvas"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aabf9e5a14da3b4bfd5883c2b4459abd0 inherit pub_methods_classtvg_1_1Canvas"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Canvas.html#aabf9e5a14da3b4bfd5883c2b4459abd0">draw</a> () noexcept</td></tr>
|
|
<tr class="memdesc:aabf9e5a14da3b4bfd5883c2b4459abd0 inherit pub_methods_classtvg_1_1Canvas"><td class="mdescLeft"> </td><td class="mdescRight">Requests the canvas to draw the <a class="el" href="classtvg_1_1Paint.html" title="An abstract class for managing graphical elements.">Paint</a> objects. <a href="classtvg_1_1Canvas.html#aabf9e5a14da3b4bfd5883c2b4459abd0">More...</a><br /></td></tr>
|
|
<tr class="separator:aabf9e5a14da3b4bfd5883c2b4459abd0 inherit pub_methods_classtvg_1_1Canvas"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:adbca600af79f9a0b8e8366e3be7450e9 inherit pub_methods_classtvg_1_1Canvas"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Canvas.html#adbca600af79f9a0b8e8366e3be7450e9">sync</a> () noexcept</td></tr>
|
|
<tr class="memdesc:adbca600af79f9a0b8e8366e3be7450e9 inherit pub_methods_classtvg_1_1Canvas"><td class="mdescLeft"> </td><td class="mdescRight">Guarantees that drawing task is finished. <a href="classtvg_1_1Canvas.html#adbca600af79f9a0b8e8366e3be7450e9">More...</a><br /></td></tr>
|
|
<tr class="separator:adbca600af79f9a0b8e8366e3be7450e9 inherit pub_methods_classtvg_1_1Canvas"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
|
|
Static Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:aba83ff17ba357417c8bbe62cf5141c96"><td class="memItemLeft" align="right" valign="top">static std::unique_ptr< <a class="el" href="classtvg_1_1SwCanvas.html">SwCanvas</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1SwCanvas.html#aba83ff17ba357417c8bbe62cf5141c96">gen</a> () noexcept</td></tr>
|
|
<tr class="memdesc:aba83ff17ba357417c8bbe62cf5141c96"><td class="mdescLeft"> </td><td class="mdescRight">Creates a new <a class="el" href="classtvg_1_1SwCanvas.html" title="A class for the rendering graphical elements with a software raster engine.">SwCanvas</a> object. <a href="classtvg_1_1SwCanvas.html#aba83ff17ba357417c8bbe62cf5141c96">More...</a><br /></td></tr>
|
|
<tr class="separator:aba83ff17ba357417c8bbe62cf5141c96"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>A class for the rendering graphical elements with a software raster engine. </p>
|
|
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
|
|
<a id="a7a7e24cdb2a27271343f0adceff89f65"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7a7e24cdb2a27271343f0adceff89f65">◆ </a></span>Colorspace</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="classtvg_1_1SwCanvas.html#a7a7e24cdb2a27271343f0adceff89f65">Colorspace</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Enumeration specifying the methods of combining the 8-bit color channels into 32-bit color. </p>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a7a7e24cdb2a27271343f0adceff89f65adb1b146d65c52857a5a4af54e5006101"></a>ABGR8888 </td><td class="fielddoc"><p>The channels are joined in the order: alpha, blue, green, red. Colors are alpha-premultiplied. (a << 24 | b << 16 | g << 8 | r) </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a7a7e24cdb2a27271343f0adceff89f65af540c373a71dee269827b0d12026de80"></a>ARGB8888 </td><td class="fielddoc"><p>The channels are joined in the order: alpha, red, green, blue. Colors are alpha-premultiplied. (a << 24 | r << 16 | g << 8 | b) </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a7a7e24cdb2a27271343f0adceff89f65a9a1401ad541d674306a4d802c8d39670"></a>ABGR8888S </td><td class="fielddoc"><p>@BETA_API The channels are joined in the order: alpha, blue, green, red. Colors are un-alpha-premultiplied. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a7a7e24cdb2a27271343f0adceff89f65a648ac55145f98008589e5ffeac72db2b"></a>ARGB8888S </td><td class="fielddoc"><p>@BETA_API The channels are joined in the order: alpha, red, green, blue. Colors are un-alpha-premultiplied. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9b9770837f0171b15f0cd86f94e8e22b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9b9770837f0171b15f0cd86f94e8e22b">◆ </a></span>MempoolPolicy</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="classtvg_1_1SwCanvas.html#a9b9770837f0171b15f0cd86f94e8e22b">MempoolPolicy</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Enumeration specifying the methods of Memory Pool behavior policy. </p>
|
|
<dl class="section since"><dt>Since</dt><dd>0.4 </dd></dl>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a9b9770837f0171b15f0cd86f94e8e22ba79935518a3889663d8688b6b01fff051"></a>Default </td><td class="fielddoc"><p>Default behavior that ThorVG is designed to. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a9b9770837f0171b15f0cd86f94e8e22ba4652dcff02024c6e4cba53124ddb5dd5"></a>Shareable </td><td class="fielddoc"><p>Memory Pool is shared among the SwCanvases. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a9b9770837f0171b15f0cd86f94e8e22bab0257211e60ed5eb6767ec8ed3ec2524"></a>Individual </td><td class="fielddoc"><p>Allocate designated memory pool that is only used by current instance. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
<a id="aba83ff17ba357417c8bbe62cf5141c96"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aba83ff17ba357417c8bbe62cf5141c96">◆ </a></span>gen()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static std::unique_ptr<<a class="el" href="classtvg_1_1SwCanvas.html">SwCanvas</a>> gen </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Creates a new <a class="el" href="classtvg_1_1SwCanvas.html" title="A class for the rendering graphical elements with a software raster engine.">SwCanvas</a> object. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>A new <a class="el" href="classtvg_1_1SwCanvas.html" title="A class for the rendering graphical elements with a software raster engine.">SwCanvas</a> object. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3486268541200559f16847cbe714a72c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3486268541200559f16847cbe714a72c">◆ </a></span>mempool()</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> mempool </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classtvg_1_1SwCanvas.html#a9b9770837f0171b15f0cd86f94e8e22b">MempoolPolicy</a> </td>
|
|
<td class="paramname"><em>policy</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>Set sw engine memory pool behavior policy. </p>
|
|
<p>Basically ThorVG draws a lot of shapes, it allocates/deallocates a few chunk of memory while processing rendering. It internally uses one shared memory pool which can be reused among the canvases in order to avoid memory overhead.</p>
|
|
<p>Thus ThorVG suggests using a memory pool policy to satisfy user demands, if it needs to guarantee the thread-safety of the internal data access.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">policy</td><td>The method specifying the Memory Pool behavior. The default value is <code>MempoolPolicy::Default</code>.</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#gga28287671eaf7406afd604bd055ba4066a505a83f220c02df2f85c3810cd9ceb38" title="The value returned in case of a correct request execution.">Result::Success</a></td><td>When succeed. </td></tr>
|
|
<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>If the canvas contains some paints already. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066aa0cfd518e4385f31d38720579321ed29" title="The value returned in case of choosing unsupported options.">Result::NonSupport</a></td><td>In case the software engine is not supported.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section note"><dt>Note</dt><dd>When <code>policy</code> is set as <code>MempoolPolicy::Individual</code>, the current instance of canvas uses its own individual memory data, which is not shared with others. This is necessary when the canvas is accessed on a worker-thread.</dd></dl>
|
|
<dl class="section warning"><dt>Warning</dt><dd>It's not allowed after pushing any paints.</dd></dl>
|
|
<dl class="section since"><dt>Since</dt><dd>0.4 </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2d4c80a0ba45465b073ee0c279e8c8dc"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2d4c80a0ba45465b073ee0c279e8c8dc">◆ </a></span>target()</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> target </td>
|
|
<td>(</td>
|
|
<td class="paramtype">uint32_t * </td>
|
|
<td class="paramname"><em>buffer</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>stride</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>w</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>h</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classtvg_1_1SwCanvas.html#a7a7e24cdb2a27271343f0adceff89f65">Colorspace</a> </td>
|
|
<td class="paramname"><em>cs</em> </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 target buffer for the rasterization. </p>
|
|
<p>The buffer of a desirable size should be allocated and owned by the caller.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>A pointer to a memory block of the size <code>stride</code> x <code>h</code>, where the raster data are stored. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">stride</td><td>The stride of the raster image - greater than or equal to <code>w</code>. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">w</td><td>The width of the raster image. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>The height of the raster image. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">cs</td><td>The value specifying the way the 32-bits colors should be read/written.</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#gga28287671eaf7406afd604bd055ba4066a505a83f220c02df2f85c3810cd9ceb38" title="The value returned in case of a correct request execution.">Result::Success</a></td><td>When succeed. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066ae8c0c653fcac575c31470f0f800991c6" title="The value returned in the event of bad memory handling - e.g. failing in pointer releasing or casting...">Result::MemoryCorruption</a></td><td>When casting in the internal function implementation failed. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066ae73a2e92f1c87086c838b442552a4775" title="The value returned in the event of a problem with the arguments given to the API - e....">Result::InvalidArguments</a></td><td>In case no valid pointer is provided or the width, or the height or the stride is zero. </td></tr>
|
|
<tr><td class="paramname"><a class="el" href="group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066aa0cfd518e4385f31d38720579321ed29" title="The value returned in case of choosing unsupported options.">Result::NonSupport</a></td><td>In case the software engine is not supported.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section warning"><dt>Warning</dt><dd>Do not access <code>buffer</code> during <a class="el" href="classtvg_1_1Canvas.html#aabf9e5a14da3b4bfd5883c2b4459abd0" title="Requests the canvas to draw the Paint objects.">Canvas::draw()</a> - <a class="el" href="classtvg_1_1Canvas.html#adbca600af79f9a0b8e8366e3be7450e9" title="Guarantees that drawing task is finished.">Canvas::sync()</a>. It should not be accessed while TVG is writing on it. </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_1SwCanvas.html">SwCanvas</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>
|