mirror of
https://github.com/thorvg/thorvg.git
synced 2025-07-23 14:48:24 +00:00

This is a documentation page based on doxygen. CSS: https://jothepro.github.io/doxygen-awesome-css/
368 lines
27 KiB
HTML
368 lines
27 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
<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>
|
|
<script type="text/javascript">
|
|
$(document).ready(initResizable);
|
|
</script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectlogo"><img alt="Logo" src="docs_logo.svg"/></td>
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">ThorVG
|
|
 <span id="projectnumber">v0.1</span>
|
|
</div>
|
|
<div id="projectbrief">ThorVG is a platform-independent portable library for drawing vector-based scene and animation. It's an open-source software that is freely used by a variety of software platforms and applications. ThorVG provides neat and easy APIs, its library has no dependencies and keeps cheap and super compact size. It serves as the vector graphics engine for Tizen OS that powers many products.</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.13 -->
|
|
<script type="text/javascript">
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
</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">
|
|
$(document).ready(function(){initNavTree('classtvg_1_1SwCanvas.html','');});
|
|
</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="#SwCanvas_inherit__map" alt="Inheritance graph"/></div>
|
|
<map name="SwCanvas_inherit__map" id="SwCanvas_inherit__map">
|
|
<area shape="rect" id="node2" href="classtvg_1_1Canvas.html" title="An abstract class for drawing graphical elements. " alt="" coords="15,5,82,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>
|
|
}<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>
|
|
</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>
|
|
}<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>
|
|
</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="#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="#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:a4cff0ab757e1db9077bbecaf25f012ba inherit pub_methods_classtvg_1_1Canvas"><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_1Canvas.html#a4cff0ab757e1db9077bbecaf25f012ba">reserve</a> (uint32_t n) noexcept</td></tr>
|
|
<tr class="memdesc:a4cff0ab757e1db9077bbecaf25f012ba 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#a4cff0ab757e1db9077bbecaf25f012ba">More...</a><br /></td></tr>
|
|
<tr class="separator:a4cff0ab757e1db9077bbecaf25f012ba 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">Sets the total number of the paints pushed into the canvas to be zero. Depending on the value of the <code>free</code> argument, the paints are freed or not. <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:acf6e6748e3d4f218e920c380b4950355 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#acf6e6748e3d4f218e920c380b4950355">update</a> (<a class="el" href="classtvg_1_1Paint.html">Paint</a> *paint) noexcept</td></tr>
|
|
<tr class="memdesc:acf6e6748e3d4f218e920c380b4950355 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#acf6e6748e3d4f218e920c380b4950355">More...</a><br /></td></tr>
|
|
<tr class="separator:acf6e6748e3d4f218e920c380b4950355 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">Request 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="#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. </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. </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>
|
|
<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 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>Use the shared cache memory. The default value is <code>true</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 has any paints. </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>, current instance of canvas uses its own individual memory data that 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>
|
|
|
|
</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="Request 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="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|