f6015bee9e03e4387de23aedff294fa70f6b009a
[platform/core/graphics/tizenvg.git] / docs / html / group__ThorVG.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <meta name="generator" content="Doxygen 1.8.13"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>ThorVG: ThorVG</title>
9 <link href="tabs.css" rel="stylesheet" type="text/css"/>
10 <script type="text/javascript" src="jquery.js"></script>
11 <script type="text/javascript" src="dynsections.js"></script>
12 <link href="navtree.css" rel="stylesheet" type="text/css"/>
13 <script type="text/javascript" src="resize.js"></script>
14 <script type="text/javascript" src="navtreedata.js"></script>
15 <script type="text/javascript" src="navtree.js"></script>
16 <script type="text/javascript">
17   $(document).ready(initResizable);
18 </script>
19 <link href="search/search.css" rel="stylesheet" type="text/css"/>
20 <script type="text/javascript" src="search/searchdata.js"></script>
21 <script type="text/javascript" src="search/search.js"></script>
22 <link href="doxygen.css" rel="stylesheet" type="text/css" />
23 <link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
24 </head>
25 <body>
26 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
27 <div id="titlearea">
28 <table cellspacing="0" cellpadding="0">
29  <tbody>
30  <tr style="height: 56px;">
31   <td id="projectlogo"><img alt="Logo" src="docs_logo.svg"/></td>
32   <td id="projectalign" style="padding-left: 0.5em;">
33    <div id="projectname">ThorVG
34    &#160;<span id="projectnumber">v0.1</span>
35    </div>
36    <div id="projectbrief">ThorVG is a platform-independent portable library for drawing vector-based scene and animation. It&#39;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>
37   </td>
38  </tr>
39  </tbody>
40 </table>
41 </div>
42 <!-- end header part -->
43 <!-- Generated by Doxygen 1.8.13 -->
44 <script type="text/javascript">
45 var searchBox = new SearchBox("searchBox", "search",false,'Search');
46 </script>
47 <script type="text/javascript" src="menudata.js"></script>
48 <script type="text/javascript" src="menu.js"></script>
49 <script type="text/javascript">
50 $(function() {
51   initMenu('',true,false,'search.php','Search');
52   $(document).ready(function() { init_search(); });
53 });
54 </script>
55 <div id="main-nav"></div>
56 </div><!-- top -->
57 <div id="side-nav" class="ui-resizable side-nav-resizable">
58   <div id="nav-tree">
59     <div id="nav-tree-contents">
60       <div id="nav-sync" class="sync"></div>
61     </div>
62   </div>
63   <div id="splitbar" style="-moz-user-select:none;" 
64        class="ui-resizable-handle">
65   </div>
66 </div>
67 <script type="text/javascript">
68 $(document).ready(function(){initNavTree('group__ThorVG.html','');});
69 </script>
70 <div id="doc-content">
71 <!-- window showing the filter options -->
72 <div id="MSearchSelectWindow"
73      onmouseover="return searchBox.OnSearchSelectShow()"
74      onmouseout="return searchBox.OnSearchSelectHide()"
75      onkeydown="return searchBox.OnSearchSelectKey(event)">
76 </div>
77
78 <!-- iframe showing the search results (closed by default) -->
79 <div id="MSearchResultsWindow">
80 <iframe src="javascript:void(0)" frameborder="0" 
81         name="MSearchResults" id="MSearchResults">
82 </iframe>
83 </div>
84
85 <div class="header">
86   <div class="summary">
87 <a href="#nested-classes">Classes</a> &#124;
88 <a href="#enum-members">Enumerations</a>  </div>
89   <div class="headertitle">
90 <div class="title">ThorVG</div>  </div>
91 </div><!--header-->
92 <div class="contents">
93
94 <p>ThorVG classes and enumerations providing C++ APIs.  
95 <a href="#details">More...</a></p>
96 <table class="memberdecls">
97 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
98 Classes</h2></td></tr>
99 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtvg_1_1Point.html">Point</a></td></tr>
100 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A data structure representing a point in two-dimensional space.  <a href="structtvg_1_1Point.html#details">More...</a><br /></td></tr>
101 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
102 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtvg_1_1Matrix.html">Matrix</a></td></tr>
103 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A data structure representing a three-dimensional matrix.  <a href="structtvg_1_1Matrix.html#details">More...</a><br /></td></tr>
104 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
105 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Paint.html">Paint</a></td></tr>
106 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An abstract class for managing graphical elements.  <a href="classtvg_1_1Paint.html#details">More...</a><br /></td></tr>
107 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
108 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Fill.html">Fill</a></td></tr>
109 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An abstract class representing the gradient fill of the <a class="el" href="classtvg_1_1Shape.html" title="A class representing two-dimensional figures and their properties. ">Shape</a> object.  <a href="classtvg_1_1Fill.html#details">More...</a><br /></td></tr>
110 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
111 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Canvas.html">Canvas</a></td></tr>
112 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An abstract class for drawing graphical elements.  <a href="classtvg_1_1Canvas.html#details">More...</a><br /></td></tr>
113 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
114 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1LinearGradient.html">LinearGradient</a></td></tr>
115 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A class representing the linear gradient fill of the <a class="el" href="classtvg_1_1Shape.html" title="A class representing two-dimensional figures and their properties. ">Shape</a> object.  <a href="classtvg_1_1LinearGradient.html#details">More...</a><br /></td></tr>
116 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
117 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1RadialGradient.html">RadialGradient</a></td></tr>
118 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A class representing the radial gradient fill of the <a class="el" href="classtvg_1_1Shape.html" title="A class representing two-dimensional figures and their properties. ">Shape</a> object.  <a href="classtvg_1_1RadialGradient.html#details">More...</a><br /></td></tr>
119 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
120 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Shape.html">Shape</a></td></tr>
121 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A class representing two-dimensional figures and their properties.  <a href="classtvg_1_1Shape.html#details">More...</a><br /></td></tr>
122 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
123 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Picture.html">Picture</a></td></tr>
124 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A class representing an image read in one of the supported formats: raw, svg, png and etc. Besides the methods inherited from the <a class="el" href="classtvg_1_1Paint.html" title="An abstract class for managing graphical elements. ">Paint</a>, it provides methods to load &amp; draw images on the canvas.  <a href="classtvg_1_1Picture.html#details">More...</a><br /></td></tr>
125 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
126 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Scene.html">Scene</a></td></tr>
127 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A class to composite children paints.  <a href="classtvg_1_1Scene.html#details">More...</a><br /></td></tr>
128 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
129 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1SwCanvas.html">SwCanvas</a></td></tr>
130 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A class for the rendering graphical elements with a software raster engine.  <a href="classtvg_1_1SwCanvas.html#details">More...</a><br /></td></tr>
131 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
132 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1GlCanvas.html">GlCanvas</a></td></tr>
133 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A class for the rendering graphic elements with a GL raster engine.  <a href="classtvg_1_1GlCanvas.html#details">More...</a><br /></td></tr>
134 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
135 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvg_1_1Initializer.html">Initializer</a></td></tr>
136 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A class that enables initialization and termination of the TVG engines.  <a href="classtvg_1_1Initializer.html#details">More...</a><br /></td></tr>
137 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
138 </table><table class="memberdecls">
139 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
140 Enumerations</h2></td></tr>
141 <tr class="memitem:ga28287671eaf7406afd604bd055ba4066"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a> { <br />
142 &#160;&#160;<a class="el" href="group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066a505a83f220c02df2f85c3810cd9ceb38">Success</a> = 0, 
143 <a class="el" href="group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066ae73a2e92f1c87086c838b442552a4775">InvalidArguments</a>, 
144 <a class="el" href="group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066a119732ff568bf103d744e930ae2404f1">InsufficientCondition</a>, 
145 <a class="el" href="group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066abc2b4181e818f2e9b52b2bc54dd55907">FailedAllocation</a>, 
146 <br />
147 &#160;&#160;<a class="el" href="group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066ae8c0c653fcac575c31470f0f800991c6">MemoryCorruption</a>, 
148 <a class="el" href="group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066aa0cfd518e4385f31d38720579321ed29">NonSupport</a>, 
149 <a class="el" href="group__ThorVG.html#gga28287671eaf7406afd604bd055ba4066a88183b946cc5f0e8c96b2e66e1c74a7e">Unknown</a>
150 <br />
151  }<tr class="memdesc:ga28287671eaf7406afd604bd055ba4066"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the result from the APIs.  <a href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">More...</a><br /></td></tr>
152 </td></tr>
153 <tr class="separator:ga28287671eaf7406afd604bd055ba4066"><td class="memSeparator" colspan="2">&#160;</td></tr>
154 <tr class="memitem:ga6876ed676934f4dbcc19b1b53c153cc1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVG.html#ga6876ed676934f4dbcc19b1b53c153cc1">PathCommand</a> { <a class="el" href="group__ThorVG.html#gga6876ed676934f4dbcc19b1b53c153cc1ad3d2e617335f08df83599665eef8a418">Close</a> = 0, 
155 <a class="el" href="group__ThorVG.html#gga6876ed676934f4dbcc19b1b53c153cc1ad9046d3b1ebf3889943b3be3ca477613">MoveTo</a>, 
156 <a class="el" href="group__ThorVG.html#gga6876ed676934f4dbcc19b1b53c153cc1a5dc59cf06f56c730c0a4bfe69c9bf689">LineTo</a>, 
157 <a class="el" href="group__ThorVG.html#gga6876ed676934f4dbcc19b1b53c153cc1ac8cd9cd16086764627079ed21bfc4e29">CubicTo</a>
158  }<tr class="memdesc:ga6876ed676934f4dbcc19b1b53c153cc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the values of the path commands accepted by TVG.  <a href="group__ThorVG.html#ga6876ed676934f4dbcc19b1b53c153cc1">More...</a><br /></td></tr>
159 </td></tr>
160 <tr class="separator:ga6876ed676934f4dbcc19b1b53c153cc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
161 <tr class="memitem:ga6239974a858100e129f1e0b8ffac4f96"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVG.html#ga6239974a858100e129f1e0b8ffac4f96">StrokeCap</a> { <a class="el" href="group__ThorVG.html#gga6239974a858100e129f1e0b8ffac4f96aceb46ca115d05c51aa5a16a8867c3304">Square</a> = 0, 
162 <a class="el" href="group__ThorVG.html#gga6239974a858100e129f1e0b8ffac4f96ab7f41fc1412ad2ee75e9b2635d3b9d5c">Round</a>, 
163 <a class="el" href="group__ThorVG.html#gga6239974a858100e129f1e0b8ffac4f96ab2635ed1075287dea1eb1598a90df1fe">Butt</a>
164  }<tr class="memdesc:ga6239974a858100e129f1e0b8ffac4f96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration determining the ending type of a stroke in the open sub-paths.  <a href="group__ThorVG.html#ga6239974a858100e129f1e0b8ffac4f96">More...</a><br /></td></tr>
165 </td></tr>
166 <tr class="separator:ga6239974a858100e129f1e0b8ffac4f96"><td class="memSeparator" colspan="2">&#160;</td></tr>
167 <tr class="memitem:gaba8b7236c41a171289aef2f3c71eef51"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVG.html#gaba8b7236c41a171289aef2f3c71eef51">StrokeJoin</a> { <a class="el" href="group__ThorVG.html#ggaba8b7236c41a171289aef2f3c71eef51a1b9ae4ca6d43fc984af318046e1e7bb5">Bevel</a> = 0, 
168 <a class="el" href="group__ThorVG.html#ggaba8b7236c41a171289aef2f3c71eef51ab7f41fc1412ad2ee75e9b2635d3b9d5c">Round</a>, 
169 <a class="el" href="group__ThorVG.html#ggaba8b7236c41a171289aef2f3c71eef51ae4396f81cd926bb129ccf3c147c64514">Miter</a>
170  }<tr class="memdesc:gaba8b7236c41a171289aef2f3c71eef51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration determining the style used at the corners of joined stroked path segments.  <a href="group__ThorVG.html#gaba8b7236c41a171289aef2f3c71eef51">More...</a><br /></td></tr>
171 </td></tr>
172 <tr class="separator:gaba8b7236c41a171289aef2f3c71eef51"><td class="memSeparator" colspan="2">&#160;</td></tr>
173 <tr class="memitem:ga0cfa2c92260cca776292cc9e8964f2da"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVG.html#ga0cfa2c92260cca776292cc9e8964f2da">FillSpread</a> { <a class="el" href="group__ThorVG.html#gga0cfa2c92260cca776292cc9e8964f2daade43468adaf6acb2c38ebc0c1176f82f">Pad</a> = 0, 
174 <a class="el" href="group__ThorVG.html#gga0cfa2c92260cca776292cc9e8964f2daa74de3e45e4491e956e8dc18d841d9b00">Reflect</a>, 
175 <a class="el" href="group__ThorVG.html#gga0cfa2c92260cca776292cc9e8964f2daa7020426cfb0a204051be4b3053d2acc8">Repeat</a>
176  }<tr class="memdesc:ga0cfa2c92260cca776292cc9e8964f2da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying how to fill the area outside the gradient bounds.  <a href="group__ThorVG.html#ga0cfa2c92260cca776292cc9e8964f2da">More...</a><br /></td></tr>
177 </td></tr>
178 <tr class="separator:ga0cfa2c92260cca776292cc9e8964f2da"><td class="memSeparator" colspan="2">&#160;</td></tr>
179 <tr class="memitem:ga9a534b0377c9ca41983d53b0dae0d5a4"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVG.html#ga9a534b0377c9ca41983d53b0dae0d5a4">FillRule</a> { <a class="el" href="group__ThorVG.html#gga9a534b0377c9ca41983d53b0dae0d5a4a268b61c62382fc1f9ca5cf52a4fece32">Winding</a> = 0, 
180 <a class="el" href="group__ThorVG.html#gga9a534b0377c9ca41983d53b0dae0d5a4a8e586e4bd2c45e86222301f2e6e0e390">EvenOdd</a>
181  }<tr class="memdesc:ga9a534b0377c9ca41983d53b0dae0d5a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the algorithm used to establish which parts of the shape are treated as the inside of the shape.  <a href="group__ThorVG.html#ga9a534b0377c9ca41983d53b0dae0d5a4">More...</a><br /></td></tr>
182 </td></tr>
183 <tr class="separator:ga9a534b0377c9ca41983d53b0dae0d5a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
184 <tr class="memitem:gaabdf94ada64e69d06deabc5aa6576f87"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVG.html#gaabdf94ada64e69d06deabc5aa6576f87">CompositeMethod</a> { <a class="el" href="group__ThorVG.html#ggaabdf94ada64e69d06deabc5aa6576f87a6adf97f83acf6453d4a6a4b1070f3754">None</a> = 0, 
185 <a class="el" href="group__ThorVG.html#ggaabdf94ada64e69d06deabc5aa6576f87a60575a18ece363c72551a982450efd52">ClipPath</a>, 
186 <a class="el" href="group__ThorVG.html#ggaabdf94ada64e69d06deabc5aa6576f87abd68e2bb79d1a5e65ad8f0d202d14cbc">AlphaMask</a>, 
187 <a class="el" href="group__ThorVG.html#ggaabdf94ada64e69d06deabc5aa6576f87a59cc48dcf714e3a3c2492f4dce1fe134">InvAlphaMask</a>
188  }<tr class="memdesc:gaabdf94ada64e69d06deabc5aa6576f87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration indicating the method used in the composition of two objects - the target and the source.  <a href="group__ThorVG.html#gaabdf94ada64e69d06deabc5aa6576f87">More...</a><br /></td></tr>
189 </td></tr>
190 <tr class="separator:gaabdf94ada64e69d06deabc5aa6576f87"><td class="memSeparator" colspan="2">&#160;</td></tr>
191 <tr class="memitem:ga3dfc0651e85484b1011772dd9f8300df"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ThorVG.html#ga3dfc0651e85484b1011772dd9f8300df">CanvasEngine</a> { <a class="el" href="group__ThorVG.html#gga3dfc0651e85484b1011772dd9f8300dfa1f030517f6d25e8607a2a9a7f6227ebc">Sw</a> = (1 &lt;&lt; 1), 
192 <a class="el" href="group__ThorVG.html#gga3dfc0651e85484b1011772dd9f8300dfa0f16de4274952a7184e059c5f2d048d6">Gl</a> = (1 &lt;&lt; 2)
193  }<tr class="memdesc:ga3dfc0651e85484b1011772dd9f8300df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration specifying the engine type used for the graphics backend. For multiple backeneds bitwise operation is allowed.  <a href="group__ThorVG.html#ga3dfc0651e85484b1011772dd9f8300df">More...</a><br /></td></tr>
194 </td></tr>
195 <tr class="separator:ga3dfc0651e85484b1011772dd9f8300df"><td class="memSeparator" colspan="2">&#160;</td></tr>
196 </table>
197 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
198 <p>ThorVG classes and enumerations providing C++ APIs. </p>
199 <h2 class="groupheader">Enumeration Type Documentation</h2>
200 <a id="ga3dfc0651e85484b1011772dd9f8300df"></a>
201 <h2 class="memtitle"><span class="permalink"><a href="#ga3dfc0651e85484b1011772dd9f8300df">&#9670;&nbsp;</a></span>CanvasEngine</h2>
202
203 <div class="memitem">
204 <div class="memproto">
205 <table class="mlabels">
206   <tr>
207   <td class="mlabels-left">
208       <table class="memname">
209         <tr>
210           <td class="memname">enum <a class="el" href="group__ThorVG.html#ga3dfc0651e85484b1011772dd9f8300df">CanvasEngine</a></td>
211         </tr>
212       </table>
213   </td>
214   <td class="mlabels-right">
215 <span class="mlabels"><span class="mlabel">strong</span></span>  </td>
216   </tr>
217 </table>
218 </div><div class="memdoc">
219
220 <p>Enumeration specifying the engine type used for the graphics backend. For multiple backeneds bitwise operation is allowed. </p>
221 <table class="fieldtable">
222 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga3dfc0651e85484b1011772dd9f8300dfa1f030517f6d25e8607a2a9a7f6227ebc"></a>Sw&#160;</td><td class="fielddoc"><p>CPU rasterizer. </p>
223 </td></tr>
224 <tr><td class="fieldname"><a id="gga3dfc0651e85484b1011772dd9f8300dfa0f16de4274952a7184e059c5f2d048d6"></a>Gl&#160;</td><td class="fielddoc"><p>OpenGL rasterizer. </p>
225 </td></tr>
226 </table>
227
228 </div>
229 </div>
230 <a id="gaabdf94ada64e69d06deabc5aa6576f87"></a>
231 <h2 class="memtitle"><span class="permalink"><a href="#gaabdf94ada64e69d06deabc5aa6576f87">&#9670;&nbsp;</a></span>CompositeMethod</h2>
232
233 <div class="memitem">
234 <div class="memproto">
235 <table class="mlabels">
236   <tr>
237   <td class="mlabels-left">
238       <table class="memname">
239         <tr>
240           <td class="memname">enum <a class="el" href="group__ThorVG.html#gaabdf94ada64e69d06deabc5aa6576f87">CompositeMethod</a></td>
241         </tr>
242       </table>
243   </td>
244   <td class="mlabels-right">
245 <span class="mlabels"><span class="mlabel">strong</span></span>  </td>
246   </tr>
247 </table>
248 </div><div class="memdoc">
249
250 <p>Enumeration indicating the method used in the composition of two objects - the target and the source. </p>
251 <table class="fieldtable">
252 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggaabdf94ada64e69d06deabc5aa6576f87a6adf97f83acf6453d4a6a4b1070f3754"></a>None&#160;</td><td class="fielddoc"><p>No composition is applied. </p>
253 </td></tr>
254 <tr><td class="fieldname"><a id="ggaabdf94ada64e69d06deabc5aa6576f87a60575a18ece363c72551a982450efd52"></a>ClipPath&#160;</td><td class="fielddoc"><p>The intersection of the source and the target is determined and only the resulting pixels from the source are rendered. </p>
255 </td></tr>
256 <tr><td class="fieldname"><a id="ggaabdf94ada64e69d06deabc5aa6576f87abd68e2bb79d1a5e65ad8f0d202d14cbc"></a>AlphaMask&#160;</td><td class="fielddoc"><p>The pixels of the source and the target are alpha blended. As a result, only the part of the source, which intersects with the target is visible. </p>
257 </td></tr>
258 <tr><td class="fieldname"><a id="ggaabdf94ada64e69d06deabc5aa6576f87a59cc48dcf714e3a3c2492f4dce1fe134"></a>InvAlphaMask&#160;</td><td class="fielddoc"><p>The pixels of the source and the complement to the target's pixels are alpha blended. As a result, only the part of the source which is not covered by the target is visible. </p>
259 </td></tr>
260 </table>
261
262 </div>
263 </div>
264 <a id="ga9a534b0377c9ca41983d53b0dae0d5a4"></a>
265 <h2 class="memtitle"><span class="permalink"><a href="#ga9a534b0377c9ca41983d53b0dae0d5a4">&#9670;&nbsp;</a></span>FillRule</h2>
266
267 <div class="memitem">
268 <div class="memproto">
269 <table class="mlabels">
270   <tr>
271   <td class="mlabels-left">
272       <table class="memname">
273         <tr>
274           <td class="memname">enum <a class="el" href="group__ThorVG.html#ga9a534b0377c9ca41983d53b0dae0d5a4">FillRule</a></td>
275         </tr>
276       </table>
277   </td>
278   <td class="mlabels-right">
279 <span class="mlabels"><span class="mlabel">strong</span></span>  </td>
280   </tr>
281 </table>
282 </div><div class="memdoc">
283
284 <p>Enumeration specifying the algorithm used to establish which parts of the shape are treated as the inside of the shape. </p>
285 <table class="fieldtable">
286 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga9a534b0377c9ca41983d53b0dae0d5a4a268b61c62382fc1f9ca5cf52a4fece32"></a>Winding&#160;</td><td class="fielddoc"><p>A line from the point to a location outside the shape is drawn. The intersections of the line with the path segment of the shape are counted. Starting from zero, if the path segment of the shape crosses the line clockwise, one is added, otherwise one is subtracted. If the resulting sum is non zero, the point is inside the shape. </p>
287 </td></tr>
288 <tr><td class="fieldname"><a id="gga9a534b0377c9ca41983d53b0dae0d5a4a8e586e4bd2c45e86222301f2e6e0e390"></a>EvenOdd&#160;</td><td class="fielddoc"><p>A line from the point to a location outside the shape is drawn and its intersections with the path segments of the shape are counted. If the number of intersections is an odd number, the point is inside the shape. </p>
289 </td></tr>
290 </table>
291
292 </div>
293 </div>
294 <a id="ga0cfa2c92260cca776292cc9e8964f2da"></a>
295 <h2 class="memtitle"><span class="permalink"><a href="#ga0cfa2c92260cca776292cc9e8964f2da">&#9670;&nbsp;</a></span>FillSpread</h2>
296
297 <div class="memitem">
298 <div class="memproto">
299 <table class="mlabels">
300   <tr>
301   <td class="mlabels-left">
302       <table class="memname">
303         <tr>
304           <td class="memname">enum <a class="el" href="group__ThorVG.html#ga0cfa2c92260cca776292cc9e8964f2da">FillSpread</a></td>
305         </tr>
306       </table>
307   </td>
308   <td class="mlabels-right">
309 <span class="mlabels"><span class="mlabel">strong</span></span>  </td>
310   </tr>
311 </table>
312 </div><div class="memdoc">
313
314 <p>Enumeration specifying how to fill the area outside the gradient bounds. </p>
315 <table class="fieldtable">
316 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga0cfa2c92260cca776292cc9e8964f2daade43468adaf6acb2c38ebc0c1176f82f"></a>Pad&#160;</td><td class="fielddoc"><p>The remaining area is filled with the closest stop color. </p>
317 </td></tr>
318 <tr><td class="fieldname"><a id="gga0cfa2c92260cca776292cc9e8964f2daa74de3e45e4491e956e8dc18d841d9b00"></a>Reflect&#160;</td><td class="fielddoc"><p>The gradient pattern is reflected outside the gradient area until the expected region is filled. </p>
319 </td></tr>
320 <tr><td class="fieldname"><a id="gga0cfa2c92260cca776292cc9e8964f2daa7020426cfb0a204051be4b3053d2acc8"></a>Repeat&#160;</td><td class="fielddoc"><p>The gradient pattern is repeated continuously beyond the gradient area until the expected region is filled. </p>
321 </td></tr>
322 </table>
323
324 </div>
325 </div>
326 <a id="ga6876ed676934f4dbcc19b1b53c153cc1"></a>
327 <h2 class="memtitle"><span class="permalink"><a href="#ga6876ed676934f4dbcc19b1b53c153cc1">&#9670;&nbsp;</a></span>PathCommand</h2>
328
329 <div class="memitem">
330 <div class="memproto">
331 <table class="mlabels">
332   <tr>
333   <td class="mlabels-left">
334       <table class="memname">
335         <tr>
336           <td class="memname">enum <a class="el" href="group__ThorVG.html#ga6876ed676934f4dbcc19b1b53c153cc1">PathCommand</a></td>
337         </tr>
338       </table>
339   </td>
340   <td class="mlabels-right">
341 <span class="mlabels"><span class="mlabel">strong</span></span>  </td>
342   </tr>
343 </table>
344 </div><div class="memdoc">
345
346 <p>Enumeration specifying the values of the path commands accepted by TVG. </p>
347 <p>Not to be confused with the path commands from the svg path element (like M, L, Q, H and many others). TVG interprets all of them and translates to the ones from the PathCommand values. </p>
348 <table class="fieldtable">
349 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga6876ed676934f4dbcc19b1b53c153cc1ad3d2e617335f08df83599665eef8a418"></a>Close&#160;</td><td class="fielddoc"><p>Ends the current sub-path and connects it with its initial point. This command doesn't expect any points. </p>
350 </td></tr>
351 <tr><td class="fieldname"><a id="gga6876ed676934f4dbcc19b1b53c153cc1ad9046d3b1ebf3889943b3be3ca477613"></a>MoveTo&#160;</td><td class="fielddoc"><p>Sets a new initial point of the sub-path and a new current point. This command expects 1 point: the starting position. </p>
352 </td></tr>
353 <tr><td class="fieldname"><a id="gga6876ed676934f4dbcc19b1b53c153cc1a5dc59cf06f56c730c0a4bfe69c9bf689"></a>LineTo&#160;</td><td class="fielddoc"><p>Draws a line from the current point to the given point and sets a new value of the current point. This command expects 1 point: the end-position of the line. </p>
354 </td></tr>
355 <tr><td class="fieldname"><a id="gga6876ed676934f4dbcc19b1b53c153cc1ac8cd9cd16086764627079ed21bfc4e29"></a>CubicTo&#160;</td><td class="fielddoc"><p>Draws a cubic Bezier curve from the current point to the given point using two given control points and sets a new value of the current point. This command expects 3 points: the 1st control-point, the 2nd control-point, the end-point of the curve. </p>
356 </td></tr>
357 </table>
358
359 </div>
360 </div>
361 <a id="ga28287671eaf7406afd604bd055ba4066"></a>
362 <h2 class="memtitle"><span class="permalink"><a href="#ga28287671eaf7406afd604bd055ba4066">&#9670;&nbsp;</a></span>Result</h2>
363
364 <div class="memitem">
365 <div class="memproto">
366 <table class="mlabels">
367   <tr>
368   <td class="mlabels-left">
369       <table class="memname">
370         <tr>
371           <td class="memname">enum <a class="el" href="group__ThorVG.html#ga28287671eaf7406afd604bd055ba4066">Result</a></td>
372         </tr>
373       </table>
374   </td>
375   <td class="mlabels-right">
376 <span class="mlabels"><span class="mlabel">strong</span></span>  </td>
377   </tr>
378 </table>
379 </div><div class="memdoc">
380
381 <p>Enumeration specifying the result from the APIs. </p>
382 <table class="fieldtable">
383 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga28287671eaf7406afd604bd055ba4066a505a83f220c02df2f85c3810cd9ceb38"></a>Success&#160;</td><td class="fielddoc"><p>The value returned in case of a correct request execution. </p>
384 </td></tr>
385 <tr><td class="fieldname"><a id="gga28287671eaf7406afd604bd055ba4066ae73a2e92f1c87086c838b442552a4775"></a>InvalidArguments&#160;</td><td class="fielddoc"><p>The value returned in the event of a problem with the arguments given to the API - e.g. empty paths or null pointers. </p>
386 </td></tr>
387 <tr><td class="fieldname"><a id="gga28287671eaf7406afd604bd055ba4066a119732ff568bf103d744e930ae2404f1"></a>InsufficientCondition&#160;</td><td class="fielddoc"><p>The value returned in case the request cannot be processed - e.g. asking for properties of an object, which does not exist. </p>
388 </td></tr>
389 <tr><td class="fieldname"><a id="gga28287671eaf7406afd604bd055ba4066abc2b4181e818f2e9b52b2bc54dd55907"></a>FailedAllocation&#160;</td><td class="fielddoc"><p>The value returned in case of unsuccessful memory allocation. </p>
390 </td></tr>
391 <tr><td class="fieldname"><a id="gga28287671eaf7406afd604bd055ba4066ae8c0c653fcac575c31470f0f800991c6"></a>MemoryCorruption&#160;</td><td class="fielddoc"><p>The value returned in the event of bad memory handling - e.g. failing in pointer releasing or casting. </p>
392 </td></tr>
393 <tr><td class="fieldname"><a id="gga28287671eaf7406afd604bd055ba4066aa0cfd518e4385f31d38720579321ed29"></a>NonSupport&#160;</td><td class="fielddoc"><p>The value returned in case of choosing unsupported options. </p>
394 </td></tr>
395 <tr><td class="fieldname"><a id="gga28287671eaf7406afd604bd055ba4066a88183b946cc5f0e8c96b2e66e1c74a7e"></a>Unknown&#160;</td><td class="fielddoc"><p>The value returned in all other cases. </p>
396 </td></tr>
397 </table>
398
399 </div>
400 </div>
401 <a id="ga6239974a858100e129f1e0b8ffac4f96"></a>
402 <h2 class="memtitle"><span class="permalink"><a href="#ga6239974a858100e129f1e0b8ffac4f96">&#9670;&nbsp;</a></span>StrokeCap</h2>
403
404 <div class="memitem">
405 <div class="memproto">
406 <table class="mlabels">
407   <tr>
408   <td class="mlabels-left">
409       <table class="memname">
410         <tr>
411           <td class="memname">enum <a class="el" href="group__ThorVG.html#ga6239974a858100e129f1e0b8ffac4f96">StrokeCap</a></td>
412         </tr>
413       </table>
414   </td>
415   <td class="mlabels-right">
416 <span class="mlabels"><span class="mlabel">strong</span></span>  </td>
417   </tr>
418 </table>
419 </div><div class="memdoc">
420
421 <p>Enumeration determining the ending type of a stroke in the open sub-paths. </p>
422 <table class="fieldtable">
423 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga6239974a858100e129f1e0b8ffac4f96aceb46ca115d05c51aa5a16a8867c3304"></a>Square&#160;</td><td class="fielddoc"><p>The stroke is extended in both end-points of a sub-path by a rectangle, with the width equal to the stroke width and the length equal to the half of the stroke width. For zero length sub-paths the square is rendered with the size of the stroke width. </p>
424 </td></tr>
425 <tr><td class="fieldname"><a id="gga6239974a858100e129f1e0b8ffac4f96ab7f41fc1412ad2ee75e9b2635d3b9d5c"></a>Round&#160;</td><td class="fielddoc"><p>The stroke is extended in both end-points of a sub-path by a half circle, with a radius equal to the half of a stroke width. For zero length sub-paths a full circle is rendered. </p>
426 </td></tr>
427 <tr><td class="fieldname"><a id="gga6239974a858100e129f1e0b8ffac4f96ab2635ed1075287dea1eb1598a90df1fe"></a>Butt&#160;</td><td class="fielddoc"><p>The stroke ends exactly at each of the two end-points of a sub-path. For zero length sub-paths no stroke is rendered. </p>
428 </td></tr>
429 </table>
430
431 </div>
432 </div>
433 <a id="gaba8b7236c41a171289aef2f3c71eef51"></a>
434 <h2 class="memtitle"><span class="permalink"><a href="#gaba8b7236c41a171289aef2f3c71eef51">&#9670;&nbsp;</a></span>StrokeJoin</h2>
435
436 <div class="memitem">
437 <div class="memproto">
438 <table class="mlabels">
439   <tr>
440   <td class="mlabels-left">
441       <table class="memname">
442         <tr>
443           <td class="memname">enum <a class="el" href="group__ThorVG.html#gaba8b7236c41a171289aef2f3c71eef51">StrokeJoin</a></td>
444         </tr>
445       </table>
446   </td>
447   <td class="mlabels-right">
448 <span class="mlabels"><span class="mlabel">strong</span></span>  </td>
449   </tr>
450 </table>
451 </div><div class="memdoc">
452
453 <p>Enumeration determining the style used at the corners of joined stroked path segments. </p>
454 <table class="fieldtable">
455 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggaba8b7236c41a171289aef2f3c71eef51a1b9ae4ca6d43fc984af318046e1e7bb5"></a>Bevel&#160;</td><td class="fielddoc"><p>The outer corner of the joined path segments is bevelled at the join point. The triangular region of the corner is enclosed by a straight line between the outer corners of each stroke. </p>
456 </td></tr>
457 <tr><td class="fieldname"><a id="ggaba8b7236c41a171289aef2f3c71eef51ab7f41fc1412ad2ee75e9b2635d3b9d5c"></a>Round&#160;</td><td class="fielddoc"><p>The outer corner of the joined path segments is rounded. The circular region is centered at the join point. </p>
458 </td></tr>
459 <tr><td class="fieldname"><a id="ggaba8b7236c41a171289aef2f3c71eef51ae4396f81cd926bb129ccf3c147c64514"></a>Miter&#160;</td><td class="fielddoc"><p>The outer corner of the joined path segments is spiked. The spike is created by extension beyond the join point of the outer edges of the stroke until they intersect. In case the extension goes beyond the limit, the join style is converted to the Bevel style. </p>
460 </td></tr>
461 </table>
462
463 </div>
464 </div>
465 </div><!-- contents -->
466 </div><!-- doc-content -->
467 <!-- start footer part -->
468 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
469   <ul>
470     <li class="footer">Generated by
471     <a href="http://www.doxygen.org/index.html">
472     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
473   </ul>
474 </div>
475 </body>
476 </html>