Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document update #317

Merged
merged 3 commits into from
Feb 20, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,273 changes: 167 additions & 1,106 deletions docs/html/modules/audio.html

Large diffs are not rendered by default.

291 changes: 229 additions & 62 deletions docs/html/modules/classes/audio.html

Large diffs are not rendered by default.

419 changes: 315 additions & 104 deletions docs/html/modules/classes/bitmap.html

Large diffs are not rendered by default.

39 changes: 28 additions & 11 deletions docs/html/modules/classes/blurfx.html

Large diffs are not rendered by default.

94 changes: 71 additions & 23 deletions docs/html/modules/classes/clientsocket.html

Large diffs are not rendered by default.

127 changes: 100 additions & 27 deletions docs/html/modules/classes/clipboard.html

Large diffs are not rendered by default.

63 changes: 50 additions & 13 deletions docs/html/modules/classes/colourfx.html

Large diffs are not rendered by default.

90 changes: 75 additions & 15 deletions docs/html/modules/classes/compositefx.html

Large diffs are not rendered by default.

368 changes: 325 additions & 43 deletions docs/html/modules/classes/compressedstream.html

Large diffs are not rendered by default.

389 changes: 326 additions & 63 deletions docs/html/modules/classes/compression.html

Large diffs are not rendered by default.

165 changes: 125 additions & 40 deletions docs/html/modules/classes/config.html

Large diffs are not rendered by default.

45 changes: 29 additions & 16 deletions docs/html/modules/classes/controller.html

Large diffs are not rendered by default.

81 changes: 53 additions & 28 deletions docs/html/modules/classes/convolvefx.html

Large diffs are not rendered by default.

65 changes: 49 additions & 16 deletions docs/html/modules/classes/displacementfx.html

Large diffs are not rendered by default.

392 changes: 288 additions & 104 deletions docs/html/modules/classes/display.html

Large diffs are not rendered by default.

367 changes: 280 additions & 87 deletions docs/html/modules/classes/document.html

Large diffs are not rendered by default.

429 changes: 355 additions & 74 deletions docs/html/modules/classes/file.html

Large diffs are not rendered by default.

161 changes: 130 additions & 31 deletions docs/html/modules/classes/filtereffect.html

Large diffs are not rendered by default.

36 changes: 26 additions & 10 deletions docs/html/modules/classes/floodfx.html

Large diffs are not rendered by default.

246 changes: 169 additions & 77 deletions docs/html/modules/classes/font.html

Large diffs are not rendered by default.

399 changes: 314 additions & 85 deletions docs/html/modules/classes/http.html

Large diffs are not rendered by default.

104 changes: 86 additions & 18 deletions docs/html/modules/classes/imagefx.html

Large diffs are not rendered by default.

97 changes: 69 additions & 28 deletions docs/html/modules/classes/lightingfx.html

Large diffs are not rendered by default.

34 changes: 25 additions & 9 deletions docs/html/modules/classes/mergefx.html

Large diffs are not rendered by default.

191 changes: 135 additions & 56 deletions docs/html/modules/classes/metaclass.html

Large diffs are not rendered by default.

73 changes: 54 additions & 19 deletions docs/html/modules/classes/module.html

Large diffs are not rendered by default.

46 changes: 33 additions & 13 deletions docs/html/modules/classes/morphologyfx.html

Large diffs are not rendered by default.

92 changes: 67 additions & 25 deletions docs/html/modules/classes/netlookup.html

Large diffs are not rendered by default.

228 changes: 170 additions & 58 deletions docs/html/modules/classes/netsocket.html

Large diffs are not rendered by default.

39 changes: 28 additions & 11 deletions docs/html/modules/classes/offsetfx.html

Large diffs are not rendered by default.

128 changes: 89 additions & 39 deletions docs/html/modules/classes/picture.html

Large diffs are not rendered by default.

201 changes: 146 additions & 55 deletions docs/html/modules/classes/pointer.html

Large diffs are not rendered by default.

103 changes: 69 additions & 34 deletions docs/html/modules/classes/proxy.html

Large diffs are not rendered by default.

88 changes: 66 additions & 22 deletions docs/html/modules/classes/remapfx.html

Large diffs are not rendered by default.

299 changes: 216 additions & 83 deletions docs/html/modules/classes/scintilla.html

Large diffs are not rendered by default.

74 changes: 53 additions & 21 deletions docs/html/modules/classes/scintillasearch.html

Large diffs are not rendered by default.

144 changes: 100 additions & 44 deletions docs/html/modules/classes/script.html

Large diffs are not rendered by default.

221 changes: 158 additions & 63 deletions docs/html/modules/classes/sound.html

Large diffs are not rendered by default.

66 changes: 51 additions & 15 deletions docs/html/modules/classes/sourcefx.html

Large diffs are not rendered by default.

92 changes: 74 additions & 18 deletions docs/html/modules/classes/storagedevice.html

Large diffs are not rendered by default.

772 changes: 621 additions & 151 deletions docs/html/modules/classes/surface.html

Large diffs are not rendered by default.

120 changes: 82 additions & 38 deletions docs/html/modules/classes/svg.html

Large diffs are not rendered by default.

189 changes: 135 additions & 54 deletions docs/html/modules/classes/task.html

Large diffs are not rendered by default.

73 changes: 50 additions & 23 deletions docs/html/modules/classes/thread.html

Large diffs are not rendered by default.

52 changes: 33 additions & 19 deletions docs/html/modules/classes/time.html

Large diffs are not rendered by default.

56 changes: 38 additions & 18 deletions docs/html/modules/classes/turbulencefx.html

Large diffs are not rendered by default.

461 changes: 334 additions & 127 deletions docs/html/modules/classes/vector.html

Large diffs are not rendered by default.

54 changes: 39 additions & 15 deletions docs/html/modules/classes/vectorclip.html

Large diffs are not rendered by default.

41 changes: 28 additions & 13 deletions docs/html/modules/classes/vectorcolour.html

Large diffs are not rendered by default.

76 changes: 52 additions & 24 deletions docs/html/modules/classes/vectorellipse.html

Large diffs are not rendered by default.

162 changes: 120 additions & 42 deletions docs/html/modules/classes/vectorfilter.html

Large diffs are not rendered by default.

261 changes: 196 additions & 65 deletions docs/html/modules/classes/vectorgradient.html

Large diffs are not rendered by default.

21 changes: 16 additions & 5 deletions docs/html/modules/classes/vectorgroup.html

Large diffs are not rendered by default.

161 changes: 134 additions & 27 deletions docs/html/modules/classes/vectorimage.html

Large diffs are not rendered by default.

92 changes: 68 additions & 24 deletions docs/html/modules/classes/vectorpath.html

Large diffs are not rendered by default.

192 changes: 153 additions & 39 deletions docs/html/modules/classes/vectorpattern.html

Large diffs are not rendered by default.

78 changes: 53 additions & 25 deletions docs/html/modules/classes/vectorpolygon.html

Large diffs are not rendered by default.

73 changes: 51 additions & 22 deletions docs/html/modules/classes/vectorrectangle.html

Large diffs are not rendered by default.

174 changes: 136 additions & 38 deletions docs/html/modules/classes/vectorscene.html

Large diffs are not rendered by default.

120 changes: 81 additions & 39 deletions docs/html/modules/classes/vectorshape.html

Large diffs are not rendered by default.

71 changes: 46 additions & 25 deletions docs/html/modules/classes/vectorspiral.html

Large diffs are not rendered by default.

180 changes: 112 additions & 68 deletions docs/html/modules/classes/vectortext.html

Large diffs are not rendered by default.

39 changes: 28 additions & 11 deletions docs/html/modules/classes/vectortransition.html

Large diffs are not rendered by default.

247 changes: 191 additions & 56 deletions docs/html/modules/classes/vectorviewport.html

Large diffs are not rendered by default.

91 changes: 61 additions & 30 deletions docs/html/modules/classes/vectorwave.html

Large diffs are not rendered by default.

47 changes: 32 additions & 15 deletions docs/html/modules/classes/wavefunctionfx.html

Large diffs are not rendered by default.

331 changes: 267 additions & 64 deletions docs/html/modules/classes/xml.html

Large diffs are not rendered by default.

10,983 changes: 1,793 additions & 9,190 deletions docs/html/modules/core.html

Large diffs are not rendered by default.

4,721 changes: 754 additions & 3,967 deletions docs/html/modules/display.html

Large diffs are not rendered by default.

287 changes: 20 additions & 267 deletions docs/html/modules/fluid.html

Large diffs are not rendered by default.

785 changes: 93 additions & 692 deletions docs/html/modules/font.html

Large diffs are not rendered by default.

842 changes: 103 additions & 739 deletions docs/html/modules/network.html

Large diffs are not rendered by default.

3,820 changes: 569 additions & 3,251 deletions docs/html/modules/vector.html

Large diffs are not rendered by default.

332 changes: 25 additions & 307 deletions docs/html/modules/xrandr.html

Large diffs are not rendered by default.

101 changes: 61 additions & 40 deletions docs/xml/modules/classes/class.xsl

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/xml/modules/classes/controller.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<copyright>Paul Manias 2003-2025</copyright>
<description>
<p>Use the Controller class to read the state of game controllers that are recognised by the operating system.</p>
<p>Unlike analog devices that stream input commands (e.g. mice), gamepad controllers maintain a state that can be read at any time. The controller state is normally read at least once per frame, which can be achieved in the main inner loop, or in a separate timer.</p>
<p>Unlike analog devices that stream input commands (e.g. mice), gamepad controllers maintain a state that can be read at any time. The controller state is normally read at least once per frame, which can be achieved in a program's inner loop, or in a separate timer.</p>
<p>Controller input management is governed by the <class name="Display">Display</class> class. The <code>GRAB_CONTROLLERS</code> flag must be defined in the active Display's Flags field in order to ensure that controller input can be received. Failure to do so may mean that the Controller object appears to work but does not receive input.</p></description>
<source>
<file>class_controller.cpp</file>
Expand Down
3 changes: 1 addition & 2 deletions docs/xml/modules/core.xml
Original file line number Diff line number Diff line change
Expand Up @@ -71,12 +71,11 @@
<p>It is crucial that calls to AccessObject() are followed with a call to <function>ReleaseObject</function> once the lock is no longer required. Calls to AccessObject() will also nest, so they must be paired with <function>ReleaseObject</function> correctly.</p>
<p>It is recommended that C++ developers use the <code>ScopedObjectLock</code> class to acquire object locks rather than making direct calls to AccessObject(). The following example illustrates lock acquisition within a 1 second time limit:</p>
<pre>{
pf::ScopedObjectLock<OBJECTPTR> obj(my_object_id, 1000);
pf::ScopedObjectLock&lt;OBJECTPTR&gt; obj(my_object_id, 1000);
if (lock.granted()) {
obj.acDraw();
}
}
</OBJECTPTR>
</pre>
</description>
<result type="ERR">
Expand Down
124 changes: 74 additions & 50 deletions docs/xml/modules/module.xsl
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">

<!-- python3 -m http.server -d /parasol/docs/xml -->
<xsl:output doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" media-type="application/html+xml" encoding="utf-8" omit-xml-declaration="yes" indent="yes"/>

<xsl:output
doctype-public="-//W3C//DTD XHTML 1.1//EN"
doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"
method="html" encoding="utf-8"
omit-xml-declaration="yes" indent="no"/>

<xsl:template match="constants">
<xsl:choose>
Expand All @@ -10,6 +19,7 @@
<tbody>
<xsl:for-each select="const">
<tr><th class="col-md-1"><xsl:value-of select="../@prefix"/>::<xsl:value-of select="@name"/></th><td><xsl:apply-templates select="."/></td></tr>
<xsl:text>&#xa;</xsl:text>
</xsl:for-each>
</tbody>
</table>
Expand All @@ -21,6 +31,7 @@
<tbody>
<xsl:for-each select="/book/types/constants[@lookup=$prefix]/const">
<tr><th class="col-md-1"><xsl:value-of select="../@lookup"/>::<xsl:value-of select="@name"/></th><td><xsl:apply-templates select="."/></td></tr>
<xsl:text>&#xa;</xsl:text>
</xsl:for-each>
</tbody>
</table>
Expand All @@ -43,6 +54,7 @@
<tr><th class="col-md-1"><xsl:value-of select="@name"/></th><td><xsl:apply-templates select="."/></td></tr>
</xsl:otherwise>
</xsl:choose>
<xsl:text>&#xa;</xsl:text>
</xsl:for-each>
</tbody>
</table>
Expand All @@ -54,6 +66,7 @@
<tbody>
<xsl:for-each select="/book/types/constants[@lookup=$prefix]/const">
<tr><th><xsl:value-of select="../@lookup"/>::<xsl:value-of select="@name"/></th><td><xsl:apply-templates select="."/></td></tr>
<xsl:text>&#xa;</xsl:text>
</xsl:for-each>
</tbody>
</table>
Expand All @@ -63,11 +76,11 @@

<xsl:template match="text()"><xsl:value-of select="."/></xsl:template>

<xsl:template match="p">
<xsl:copy>
<xsl:template match="p|b|li">
<xsl:element name="{name()}" xmlns="http://www.w3.org/1999/xhtml">
<xsl:copy-of select="@*"/>
<xsl:apply-templates select="*|text()" />
</xsl:copy>
<xsl:apply-templates select="*|text()"/>
</xsl:element>
</xsl:template>

<xsl:template match="st"> <!-- Struct reference -->
Expand Down Expand Up @@ -104,13 +117,6 @@
</xsl:choose>
</xsl:template>

<xsl:template match="li">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates select="*|text()" />
</xsl:copy>
</xsl:template>

<xsl:template match="include">
<code><xsl:value-of select="."/></code>
</xsl:template>
Expand All @@ -120,17 +126,21 @@
</xsl:template>

<xsl:template match="code">
<xsl:copy-of select="."/>
<xsl:element name="{name()}" xmlns="http://www.w3.org/1999/xhtml">
<xsl:apply-templates select="*|text()" />
</xsl:element>
</xsl:template>

<xsl:template match="pre">
<xsl:copy-of select="."/>
<xsl:template match="pre"> <!-- Note that pre areas can legitimately use elements like 'b' for visual enhancement -->
<xsl:element name="{name()}" xmlns="http://www.w3.org/1999/xhtml">
<xsl:apply-templates select="*|node()"/>
</xsl:element>
</xsl:template>

<xsl:template name="addGoogleTracking">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async="async" src="https://www.googletagmanager.com/gtag/js?id=G-8254DG7MT6"><xsl:text> </xsl:text></script>
<script>
<script type="text/javascript" async="async" src="https://www.googletagmanager.com/gtag/js?id=G-8254DG7MT6"><xsl:text> </xsl:text></script>
<script type="text/javascript">
<xsl:text disable-output-escaping="yes">
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
Expand All @@ -140,10 +150,10 @@
</xsl:template>

<xsl:template match="/book">
<html xml:lang="en">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<xsl:call-template name="addGoogleTracking"/>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<!-- The above 2 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="Parasol Framework documentation, machine generated from source"/>
Expand All @@ -160,18 +170,18 @@
<div class="navbar-header"><a class="navbar-brand" href="../index.html">Parasol Framework</a></div>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
</button><xsl:text>&#xa;</xsl:text>
<div id="navbar" class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="nav-item"><a class="nav-link" href="../gallery.html">Gallery</a></li>
<li class="nav-item"><a class="nav-link" href="api.html">API</a></li>
<li class="nav-item"><a class="nav-link" href="../wiki/Home.html">Wiki</a></li>
<li class="nav-item"><a class="nav-link" href="https://github.com/parasol-framework/parasol">GitHub</a></li>
</ul>
</ul><xsl:text>&#xa;</xsl:text>
</div> <!-- nav-collapse -->
</div>
</nav>

<xsl:text>&#xa;</xsl:text>
<div class="container-fluid"> <!-- 'container-fluid' for full width, 'container' for restricted -->
<div class="row">

Expand All @@ -181,30 +191,32 @@

<ul class="list-unstyled">
<li><button class="btn btn-toggle align-items-center rounded collapsed" data-bs-toggle="collapse" data-bs-target="#func-collapse" aria-expanded="true"><xsl:value-of select="/book/info/name"/> API</button>
<div class="collapse show" id="func-collapse">
<ul class="btn-toggle-nav list-unstyled fw-normal">
<div class="collapse show" id="func-collapse"><xsl:text>&#xa;</xsl:text>
<ul class="btn-toggle-nav list-unstyled fw-normal"><xsl:text>&#xa;</xsl:text>
<li><a class="rounded" role="button"><xsl:attribute name="onclick">showPage('default-page');</xsl:attribute><i class="bi bi-house"/><xsl:text>&#160;</xsl:text>Overview</a></li>
<li class="border-top my-1"></li> <!-- Line break -->

<xsl:text>&#xa;</xsl:text>
<xsl:if test="count(/book/*/category) = 0">
<xsl:for-each select="/book/function[not(category)]"><li><a role="button" class="rounded"><xsl:attribute name="onclick">showPage('<xsl:value-of select="name"/>');</xsl:attribute><xsl:value-of select="name"/>()</a></li></xsl:for-each>
</xsl:if>

<xsl:text>&#xa;</xsl:text>
<xsl:for-each select="info/categories/category">
<xsl:variable name="category"><xsl:value-of select="."/></xsl:variable>
<xsl:variable name="id-category" select="translate($category,' ','_')"/>
<ul class="list-unstyled ps-3">
<li><ul class="list-unstyled ps-3">
<li><button class="btn btn-toggle align-items-center rounded collapsed" data-bs-toggle="collapse" aria-expanded="false"><xsl:attribute name="data-bs-target">#<xsl:value-of select="."/>-collapse</xsl:attribute><xsl:value-of select="."/></button>
<div class="collapse">
<xsl:attribute name="id"><xsl:value-of select="."/>-collapse</xsl:attribute>
<ul class="btn-toggle-nav list-unstyled fw-normal pb-1 ps-3">
<xsl:for-each select="/book/function[category=$category]">
<li><a class="rounded" role="button"><xsl:attribute name="onclick">showPage('<xsl:value-of select="name"/>');</xsl:attribute><xsl:value-of select="name"/>()</a></li>
<xsl:text>&#xa;</xsl:text>
</xsl:for-each>
</ul>
</div>
</li>
</ul>
</ul><xsl:text>&#xa;</xsl:text>
</div><xsl:text>&#xa;</xsl:text>
</li><xsl:text>&#xa;</xsl:text>
</ul></li><xsl:text>&#xa;</xsl:text>
<xsl:text>&#xa;</xsl:text>
</xsl:for-each> <!-- Category -->
</ul>
</div>
Expand Down Expand Up @@ -520,6 +532,7 @@
<tr><td><xsl:value-of select="@name"/></td><td><xsl:apply-templates select="."/></td></tr>
</xsl:otherwise>
</xsl:choose>
<xsl:text>&#xa;</xsl:text>
</xsl:for-each>
</tbody>
</table>
Expand All @@ -539,6 +552,7 @@
<tbody>
<xsl:for-each select="result/error">
<tr><th class="col-md-1"><xsl:value-of select="@code"/></th><td><xsl:apply-templates select="."/></td></tr>
<xsl:text>&#xa;</xsl:text>
</xsl:for-each>
</tbody>
</table>
Expand All @@ -551,25 +565,33 @@

<div class="footer copyright text-right"><xsl:value-of select="/book/info/name"/> module documentation © <xsl:value-of select="/book/info/copyright"/></div>
</div>
<xsl:text>&#xa;</xsl:text>
</xsl:for-each> <!-- End of function scan -->

<!-- TYPES -->
<xsl:for-each select="types/constants">
<div class="docs-content" style="display:none;">
<xsl:attribute name="id"><xsl:value-of select="@lookup"/></xsl:attribute>
<h1><xsl:value-of select="@lookup"/> Type</h1>
<p class="lead"><xsl:apply-templates select="@comment"/></p>
<table class="table">
<thead><tr><th class="col-md-1">Name</th><th>Description</th></tr></thead>
<tbody>
<xsl:for-each select="const">
<tr><th><xsl:value-of select="../@lookup"/>::<xsl:value-of select="@name"/></th><td><xsl:apply-templates select="."/></td></tr>
</xsl:for-each>
</tbody>
</table>
<div class="footer copyright text-right"><xsl:value-of select="/book/info/name"/> module documentation © <xsl:value-of select="/book/info/copyright"/></div>
</div>
</xsl:for-each> <!-- End of type scan -->

<xsl:if test="count(types/constants) > 0">
<xsl:for-each select="types/constants">
<div class="docs-content" style="display:none;">
<xsl:attribute name="id"><xsl:value-of select="@lookup"/></xsl:attribute>
<h1><xsl:value-of select="@lookup"/> Type</h1>
<p class="lead"><xsl:apply-templates select="@comment"/></p>
<xsl:if test="count(const) > 0">
<table class="table">
<thead><tr><th class="col-md-1">Name</th><th>Description</th></tr></thead>
<tbody>
<xsl:for-each select="const">
<tr><th><xsl:value-of select="../@lookup"/>::<xsl:value-of select="@name"/></th><td><xsl:apply-templates select="."/></td></tr>
<xsl:text>&#xa;</xsl:text>
</xsl:for-each>
</tbody>
</table>
</xsl:if>
<div class="footer copyright text-right"><xsl:value-of select="/book/info/name"/> module documentation © <xsl:value-of select="/book/info/copyright"/></div>
</div>
<xsl:text>&#xa;</xsl:text>
</xsl:for-each> <!-- End of type scan -->
</xsl:if>

<!-- STRUCTURES -->
<xsl:for-each select="structs/struct">
Expand All @@ -586,18 +608,20 @@
<td><span class="text-nowrap"><xsl:value-of select="@type"/></span></td>
<td><xsl:apply-templates select="."/></td>
</tr>
<xsl:text>&#xa;</xsl:text>
</xsl:for-each>
</tbody>
</table>
<div class="footer copyright text-right"><xsl:value-of select="/book/info/name"/> module documentation © <xsl:value-of select="/book/info/copyright"/></div>
</div>
<xsl:text>&#xa;</xsl:text>
</xsl:for-each> <!-- End of struct scan -->
</div> <!-- End of core content -->
</div> <!-- row -->
</div> <!-- container -->

<script src="../js/bootstrap.bundle.min.js"></script>
<script src="../js/base.js"></script>
<script type="text/javascript" src="../js/bootstrap.bundle.min.js"></script>
<script type="text/javascript" src="../js/base.js"></script>
<script type="text/javascript">
var glCurrentMethod;

Expand Down
2 changes: 1 addition & 1 deletion src/core/lib_locking.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ direct calls to AccessObject(). The following example illustrates lock acquisit

<pre>
{
pf::ScopedObjectLock<OBJECTPTR> obj(my_object_id, 1000);
pf::ScopedObjectLock&lt;OBJECTPTR&gt; obj(my_object_id, 1000);
if (lock.granted()) {
obj.acDraw();
}
Expand Down
8 changes: 4 additions & 4 deletions src/display/class_controller.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ Controller: Provides support for reading state-based game controllers.

Use the Controller class to read the state of game controllers that are recognised by the operating system.

Unlike analog devices that stream input commands (e.g. mice), gamepad controllers maintain a state that can be read
at any time. The controller state is normally read at least once per frame, which can be achieved in the main
Unlike analog devices that stream input commands (e.g. mice), gamepad controllers maintain a state that can be read
at any time. The controller state is normally read at least once per frame, which can be achieved in a program's
inner loop, or in a separate timer.

Controller input management is governed by the @Display class. The `GRAB_CONTROLLERS` flag must be defined in the
active Display's Flags field in order to ensure that controller input can be received. Failure to do so may mean
Controller input management is governed by the @Display class. The `GRAB_CONTROLLERS` flag must be defined in the
active Display's Flags field in order to ensure that controller input can be received. Failure to do so may mean
that the Controller object appears to work but does not receive input.

-END-
Expand Down
Loading