-
Notifications
You must be signed in to change notification settings - Fork 1
/
_doxygen__on__addon.html
179 lines (177 loc) · 9.22 KB
/
_doxygen__on__addon.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
<!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>Kodi Development: Doxygen on Kodi's Add-On headers</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>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</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="kodi-dev.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Kodi Development
 <span id="projectnumber">20.0</span>
</div>
<div id="projectbrief">for Binary and Script based Add-Ons</div>
</td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.svg"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
</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>
</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('_doxygen__on__addon.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="PageDoc"><div class="header">
<div class="headertitle">
<div class="title">Doxygen on Kodi's Add-On headers </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><h3>This page is for notes on using Doxygen to document the Kodi's Add-On headers source code.</h3>
<p><a href="http://www.stack.nl/~dimitri/doxygen/index.html">Doxygen</a>, is a documentation system for C++, C, Java, and some other weird languages. It can generate html docs documenting a projects source code, by either extracting special tags from the source code (put there by people wanting to make use of doxygen), or doxygen attempts to build documentation from existing source.</p>
<p>Doxygen seems to be installed on the NMR systems, type: </p><div class="fragment"><div class="line">doxygen --version</div>
</div><!-- fragment --><hr />
<p>Start doxygen documentation for add-ons always with <code>///</code> and on Kodi itself with <code>/*!</code>, this makes it more easy to see for which place the documentation is.</p>
<p><b>Here an example on add-on about function coding style:</b></p>
<pre class="fragment">#ifdef DOXYGEN_SHOULD_USE_THIS
///
/// \ingroup python_xbmcgui_window
/// @brief Sets the resolution
///
/// That the coordinates of all controls are defined in. Allows Kodi
/// to scale control positions and width/heights to whatever resolution
/// Kodi is currently using.
///
/// @param[in] res Coordinate resolution to set
/// Resolution is one of the following:
/// | value | Resolution |
/// |:-----:|:--------------------------|
/// | 0 | 1080i (1920x1080)
/// | 1 | 720p (1280x720)
/// | 2 | 480p 4:3 (720x480)
/// | 3 | 480p 16:9 (720x480)
/// | 4 | NTSC 4:3 (720x480)
/// | 5 | NTSC 16:9 (720x480)
/// | 6 | PAL 4:3 (720x576)
/// | 7 | PAL 16:9 (720x576)
/// | 8 | PAL60 4:3 (720x480)
/// | 9 | PAL60 16:9 (720x480)
/// @return Nothing only added as example here :)
/// @param[out] nothingExample Example here, if on value pointer data becomes
/// returned.
/// @throws TypeError If supplied argument is not of List type, or a
/// control is not of Control type
/// @throws ReferenceError If control is already used in another window
/// @throws RuntimeError Should not happen :-)
///
///
///--------------------------------------------------------------------------
///
/// **Example:**
/// ~~~~~~~~~~~~~{.py}
/// ..
/// win = xbmcgui.Window(xbmcgui.getCurrentWindowId())
/// win.setCoordinateResolution(0)
/// ..
/// ~~~~~~~~~~~~~
///
setCoordinateResolution(...);
#else
SWIGHIDDENVIRTUAL bool setCoordinateResolution(long res, int &nothingExample);
#endif
</pre><ul>
<li><pre class="fragment">/// \ingroup</pre> - Define the group where the documentation part comes in.</li>
<li><pre class="fragment">/// @brief</pre> - Add a small text of part there.</li>
<li><pre class="fragment">/// TEXT_FIELD</pre> - Add a bigger text there if needed.</li>
<li><pre class="fragment">/// @param[in] VALUE_NAME VALUE_TEXT</pre> - To set input parameter defined by name and add a description. There the example also add a small table which is useful to describe values.</li>
<li><pre class="fragment">/// @param[out] VALUE_NAME VALUE_TEXT</pre> - To set output parameter defined by name and add a description.</li>
<li><pre class="fragment">/// @return VALUE_TEXT</pre> - To add a description of return value.</li>
<li><pre class="fragment">/// @throws ERROR_TYPE ERROR_TEXT</pre> - If also exception becomes handled, can you use this for description.</li>
<li><pre class="fragment">/// TEXT_FIELD</pre> - Add a much bigger text there if needed.</li>
<li><pre class="fragment">/// ------------------</pre> - Use this to define a field line, e.g. if you add example add this always before, further must you make two empty lines before to prevent add of them on string before!</li>
<li><pre class="fragment">/// ~~~~~~~~~~~~~ </pre> - Here can you define a code example which must start and end with the defination string, also can you define the code style with e.g. <b>{.py}</b> for Python or <b>{.cpp}</b> for CPP code on the first line of them.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>Start all <code>VALUE_TEXT</code> at same character to hold a clean code on <code>*.cpp</code> or <code>*.h</code> files.<br />
<br />
The <code>#ifdef DOXYGEN_SHOULD_USE_THIS</code> on example above can be becomes used if for Doxygen another function is needed to describe.</dd></dl>
<p>If you want to prevent a part from doxygen can you define <b><code>#ifndef DOXYGEN_SHOULD_SKIP_THIS</code></b> or <b><code>#ifdef DOXYGEN_SHOULD_USE_THIS</code></b> on the related code. </p>
</div></div><!-- contents -->
</div><!-- PageDoc -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
</ul>
</div>
</body>
</html>