diff options
Diffstat (limited to 'manuals')
163 files changed, 0 insertions, 30204 deletions
diff --git a/manuals/chickadee/API-Reference.html b/manuals/chickadee/API-Reference.html deleted file mode 100644 index 4b69116..0000000 --- a/manuals/chickadee/API-Reference.html +++ /dev/null @@ -1,109 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>API Reference (The Chickadee Game Toolkit)</title> - -<meta name="description" content="API Reference (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="API Reference (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="index.html" rel="up" title="Top" /> -<link href="Kernel.html" rel="next" title="Kernel" /> -<link href="Live-Coding.html" rel="prev" title="Live Coding" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="API-Reference"></span><div class="header"> -<p> -Next: <a href="Copying-This-Manual.html" accesskey="n" rel="next">Copying This Manual</a>, Previous: <a href="Live-Coding.html" accesskey="p" rel="prev">Live Coding</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="API-Reference-1"></span><h2 class="chapter">5 API Reference</h2> - -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Kernel.html" accesskey="1">Kernel</a></td><td> </td><td align="left" valign="top">The fundamental components. -</td></tr> -<tr><td align="left" valign="top">• <a href="Math.html" accesskey="2">Math</a></td><td> </td><td align="left" valign="top">Vectors, matrices, bounding boxes, and more. -</td></tr> -<tr><td align="left" valign="top">• <a href="Graphics.html" accesskey="3">Graphics</a></td><td> </td><td align="left" valign="top">2D and 3D rendering. -</td></tr> -<tr><td align="left" valign="top">• <a href="Audio.html" accesskey="4">Audio</a></td><td> </td><td align="left" valign="top">Make some noise. -</td></tr> -<tr><td align="left" valign="top">• <a href="Scripting.html" accesskey="5">Scripting</a></td><td> </td><td align="left" valign="top">Bringing the game world to life. -</td></tr> -<tr><td align="left" valign="top">• <a href="Data-Structures.html" accesskey="6">Data Structures</a></td><td> </td><td align="left" valign="top">Queues, heaps, spatial partitioning, and more. -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/chickadee/Agendas.html b/manuals/chickadee/Agendas.html deleted file mode 100644 index 51be160..0000000 --- a/manuals/chickadee/Agendas.html +++ /dev/null @@ -1,223 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Agendas (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Agendas (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Agendas (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Scripting.html" rel="up" title="Scripting" /> -<link href="Scripts.html" rel="next" title="Scripts" /> -<link href="Scripting.html" rel="prev" title="Scripting" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Agendas"></span><div class="header"> -<p> -Next: <a href="Scripts.html" accesskey="n" rel="next">Scripts</a>, Up: <a href="Scripting.html" accesskey="u" rel="up">Scripting</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Agendas-1"></span><h4 class="subsection">5.5.1 Agendas</h4> - -<p>To schedule a task to be performed later, an “agenda” is used. -There is a default, global agenda that is ready to be used, or -additional agendas may be created for different purposes. The -following example prints the text “hello” when the agenda has -advanced to time unit 10. -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-symbol">at</span> <span class="syntax-symbol">10</span> <span class="syntax-open">(</span><span class="syntax-symbol">display</span> <span class="syntax-string">"hello\n"</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -</pre></div> - -<p>Most of the time it is more convenient to schedule tasks relative to -the current time. This is where <code>after</code> comes in handy: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-symbol">after</span> <span class="syntax-symbol">10</span> <span class="syntax-open">(</span><span class="syntax-symbol">display</span> <span class="syntax-string">"hello\n"</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -</pre></div> - -<p>Time units in the agenda are in no way connected to real time. It’s -up to the programmer to decide what agenda time means. A simple and -effective approach is to map each call of the update procedure -(see <a href="Kernel.html">Kernel</a>) to 1 unit of agenda time, like so: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-open">(</span><span class="syntax-symbol">update</span> <span class="syntax-symbol">dt</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">update-agenda</span> <span class="syntax-symbol">1</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -</pre></div> - -<p>It is important to call <code>update-agenda</code> periodically, otherwise -no tasks will ever be run! -</p> -<p>In addition to using the global agenda, it is useful to have multiple -agendas for different purposes. For example, the game world can use a -different agenda than the user interface, so that pausing the game is -a simple matter of not updating the world’s agenda while continuing to -update the user interface’s agenda. The current agenda is dynamically -scoped and can be changed using the <code>with-agenda</code> special form: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">game-world-agenda</span> <span class="syntax-open">(</span><span class="syntax-symbol">make-agenda</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - -<span class="syntax-open">(</span><span class="syntax-symbol">with-agenda</span> <span class="syntax-symbol">game-world-agenda</span> - <span class="syntax-open">(</span><span class="syntax-symbol">at</span> <span class="syntax-symbol">60</span> <span class="syntax-open">(</span><span class="syntax-symbol">spawn-goblin</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">at</span> <span class="syntax-symbol">120</span> <span class="syntax-open">(</span><span class="syntax-symbol">spawn-goblin</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">at</span> <span class="syntax-symbol">240</span> <span class="syntax-open">(</span><span class="syntax-symbol">spawn-goblin-king</span><span class="syntax-close">)</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -</pre></div> - -<dl> -<dt id="index-make_002dagenda">Procedure: <strong>make-agenda</strong></dt> -<dd><p>Return a new task scheduler. -</p></dd></dl> - -<dl> -<dt id="index-agenda_003f">Procedure: <strong>agenda?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is an agenda. -</p></dd></dl> - -<dl> -<dt id="index-current_002dagenda">Procedure: <strong>current-agenda</strong></dt> -<dt id="index-current_002dagenda-1">Procedure: <strong>current-agenda</strong> <em>agenda</em></dt> -<dd><p>When called with no arguments, return the current agenda. When called -with one argument, set the current agenda to <var>agenda</var>. -</p></dd></dl> - -<dl> -<dt id="index-with_002dagenda">Syntax: <strong>with-agenda</strong> <em>agenda body …</em></dt> -<dd><p>Evaluate <var>body</var> with the current agenda set to <var>agenda</var>. -</p></dd></dl> - -<dl> -<dt id="index-agenda_002dtime">Procedure: <strong>agenda-time</strong></dt> -<dd><p>Return the current agenda time. -</p></dd></dl> - -<dl> -<dt id="index-update_002dagenda">Procedure: <strong>update-agenda</strong> <em>dt</em></dt> -<dd><p>Advance the current agenda by <var>dt</var>. -</p></dd></dl> - -<dl> -<dt id="index-schedule_002dat">Procedure: <strong>schedule-at</strong> <em>time thunk</em></dt> -<dd><p>Schedule <var>thunk</var>, a procedure of zero arguments, to be run at -<var>time</var>. -</p></dd></dl> - -<dl> -<dt id="index-schedule_002dafter">Procedure: <strong>schedule-after</strong> <em>delay thunk</em></dt> -<dd><p>Schedule <var>thunk</var>, a procedure of zero arguments, to be run after -<var>delay</var>. -</p></dd></dl> - -<dl> -<dt id="index-schedule_002devery">Procedure: <strong>schedule-every</strong> <em>interval thunk [n]</em></dt> -<dd><p>Schedule <var>thunk</var>, a procedure of zero arguments, to be run every -<var>interval</var> amount of time. Repeat this <var>n</var> times, or -indefinitely if not specified. -</p></dd></dl> - -<dl> -<dt id="index-at">Syntax: <strong>at</strong> <em>time body …</em></dt> -<dd><p>Schedule <var>body</var> to be evaluated at <var>time</var>. -</p></dd></dl> - -<dl> -<dt id="index-after">Syntax: <strong>after</strong> <em>delay body …</em></dt> -<dd><p>Schedule <var>body</var> to be evaluated after <var>delay</var>. -</p></dd></dl> - -<dl> -<dt id="index-every">Syntax: <strong>every</strong> <em>interval body …</em></dt> -<dt id="index-every-1">Syntax: <strong>every</strong> <em>(interval n) body …</em></dt> -<dd><p>Schedule <var>body</var> to be evaluated every <var>interval</var> amount of -time. Repeat this <var>n</var> times, or indefinitely if not specified. -</p></dd></dl> - -<p>It is also possible to schedule things that are not dependent on how -much time passes. The agenda will periodically poll to see if any -registered conditions are met. -</p> -<dl> -<dt id="index-call_002dwhen">Procedure: <strong>call-when</strong> <em>pred thunk</em></dt> -<dd><p>Call <var>thunk</var> sometime in the future when <var>pred</var> is satisfied -(returns a value other than <code>#f</code>.) -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Scripts.html" accesskey="n" rel="next">Scripts</a>, Up: <a href="Scripting.html" accesskey="u" rel="up">Scripting</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Apache-2_002e0-License.html b/manuals/chickadee/Apache-2_002e0-License.html deleted file mode 100644 index 361c858..0000000 --- a/manuals/chickadee/Apache-2_002e0-License.html +++ /dev/null @@ -1,305 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Apache 2.0 License (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Apache 2.0 License (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Apache 2.0 License (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Copying-This-Manual.html" rel="up" title="Copying This Manual" /> -<link href="Index.html" rel="next" title="Index" /> -<link href="Copying-This-Manual.html" rel="prev" title="Copying This Manual" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Apache-2_002e0-License"></span><div class="header"> -<p> -Up: <a href="Copying-This-Manual.html" accesskey="u" rel="up">Copying This Manual</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Apache-2_002e0-License-1"></span><h3 class="section">A.1 Apache 2.0 License</h3> - -<p>Apache License -</p> -<p>Version 2.0, January 2004 -</p> -<p><a href="http://www.apache.org/licenses/">http://www.apache.org/licenses/</a> -</p> -<p>TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -</p> -<ol> -<li> Definitions. - -<p>“License” shall mean the terms and conditions for use, reproduction, -and distribution as defined by Sections 1 through 9 of this document. -</p> -<p>“Licensor” shall mean the copyright owner or entity authorized by -the copyright owner that is granting the License. -</p> -<p>“Legal Entity” shall mean the union of the acting entity and all -other entities that control, are controlled by, or are under common -control with that entity. For the purposes of this definition, -“control” means (i) the power, direct or indirect, to cause the -direction or management of such entity, whether by contract or -otherwise, or (ii) ownership of fifty percent (50%) or more of the -outstanding shares, or (iii) beneficial ownership of such entity. -</p> -<p>“You” (or “Your”) shall mean an individual or Legal Entity -exercising permissions granted by this License. -</p> -<p>“Source” form shall mean the preferred form for making modifications, -including but not limited to software source code, documentation -source, and configuration files. -</p> -<p>“Object” form shall mean any form resulting from mechanical -transformation or translation of a Source form, including but -not limited to compiled object code, generated documentation, -and conversions to other media types. -</p> -<p>“Work” shall mean the work of authorship, whether in Source or -Object form, made available under the License, as indicated by a -copyright notice that is included in or attached to the work -(an example is provided in the Appendix below). -</p> -<p>“Derivative Works” shall mean any work, whether in Source or Object -form, that is based on (or derived from) the Work and for which the -editorial revisions, annotations, elaborations, or other modifications -represent, as a whole, an original work of authorship. For the purposes -of this License, Derivative Works shall not include works that remain -separable from, or merely link (or bind by name) to the interfaces of, -the Work and Derivative Works thereof. -</p> -<p>“Contribution” shall mean any work of authorship, including -the original version of the Work and any modifications or additions -to that Work or Derivative Works thereof, that is intentionally -submitted to Licensor for inclusion in the Work by the copyright owner -or by an individual or Legal Entity authorized to submit on behalf of -the copyright owner. For the purposes of this definition, “submitted” -means any form of electronic, verbal, or written communication sent -to the Licensor or its representatives, including but not limited to -communication on electronic mailing lists, source code control systems, -and issue tracking systems that are managed by, or on behalf of, the -Licensor for the purpose of discussing and improving the Work, but -excluding communication that is conspicuously marked or otherwise -designated in writing by the copyright owner as “Not a Contribution.” -</p> -<p>“Contributor” shall mean Licensor and any individual or Legal Entity -on behalf of whom a Contribution has been received by Licensor and -subsequently incorporated within the Work. -</p> -</li><li> Grant of Copyright License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable -copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the -Work and such Derivative Works in Source or Object form. - -</li><li> Grant of Patent License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable -(except as stated in this section) patent license to make, have made, -use, offer to sell, sell, import, and otherwise transfer the Work, -where such license applies only to those patent claims licensable -by such Contributor that are necessarily infringed by their -Contribution(s) alone or by combination of their Contribution(s) -with the Work to which such Contribution(s) was submitted. If You -institute patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Work -or a Contribution incorporated within the Work constitutes direct -or contributory patent infringement, then any patent licenses -granted to You under this License for that Work shall terminate -as of the date such litigation is filed. - -</li><li> Redistribution. You may reproduce and distribute copies of the -Work or Derivative Works thereof in any medium, with or without -modifications, and in Source or Object form, provided that You -meet the following conditions: - -<p>(a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and -</p> -<p>(b) You must cause any modified files to carry prominent notices - stating that You changed the files; and -</p> -<p>(c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and -</p> -<p>(d) If the Work includes a “NOTICE” text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. -</p> -<p>You may add Your own copyright statement to Your modifications and -may provide additional or different license terms and conditions -for use, reproduction, or distribution of Your modifications, or -for any such Derivative Works as a whole, provided Your use, -reproduction, and distribution of the Work otherwise complies with -the conditions stated in this License. -</p> -</li><li> Submission of Contributions. Unless You explicitly state otherwise, -any Contribution intentionally submitted for inclusion in the Work -by You to the Licensor shall be under the terms and conditions of -this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify -the terms of any separate license agreement you may have executed -with Licensor regarding such Contributions. - -</li><li> Trademarks. This License does not grant permission to use the trade -names, trademarks, service marks, or product names of the Licensor, -except as required for reasonable and customary use in describing the -origin of the Work and reproducing the content of the NOTICE file. - -</li><li> Disclaimer of Warranty. Unless required by applicable law or -agreed to in writing, Licensor provides the Work (and each -Contributor provides its Contributions) on an “AS IS” BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -implied, including, without limitation, any warranties or conditions -of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A -PARTICULAR PURPOSE. You are solely responsible for determining the -appropriateness of using or redistributing the Work and assume any -risks associated with Your exercise of permissions under this License. - -</li><li> Limitation of Liability. In no event and under no legal theory, -whether in tort (including negligence), contract, or otherwise, -unless required by applicable law (such as deliberate and grossly -negligent acts) or agreed to in writing, shall any Contributor be -liable to You for damages, including any direct, indirect, special, -incidental, or consequential damages of any character arising as a -result of this License or out of the use or inability to use the -Work (including but not limited to damages for loss of goodwill, -work stoppage, computer failure or malfunction, or any and all -other commercial damages or losses), even if such Contributor -has been advised of the possibility of such damages. - -</li><li> Accepting Warranty or Additional Liability. While redistributing -the Work or Derivative Works thereof, You may choose to offer, -and charge a fee for, acceptance of support, warranty, indemnity, -or other liability obligations and/or rights consistent with this -License. However, in accepting such obligations, You may act only -on Your own behalf and on Your sole responsibility, not on behalf -of any other Contributor, and only if You agree to indemnify, -defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason -of your accepting any such warranty or additional liability. -</li></ol> - -<p>END OF TERMS AND CONDITIONS -</p> -<p>APPENDIX: How to apply the Apache License to your work. -</p> -<p>To apply the Apache License to your work, attach the following -boilerplate notice, with the fields enclosed by brackets “[]” -replaced with your own identifying information. (Don’t include -the brackets!) The text should be enclosed in the appropriate -comment syntax for the file format. We also recommend that a -file or class name and description of purpose be included on the -same “printed page” as the copyright notice for easier -identification within third-party archives. -</p> -<p>Copyright [yyyy] [name of copyright owner] -</p> -<p>Licensed under the Apache License, Version 2.0 (the “License”); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at -</p> -<p><a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a> -</p> -<p>Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an “AS IS” BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -</p> -<hr /> -<div class="header"> -<p> -Up: <a href="Copying-This-Manual.html" accesskey="u" rel="up">Copying This Manual</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Array-Lists.html b/manuals/chickadee/Array-Lists.html deleted file mode 100644 index ca30f16..0000000 --- a/manuals/chickadee/Array-Lists.html +++ /dev/null @@ -1,179 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Array Lists (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Array Lists (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Array Lists (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Data-Structures.html" rel="up" title="Data Structures" /> -<link href="Queues.html" rel="next" title="Queues" /> -<link href="Data-Structures.html" rel="prev" title="Data Structures" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Array-Lists"></span><div class="header"> -<p> -Next: <a href="Queues.html" accesskey="n" rel="next">Queues</a>, Up: <a href="Data-Structures.html" accesskey="u" rel="up">Data Structures</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Array-Lists-1"></span><h4 class="subsection">5.6.1 Array Lists</h4> - -<p>The <code>(chickadee data array-list)</code> module provides an array/vector -that dynamically expands to hold all of the data that is added to it. -It is named after the <code>ArrayList</code> class in Java. -</p> -<p>In addition to being used as a dynamic vector, it can also be used as -a stack via the <code>array-list-push!</code> and <var>array-list-pop!</var> -procedures. -</p> -<dl> -<dt id="index-make_002darray_002dlist">Procedure: <strong>make-array-list</strong> <em>[initial-capacity]</em></dt> -<dd><p>Return a new empty array list with an initial capacity of -<var>initial-capacity</var>, or 32 by default. -</p></dd></dl> - -<dl> -<dt id="index-array_002dlist">Procedure: <strong>array-list</strong> <em>items ...</em></dt> -<dd><p>Return a new array list with <var>items</var> in it. -</p></dd></dl> - -<dl> -<dt id="index-array_002dlist_003f">Procedure: <strong>array-list?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is an array list. -</p></dd></dl> - -<dl> -<dt id="index-array_002dlist_002dempty_003f">Procedure: <strong>array-list-empty?</strong> <em>array-list</em></dt> -<dd><p>Return <code>#t</code> if <var>array-list</var> is empty. -</p></dd></dl> - -<dl> -<dt id="index-array_002dlist_002dsize">Procedure: <strong>array-list-size</strong> <em>array-list</em></dt> -<dd><p>Return the current size of <var>array-list</var>. -</p></dd></dl> - -<dl> -<dt id="index-array_002dlist_002dref">Procedure: <strong>array-list-ref</strong> <em>array-list i</em></dt> -<dd><p>Return the item in <var>array-list</var> at index <var>i</var>. -</p></dd></dl> - -<dl> -<dt id="index-array_002dlist_002dset_0021">Procedure: <strong>array-list-set!</strong> <em>array-list i value</em></dt> -<dd><p>Set the value in <var>array-list</var> at index <var>i</var> to <var>value</var>. -</p></dd></dl> - -<dl> -<dt id="index-array_002dlist_002dpush_0021">Procedure: <strong>array-list-push!</strong> <em>array-list item</em></dt> -<dd><p>Append <var>item</var> to <var>array-list</var>. -</p></dd></dl> - -<dl> -<dt id="index-array_002dlist_002dpop_0021">Procedure: <strong>array-list-pop!</strong> <em>array-list</em></dt> -<dd><p>Remove and return the last object in <var>array-list</var>. -</p></dd></dl> - -<dl> -<dt id="index-array_002dlist_002ddelete_0021">Procedure: <strong>array-list-delete!</strong> <em>array-list item [#:equal? equal?] [#:fast? #f]</em></dt> -<dd><p>Delete <var>item</var> from <var>array-list</var>. Use <var>equal?</var> as the -equivalence predicate, which defaults to Guile’s <code>equal?</code> -procedure. By default, deletion preserves the order of the array, but -takes linear time in the worst case. If <var>fast?</var> is <code>#t</code> then -<var>item</var> will deleted in constant time, but order is not preserved. -</p></dd></dl> - -<dl> -<dt id="index-array_002dlist_002dclear_0021">Procedure: <strong>array-list-clear!</strong> <em>array-list</em></dt> -<dd><p>Remove all items from <var>array-list</var>. -</p></dd></dl> - -<dl> -<dt id="index-array_002dlist_002dfor_002deach">Procedure: <strong>array-list-for-each</strong> <em>proc array-list</em></dt> -<dd><p>Apply <var>proc</var> with each item in <var>array-list</var>. -</p></dd></dl> - -<dl> -<dt id="index-array_002dlist_002dfold">Procedure: <strong>array-list-fold</strong> <em>proc init array-list</em></dt> -<dd><p>Apply <var>proc</var> to all items in <var>array-list</var> to build a result and -return that result. <var>init</var> is the initial result. If there are -no objects in the vicinity of <var>rect</var>, just <var>init</var> is returned. -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Queues.html" accesskey="n" rel="next">Queues</a>, Up: <a href="Data-Structures.html" accesskey="u" rel="up">Data Structures</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Audio-Files.html b/manuals/chickadee/Audio-Files.html deleted file mode 100644 index a4d7994..0000000 --- a/manuals/chickadee/Audio-Files.html +++ /dev/null @@ -1,221 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Audio Files (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Audio Files (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Audio Files (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Audio.html" rel="up" title="Audio" /> -<link href="Sources.html" rel="next" title="Sources" /> -<link href="Audio.html" rel="prev" title="Audio" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Audio-Files"></span><div class="header"> -<p> -Next: <a href="Sources.html" accesskey="n" rel="next">Sources</a>, Up: <a href="Audio.html" accesskey="u" rel="up">Audio</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Audio-Files-1"></span><h4 class="subsection">5.4.1 Audio Files</h4> - -<p>Sound data is represented by a special <code><audio></code> data type that -stores not only the audio samples themselves, but metadata such as -sample rate, number of channels, and how many bits are used for each -sample. -</p> -<dl> -<dt id="index-load_002daudio">Procedure: <strong>load-audio</strong> <em>file-name [#:mode <code>static</code>]</em></dt> -<dd><p>Load audio within <var>file-name</var>. The following file formats are -currently supported: -</p> -<ul> -<li> WAV -</li><li> MP3 -</li><li> Ogg Vorbis -</li></ul> - -<p>Audio files can be loaded in two different ways, as indicated by -<var>mode</var>: -</p> -<ul> -<li> static: -Load the entire audio file into memory. -</li><li> stream: -Load chunks of the audio file as needed. -</li></ul> - -<p>Generally speaking, sound effects don’t take up much space and should -be loaded statically, but music files are much larger and should use -streaming. Static loading is the default. -</p></dd></dl> - -<dl> -<dt id="index-audio_003f">Procedure: <strong>audio?</strong> <em><var>obj</var></em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is an audio object. -</p></dd></dl> - -<dl> -<dt id="index-streaming_002daudio_003f">Procedure: <strong>streaming-audio?</strong> <em><var>audio</var></em></dt> -<dd><p>Return <code>#t</code> if <var>audio</var> uses stream loading. -</p></dd></dl> - -<dl> -<dt id="index-static_002daudio_003f">Procedure: <strong>static-audio?</strong></dt> -<dd><p>Return <code>#t</code> if <var>audio</var> uses static loading. -</p></dd></dl> - -<dl> -<dt id="index-audio_002dmode">Procedure: <strong>audio-mode</strong> <em>audio</em></dt> -<dd><p>Return the loading mode for <var>audio</var>, either <code>static</code> or -<code>stream</code>. -</p></dd></dl> - -<dl> -<dt id="index-audio_002dduration">Procedure: <strong>audio-duration</strong> <em>audio</em></dt> -<dd><p>Return the duration of <var>audio</var> in seconds. -</p></dd></dl> - -<dl> -<dt id="index-audio_002dbits_002dper_002dsample">Procedure: <strong>audio-bits-per-sample</strong> <em>audio</em></dt> -<dd><p>Return the number of bits per sample in <var>audio</var>. -</p></dd></dl> - -<dl> -<dt id="index-audio_002dchannels">Procedure: <strong>audio-channels</strong> <em>audio</em></dt> -<dd><p>Return the number of channels in <var>audio</var>. -</p></dd></dl> - -<dl> -<dt id="index-audio_002dsample_002drate">Procedure: <strong>audio-sample-rate</strong> <em>audio</em></dt> -<dd><p>Return the sample rate of <var>audio</var>. -</p></dd></dl> - -<dl> -<dt id="index-audio_002dplay">Procedure: <strong>audio-play</strong> <em>audio [#:pitch 1.0] [#:volume 1.0] [#:min-volume 0.0] [#:max-volume 1.0] [#:max-distance] [#:reference-distance 0.0] [#:rolloff-factor 1.0] [#:cone-outer-volume 0.0] [#:cone-inner-angle 0.0] [#:cone-outer-angle] [#:position <code>(vec3 0.0 0.0 0.0)</code>] [#:velocity <code>(vec3 0.0 0.0 0.0)</code>] [#:direction <code>(vec3 0.0 0.0 0.0)</code>] [#:relative? <code>#f</code>]</em></dt> -<dd> -<p>Play <var>audio</var>. There are many, many knobs to tweak that will -affect the sound that comes out of the player’s speakers.: -</p> -<ul> -<li> <var>pitch</var>: -Pitch multiplier. The default value of 1.0 means no change in pitch. -</li><li> <var>volume</var>: -Volume multiplier. The default value of 1.0 means no change in volume. -</li><li> <var>min-volume</var>: -Minimum volume. -</li><li> <var>max-volume</var>: -Maximum volume. -</li><li> <var>max-distance</var>: -Used with the inverse clamped distance model (the default model) to -set the distance where there will no longer be any attenuation of the -source. -</li><li> <var>reference-distance</var>: -The distance where the volume for the audio would drop by half (before -being influenced by the rolloff factor or maximum distance.) -</li><li> <var>rolloff-factor</var>: -For slowing down or speeding up the rate of attenuation. The default -of 1.0 means no attenuation adjustment is made. -</li><li> <var>cone-outer-volume</var>: -The volume when outside the oriented cone. -</li><li> <var>cone-inner-angle</var>: -Inner angle of the sound cone, in radians. The default value is 0. -</li><li> <var>cone-outer-angle</var>: -Outer angle of the sound cone, in radians. The default value is 2pi -radians, or 360 degrees. -</li><li> <var>position</var>: -The source of the sound emitter in 3D space. -</li><li> <var>velocity</var>: -The velocity of the sound emitter in 3D space. -</li><li> <var>direction</var>: -The direction of the sound emitter in 3D space. -</li><li> <var>relative?</var>: -A flag that determines whether the position is in absolute coordinates -or relative to the listener’s location. Absolute coordinates are used -by default. -</li></ul> - -<p>For games with basic sound needs (that is to say they don’t need 3D -sound modeling), the only things that really matter are <var>volume</var> -and <var>pitch</var>. -</p> -</dd></dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Sources.html" accesskey="n" rel="next">Sources</a>, Up: <a href="Audio.html" accesskey="u" rel="up">Audio</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Audio.html b/manuals/chickadee/Audio.html deleted file mode 100644 index 8f167d0..0000000 --- a/manuals/chickadee/Audio.html +++ /dev/null @@ -1,123 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Audio (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Audio (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Audio (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="API-Reference.html" rel="up" title="API Reference" /> -<link href="Audio-Files.html" rel="next" title="Audio Files" /> -<link href="Rendering-Engine.html" rel="prev" title="Rendering Engine" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Audio"></span><div class="header"> -<p> -Next: <a href="Scripting.html" accesskey="n" rel="next">Scripting</a>, Previous: <a href="Graphics.html" accesskey="p" rel="prev">Graphics</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Audio-1"></span><h3 class="section">5.4 Audio</h3> - -<p>A game isn’t complete without sound. Most games play some cool -background music to set the mood and have many sound effects to play -when events happen. The <code>(chickadee audio)</code> module provides a -robust audio API backed by the OpenAL 3D audio system. -</p> -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Audio-Files.html" accesskey="1">Audio Files</a></td><td> </td><td align="left" valign="top">Not audiophiles. -</td></tr> -<tr><td align="left" valign="top">• <a href="Sources.html" accesskey="2">Sources</a></td><td> </td><td align="left" valign="top">Audio emitters. -</td></tr> -<tr><td align="left" valign="top">• <a href="The-Listener.html" accesskey="3">The Listener</a></td><td> </td><td align="left" valign="top">The player’s ears. -</td></tr> -<tr><td align="left" valign="top">• <a href="The-Environment.html" accesskey="4">The Environment</a></td><td> </td><td align="left" valign="top">Global sound model settings. -</td></tr> -</table> - -<p>The basics of playing audio are very simple. Just load an audio file -in the load hook (or anywhere else once the game loop is running) and -play it! -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">sample</span> <span class="syntax-open">(</span><span class="syntax-symbol">load-audio</span> <span class="syntax-string">"neat-sound-effect.wav"</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - -<span class="syntax-open">(</span><span class="syntax-symbol">audio-play</span> <span class="syntax-symbol">sample</span><span class="syntax-close">)</span> -</pre></div> - -<p>For more advanced usage, check out the full API reference in the -following sections. -</p> - - - -</body> -</html> diff --git a/manuals/chickadee/Basics.html b/manuals/chickadee/Basics.html deleted file mode 100644 index c968a8c..0000000 --- a/manuals/chickadee/Basics.html +++ /dev/null @@ -1,140 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Basics (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Basics (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Basics (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Math.html" rel="up" title="Math" /> -<link href="Vectors.html" rel="next" title="Vectors" /> -<link href="Math.html" rel="prev" title="Math" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Basics"></span><div class="header"> -<p> -Next: <a href="Vectors.html" accesskey="n" rel="next">Vectors</a>, Up: <a href="Math.html" accesskey="u" rel="up">Math</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Basics-1"></span><h4 class="subsection">5.2.1 Basics</h4> - -<dl> -<dt id="index-pi">Variable: <strong>pi</strong></dt> -<dd><p>An essential constant for all trigonometry. Pi is the ratio of a -circle’s circumferences to its diameter. Since pi is an irrational -number, the <var>pi</var> in Chickadee is a mere floating point -approximation that is “good enough.” -</p></dd></dl> - -<dl> -<dt id="index-pi_002f2">Variable: <strong>pi/2</strong></dt> -<dd><p>Half of <var>pi</var>. -</p></dd></dl> - -<dl> -<dt id="index-tau">Variable: <strong>tau</strong></dt> -<dd><p>Twice <var>pi</var>. -</p></dd></dl> - -<dl> -<dt id="index-cotan">Procedure: <strong>cotan</strong> <em>z</em></dt> -<dd><p>Return the cotangent of <var>z</var>. -</p></dd></dl> - -<dl> -<dt id="index-clamp">Procedure: <strong>clamp</strong> <em>min max x</em></dt> -<dd><p>Restrict <var>x</var> to the inclusive range defined by <var>min</var> and -<var>max</var>. This procedure assumes that <var>min</var> is actually less -than <var>max</var>. -</p></dd></dl> - -<dl> -<dt id="index-lerp">Procedure: <strong>lerp</strong> <em>start end alpha</em></dt> -<dd><p>Linearly interpolate the numbers <var>start</var> and <var>end</var> using the -factor <var>alpha</var>, a number in the range [0, 1]. -</p></dd></dl> - -<dl> -<dt id="index-degrees_002d_003eradians">Procedure: <strong>degrees->radians</strong> <em>degrees</em></dt> -<dd><p>Convert <var>degrees</var> to radians. -</p></dd></dl> - -<dl> -<dt id="index-radians_002d_003edegrees">Procedure: <strong>radians->degrees</strong> <em>radians</em></dt> -<dd><p>Convert <var>radians</var> to degrees. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/chickadee/Bezier-Curves.html b/manuals/chickadee/Bezier-Curves.html deleted file mode 100644 index 8935b0f..0000000 --- a/manuals/chickadee/Bezier-Curves.html +++ /dev/null @@ -1,161 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Bezier Curves (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Bezier Curves (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Bezier Curves (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Math.html" rel="up" title="Math" /> -<link href="Graphics.html" rel="next" title="Graphics" /> -<link href="Easings.html" rel="prev" title="Easings" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Bezier-Curves"></span><div class="header"> -<p> -Previous: <a href="Easings.html" accesskey="p" rel="prev">Easings</a>, Up: <a href="Math.html" accesskey="u" rel="up">Math</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Bezier-Curves-1"></span><h4 class="subsection">5.2.7 Bezier Curves</h4> - -<p>The <code>(chickadee math bezier)</code> module provides an API for -describing cubic Bezier curves in 2D space. These curves are notably -used in font description, vector graphics programs, and when it comes -to games: path building. With Bezier curves, it’s somewhat easy to -create a smooth looking path for an enemy to move along, for example. -Bezier curves become particularly interesting when they are chained -together to form a Bezier “path”, where the end point of one curve -becomes the starting point of the next. -</p> -<dl> -<dt id="index-make_002dbezier_002dcurve">Procedure: <strong>make-bezier-curve</strong> <em>p0 p1 p2 p3</em></dt> -<dd><p>Return a new Bezier curve object whose starting point is <var>p0</var>, -ending point is <var>p3</var>, and control points are <var>p1</var> and -<var>p2</var>. All points are 2D vectors. -</p></dd></dl> - -<dl> -<dt id="index-bezier_002dcurve_003f">Procedure: <strong>bezier-curve?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a Bezier curve. -</p></dd></dl> - -<dl> -<dt id="index-bezier_002dcurve_002dp0">Procedure: <strong>bezier-curve-p0</strong> <em>bezier</em></dt> -<dd><p>Return the starting point of <var>bezier</var>. -</p></dd></dl> - -<dl> -<dt id="index-bezier_002dcurve_002dp1">Procedure: <strong>bezier-curve-p1</strong> <em>bezier</em></dt> -<dd><p>Return the first control point of <var>bezier</var>. -</p></dd></dl> - -<dl> -<dt id="index-bezier_002dcurve_002dp2">Procedure: <strong>bezier-curve-p2</strong> <em>bezier</em></dt> -<dd><p>Return the second control point of <var>bezier</var>. -</p></dd></dl> - -<dl> -<dt id="index-bezier_002dcurve_002dp3">Procedure: <strong>bezier-curve-p3</strong> <em>bezier</em></dt> -<dd><p>Return the end point of <var>bezier</var>. -</p></dd></dl> - -<dl> -<dt id="index-bezier_002dpath">Procedure: <strong>bezier-path</strong> <em>. control-points</em></dt> -<dd><p>Return a list of connected bezier curves defined by -<var>control-points</var>. The first curve is defined by the first 4 -arguments and every additional curve thereafter requires 3 additional -arguments. -</p></dd></dl> - -<dl> -<dt id="index-bezier_002dcurve_002dpoint_002dat">Procedure: <strong>bezier-curve-point-at</strong> <em>bezier t</em></dt> -<dd><p>Return the coordinates for <var>bezier</var> at <var>t</var> (a value in the -range [0, 1] representing how far from the start of the curve to -check) as a 2D vector. -</p></dd></dl> - -<dl> -<dt id="index-bezier_002dcurve_002dpoint_002dat_0021">Procedure: <strong>bezier-curve-point-at!</strong> <em>dest bezier t</em></dt> -<dd><p>Modify the 2D vector <var>dest</var> in-place to contain the coordinates -for <var>bezier</var> at <var>t</var>. -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Previous: <a href="Easings.html" accesskey="p" rel="prev">Easings</a>, Up: <a href="Math.html" accesskey="u" rel="up">Math</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Buffers.html b/manuals/chickadee/Buffers.html deleted file mode 100644 index ac5fb02..0000000 --- a/manuals/chickadee/Buffers.html +++ /dev/null @@ -1,482 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Buffers (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Buffers (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Buffers (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Graphics.html" rel="up" title="Graphics" /> -<link href="Shaders.html" rel="next" title="Shaders" /> -<link href="Meshes.html" rel="prev" title="Meshes" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Buffers"></span><div class="header"> -<p> -Next: <a href="Shaders.html" accesskey="n" rel="next">Shaders</a>, Previous: <a href="Meshes.html" accesskey="p" rel="prev">Meshes</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Buffers-1"></span><h4 class="subsection">5.3.12 Buffers</h4> - -<p>Alright, let’s brush aside all of those pretty high level abstractions -and discuss what is going on under the hood. The GPU exists as a -discrete piece of hardware separate from the CPU. In order to make it -draw things, we must ship lots of data out of our memory space and -into the GPU. The <code>(chickadee graphics buffer</code>) module provides an -API for manipulating GPU buffers. -</p> -<p>In OpenGL terminology, a chunk of data allocated on the GPU is a -“vertex buffer object” or VBO. For example, here is a bytevector -that could be transformed into a GPU buffer that packs together vertex -position and texture coordinates: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-symbol">use-modules</span> <span class="syntax-open">(</span><span class="syntax-symbol">chickadee</span> <span class="syntax-symbol">graphics</span> <span class="syntax-symbol">buffer</span><span class="syntax-close">)</span> <span class="syntax-open">(</span><span class="syntax-symbol">srfi</span> <span class="syntax-symbol">srfi-4</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -<span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">data</span> - <span class="syntax-open">(</span><span class="syntax-symbol">f32vector</span> <span class="syntax-symbol">-8.0</span> <span class="syntax-symbol">-8.0</span> <span class="syntax-comment">; 2D vertex -</span> <span class="syntax-symbol">0.0</span> <span class="syntax-symbol">0.0</span> <span class="syntax-comment">; 2D texture coordinate -</span> <span class="syntax-symbol">8.0</span> <span class="syntax-symbol">-8.0</span> <span class="syntax-comment">; 2D vertex -</span> <span class="syntax-symbol">1.0</span> <span class="syntax-symbol">0.0</span> <span class="syntax-comment">; 2D texture coordinate -</span> <span class="syntax-symbol">8.0</span> <span class="syntax-symbol">8.0</span> <span class="syntax-comment">; 2D vertex -</span> <span class="syntax-symbol">1.0</span> <span class="syntax-symbol">1.0</span> <span class="syntax-comment">; 2D texture coordinate -</span> <span class="syntax-symbol">-8.0</span> <span class="syntax-symbol">8.0</span> <span class="syntax-comment">; 2D vertex -</span> <span class="syntax-symbol">0.0</span> <span class="syntax-symbol">1.0</span><span class="syntax-close">)</span><span class="syntax-close">)</span> <span class="syntax-comment">; 2D texture coordinate -</span></pre></div> - -<p>This data represents a textured 16x16 square centered on the -origin. To send this data to the GPU, the <code>make-buffer</code> procedure -is needed: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">buffer</span> <span class="syntax-open">(</span><span class="syntax-symbol">make-buffer</span> <span class="syntax-symbol">data</span> <span class="syntax-keyword">#:stride</span> <span class="syntax-symbol">16</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -</pre></div> - -<p>The <code>#:stride</code> keyword argument indicates how many bytes make up -each element of the buffer. In this case, there are 4 floats per -element: 2 for the vertex, and 2 for the texture coordinate. A 32-bit -float is 4 bytes in length, so the buffer’s stride is 16. -</p> -<p>Within a VBO, one or more “attributes”, as OpenGL calls them, may be -present. Attributes are subregions within the buffer that have a -particular data type. In this case, there are two attributes packed -into the buffer. To define vertex attributes, the -<code>make-vertex-attribute</code> procedure is needed: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">vertices</span> - <span class="syntax-open">(</span><span class="syntax-symbol">make-vertex-attribute</span> <span class="syntax-keyword">#:buffer</span> <span class="syntax-symbol">buffer</span> - <span class="syntax-keyword">#:type</span> <span class="syntax-symbol">'vec2</span> - <span class="syntax-keyword">#:component-type</span> <span class="syntax-symbol">'float</span> - <span class="syntax-keyword">#:length</span> <span class="syntax-symbol">4</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -<span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">texcoords</span> - <span class="syntax-open">(</span><span class="syntax-symbol">make-vertex-attribute</span> <span class="syntax-keyword">#:buffer</span> <span class="syntax-symbol">buffer</span> - <span class="syntax-keyword">#:type</span> <span class="syntax-symbol">'vec2</span> - <span class="syntax-keyword">#:component-type</span> <span class="syntax-symbol">'float</span> - <span class="syntax-keyword">#:length</span> <span class="syntax-symbol">4</span> - <span class="syntax-keyword">#:offset</span> <span class="syntax-symbol">8</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -</pre></div> - -<p>To render a square, the GPU needs to draw two triangles, which means -we need 6 vertices in total. However, the above buffer only contains -data for 4 vertices. This is because there are only 4 unique vertices -for a square, but 2 of them must be repeated for each triangle. To -work with deduplicated vertex data, an “index buffer” must be -created. -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">index-buffer</span> - <span class="syntax-open">(</span><span class="syntax-symbol">make-buffer</span> <span class="syntax-open">(</span><span class="syntax-symbol">u32vector</span> <span class="syntax-symbol">0</span> <span class="syntax-symbol">3</span> <span class="syntax-symbol">2</span> <span class="syntax-symbol">0</span> <span class="syntax-symbol">2</span> <span class="syntax-symbol">1</span><span class="syntax-close">)</span> - <span class="syntax-keyword">#:target</span> <span class="syntax-symbol">'index</span><span class="syntax-close">)</span> -<span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">indices</span> - <span class="syntax-open">(</span><span class="syntax-symbol">make-vertex-attribute</span> <span class="syntax-keyword">#:type</span> <span class="syntax-symbol">'scalar</span> - <span class="syntax-keyword">#:component-type</span> <span class="syntax-symbol">'unsigned-int</span> - <span class="syntax-keyword">#:buffer</span> <span class="syntax-symbol">index-buffer</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -</pre></div> - -<p>Note the use of the <code>#:target</code> keyword argument. It is required -because the GPU treats index data in a special way and must be told -which data is index data. -</p> -<p>Now that the vertex attributes have been created, all that’s left is -to bind them all together in a vertex array. Vertex arrays associate -each vertex attribute with an attribute index on the GPU. The indices -that are chosen must correspond with the indices that the shader -(see <a href="Shaders.html">Shaders</a>) expects for each attribute. -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">vertex-array</span> - <span class="syntax-open">(</span><span class="syntax-symbol">make-vertex-array</span> <span class="syntax-keyword">#:indices</span> <span class="syntax-symbol">indices</span> - <span class="syntax-keyword">#:attributes</span> <span class="syntax-symbol">`</span><span class="syntax-open">(</span><span class="syntax-open">(</span><span class="syntax-symbol">0</span> <span class="syntax-symbol">.</span> <span class="syntax-symbol">,vertices</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">1</span> <span class="syntax-symbol">.</span> <span class="syntax-symbol">,texcoords</span><span class="syntax-close">)</span><span class="syntax-close">)</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -</pre></div> - -<p>With the vertex array created, the GPU is now fully aware of how to -interpret the data that it has been given in the original buffer. -Actually rendering this square is left as an exercise to the reader. -See the <a href="Shaders.html">Shaders</a> section and the <code>shader-apply</code> procedure in -<a href="Rendering-Engine.html">Rendering Engine</a> for the remaining pieces of a successful draw -call. Additionally, consider reading the source code for sprites, -shapes, or particles to see GPU buffers in action. -</p> -<p>Without further ado, the API reference: -</p> -<dl> -<dt id="index-make_002dbuffer">Procedure: <strong>make-buffer</strong> <em>data [#:name "anonymous"] [#:length] [#:offset 0] [#:stride 0] [#:target <code>vertex</code>] [#:usage <code>static</code>]</em></dt> -<dd> -<p>Upload <var>data</var>, a bytevector, to the GPU. By default, the entire -bytevector is uploaded. A subset of the data may be uploaded by -specifying the <var>offset</var>, the index of the first byte to be -uploaded, and <var>length</var>, the number of bytes to upload. -</p> -<p>If <var>data</var> is <code>#f</code>, allocate <var>length</var> bytes of fresh GPU -memory instead. -</p> -<p><var>target</var> and <var>usage</var> are hints that tell the GPU how the -buffer is intended to be used. -</p> -<p><var>target</var> may be: -</p> -<ul> -<li> <code>vertex</code> -Vertex attribute data. - -</li><li> <code>index</code> -Index buffer data. - -</li></ul> - -<p><var>usage</var> may be: -</p> -<ul> -<li> <code>static</code> -The buffer data will not be modified after creation. - -</li><li> <code>stream</code> -The buffer data will be modified frequently. - -</li></ul> - -<p><var>name</var> is simply an arbitrary string for debugging purposes that -is never sent to the GPU. -</p></dd></dl> - -<dl> -<dt id="index-buffer_003f">Procedure: <strong>buffer?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a GPU buffer. -</p></dd></dl> - -<dl> -<dt id="index-index_002dbuffer_003f">Procedure: <strong>index-buffer?</strong> <em>buffer</em></dt> -<dd><p>Return <code>#t</code> if <var>buffer</var> is an index buffer. -</p></dd></dl> - -<dl> -<dt id="index-null_002dbuffer">Variable: <strong>null-buffer</strong></dt> -<dd><p>Represents the absence of a buffer. -</p></dd></dl> - -<dl> -<dt id="index-buffer_002dname">Procedure: <strong>buffer-name</strong> <em>buffer</em></dt> -<dd><p>Return the name of <var>buffer</var>. -</p></dd></dl> - -<dl> -<dt id="index-buffer_002dlength">Procedure: <strong>buffer-length</strong> <em>buffer</em></dt> -<dd><p>Return the length of <var>buffer</var>. -</p></dd></dl> - -<dl> -<dt id="index-buffer_002dstride">Procedure: <strong>buffer-stride</strong> <em>buffer</em></dt> -<dd><p>Return the amount of space, in bytes, between each element in -<var>buffer</var>. -</p></dd></dl> - -<dl> -<dt id="index-buffer_002dtarget">Procedure: <strong>buffer-target</strong> <em>buffer</em></dt> -<dd><p>Return the the intended usage of <var>buffer</var>, either <code>vertex</code> or -<code>index</code>. -</p></dd></dl> - -<dl> -<dt id="index-buffer_002dusage">Procedure: <strong>buffer-usage</strong> <em>buffer</em></dt> -<dd><p>Return the intended usage of <var>buffer</var>, either <code>static</code> for -buffer data that will not change once sent to the GPU, or -<code>stream</code> for buffer data that will be frequently updated from the -client-side. -</p></dd></dl> - -<dl> -<dt id="index-buffer_002ddata">Procedure: <strong>buffer-data</strong> <em>buffer</em></dt> -<dd><p>Return a bytevector containing all the data within <var>buffer</var>. If -<var>buffer</var> has not been mapped (see <code>with-mapped-buffer</code>) then -this procedure will return <code>#f</code>. -</p></dd></dl> - -<dl> -<dt id="index-with_002dmapped_002dbuffer">Syntax: <strong>with-mapped-buffer</strong> <em>buffer body …</em></dt> -<dd><p>Evaluate <var>body</var> in the context of <var>buffer</var> having its data -synced from GPU memory to RAM. In this context, <code>buffer-data</code> -will return a bytevector of all the data stored in <var>buffer</var>. When -program execution exits this form, the data (including any -modifications) is synced back to the GPU. -</p> -<dl> -<dt id="index-current_002dbuffer">Procedure: <strong>current-buffer</strong></dt> -<dd><p>Return the current buffer. -</p></dd></dl> - -<dl> -<dt id="index-g_003abuffer">Variable: <strong>g:buffer</strong></dt> -<dd><p>Render state for buffers (see <a href="Rendering-Engine.html">Rendering Engine</a>.) -</p></dd></dl> - -<p>This form is useful for streaming buffers that need to update their -contents dynamically, such as a sprite batch. -</p></dd></dl> - -<dl> -<dt id="index-make_002dvertex_002dattribute">Procedure: <strong>make-vertex-attribute</strong> <em>#:buffer #:type #:component-type #:length [#:offset <code>0</code>] [#:divisor <code>1</code>] [#:name <code>"anonymous"</code>]</em></dt> -<dd> -<p>Return a new vertex attribute for <var>buffer</var> starting at byte index -<var>offset</var> of <var>length</var> elements, where each element is of -<var>type</var> and composed of <var>component-type</var> values. -</p> -<p>Valid values for <var>type</var> are: -</p> -<ul> -<li> <code>scalar</code> -single number - -</li><li> <code>vec2</code> -2D vector - -</li><li> <code>vec3</code> -3D vector - -</li><li> <code>vec4</code> -4D vector - -</li><li> <code>mat2</code> -2x2 matrix - -</li><li> <code>mat3</code> -3x3 matrix - -</li><li> <code>mat4</code> -4x4 matrix -</li></ul> - -<p>Valid values for <var>component-type</var> are: -</p> -<ul> -<li> <code>byte</code> -</li><li> <code>unsigned-byte</code> -</li><li> <code>short</code> -</li><li> <code>unsigned-short</code> -</li><li> <code>int</code> -</li><li> <code>unsigned-int</code> -</li><li> <code>float</code> -</li><li> <code>double</code> - -</li></ul> - -<p><var>divisor</var> is only needed for instanced rendering applications (see -<code>shader-apply/instanced</code> in <a href="Rendering-Engine.html">Rendering Engine</a>) and represents -how many instances each vertex element applies to. A divisor of 0 -means that a single element is used for every instance and is used for -the data being instanced. A divisor of 1 means that each element is -used for 1 instance. A divisor of 2 means that each element is used -for 2 instances, and so on. -</p></dd></dl> - -<dl> -<dt id="index-vertex_002dattribute_003f">Procedure: <strong>vertex-attribute?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a vertex attribute. -</p></dd></dl> - -<dl> -<dt id="index-vertex_002dattribute_002d_003ebuffer">Procedure: <strong>vertex-attribute->buffer</strong> <em>vertex-attribute</em></dt> -<dd><p>Return the buffer that <var>vertex-attribute</var> is using. -</p></dd></dl> - -<dl> -<dt id="index-vertex_002dattribute_002dname">Procedure: <strong>vertex-attribute-name</strong> <em>vertex-attribute</em></dt> -<dd><p>Return the name of <var>vertex-attribute</var>. -</p></dd></dl> - -<dl> -<dt id="index-vertex_002dattribute_002doffset">Procedure: <strong>vertex-attribute-offset</strong> <em>vertex-attribute</em></dt> -<dd><p>Return the byte offset of <var>vertex-attribute</var>. -</p></dd></dl> - -<dl> -<dt id="index-vertex_002dattribute_002dtype">Procedure: <strong>vertex-attribute-type</strong> <em>vertex-attribute</em></dt> -<dd><p>Return the data type of <var>vertex-attribute</var>. -</p></dd></dl> - -<dl> -<dt id="index-vertex_002dattribute_002dcomponent_002dtype">Procedure: <strong>vertex-attribute-component-type</strong> <em>vertex-attribute</em></dt> -<dd><p>Return the component data type of <var>vertex-attribute</var> -</p></dd></dl> - -<dl> -<dt id="index-vertex_002dattribute_002ddivisor">Procedure: <strong>vertex-attribute-divisor</strong> <em>vertex-attribute</em></dt> -<dd><p>Return the instance divisor for <var>vertex-attribute</var>. -</p></dd></dl> - -<dl> -<dt id="index-with_002dmapped_002dvertex_002dattribute">Syntax: <strong>with-mapped-vertex-attribute</strong> <em>vertex-attribute body …</em></dt> -<dd> -<p>Evaluate <var>body</var> in the context of <var>vertex-attribute</var> having -its data synced from GPU memory to RAM. See <code>with-mapped-buffer</code> -for more information. -</p></dd></dl> - -<dl> -<dt id="index-make_002dvertex_002darray">Procedure: <strong>make-vertex-array</strong> <em>#:indices #:attributes [#:mode <code>triangles</code>]</em></dt> -<dd> -<p>Return a new vertex array using the index data within the vertex -attributes <var>indices</var> and the vertex attribute data within -<var>attributes</var>. -</p> -<p><var>attributes</var> is an alist mapping shader attribute indices to -vertex attributes: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-symbol">`</span><span class="syntax-open">(</span><span class="syntax-open">(</span><span class="syntax-symbol">1</span> <span class="syntax-symbol">.</span> <span class="syntax-symbol">,vertex-attribute-a</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">2</span> <span class="syntax-symbol">.</span> <span class="syntax-symbol">,vertex-attribute-b</span><span class="syntax-close">)</span> - <span class="syntax-symbol">...</span><span class="syntax-close">)</span> -</pre></div> - -<p>By default, the vertex array is interpreted as containing a series of -triangles. If another primtive type is desired, the <var>mode</var> -keyword argument may be overridden. The following values are -supported: -</p> -<ul> -<li> <code>points</code> -</li><li> <code>lines</code> -</li><li> <code>line-loop</code> -</li><li> <code>line-strip</code> -</li><li> <code>triangles</code> -</li><li> <code>triangle-strip</code> -</li><li> <code>triangle-fan</code> -</li></ul> - -</dd></dl> - -<dl> -<dt id="index-null_002dvertex_002darray">Variable: <strong>null-vertex-array</strong></dt> -<dd><p>Represents the absence of a vertex array. -</p></dd></dl> - -<dl> -<dt id="index-vertex_002darray_003f">Procedure: <strong>vertex-array?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a vertex array. -</p></dd></dl> - -<dl> -<dt id="index-vertex_002darray_002dindices">Procedure: <strong>vertex-array-indices</strong> <em>vertex-array</em></dt> -<dd><p>Return the buffer view containing index data for <var>vertex-array</var>. -</p></dd></dl> - -<dl> -<dt id="index-vertex_002darray_002dattributes">Procedure: <strong>vertex-array-attributes</strong> <em>vertex-array</em></dt> -<dd><p>Return the attribute index -> buffer view mapping of vertex attribute -data for <var>vertex-array</var>. -</p></dd></dl> - -<dl> -<dt id="index-vertex_002darray_002dmode">Procedure: <strong>vertex-array-mode</strong> <em>vertex-array</em></dt> -<dd><p>Return the primitive rendering mode for <var>vertex-array</var>. -</p></dd></dl> - -<dl> -<dt id="index-current_002dvertex_002darray">Procedure: <strong>current-vertex-array</strong></dt> -<dd><p>Return the current vertex array. -</p></dd></dl> - -<dl> -<dt id="index-g_003avertex_002darray">Variable: <strong>g:vertex-array</strong></dt> -<dd><p>Render state for vertex arrays (see <a href="Rendering-Engine.html">Rendering Engine</a>.) -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Shaders.html" accesskey="n" rel="next">Shaders</a>, Previous: <a href="Meshes.html" accesskey="p" rel="prev">Meshes</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Channels.html b/manuals/chickadee/Channels.html deleted file mode 100644 index 78f8564..0000000 --- a/manuals/chickadee/Channels.html +++ /dev/null @@ -1,157 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Channels (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Channels (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Channels (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Scripting.html" rel="up" title="Scripting" /> -<link href="Data-Structures.html" rel="next" title="Data Structures" /> -<link href="Tweening.html" rel="prev" title="Tweening" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Channels"></span><div class="header"> -<p> -Previous: <a href="Tweening.html" accesskey="p" rel="prev">Tweening</a>, Up: <a href="Scripting.html" accesskey="u" rel="up">Scripting</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Channels-1"></span><h4 class="subsection">5.5.4 Channels</h4> - -<p>Channels are a tool for communicating amongst different scripts. One -script can write a value to the channel and another can read from it. -Reading or writing to a channel suspends that script until there is -someone on the other end of the line to complete the transaction. -</p> -<p>Here’s a simplistic example: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">c</span> <span class="syntax-open">(</span><span class="syntax-symbol">make-channel</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - -<span class="syntax-open">(</span><span class="syntax-symbol">script</span> - <span class="syntax-open">(</span><span class="syntax-symbol">forever</span> - <span class="syntax-open">(</span><span class="syntax-special">let</span> <span class="syntax-open">(</span><span class="syntax-open">(</span><span class="syntax-symbol">item</span> <span class="syntax-open">(</span><span class="syntax-symbol">channel-get</span> <span class="syntax-symbol">c</span><span class="syntax-close">)</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">pk</span> <span class="syntax-symbol">'got</span> <span class="syntax-symbol">item</span><span class="syntax-close">)</span><span class="syntax-close">)</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - -<span class="syntax-open">(</span><span class="syntax-symbol">script</span> - <span class="syntax-open">(</span><span class="syntax-symbol">channel-put</span> <span class="syntax-symbol">c</span> <span class="syntax-symbol">'sword</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">channel-put</span> <span class="syntax-symbol">c</span> <span class="syntax-symbol">'shield</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">channel-put</span> <span class="syntax-symbol">c</span> <span class="syntax-symbol">'potion</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -</pre></div> - -<dl> -<dt id="index-make_002dchannel">Procedure: <strong>make-channel</strong></dt> -<dd><p>Return a new channel -</p></dd></dl> - -<dl> -<dt id="index-channel_003f">Procedure: <strong>channel?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a channel. -</p></dd></dl> - -<dl> -<dt id="index-channel_002dget">Procedure: <strong>channel-get</strong> <em>channel</em></dt> -<dd><p>Retrieve a value from <var>channel</var>. The current script suspends -until a value is available. -</p></dd></dl> - -<dl> -<dt id="index-channel_002dput">Procedure: <strong>channel-put</strong> <em>channel data</em></dt> -<dd><p>Send <var>data</var> to <var>channel</var>. The current script suspends until -another script is available to retrieve the value. -</p></dd></dl> - -<p>A low-level API also exists for using channels outside of a script via -callback procedures: -</p> -<dl> -<dt id="index-channel_002dget_0021">Procedure: <strong>channel-get!</strong> <em>channel proc</em></dt> -<dd><p>Asynchronously retrieve a value from <var>channel</var> and call <var>proc</var> -with that value. -</p></dd></dl> - -<dl> -<dt id="index-channel_002dput_0021">Procedure: <strong>channel-put!</strong> <em>channel data [thunk]</em></dt> -<dd><p>Asynchronously send <var>data</var> to <var>channel</var> and call <var>thunk</var> -after it has been received. -</p></dd></dl> - -<dl> -<dt id="index-channel_002dclear_0021">Procedure: <strong>channel-clear!</strong> <em>channel</em></dt> -<dd><p>Clear all messages and scripts awaiting messages in <var>channel</var>. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/chickadee/Colors.html b/manuals/chickadee/Colors.html deleted file mode 100644 index 4a361b1..0000000 --- a/manuals/chickadee/Colors.html +++ /dev/null @@ -1,377 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Colors (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Colors (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Colors (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Graphics.html" rel="up" title="Graphics" /> -<link href="Textures.html" rel="next" title="Textures" /> -<link href="Graphics.html" rel="prev" title="Graphics" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Colors"></span><div class="header"> -<p> -Next: <a href="Textures.html" accesskey="n" rel="next">Textures</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Colors-1"></span><h4 class="subsection">5.3.1 Colors</h4> - -<p>Merriam-Webster defines color as “a phenomenon of light (such as red, -brown, pink, or gray) or visual perception that enables one to -differentiate otherwise identical objects.” In this essay, I -will… -</p> -<p>Okay, okay. We all know what colors are. Chickadee provides a data -type to represent color and some convenient procedures to work with -them in the <code>(chickadee graphics color)</code> module. Colors are made -up of four components, or channels: red, green, blue, and alpha -(transparency.) Each of these values is expressed as a uniform -floating point value in the range [0, 1]. 0 means that color channel -is unrepresented in the resulting color, whereas 1 means that color -channel is at full intensity. -</p> -<p>Making a color object is easy, and there’s a few ways to do it -depending on what’s most convenient. The first is <code>make-color</code>, -where you specify each channel exactly as described above. This is -fully opaque magenta: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-symbol">make-color</span> <span class="syntax-symbol">1.0</span> <span class="syntax-symbol">0.0</span> <span class="syntax-symbol">1.0</span> <span class="syntax-symbol">1.0</span><span class="syntax-close">)</span> -</pre></div> - -<p>Many people are used to representing colors as 6 or 8 digit -hexadecimal numbers, so Chickadee also allows that. Here’s magenta, -again: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-symbol">rgba</span> <span class="syntax-symbol">#xFF00FFFF</span><span class="syntax-close">)</span> -<span class="syntax-open">(</span><span class="syntax-symbol">rgb</span> <span class="syntax-symbol">#xFF00FF</span><span class="syntax-close">)</span> <span class="syntax-comment">; equivalent to the above -</span></pre></div> - -<dl> -<dt id="index-make_002dcolor">Procedure: <strong>make-color</strong> <em>r g b a</em></dt> -<dd><p>Return a new color object with a red value of <var>r</var>, a green value -of <var>g</var>, a blue value of <var>b</var>, and an alpha (transparency) value -of <var>a</var>. All values are clamped to the range [0, 1]. -</p></dd></dl> - -<dl> -<dt id="index-rgba">Procedure: <strong>rgba</strong> <em>color-code</em></dt> -<dd><p>Return a new color object using the values of the first 32 bits of -<var>color-code</var>. Each channel occupies 8 bits. Starting from the -most significant bit, red is first, followed by green, then blue, then -alpha. Color codes are often represented as 6 or 8 digit hexadecimal -numbers in various other programs. -</p></dd></dl> - -<dl> -<dt id="index-rgb">Procedure: <strong>rgb</strong> <em>color-code</em></dt> -<dd><p>Like <code>rgba</code>, but <var>color-code</var> is a 24 bit code with no alpha -channel. -</p></dd></dl> - -<dl> -<dt id="index-color_003f">Procedure: <strong>color?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a color object. -</p></dd></dl> - -<dl> -<dt id="index-color_002dr">Procedure: <strong>color-r</strong> <em>color</em></dt> -<dd><p>Return the red channel of <var>color</var>. -</p></dd></dl> - -<dl> -<dt id="index-color_002dg">Procedure: <strong>color-g</strong> <em>color</em></dt> -<dd><p>Return the green channel of <var>color</var>. -</p></dd></dl> - -<dl> -<dt id="index-color_002db">Procedure: <strong>color-b</strong> <em>color</em></dt> -<dd><p>Return the blue channel of <var>color</var>. -</p></dd></dl> - -<dl> -<dt id="index-color_002da">Procedure: <strong>color-a</strong> <em>color</em></dt> -<dd><p>Return the alpha channel of <var>color</var>. -</p></dd></dl> - -<dl> -<dt id="index-transparency">Procedure: <strong>transparency</strong> <em>alpha</em></dt> -<dd><p>Return a new color that is white (RGB channels set to 1) with an alpha -channel value of <var>alpha</var>. This can be useful for creating a color -that can be multiplied against another color to make it more -transparent. -</p></dd></dl> - -<dl> -<dt id="index-string_002d_003ecolor">Procedure: <strong>string->color</strong> <em>s</em></dt> -<dd><p>Convert the hexadecimal color code in the string <var>s</var> to a color -object. The following string formats are supported: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-symbol">string->color</span> <span class="syntax-string">"#FF00FFFF"</span><span class="syntax-close">)</span> -<span class="syntax-open">(</span><span class="syntax-symbol">string->color</span> <span class="syntax-string">"FF00FFFF"</span><span class="syntax-close">)</span> -<span class="syntax-open">(</span><span class="syntax-symbol">string->color</span> <span class="syntax-string">"#FF00FF"</span><span class="syntax-close">)</span> -<span class="syntax-open">(</span><span class="syntax-symbol">string->color</span> <span class="syntax-string">"FF00FF"</span><span class="syntax-close">)</span> -</pre></div> - -</dd></dl> - -<dl> -<dt id="index-color_002a">Procedure: <strong>color*</strong> <em>a b</em></dt> -<dd><p>Multiply the color <var>a</var> with the color or number <var>b</var> and return -a new color with the result. -</p></dd></dl> - -<dl> -<dt id="index-color_002b">Procedure: <strong>color+</strong> <em>a b</em></dt> -<dd><p>Add the color <var>a</var> to the color <var>b</var> and return a new color with -the result. -</p></dd></dl> - -<dl> -<dt id="index-color_002d">Procedure: <strong>color-</strong> <em>a b</em></dt> -<dd><p>Subtract the color <var>b</var> from the color <var>a</var> and return a new -color with the result. -</p></dd></dl> - -<dl> -<dt id="index-color_002dinverse">Procedure: <strong>color-inverse</strong> <em>color</em></dt> -<dd><p>Invert the red, green, and blue channels of <var>color</var> and return a -new color with the result. -</p></dd></dl> - -<dl> -<dt id="index-color_002dlerp">Procedure: <strong>color-lerp</strong> <em>start end alpha</em></dt> -<dd><p>Linearly interpolate the colors <var>start</var> and <var>end</var> using the -factor <var>alpha</var>, a number in the range [0, 1]. -</p></dd></dl> - -<span id="Stock-Colors"></span><h4 class="subsubsection">5.3.1.1 Stock Colors</h4> - -<p>For convenience, Chickadee comes with some basic colors predefined: -</p> -<dl> -<dt id="index-white">Variable: <strong>white</strong></dt> -</dl> - -<dl> -<dt id="index-black">Variable: <strong>black</strong></dt> -</dl> - -<dl> -<dt id="index-red">Variable: <strong>red</strong></dt> -</dl> - -<dl> -<dt id="index-green">Variable: <strong>green</strong></dt> -</dl> - -<dl> -<dt id="index-blue">Variable: <strong>blue</strong></dt> -</dl> - -<dl> -<dt id="index-yellow">Variable: <strong>yellow</strong></dt> -</dl> - -<dl> -<dt id="index-magenta">Variable: <strong>magenta</strong></dt> -</dl> - -<dl> -<dt id="index-cyan">Variable: <strong>cyan</strong></dt> -</dl> - -<p>For fun, there are also predefined colors for the classic -<a href="https://en.wikipedia.org/wiki/Tango_Desktop_Project#Palette">Tango color palette</a>. -</p> -<dl> -<dt id="index-tango_002dlight_002dbutter">Variable: <strong>tango-light-butter</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002dbutter">Variable: <strong>tango-butter</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002ddark_002dbutter">Variable: <strong>tango-dark-butter</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002dlight_002dorange">Variable: <strong>tango-light-orange</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002dorange">Variable: <strong>tango-orange</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002ddark_002dorange">Variable: <strong>tango-dark-orange</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002dlight_002dchocolate">Variable: <strong>tango-light-chocolate</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002dchocolate">Variable: <strong>tango-chocolate</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002ddark_002dchocolate">Variable: <strong>tango-dark-chocolate</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002dlight_002dchameleon">Variable: <strong>tango-light-chameleon</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002dchameleon">Variable: <strong>tango-chameleon</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002ddark_002dchameleon">Variable: <strong>tango-dark-chameleon</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002dlight_002dsky_002dblue">Variable: <strong>tango-light-sky-blue</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002dsky_002dblue">Variable: <strong>tango-sky-blue</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002ddark_002dsky_002dblue">Variable: <strong>tango-dark-sky-blue</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002dlight_002dplum">Variable: <strong>tango-light-plum</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002dplum">Variable: <strong>tango-plum</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002ddark_002dplum">Variable: <strong>tango-dark-plum</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002dlight_002dscarlet_002dred">Variable: <strong>tango-light-scarlet-red</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002dscarlet_002dred">Variable: <strong>tango-scarlet-red</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002ddark_002dscarlet_002dred">Variable: <strong>tango-dark-scarlet-red</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002daluminium_002d1">Variable: <strong>tango-aluminium-1</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002daluminium_002d2">Variable: <strong>tango-aluminium-2</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002daluminium_002d3">Variable: <strong>tango-aluminium-3</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002daluminium_002d4">Variable: <strong>tango-aluminium-4</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002daluminium_002d5">Variable: <strong>tango-aluminium-5</strong></dt> -</dl> - -<dl> -<dt id="index-tango_002daluminium_002d6">Variable: <strong>tango-aluminium-6</strong></dt> -</dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Textures.html" accesskey="n" rel="next">Textures</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Command-Line-Interface.html b/manuals/chickadee/Command-Line-Interface.html deleted file mode 100644 index 01d2e90..0000000 --- a/manuals/chickadee/Command-Line-Interface.html +++ /dev/null @@ -1,104 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Command Line Interface (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Command Line Interface (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Command Line Interface (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="index.html" rel="up" title="Top" /> -<link href="Invoking-chickadee-play.html" rel="next" title="Invoking chickadee play" /> -<link href="Getting-Started.html" rel="prev" title="Getting Started" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Command-Line-Interface"></span><div class="header"> -<p> -Next: <a href="Live-Coding.html" accesskey="n" rel="next">Live Coding</a>, Previous: <a href="Getting-Started.html" accesskey="p" rel="prev">Getting Started</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Command-Line-Interface-1"></span><h2 class="chapter">3 Command Line Interface</h2> - -<p>While Chickadee is a library at heart, it also comes with a command -line utility to make it easier to get started. -</p> -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Invoking-chickadee-play.html" accesskey="1">Invoking chickadee play</a></td><td> </td><td align="left" valign="top">Run Chickadee programs -</td></tr> -<tr><td align="left" valign="top">• <a href="Invoking-chickadee-bundle.html" accesskey="2">Invoking chickadee bundle</a></td><td> </td><td align="left" valign="top">Create redistributable binary bundles -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/chickadee/Copying-This-Manual.html b/manuals/chickadee/Copying-This-Manual.html deleted file mode 100644 index 9fd7c29..0000000 --- a/manuals/chickadee/Copying-This-Manual.html +++ /dev/null @@ -1,99 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Copying This Manual (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Copying This Manual (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Copying This Manual (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="index.html" rel="up" title="Top" /> -<link href="Apache-2_002e0-License.html" rel="next" title="Apache 2.0 License" /> -<link href="Path-Finding.html" rel="prev" title="Path Finding" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Copying-This-Manual"></span><div class="header"> -<p> -Next: <a href="Index.html" accesskey="n" rel="next">Index</a>, Previous: <a href="API-Reference.html" accesskey="p" rel="prev">API Reference</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Copying-This-Manual-1"></span><h2 class="appendix">Appendix A Copying This Manual</h2> - -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Apache-2_002e0-License.html" accesskey="1">Apache 2.0 License</a></td><td> </td><td align="left" valign="top">License for copying this manual. -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/chickadee/Data-Structures.html b/manuals/chickadee/Data-Structures.html deleted file mode 100644 index d268bf3..0000000 --- a/manuals/chickadee/Data-Structures.html +++ /dev/null @@ -1,109 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Data Structures (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Data Structures (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Data Structures (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="API-Reference.html" rel="up" title="API Reference" /> -<link href="Array-Lists.html" rel="next" title="Array Lists" /> -<link href="Channels.html" rel="prev" title="Channels" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Data-Structures"></span><div class="header"> -<p> -Previous: <a href="Scripting.html" accesskey="p" rel="prev">Scripting</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Data-Structures-1"></span><h3 class="section">5.6 Data Structures</h3> - -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Array-Lists.html" accesskey="1">Array Lists</a></td><td> </td><td align="left" valign="top">Dynamically expanding vectors. -</td></tr> -<tr><td align="left" valign="top">• <a href="Queues.html" accesskey="2">Queues</a></td><td> </td><td align="left" valign="top">First-in, first-out data structure. -</td></tr> -<tr><td align="left" valign="top">• <a href="Heaps.html" accesskey="3">Heaps</a></td><td> </td><td align="left" valign="top">Binary heaps. -</td></tr> -<tr><td align="left" valign="top">• <a href="Quadtrees.html" accesskey="4">Quadtrees</a></td><td> </td><td align="left" valign="top">Spatial partitioning with recursive subdivision. -</td></tr> -<tr><td align="left" valign="top">• <a href="Grids.html" accesskey="5">Grids</a></td><td> </td><td align="left" valign="top">Spatial partitioning with a fixed grid. -</td></tr> -<tr><td align="left" valign="top">• <a href="Path-Finding.html" accesskey="6">Path Finding</a></td><td> </td><td align="left" valign="top">Generic A* path finding. -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/chickadee/Easings.html b/manuals/chickadee/Easings.html deleted file mode 100644 index 67aba95..0000000 --- a/manuals/chickadee/Easings.html +++ /dev/null @@ -1,171 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Easings (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Easings (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Easings (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Math.html" rel="up" title="Math" /> -<link href="Bezier-Curves.html" rel="next" title="Bezier Curves" /> -<link href="Quaternions.html" rel="prev" title="Quaternions" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Easings"></span><div class="header"> -<p> -Next: <a href="Bezier-Curves.html" accesskey="n" rel="next">Bezier Curves</a>, Previous: <a href="Quaternions.html" accesskey="p" rel="prev">Quaternions</a>, Up: <a href="Math.html" accesskey="u" rel="up">Math</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Easings-1"></span><h4 class="subsection">5.2.6 Easings</h4> - -<p>Easing functions are essential for animation. Each easing function -provides a different path to go from an initial value to a final -value. These functions make an excellent companion to the -<code>tween</code> procedure (see <a href="Tweening.html">Tweening</a>). Experiment with them to -figure out which function makes an animation look the best. -</p> -<p>Pro tip: <code>smoothstep</code> provides nice results most of the time and -creates smoother animation than using <code>linear</code>. -</p> -<dl> -<dt id="index-linear">Procedure: <strong>linear</strong> <em>t</em></dt> -</dl> - -<dl> -<dt id="index-smoothstep">Procedure: <strong>smoothstep</strong> <em>t</em></dt> -</dl> - -<dl> -<dt id="index-ease_002din_002dquad">Procedure: <strong>ease-in-quad</strong> <em>t</em></dt> -</dl> - -<dl> -<dt id="index-ease_002dout_002dquad">Procedure: <strong>ease-out-quad</strong> <em>t</em></dt> -</dl> - -<dl> -<dt id="index-ease_002din_002dout_002dquad">Procedure: <strong>ease-in-out-quad</strong> <em>t</em></dt> -</dl> - -<dl> -<dt id="index-ease_002din_002dcubic">Procedure: <strong>ease-in-cubic</strong> <em>t</em></dt> -</dl> - -<dl> -<dt id="index-ease_002dout_002dcubic">Procedure: <strong>ease-out-cubic</strong> <em>t</em></dt> -</dl> - -<dl> -<dt id="index-ease_002din_002dout_002dcubic">Procedure: <strong>ease-in-out-cubic</strong> <em>t</em></dt> -</dl> - -<dl> -<dt id="index-ease_002din_002dquart">Procedure: <strong>ease-in-quart</strong> <em>t</em></dt> -</dl> - -<dl> -<dt id="index-ease_002dout_002dquart">Procedure: <strong>ease-out-quart</strong> <em>t</em></dt> -</dl> - -<dl> -<dt id="index-ease_002din_002dout_002dquart">Procedure: <strong>ease-in-out-quart</strong> <em>t</em></dt> -</dl> - -<dl> -<dt id="index-ease_002din_002dquint">Procedure: <strong>ease-in-quint</strong> <em>t</em></dt> -</dl> - -<dl> -<dt id="index-ease_002dout_002dquint">Procedure: <strong>ease-out-quint</strong> <em>t</em></dt> -</dl> - -<dl> -<dt id="index-ease_002din_002dout_002dquint">Procedure: <strong>ease-in-out-quint</strong> <em>t</em></dt> -</dl> - -<dl> -<dt id="index-ease_002din_002dsine">Procedure: <strong>ease-in-sine</strong> <em>t</em></dt> -</dl> - -<dl> -<dt id="index-ease_002dout_002dsine">Procedure: <strong>ease-out-sine</strong> <em>t</em></dt> -</dl> - -<dl> -<dt id="index-ease_002din_002dout_002dsine">Procedure: <strong>ease-in-out-sine</strong> <em>t</em></dt> -</dl> - - - - -</body> -</html> diff --git a/manuals/chickadee/Fonts.html b/manuals/chickadee/Fonts.html deleted file mode 100644 index 9383789..0000000 --- a/manuals/chickadee/Fonts.html +++ /dev/null @@ -1,184 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Fonts (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Fonts (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Fonts (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Graphics.html" rel="up" title="Graphics" /> -<link href="Vector-Paths.html" rel="next" title="Vector Paths" /> -<link href="Sprites.html" rel="prev" title="Sprites" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Fonts"></span><div class="header"> -<p> -Next: <a href="Vector-Paths.html" accesskey="n" rel="next">Vector Paths</a>, Previous: <a href="Sprites.html" accesskey="p" rel="prev">Sprites</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Fonts-1"></span><h4 class="subsection">5.3.4 Fonts</h4> - -<p>Printing text to the screen is quite easy: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-symbol">draw-text</span> <span class="syntax-string">"Hello, world"</span> <span class="syntax-open">(</span><span class="syntax-symbol">vec2</span> <span class="syntax-symbol">100.0</span> <span class="syntax-symbol">100.0</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -</pre></div> - -<p>Chickadee supports OpenType/TrueType fonts (via the FreeType library), -bitmap fonts in Angel Code bmfont format, and simple sprite sheet -bitmap fonts. A default font named Inconsolata is used for all text -rendering operations where a font is not specified, as is the case in -the above example. -</p> -<p>The following procedures can be found in the <code>(chickadee graphics -text)</code> module: -</p> -<dl> -<dt id="index-load_002dfont">Procedure: <strong>load-font</strong> <em>file-name point-size [#:char-set] [#:smooth? #t]</em></dt> -<dd><p>Load the scalable (OpenType, TrueType, etc.) font in the file -<var>file-name</var> and display it at the given <var>point-size</var>. By -default, all the characters in the ASCII character set are loaded. -This can be changed by passing a different character set -(see <a href="https://www.gnu.org/software/guile/manual/html_node/Character-Sets.html#Character-Sets">Character Sets</a> in <cite>GNU Guile Reference Manual</cite>) using -the <var>char-set</var> keyword argument. -</p> -<p>If <var>smooth?</var> is <code>#t</code> (the default), text rendered with this -font will have a smoother appearance when text is rotated or scaled, -otherwise non-smooth scaling will be used. -</p></dd></dl> - -<dl> -<dt id="index-load_002dbitmap_002dfont">Procedure: <strong>load-bitmap-font</strong> <em>file</em></dt> -<dd><p>Load the Angel Code font (in either XML or FNT format) in <var>file</var> -and return a new font object. -</p></dd></dl> - -<dl> -<dt id="index-font_003f">Procedure: <strong>font?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a font object. -</p></dd></dl> - -<dl> -<dt id="index-font_002dface">Procedure: <strong>font-face</strong> <em>font</em></dt> -<dd><p>Return the name of <var>font</var>. -</p></dd></dl> - -<dl> -<dt id="index-font_002dline_002dheight">Procedure: <strong>font-line-height</strong> <em>font</em></dt> -<dd><p>Return the line height of <var>font</var>. -</p></dd></dl> - -<dl> -<dt id="index-font_002dline_002dheight-1">Procedure: <strong>font-line-height</strong> <em>font</em></dt> -<dd><p>Return the line height of <var>font</var>. -</p></dd></dl> - -<dl> -<dt id="index-font_002dbold_003f">Procedure: <strong>font-bold?</strong> <em>font</em></dt> -<dd><p>Return <code>#t</code> if <var>font</var> is a bold font. -</p></dd></dl> - -<dl> -<dt id="index-font_002ditalic_003f">Procedure: <strong>font-italic?</strong> <em>font</em></dt> -<dd><p>Return <code>#t</code> if <var>font</var> is an italicized font. -</p></dd></dl> - -<dl> -<dt id="index-draw_002dtext">Procedure: <strong>draw-text</strong> <em>text position</em></dt> -<dd><p>[#:font] [#:color] [#:origin] [#:scale] [#:rotation] [#:blend-mode] - [#:start 0] [#:end <code>(string-length text)</code>] -</p> -<p>Draw the string <var>text</var> with the first character starting at -<var>position</var> using <var>font</var>. If <var>font</var> is not specified, a -built-in font is used. -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-symbol">draw-text</span> <span class="syntax-string">"Hello, world!"</span> <span class="syntax-open">(</span><span class="syntax-symbol">vec2</span> <span class="syntax-symbol">128.0</span> <span class="syntax-symbol">128.0</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -</pre></div> - -<p>To render a substring of <var>text</var>, use the <var>start</var> and <var>end</var> -arguments. -</p> -<p>Refer to <code>draw-sprite</code> (see <a href="Sprites.html">Sprites</a>) for information about -the other arguments. -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Vector-Paths.html" accesskey="n" rel="next">Vector Paths</a>, Previous: <a href="Sprites.html" accesskey="p" rel="prev">Sprites</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Framebuffers.html b/manuals/chickadee/Framebuffers.html deleted file mode 100644 index 6560323..0000000 --- a/manuals/chickadee/Framebuffers.html +++ /dev/null @@ -1,147 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Framebuffers (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Framebuffers (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Framebuffers (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Graphics.html" rel="up" title="Graphics" /> -<link href="Viewports.html" rel="next" title="Viewports" /> -<link href="Shaders.html" rel="prev" title="Shaders" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Framebuffers"></span><div class="header"> -<p> -Next: <a href="Viewports.html" accesskey="n" rel="next">Viewports</a>, Previous: <a href="Shaders.html" accesskey="p" rel="prev">Shaders</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Framebuffers-1"></span><h4 class="subsection">5.3.14 Framebuffers</h4> - -<p>A framebuffer is a chunk of memory that the GPU can render things -onto. By default, the framebuffer that is used for rendering is the -one belonging to the game window, but custom framebuffers can be used -as well. A common use-case for custom framebuffers is applying -post-processing effects: The entire scene is rendered to a -framebuffer, and then the contents of that framebuffer are applied to -a post-processing shader and rendered to the game window. The -post-processing shader could do any number of things: scaling, -antialiasing, motion blur, etc. -</p> -<dl> -<dt id="index-make_002dframebuffer">Procedure: <strong>make-framebuffer</strong> <em>width height [#:min-filter <code>linear</code>] [#:mag-filter <code>linear</code>] [#:wrap-s <code>repeat</code>] [#:wrap-t <code>repeat</code>]</em></dt> -<dd> -<p>Create a new framebuffer that is <var>width</var> pixels wide and <var>height</var> pixels high. -</p> -<p><var>min-filter</var> and <var>mag-filter</var> determine the scaling algorithm -applied to the framebuffer when rendering. By default, linear scaling -is used in both cases. To perform no smoothing at all, use -<code>nearest</code> for simple nearest neighbor scaling. This is typically -the best choice for pixel art games. -</p></dd></dl> - -<dl> -<dt id="index-framebuffer_003f">Procedure: <strong>framebuffer?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a framebuffer. -</p></dd></dl> - -<dl> -<dt id="index-framebuffer_002dtexture">Procedure: <strong>framebuffer-texture</strong> <em>fb</em></dt> -<dd><p>Return the texture backing the framebuffer <var>fb</var>. -</p></dd></dl> - -<dl> -<dt id="index-framebuffer_002dviewport">Procedure: <strong>framebuffer-viewport</strong> <em>fb</em></dt> -<dd><p>Return the default viewport (see <a href="Viewports.html">Viewports</a>) used by the -framebuffer <var>fb</var>. -</p></dd></dl> - -<dl> -<dt id="index-null_002dframebuffer">Procedure: <strong>null-framebuffer</strong></dt> -<dd><p>The default framebuffer. -</p></dd></dl> - -<dl> -<dt id="index-current_002dframebuffer">Procedure: <strong>current-framebuffer</strong></dt> -<dd><p>Return the current framebuffer. -</p></dd></dl> - -<dl> -<dt id="index-g_003aframebuffer">Variable: <strong>g:framebuffer</strong></dt> -<dd><p>Render state for framebuffers (see <a href="Rendering-Engine.html">Rendering Engine</a>.) -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/chickadee/Getting-Started.html b/manuals/chickadee/Getting-Started.html deleted file mode 100644 index e7d695d..0000000 --- a/manuals/chickadee/Getting-Started.html +++ /dev/null @@ -1,177 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Getting Started (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Getting Started (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Getting Started (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="index.html" rel="up" title="Top" /> -<link href="Command-Line-Interface.html" rel="next" title="Command Line Interface" /> -<link href="Requirements.html" rel="prev" title="Requirements" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Getting-Started"></span><div class="header"> -<p> -Next: <a href="Command-Line-Interface.html" accesskey="n" rel="next">Command Line Interface</a>, Previous: <a href="Installation.html" accesskey="p" rel="prev">Installation</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Getting-Started-1"></span><h2 class="chapter">2 Getting Started</h2> - -<p>One of the simplest programs we can make with Chickadee is rendering -the text “Hello, world” on screen. Here’s what that looks like: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-open">(</span><span class="syntax-symbol">draw</span> <span class="syntax-symbol">alpha</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">draw-text</span> <span class="syntax-string">"Hello, world!"</span> <span class="syntax-open">(</span><span class="syntax-symbol">vec2</span> <span class="syntax-symbol">64.0</span> <span class="syntax-symbol">240.0</span><span class="syntax-close">)</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -</pre></div> - -<p>The <code>draw</code> procedure is called frequently to draw the game scene. -For the sake of simplicity, we will ignore the <code>alpha</code> variable -in this tutorial. -</p> -<p>To run this program, we’ll use the <code>chickadee play</code> command: -</p> -<div class="example"> -<pre class="example">chickadee play hello.scm -</pre></div> - -<p>This is a good start, but it’s boring. Let’s make the text move! -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">position</span> <span class="syntax-open">(</span><span class="syntax-symbol">vec2</span> <span class="syntax-symbol">0.0</span> <span class="syntax-symbol">240.0</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - -<span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-open">(</span><span class="syntax-symbol">draw</span> <span class="syntax-symbol">alpha</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">draw-text</span> <span class="syntax-string">"Hello, world!"</span> <span class="syntax-symbol">position</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - -<span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-open">(</span><span class="syntax-symbol">update</span> <span class="syntax-symbol">dt</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">set-vec2-x!</span> <span class="syntax-symbol">position</span> <span class="syntax-open">(</span><span class="syntax-symbol">+</span> <span class="syntax-open">(</span><span class="syntax-symbol">vec2-x</span> <span class="syntax-symbol">position</span><span class="syntax-close">)</span> <span class="syntax-open">(</span><span class="syntax-symbol">*</span> <span class="syntax-symbol">100.0</span> <span class="syntax-symbol">dt</span><span class="syntax-close">)</span><span class="syntax-close">)</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -</pre></div> - -<p>The <code>vec2</code> type is used to store 2D coordinates -(see <a href="Vectors.html">Vectors</a>.) A variable named <code>position</code> contains the -position where the text should be rendered. A new hook called -<code>update</code> has been added to handle the animation. This hook is -called frequently to update the state of the game. The variable -<code>dt</code> (short for “delta-time”) contains the amount of time that -has passed since the last update, in seconds. Putting it all -together, this update procedure is incrementing the x coordinate of -the position by 100 pixels per second. -</p> -<p>This is neat, but after a few seconds the text moves off the screen -completely, never to be seen again. It would be better if the text -bounced back and forth against the sides of the window. -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">position</span> <span class="syntax-open">(</span><span class="syntax-symbol">vec2</span> <span class="syntax-symbol">0.0</span> <span class="syntax-symbol">240.0</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - -<span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-open">(</span><span class="syntax-symbol">draw</span> <span class="syntax-symbol">alpha</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">draw-text</span> <span class="syntax-string">"Hello, world!"</span> <span class="syntax-symbol">position</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - -<span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-open">(</span><span class="syntax-symbol">update</span> <span class="syntax-symbol">dt</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">update-agenda</span> <span class="syntax-symbol">dt</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - -<span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-open">(</span><span class="syntax-symbol">update-x</span> <span class="syntax-symbol">x</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">set-vec2-x!</span> <span class="syntax-symbol">position</span> <span class="syntax-symbol">x</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - -<span class="syntax-open">(</span><span class="syntax-special">let</span> <span class="syntax-open">(</span><span class="syntax-open">(</span><span class="syntax-symbol">start</span> <span class="syntax-symbol">0.0</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">end</span> <span class="syntax-symbol">536.0</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">duration</span> <span class="syntax-symbol">4.0</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">script</span> - <span class="syntax-open">(</span><span class="syntax-symbol">while</span> <span class="syntax-symbol">#t</span> - <span class="syntax-open">(</span><span class="syntax-symbol">tween</span> <span class="syntax-symbol">duration</span> <span class="syntax-symbol">start</span> <span class="syntax-symbol">end</span> <span class="syntax-symbol">update-x</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">tween</span> <span class="syntax-symbol">duration</span> <span class="syntax-symbol">end</span> <span class="syntax-symbol">start</span> <span class="syntax-symbol">update-x</span><span class="syntax-close">)</span><span class="syntax-close">)</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -</pre></div> - -<p>This final example uses Chickadee’s scripting features -(see <a href="Scripting.html">Scripting</a>) to bounce the text between the edges of the window -indefinitely using the handy <code>tween</code> procedure. The only thing -the <code>update</code> procedure needs to do now is advance the clock of -the “agenda” (the thing that runs scripts.) The script takes care -of the rest. -</p> -<p>This quick tutorial has hopefully given you a taste of what you can do -with Chickadee. The rest of this manual gets into all of the details -that were glossed over, and much more. Try rendering a sprite, -playing a sound effect, or handling keyboard input. But most -importantly: Have fun! -</p> -<hr /> -<div class="header"> -<p> -Next: <a href="Command-Line-Interface.html" accesskey="n" rel="next">Command Line Interface</a>, Previous: <a href="Installation.html" accesskey="p" rel="prev">Installation</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Graphics.html b/manuals/chickadee/Graphics.html deleted file mode 100644 index e8b409b..0000000 --- a/manuals/chickadee/Graphics.html +++ /dev/null @@ -1,145 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Graphics (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Graphics (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Graphics (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="API-Reference.html" rel="up" title="API Reference" /> -<link href="Colors.html" rel="next" title="Colors" /> -<link href="Bezier-Curves.html" rel="prev" title="Bezier Curves" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Graphics"></span><div class="header"> -<p> -Next: <a href="Audio.html" accesskey="n" rel="next">Audio</a>, Previous: <a href="Math.html" accesskey="p" rel="prev">Math</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Graphics-1"></span><h3 class="section">5.3 Graphics</h3> - -<p>Chickadee aims to make hardware-accelerated graphics rendering as -simple and efficient as possible by providing high-level APIs that -interact with the low-level OpenGL API under the hood. Anyone that -has worked with OpenGL directly knows that it has a steep learning -curve and a lot of effort is needed to render even a single triangle. -The Chickadee rendering engine attempts to make it easy to do common -tasks like rendering a sprite while also providing all of the building -blocks to implement additional rendering techniques. -</p> -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Colors.html" accesskey="1">Colors</a></td><td> </td><td align="left" valign="top">Such pretty colors... -</td></tr> -<tr><td align="left" valign="top">• <a href="Textures.html" accesskey="2">Textures</a></td><td> </td><td align="left" valign="top">2D images, tile atlases, cube maps, etc. -</td></tr> -<tr><td align="left" valign="top">• <a href="Sprites.html" accesskey="3">Sprites</a></td><td> </td><td align="left" valign="top">Draw 2D images. -</td></tr> -<tr><td align="left" valign="top">• <a href="Fonts.html" accesskey="4">Fonts</a></td><td> </td><td align="left" valign="top">Drawing text. -</td></tr> -<tr><td align="left" valign="top">• <a href="Vector-Paths.html" accesskey="5">Vector Paths</a></td><td> </td><td align="left" valign="top">Draw filled and stroked paths. -</td></tr> -<tr><td align="left" valign="top">• <a href="Particles.html" accesskey="6">Particles</a></td><td> </td><td align="left" valign="top">Pretty little flying pieces! -</td></tr> -<tr><td align="left" valign="top">• <a href="Tile-Maps.html" accesskey="7">Tile Maps</a></td><td> </td><td align="left" valign="top">Draw 2D tile maps. -</td></tr> -<tr><td align="left" valign="top">• <a href="Models.html" accesskey="8">Models</a></td><td> </td><td align="left" valign="top">Load 3D models from disk. -</td></tr> -<tr><td align="left" valign="top">• <a href="Lights.html" accesskey="9">Lights</a></td><td> </td><td align="left" valign="top">Dynamic 3D lighting. -</td></tr> -<tr><td align="left" valign="top">• <a href="Skyboxes.html">Skyboxes</a></td><td> </td><td align="left" valign="top">Backgrounds for 3D environments. -</td></tr> -<tr><td align="left" valign="top">• <a href="Meshes.html">Meshes</a></td><td> </td><td align="left" valign="top">3D meshes and materials. -</td></tr> -<tr><td align="left" valign="top">• <a href="Buffers.html">Buffers</a></td><td> </td><td align="left" valign="top">Send data to the GPU. -</td></tr> -<tr><td align="left" valign="top">• <a href="Shaders.html">Shaders</a></td><td> </td><td align="left" valign="top">Create custom GPU programs. -</td></tr> -<tr><td align="left" valign="top">• <a href="Framebuffers.html">Framebuffers</a></td><td> </td><td align="left" valign="top">Render to texture. -</td></tr> -<tr><td align="left" valign="top">• <a href="Viewports.html">Viewports</a></td><td> </td><td align="left" valign="top">Restrict rendering to a particular area. -</td></tr> -<tr><td align="left" valign="top">• <a href="Render-Settings.html">Render Settings</a></td><td> </td><td align="left" valign="top">Depth tests, stencil tests, polygon modes, etc. -</td></tr> -<tr><td align="left" valign="top">• <a href="Rendering-Engine.html">Rendering Engine</a></td><td> </td><td align="left" valign="top">Rendering state management. -</td></tr> -</table> - -<hr /> -<div class="header"> -<p> -Next: <a href="Audio.html" accesskey="n" rel="next">Audio</a>, Previous: <a href="Math.html" accesskey="p" rel="prev">Math</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Grids.html b/manuals/chickadee/Grids.html deleted file mode 100644 index e8ec2b6..0000000 --- a/manuals/chickadee/Grids.html +++ /dev/null @@ -1,214 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Grids (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Grids (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Grids (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Data-Structures.html" rel="up" title="Data Structures" /> -<link href="Path-Finding.html" rel="next" title="Path Finding" /> -<link href="Quadtrees.html" rel="prev" title="Quadtrees" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Grids"></span><div class="header"> -<p> -Next: <a href="Path-Finding.html" accesskey="n" rel="next">Path Finding</a>, Previous: <a href="Quadtrees.html" accesskey="p" rel="prev">Quadtrees</a>, Up: <a href="Data-Structures.html" accesskey="u" rel="up">Data Structures</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Grids-1"></span><h4 class="subsection">5.6.5 Grids</h4> - -<p>The <code>(chickadee data grid)</code> module provides a simple spatial -partitioning system for axis-aligned bounding boxes -(see <a href="Rectangles.html">Rectangles</a>) in 2D space. The grid divides the world into -tiles and keeps track of which rectangles occupy which tiles. When -there are lots of moving objects in the game world that need collision -detection, the grid greatly speeds up the process. Instead of -checking collisions of each object against every other object (an -O(n^2) operation), the grid quickly narrows down which objects could -possibly be colliding and only performs collision testing against a -small set of objects. -</p> -<p>In addition to checking for collisions, the grid also handles the -resolution of collisions. Exactly how each collision is resolved is -user-defined. A player bumping into a wall may slide against it. An -enemy colliding with a projectile shot by the player may get pushed -back in the opposite direction. Two players colliding may not need -resolution at all and will just pass through each other. The way this -works is that each time an object (A) is moved within the grid, the -grid looks for an object (B) that may possibly be colliding with A. A -user-defined procedure known as a “filter” is then called with both -A and B. If the filter returns <code>#f</code>, it means that even if A and -B are colliding, no collision resolution is needed. In this case the -grid won’t waste time checking if they really do collide because it -doesn’t matter. If A and B are collidable, then the filter returns a -procedure that implements the resolution technique. The grid will -then perform a collision test. If A and B are colliding, the resolver -procedure is called. It’s the resolvers job to adjust the objects -such that they are no longer colliding. The grid module comes with a -very simple resolution procedure, <code>slide</code>, that adjusts object A -by the smallest amount so that it no longer overlaps with B. By using -this filtering technique, a game can resolve collisions between -different objects in different ways. -</p> -<dl> -<dt id="index-make_002dgrid">Procedure: <strong>make-grid</strong> <em>[cell-size 64]</em></dt> -<dd><p>Return a new grid partitioned into <var>cell-size</var> tiles. -</p></dd></dl> - -<dl> -<dt id="index-grid_003f">Procedure: <strong>grid?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a grid. -</p></dd></dl> - -<dl> -<dt id="index-cell_003f">Procedure: <strong>cell?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a grid cell. -</p></dd></dl> - -<dl> -<dt id="index-cell_002dcount">Procedure: <strong>cell-count</strong> <em>cell</em></dt> -<dd><p>Return the number of items in <var>cell</var>. -</p></dd></dl> - -<dl> -<dt id="index-grid_002dcell_002dsize">Procedure: <strong>grid-cell-size</strong> <em>grid</em></dt> -<dd><p>Return the cell size of <var>grid</var>. -</p></dd></dl> - -<dl> -<dt id="index-grid_002dcell_002dcount">Procedure: <strong>grid-cell-count</strong> <em>grid</em></dt> -<dd><p>Return the number of cells currently in <var>grid</var>. -</p></dd></dl> - -<dl> -<dt id="index-grid_002ditem_002dcount">Procedure: <strong>grid-item-count</strong> <em>grid</em></dt> -<dd><p>Return the number of items in <var>grid</var>. -</p></dd></dl> - -<dl> -<dt id="index-grid_002dadd">Procedure: <strong>grid-add</strong> <em>grid item x y width height</em></dt> -<dd> -<p>Add <var>item</var> to <var>grid</var> represented by the axis-aligned bounding -box whose lower-left corner is at (<var>x</var>, <var>y</var>) and is -<var>width</var> x <var>height</var> in size. -</p></dd></dl> - -<dl> -<dt id="index-grid_002dremove">Procedure: <strong>grid-remove</strong> <em>grid item</em></dt> -<dd><p>Return <var>item</var> from <var>grid</var>. -</p></dd></dl> - -<dl> -<dt id="index-grid_002dclear">Procedure: <strong>grid-clear</strong> <em>grid</em></dt> -<dd><p>Remove all items from <var>grid</var>. -</p></dd></dl> - -<dl> -<dt id="index-grid_002dmove">Procedure: <strong>grid-move</strong> <em>grid item position filter</em></dt> -<dd><p>Attempt to move <var>item</var> in <var>grid</var> to <var>position</var> (a 2D -vector) and check for collisions. For each collision, <var>filter</var> -will be called with two arguments: <var>item</var> and the item it collided -with. If a collision occurs, <var>position</var> may be modified to -resolve the colliding objects. -</p></dd></dl> - -<dl> -<dt id="index-for_002deach_002dcell">Procedure: <strong>for-each-cell</strong> <em>proc grid [rect]</em></dt> -<dd><p>Call <var>proc</var> with each cell in <var>grid</var> that intersects -<var>rect</var>, or every cell if <var>rect</var> is <code>#f</code>. -</p></dd></dl> - -<dl> -<dt id="index-for_002deach_002ditem">Procedure: <strong>for-each-item</strong> <em>proc grid</em></dt> -<dd><p>Call <var>proc</var> for each item in <var>grid</var>. -</p></dd></dl> - -<dl> -<dt id="index-slide">Procedure: <strong>slide</strong> <em>item item-rect other other-rect goal</em></dt> -<dd> -<p>Resolve the collision that occurs between <var>item</var> and <var>other</var> -when moving <var>item-rect</var> to <var>goal</var> by sliding <var>item-rect</var> -the minimum amount needed to make it no longer overlap -<var>other-rect</var>. -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Path-Finding.html" accesskey="n" rel="next">Path Finding</a>, Previous: <a href="Quadtrees.html" accesskey="p" rel="prev">Quadtrees</a>, Up: <a href="Data-Structures.html" accesskey="u" rel="up">Data Structures</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Heaps.html b/manuals/chickadee/Heaps.html deleted file mode 100644 index effdb89..0000000 --- a/manuals/chickadee/Heaps.html +++ /dev/null @@ -1,139 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Heaps (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Heaps (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Heaps (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Data-Structures.html" rel="up" title="Data Structures" /> -<link href="Quadtrees.html" rel="next" title="Quadtrees" /> -<link href="Queues.html" rel="prev" title="Queues" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Heaps"></span><div class="header"> -<p> -Next: <a href="Quadtrees.html" accesskey="n" rel="next">Quadtrees</a>, Previous: <a href="Queues.html" accesskey="p" rel="prev">Queues</a>, Up: <a href="Data-Structures.html" accesskey="u" rel="up">Data Structures</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Heaps-1"></span><h4 class="subsection">5.6.3 Heaps</h4> - -<p>The <code>(chickadee data heap)</code> module provides a binary heap data -structure. The heap orders data from smallest to largest, according -to a custom comparison predicate, making it a good choice for priority -queues. -</p> -<dl> -<dt id="index-make_002dheap">Procedure: <strong>make-heap</strong> <em>[#:< <]</em></dt> -<dd><p>Return a new heap that uses the predicate <var><</var> to determine order. -</p></dd></dl> - -<dl> -<dt id="index-heap_003f">Procedure: <strong>heap?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a heap. -</p></dd></dl> - -<dl> -<dt id="index-heap_002dempty_003f">Procedure: <strong>heap-empty?</strong> <em>heap</em></dt> -<dd><p>Return <code>#t</code> if <var>heap</var> is empty. -</p></dd></dl> - -<dl> -<dt id="index-heap_002dsize">Procedure: <strong>heap-size</strong> <em>heap</em></dt> -<dd><p>Return the current size of <var>heap</var>. -</p></dd></dl> - -<dl> -<dt id="index-heap_002dmin">Procedure: <strong>heap-min</strong> <em>heap</em></dt> -<dd><p>Return the minimum item in <var>heap</var>. -</p></dd></dl> - -<dl> -<dt id="index-heap_002dinsert_0021">Procedure: <strong>heap-insert!</strong> <em>heap item</em></dt> -<dd><p>Add <var>item</var> to <var>heap</var>. -</p></dd></dl> - -<dl> -<dt id="index-heap_002dremove_0021">Procedure: <strong>heap-remove!</strong> <em>heap</em></dt> -<dd><p>Remove the minimum item in <var>heap</var>. -</p></dd></dl> - -<dl> -<dt id="index-heap_002dclear_0021">Procedure: <strong>heap-clear!</strong> <em>heap</em></dt> -<dd><p>Remove all items from <var>heap</var>. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/chickadee/Index.html b/manuals/chickadee/Index.html deleted file mode 100644 index 4d64ac2..0000000 --- a/manuals/chickadee/Index.html +++ /dev/null @@ -1,1034 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Index (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Index (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Index (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="#Index" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="index.html" rel="up" title="Top" /> -<link href="Apache-2_002e0-License.html" rel="prev" title="Apache 2.0 License" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Index"></span><div class="header"> -<p> -Previous: <a href="Copying-This-Manual.html" accesskey="p" rel="prev">Copying This Manual</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Index-1"></span><h2 class="unnumbered">Index</h2> - -<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Index_fn_symbol-1"><b>%</b></a> - -<br /> -<a class="summary-letter" href="#Index_fn_letter-A"><b>A</b></a> - -<a class="summary-letter" href="#Index_fn_letter-B"><b>B</b></a> - -<a class="summary-letter" href="#Index_fn_letter-C"><b>C</b></a> - -<a class="summary-letter" href="#Index_fn_letter-D"><b>D</b></a> - -<a class="summary-letter" href="#Index_fn_letter-E"><b>E</b></a> - -<a class="summary-letter" href="#Index_fn_letter-F"><b>F</b></a> - -<a class="summary-letter" href="#Index_fn_letter-G"><b>G</b></a> - -<a class="summary-letter" href="#Index_fn_letter-H"><b>H</b></a> - -<a class="summary-letter" href="#Index_fn_letter-I"><b>I</b></a> - -<a class="summary-letter" href="#Index_fn_letter-J"><b>J</b></a> - -<a class="summary-letter" href="#Index_fn_letter-K"><b>K</b></a> - -<a class="summary-letter" href="#Index_fn_letter-L"><b>L</b></a> - -<a class="summary-letter" href="#Index_fn_letter-M"><b>M</b></a> - -<a class="summary-letter" href="#Index_fn_letter-N"><b>N</b></a> - -<a class="summary-letter" href="#Index_fn_letter-O"><b>O</b></a> - -<a class="summary-letter" href="#Index_fn_letter-P"><b>P</b></a> - -<a class="summary-letter" href="#Index_fn_letter-Q"><b>Q</b></a> - -<a class="summary-letter" href="#Index_fn_letter-R"><b>R</b></a> - -<a class="summary-letter" href="#Index_fn_letter-S"><b>S</b></a> - -<a class="summary-letter" href="#Index_fn_letter-T"><b>T</b></a> - -<a class="summary-letter" href="#Index_fn_letter-U"><b>U</b></a> - -<a class="summary-letter" href="#Index_fn_letter-V"><b>V</b></a> - -<a class="summary-letter" href="#Index_fn_letter-W"><b>W</b></a> - -<a class="summary-letter" href="#Index_fn_letter-Y"><b>Y</b></a> - -</td></tr></table> -<table class="index-fn" border="0"> -<tr><td></td><th align="left">Index Entry</th><td> </td><th align="left"> Section</th></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_symbol-1">%</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Invoking-chickadee-bundle.html#index-_0025default_002dconfig"><code>%default-config</code></a>:</td><td> </td><td valign="top"><a href="Invoking-chickadee-bundle.html">Invoking chickadee bundle</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_letter-A">A</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Path-Finding.html#index-a_002a"><code>a*</code></a>:</td><td> </td><td valign="top"><a href="Path-Finding.html">Path Finding</a></td></tr> -<tr><td></td><td valign="top"><a href="The-Game-Loop.html#index-abort_002dgame"><code>abort-game</code></a>:</td><td> </td><td valign="top"><a href="The-Game-Loop.html">The Game Loop</a></td></tr> -<tr><td></td><td valign="top"><a href="Particles.html#index-add_002dparticle_002demitter"><code>add-particle-emitter</code></a>:</td><td> </td><td valign="top"><a href="Particles.html">Particles</a></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-after"><code>after</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html">Agendas</a></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-agenda_002dtime"><code>agenda-time</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html">Agendas</a></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-agenda_003f"><code>agenda?</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html">Agendas</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-animation_002dduration"><code>animation-duration</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-animation_002dframe_002dduration"><code>animation-frame-duration</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-animation_002dframe_002dtile"><code>animation-frame-tile</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-animation_002dframe_003f"><code>animation-frame?</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-animation_002dframes"><code>animation-frames</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-animation_003f"><code>animation?</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-arc"><code>arc</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-arc_002dto"><code>arc-to</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Array-Lists.html#index-array_002dlist"><code>array-list</code></a>:</td><td> </td><td valign="top"><a href="Array-Lists.html">Array Lists</a></td></tr> -<tr><td></td><td valign="top"><a href="Array-Lists.html#index-array_002dlist_002dclear_0021"><code>array-list-clear!</code></a>:</td><td> </td><td valign="top"><a href="Array-Lists.html">Array Lists</a></td></tr> -<tr><td></td><td valign="top"><a href="Array-Lists.html#index-array_002dlist_002ddelete_0021"><code>array-list-delete!</code></a>:</td><td> </td><td valign="top"><a href="Array-Lists.html">Array Lists</a></td></tr> -<tr><td></td><td valign="top"><a href="Array-Lists.html#index-array_002dlist_002dempty_003f"><code>array-list-empty?</code></a>:</td><td> </td><td valign="top"><a href="Array-Lists.html">Array Lists</a></td></tr> -<tr><td></td><td valign="top"><a href="Array-Lists.html#index-array_002dlist_002dfold"><code>array-list-fold</code></a>:</td><td> </td><td valign="top"><a href="Array-Lists.html">Array Lists</a></td></tr> -<tr><td></td><td valign="top"><a href="Array-Lists.html#index-array_002dlist_002dfor_002deach"><code>array-list-for-each</code></a>:</td><td> </td><td valign="top"><a href="Array-Lists.html">Array Lists</a></td></tr> -<tr><td></td><td valign="top"><a href="Array-Lists.html#index-array_002dlist_002dpop_0021"><code>array-list-pop!</code></a>:</td><td> </td><td valign="top"><a href="Array-Lists.html">Array Lists</a></td></tr> -<tr><td></td><td valign="top"><a href="Array-Lists.html#index-array_002dlist_002dpush_0021"><code>array-list-push!</code></a>:</td><td> </td><td valign="top"><a href="Array-Lists.html">Array Lists</a></td></tr> -<tr><td></td><td valign="top"><a href="Array-Lists.html#index-array_002dlist_002dref"><code>array-list-ref</code></a>:</td><td> </td><td valign="top"><a href="Array-Lists.html">Array Lists</a></td></tr> -<tr><td></td><td valign="top"><a href="Array-Lists.html#index-array_002dlist_002dset_0021"><code>array-list-set!</code></a>:</td><td> </td><td valign="top"><a href="Array-Lists.html">Array Lists</a></td></tr> -<tr><td></td><td valign="top"><a href="Array-Lists.html#index-array_002dlist_002dsize"><code>array-list-size</code></a>:</td><td> </td><td valign="top"><a href="Array-Lists.html">Array Lists</a></td></tr> -<tr><td></td><td valign="top"><a href="Array-Lists.html#index-array_002dlist_003f"><code>array-list?</code></a>:</td><td> </td><td valign="top"><a href="Array-Lists.html">Array Lists</a></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-at"><code>at</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html">Agendas</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-attribute_002dlocation"><code>attribute-location</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-attribute_002dname"><code>attribute-name</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-attribute_002dtype"><code>attribute-type</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-attribute_003f"><code>attribute?</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Audio-Files.html#index-audio_002dbits_002dper_002dsample"><code>audio-bits-per-sample</code></a>:</td><td> </td><td valign="top"><a href="Audio-Files.html">Audio Files</a></td></tr> -<tr><td></td><td valign="top"><a href="Audio-Files.html#index-audio_002dchannels"><code>audio-channels</code></a>:</td><td> </td><td valign="top"><a href="Audio-Files.html">Audio Files</a></td></tr> -<tr><td></td><td valign="top"><a href="Audio-Files.html#index-audio_002dduration"><code>audio-duration</code></a>:</td><td> </td><td valign="top"><a href="Audio-Files.html">Audio Files</a></td></tr> -<tr><td></td><td valign="top"><a href="Audio-Files.html#index-audio_002dmode"><code>audio-mode</code></a>:</td><td> </td><td valign="top"><a href="Audio-Files.html">Audio Files</a></td></tr> -<tr><td></td><td valign="top"><a href="Audio-Files.html#index-audio_002dplay"><code>audio-play</code></a>:</td><td> </td><td valign="top"><a href="Audio-Files.html">Audio Files</a></td></tr> -<tr><td></td><td valign="top"><a href="Audio-Files.html#index-audio_002dsample_002drate"><code>audio-sample-rate</code></a>:</td><td> </td><td valign="top"><a href="Audio-Files.html">Audio Files</a></td></tr> -<tr><td></td><td valign="top"><a href="Audio-Files.html#index-audio_003f"><code>audio?</code></a>:</td><td> </td><td valign="top"><a href="Audio-Files.html">Audio Files</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_letter-B">B</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-back_002dcull_002dface_002dmode"><code>back-cull-face-mode</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-below"><code>below</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-beside"><code>beside</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Bezier-Curves.html#index-bezier_002dcurve_002dp0"><code>bezier-curve-p0</code></a>:</td><td> </td><td valign="top"><a href="Bezier-Curves.html">Bezier Curves</a></td></tr> -<tr><td></td><td valign="top"><a href="Bezier-Curves.html#index-bezier_002dcurve_002dp1"><code>bezier-curve-p1</code></a>:</td><td> </td><td valign="top"><a href="Bezier-Curves.html">Bezier Curves</a></td></tr> -<tr><td></td><td valign="top"><a href="Bezier-Curves.html#index-bezier_002dcurve_002dp2"><code>bezier-curve-p2</code></a>:</td><td> </td><td valign="top"><a href="Bezier-Curves.html">Bezier Curves</a></td></tr> -<tr><td></td><td valign="top"><a href="Bezier-Curves.html#index-bezier_002dcurve_002dp3"><code>bezier-curve-p3</code></a>:</td><td> </td><td valign="top"><a href="Bezier-Curves.html">Bezier Curves</a></td></tr> -<tr><td></td><td valign="top"><a href="Bezier-Curves.html#index-bezier_002dcurve_002dpoint_002dat"><code>bezier-curve-point-at</code></a>:</td><td> </td><td valign="top"><a href="Bezier-Curves.html">Bezier Curves</a></td></tr> -<tr><td></td><td valign="top"><a href="Bezier-Curves.html#index-bezier_002dcurve_002dpoint_002dat_0021"><code>bezier-curve-point-at!</code></a>:</td><td> </td><td valign="top"><a href="Bezier-Curves.html">Bezier Curves</a></td></tr> -<tr><td></td><td valign="top"><a href="Bezier-Curves.html#index-bezier_002dcurve_003f"><code>bezier-curve?</code></a>:</td><td> </td><td valign="top"><a href="Bezier-Curves.html">Bezier Curves</a></td></tr> -<tr><td></td><td valign="top"><a href="Bezier-Curves.html#index-bezier_002dpath"><code>bezier-path</code></a>:</td><td> </td><td valign="top"><a href="Bezier-Curves.html">Bezier Curves</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-bezier_002dpath-1"><code>bezier-path</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-bezier_002dto"><code>bezier-to</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-black"><code>black</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-blend_003aadd"><code>blend:add</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-blend_003aalpha"><code>blend:alpha</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-blend_003adarken"><code>blend:darken</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-blend_003alighten"><code>blend:lighten</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-blend_003amultiply"><code>blend:multiply</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-blend_003areplace"><code>blend:replace</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-blend_003ascreen"><code>blend:screen</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-blend_003asubtract"><code>blend:subtract</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-blue"><code>blue</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-bool"><code>bool</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-buffer_002ddata"><code>buffer-data</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-buffer_002dlength"><code>buffer-length</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-buffer_002dname"><code>buffer-name</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-buffer_002dstride"><code>buffer-stride</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-buffer_002dtarget"><code>buffer-target</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-buffer_002dusage"><code>buffer-usage</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-buffer_003f"><code>buffer?</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_letter-C">C</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-call_002dwhen"><code>call-when</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html">Agendas</a></td></tr> -<tr><td></td><td valign="top"><a href="Scripts.html#index-cancel_002dscript"><code>cancel-script</code></a>:</td><td> </td><td valign="top"><a href="Scripts.html">Scripts</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-canvas_003f"><code>canvas?</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Grids.html#index-cell_002dcount"><code>cell-count</code></a>:</td><td> </td><td valign="top"><a href="Grids.html">Grids</a></td></tr> -<tr><td></td><td valign="top"><a href="Grids.html#index-cell_003f"><code>cell?</code></a>:</td><td> </td><td valign="top"><a href="Grids.html">Grids</a></td></tr> -<tr><td></td><td valign="top"><a href="Channels.html#index-channel_002dclear_0021"><code>channel-clear!</code></a>:</td><td> </td><td valign="top"><a href="Channels.html">Channels</a></td></tr> -<tr><td></td><td valign="top"><a href="Channels.html#index-channel_002dget"><code>channel-get</code></a>:</td><td> </td><td valign="top"><a href="Channels.html">Channels</a></td></tr> -<tr><td></td><td valign="top"><a href="Channels.html#index-channel_002dget_0021"><code>channel-get!</code></a>:</td><td> </td><td valign="top"><a href="Channels.html">Channels</a></td></tr> -<tr><td></td><td valign="top"><a href="Channels.html#index-channel_002dput"><code>channel-put</code></a>:</td><td> </td><td valign="top"><a href="Channels.html">Channels</a></td></tr> -<tr><td></td><td valign="top"><a href="Channels.html#index-channel_002dput_0021"><code>channel-put!</code></a>:</td><td> </td><td valign="top"><a href="Channels.html">Channels</a></td></tr> -<tr><td></td><td valign="top"><a href="Channels.html#index-channel_003f"><code>channel?</code></a>:</td><td> </td><td valign="top"><a href="Channels.html">Channels</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-circle"><code>circle</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Basics.html#index-clamp"><code>clamp</code></a>:</td><td> </td><td valign="top"><a href="Basics.html">Basics</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-close_002dpath"><code>close-path</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-color_002a"><code>color*</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-color_002b"><code>color+</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-color_002d"><code>color-</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-color_002da"><code>color-a</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-color_002db"><code>color-b</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-color_002dg"><code>color-g</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-color_002dinverse"><code>color-inverse</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-color_002dlerp"><code>color-lerp</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-color_002dr"><code>color-r</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-color_003f"><code>color?</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Input-Devices.html#index-controller_002daxis"><code>controller-axis</code></a>:</td><td> </td><td valign="top"><a href="Input-Devices.html">Input Devices</a></td></tr> -<tr><td></td><td valign="top"><a href="Input-Devices.html#index-controller_002dbutton_002dpressed_003f"><code>controller-button-pressed?</code></a>:</td><td> </td><td valign="top"><a href="Input-Devices.html">Input Devices</a></td></tr> -<tr><td></td><td valign="top"><a href="Input-Devices.html#index-controller_002dbutton_002dreleased_003f"><code>controller-button-released?</code></a>:</td><td> </td><td valign="top"><a href="Input-Devices.html">Input Devices</a></td></tr> -<tr><td></td><td valign="top"><a href="Input-Devices.html#index-controller_002dname"><code>controller-name</code></a>:</td><td> </td><td valign="top"><a href="Input-Devices.html">Input Devices</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-corner_002dsplit"><code>corner-split</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Basics.html#index-cotan"><code>cotan</code></a>:</td><td> </td><td valign="top"><a href="Basics.html">Basics</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-cube_002dmap_003f"><code>cube-map?</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-cull_002dface_002dmode_002dback_003f"><code>cull-face-mode-back?</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-cull_002dface_002dmode_002dfront_003f"><code>cull-face-mode-front?</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-cull_002dface_002dmode_003f"><code>cull-face-mode?</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-current_002dagenda"><code>current-agenda</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html">Agendas</a></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-current_002dagenda-1"><code>current-agenda</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html">Agendas</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-current_002dbuffer"><code>current-buffer</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-current_002dcull_002dface_002dmode"><code>current-cull-face-mode</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-current_002ddepth_002dtest"><code>current-depth-test</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Framebuffers.html#index-current_002dframebuffer"><code>current-framebuffer</code></a>:</td><td> </td><td valign="top"><a href="Framebuffers.html">Framebuffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-current_002dmultisample"><code>current-multisample</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-current_002dpolygon_002dmode"><code>current-polygon-mode</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering-Engine.html#index-current_002dprojection"><code>current-projection</code></a>:</td><td> </td><td valign="top"><a href="Rendering-Engine.html">Rendering Engine</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-current_002dstencil_002dtest"><code>current-stencil-test</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-current_002dtexture_002d0"><code>current-texture-0</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-current_002dtexture_002d1"><code>current-texture-1</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-current_002dtexture_002d2"><code>current-texture-2</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-current_002dtexture_002d3"><code>current-texture-3</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-current_002dtexture_002d4"><code>current-texture-4</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-current_002dvertex_002darray"><code>current-vertex-array</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Viewports.html#index-current_002dviewport"><code>current-viewport</code></a>:</td><td> </td><td valign="top"><a href="Viewports.html">Viewports</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Manipulation.html#index-current_002dwindow"><code>current-window</code></a>:</td><td> </td><td valign="top"><a href="Window-Manipulation.html">Window Manipulation</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-cyan"><code>cyan</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_letter-D">D</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-default_002dstencil_002dtest"><code>default-stencil-test</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-define_002dshader_002dtype"><code>define-shader-type</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Basics.html#index-degrees_002d_003eradians"><code>degrees->radians</code></a>:</td><td> </td><td valign="top"><a href="Basics.html">Basics</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-depth_002dtest_002dfar"><code>depth-test-far</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-depth_002dtest_002dfunction"><code>depth-test-function</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-depth_002dtest_002dnear"><code>depth-test-near</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-depth_002dtest_002dwrite_003f"><code>depth-test-write?</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-depth_002dtest_003f"><code>depth-test?</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Queues.html#index-dequeue_0021"><code>dequeue!</code></a>:</td><td> </td><td valign="top"><a href="Queues.html">Queues</a></td></tr> -<tr><td></td><td valign="top"><a href="Lights.html#index-directional_002dlight_003f"><code>directional-light?</code></a>:</td><td> </td><td valign="top"><a href="Lights.html">Lights</a></td></tr> -<tr><td></td><td valign="top"><a href="The-Environment.html#index-distance_002dmodel"><code>distance-model</code></a>:</td><td> </td><td valign="top"><a href="The-Environment.html">The Environment</a></td></tr> -<tr><td></td><td valign="top"><a href="The-Environment.html#index-doppler_002dfactor"><code>doppler-factor</code></a>:</td><td> </td><td valign="top"><a href="The-Environment.html">The Environment</a></td></tr> -<tr><td></td><td valign="top"><a href="Sprites.html#index-draw_002d9_002dpatch"><code>draw-9-patch</code></a>:</td><td> </td><td valign="top"><a href="Sprites.html">Sprites</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-draw_002dcanvas"><code>draw-canvas</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Models.html#index-draw_002dmodel"><code>draw-model</code></a>:</td><td> </td><td valign="top"><a href="Models.html">Models</a></td></tr> -<tr><td></td><td valign="top"><a href="Particles.html#index-draw_002dparticles"><code>draw-particles</code></a>:</td><td> </td><td valign="top"><a href="Particles.html">Particles</a></td></tr> -<tr><td></td><td valign="top"><a href="Particles.html#index-draw_002dparticles_002a"><code>draw-particles*</code></a>:</td><td> </td><td valign="top"><a href="Particles.html">Particles</a></td></tr> -<tr><td></td><td valign="top"><a href="Skyboxes.html#index-draw_002dskybox"><code>draw-skybox</code></a>:</td><td> </td><td valign="top"><a href="Skyboxes.html">Skyboxes</a></td></tr> -<tr><td></td><td valign="top"><a href="Sprites.html#index-draw_002dsprite"><code>draw-sprite</code></a>:</td><td> </td><td valign="top"><a href="Sprites.html">Sprites</a></td></tr> -<tr><td></td><td valign="top"><a href="Sprites.html#index-draw_002dsprite_002dbatch"><code>draw-sprite-batch</code></a>:</td><td> </td><td valign="top"><a href="Sprites.html">Sprites</a></td></tr> -<tr><td></td><td valign="top"><a href="Fonts.html#index-draw_002dtext"><code>draw-text</code></a>:</td><td> </td><td valign="top"><a href="Fonts.html">Fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-draw_002dtile_002dmap"><code>draw-tile-map</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_letter-E">E</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-ease_002din_002dcubic"><code>ease-in-cubic</code></a>:</td><td> </td><td valign="top"><a href="Easings.html">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-ease_002din_002dout_002dcubic"><code>ease-in-out-cubic</code></a>:</td><td> </td><td valign="top"><a href="Easings.html">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-ease_002din_002dout_002dquad"><code>ease-in-out-quad</code></a>:</td><td> </td><td valign="top"><a href="Easings.html">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-ease_002din_002dout_002dquart"><code>ease-in-out-quart</code></a>:</td><td> </td><td valign="top"><a href="Easings.html">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-ease_002din_002dout_002dquint"><code>ease-in-out-quint</code></a>:</td><td> </td><td valign="top"><a href="Easings.html">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-ease_002din_002dout_002dsine"><code>ease-in-out-sine</code></a>:</td><td> </td><td valign="top"><a href="Easings.html">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-ease_002din_002dquad"><code>ease-in-quad</code></a>:</td><td> </td><td valign="top"><a href="Easings.html">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-ease_002din_002dquart"><code>ease-in-quart</code></a>:</td><td> </td><td valign="top"><a href="Easings.html">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-ease_002din_002dquint"><code>ease-in-quint</code></a>:</td><td> </td><td valign="top"><a href="Easings.html">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-ease_002din_002dsine"><code>ease-in-sine</code></a>:</td><td> </td><td valign="top"><a href="Easings.html">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-ease_002dout_002dcubic"><code>ease-out-cubic</code></a>:</td><td> </td><td valign="top"><a href="Easings.html">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-ease_002dout_002dquad"><code>ease-out-quad</code></a>:</td><td> </td><td valign="top"><a href="Easings.html">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-ease_002dout_002dquart"><code>ease-out-quart</code></a>:</td><td> </td><td valign="top"><a href="Easings.html">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-ease_002dout_002dquint"><code>ease-out-quint</code></a>:</td><td> </td><td valign="top"><a href="Easings.html">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-ease_002dout_002dsine"><code>ease-out-sine</code></a>:</td><td> </td><td valign="top"><a href="Easings.html">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="The-Game-Loop.html#index-elapsed_002dtime"><code>elapsed-time</code></a>:</td><td> </td><td valign="top"><a href="The-Game-Loop.html">The Game Loop</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-ellipse"><code>ellipse</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Queues.html#index-enqueue_0021"><code>enqueue!</code></a>:</td><td> </td><td valign="top"><a href="Queues.html">Queues</a></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-every"><code>every</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html">Agendas</a></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-every-1"><code>every</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html">Agendas</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_letter-F">F</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-fill"><code>fill</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-fill_002dand_002dstroke"><code>fill-and-stroke</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-fill_002dpolygon_002dmode"><code>fill-polygon-mode</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-float"><code>float</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-float_002dvec2"><code>float-vec2</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-float_002dvec3"><code>float-vec3</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-float_002dvec4"><code>float-vec4</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Fonts.html#index-font_002dbold_003f"><code>font-bold?</code></a>:</td><td> </td><td valign="top"><a href="Fonts.html">Fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="Fonts.html#index-font_002dface"><code>font-face</code></a>:</td><td> </td><td valign="top"><a href="Fonts.html">Fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="Fonts.html#index-font_002ditalic_003f"><code>font-italic?</code></a>:</td><td> </td><td valign="top"><a href="Fonts.html">Fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="Fonts.html#index-font_002dline_002dheight"><code>font-line-height</code></a>:</td><td> </td><td valign="top"><a href="Fonts.html">Fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="Fonts.html#index-font_002dline_002dheight-1"><code>font-line-height</code></a>:</td><td> </td><td valign="top"><a href="Fonts.html">Fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="Fonts.html#index-font_003f"><code>font?</code></a>:</td><td> </td><td valign="top"><a href="Fonts.html">Fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="Grids.html#index-for_002deach_002dcell"><code>for-each-cell</code></a>:</td><td> </td><td valign="top"><a href="Grids.html">Grids</a></td></tr> -<tr><td></td><td valign="top"><a href="Grids.html#index-for_002deach_002ditem"><code>for-each-item</code></a>:</td><td> </td><td valign="top"><a href="Grids.html">Grids</a></td></tr> -<tr><td></td><td valign="top"><a href="Scripts.html#index-forever"><code>forever</code></a>:</td><td> </td><td valign="top"><a href="Scripts.html">Scripts</a></td></tr> -<tr><td></td><td valign="top"><a href="Framebuffers.html#index-framebuffer_002dtexture"><code>framebuffer-texture</code></a>:</td><td> </td><td valign="top"><a href="Framebuffers.html">Framebuffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Framebuffers.html#index-framebuffer_002dviewport"><code>framebuffer-viewport</code></a>:</td><td> </td><td valign="top"><a href="Framebuffers.html">Framebuffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Framebuffers.html#index-framebuffer_003f"><code>framebuffer?</code></a>:</td><td> </td><td valign="top"><a href="Framebuffers.html">Framebuffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-front_002dand_002dback_002dcull_002dface_002dmode"><code>front-and-back-cull-face-mode</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-front_002dcull_002dface_002dmode"><code>front-cull-face-mode</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_letter-G">G</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-g_003abuffer"><code>g:buffer</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-g_003acull_002dface_002dmode"><code>g:cull-face-mode</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-g_003adepth_002dtest"><code>g:depth-test</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Framebuffers.html#index-g_003aframebuffer"><code>g:framebuffer</code></a>:</td><td> </td><td valign="top"><a href="Framebuffers.html">Framebuffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-g_003amultisample_003f"><code>g:multisample?</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-g_003apolygon_002dmode"><code>g:polygon-mode</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-g_003astencil_002dtest"><code>g:stencil-test</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-g_003atexture_002d0"><code>g:texture-0</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-g_003atexture_002d1"><code>g:texture-1</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-g_003atexture_002d2"><code>g:texture-2</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-g_003atexture_002d3"><code>g:texture-3</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-g_003atexture_002d4"><code>g:texture-4</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-g_003avertex_002darray"><code>g:vertex-array</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Viewports.html#index-g_003aviewport"><code>g:viewport</code></a>:</td><td> </td><td valign="top"><a href="Viewports.html">Viewports</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-gradient_003f"><code>gradient?</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-green"><code>green</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Grids.html#index-grid_002dadd"><code>grid-add</code></a>:</td><td> </td><td valign="top"><a href="Grids.html">Grids</a></td></tr> -<tr><td></td><td valign="top"><a href="Grids.html#index-grid_002dcell_002dcount"><code>grid-cell-count</code></a>:</td><td> </td><td valign="top"><a href="Grids.html">Grids</a></td></tr> -<tr><td></td><td valign="top"><a href="Grids.html#index-grid_002dcell_002dsize"><code>grid-cell-size</code></a>:</td><td> </td><td valign="top"><a href="Grids.html">Grids</a></td></tr> -<tr><td></td><td valign="top"><a href="Grids.html#index-grid_002dclear"><code>grid-clear</code></a>:</td><td> </td><td valign="top"><a href="Grids.html">Grids</a></td></tr> -<tr><td></td><td valign="top"><a href="Grids.html#index-grid_002ditem_002dcount"><code>grid-item-count</code></a>:</td><td> </td><td valign="top"><a href="Grids.html">Grids</a></td></tr> -<tr><td></td><td valign="top"><a href="Grids.html#index-grid_002dmove"><code>grid-move</code></a>:</td><td> </td><td valign="top"><a href="Grids.html">Grids</a></td></tr> -<tr><td></td><td valign="top"><a href="Grids.html#index-grid_002dremove"><code>grid-remove</code></a>:</td><td> </td><td valign="top"><a href="Grids.html">Grids</a></td></tr> -<tr><td></td><td valign="top"><a href="Grids.html#index-grid_003f"><code>grid?</code></a>:</td><td> </td><td valign="top"><a href="Grids.html">Grids</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_letter-H">H</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Heaps.html#index-heap_002dclear_0021"><code>heap-clear!</code></a>:</td><td> </td><td valign="top"><a href="Heaps.html">Heaps</a></td></tr> -<tr><td></td><td valign="top"><a href="Heaps.html#index-heap_002dempty_003f"><code>heap-empty?</code></a>:</td><td> </td><td valign="top"><a href="Heaps.html">Heaps</a></td></tr> -<tr><td></td><td valign="top"><a href="Heaps.html#index-heap_002dinsert_0021"><code>heap-insert!</code></a>:</td><td> </td><td valign="top"><a href="Heaps.html">Heaps</a></td></tr> -<tr><td></td><td valign="top"><a href="Heaps.html#index-heap_002dmin"><code>heap-min</code></a>:</td><td> </td><td valign="top"><a href="Heaps.html">Heaps</a></td></tr> -<tr><td></td><td valign="top"><a href="Heaps.html#index-heap_002dremove_0021"><code>heap-remove!</code></a>:</td><td> </td><td valign="top"><a href="Heaps.html">Heaps</a></td></tr> -<tr><td></td><td valign="top"><a href="Heaps.html#index-heap_002dsize"><code>heap-size</code></a>:</td><td> </td><td valign="top"><a href="Heaps.html">Heaps</a></td></tr> -<tr><td></td><td valign="top"><a href="Heaps.html#index-heap_003f"><code>heap?</code></a>:</td><td> </td><td valign="top"><a href="Heaps.html">Heaps</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Manipulation.html#index-hide_002dwindow_0021"><code>hide-window!</code></a>:</td><td> </td><td valign="top"><a href="Window-Manipulation.html">Window Manipulation</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-horizontal_002dflip"><code>horizontal-flip</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_letter-I">I</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-index_002dbuffer_003f"><code>index-buffer?</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-int"><code>int</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_letter-J">J</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Scripts.html#index-join"><code>join</code></a>:</td><td> </td><td valign="top"><a href="Scripts.html">Scripts</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_letter-K">K</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Input-Devices.html#index-key_002dpressed_003f"><code>key-pressed?</code></a>:</td><td> </td><td valign="top"><a href="Input-Devices.html">Input Devices</a></td></tr> -<tr><td></td><td valign="top"><a href="Input-Devices.html#index-key_002dreleased_003f"><code>key-released?</code></a>:</td><td> </td><td valign="top"><a href="Input-Devices.html">Input Devices</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_letter-L">L</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Basics.html#index-lerp"><code>lerp</code></a>:</td><td> </td><td valign="top"><a href="Basics.html">Basics</a></td></tr> -<tr><td></td><td valign="top"><a href="Lights.html#index-light_002dcolor"><code>light-color</code></a>:</td><td> </td><td valign="top"><a href="Lights.html">Lights</a></td></tr> -<tr><td></td><td valign="top"><a href="Lights.html#index-light_002dcut_002doff"><code>light-cut-off</code></a>:</td><td> </td><td valign="top"><a href="Lights.html">Lights</a></td></tr> -<tr><td></td><td valign="top"><a href="Lights.html#index-light_002ddirection"><code>light-direction</code></a>:</td><td> </td><td valign="top"><a href="Lights.html">Lights</a></td></tr> -<tr><td></td><td valign="top"><a href="Lights.html#index-light_002dintensity"><code>light-intensity</code></a>:</td><td> </td><td valign="top"><a href="Lights.html">Lights</a></td></tr> -<tr><td></td><td valign="top"><a href="Lights.html#index-light_002dposition"><code>light-position</code></a>:</td><td> </td><td valign="top"><a href="Lights.html">Lights</a></td></tr> -<tr><td></td><td valign="top"><a href="Lights.html#index-light_002dtype"><code>light-type</code></a>:</td><td> </td><td valign="top"><a href="Lights.html">Lights</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-line"><code>line</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-line_002dpolygon_002dmode"><code>line-polygon-mode</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-line_002dto"><code>line-to</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-linear"><code>linear</code></a>:</td><td> </td><td valign="top"><a href="Easings.html">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-linear_002dgradient"><code>linear-gradient</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="The-Listener.html#index-listener_002dorientation"><code>listener-orientation</code></a>:</td><td> </td><td valign="top"><a href="The-Listener.html">The Listener</a></td></tr> -<tr><td></td><td valign="top"><a href="The-Listener.html#index-listener_002dposition"><code>listener-position</code></a>:</td><td> </td><td valign="top"><a href="The-Listener.html">The Listener</a></td></tr> -<tr><td></td><td valign="top"><a href="The-Listener.html#index-listener_002dvelocity"><code>listener-velocity</code></a>:</td><td> </td><td valign="top"><a href="The-Listener.html">The Listener</a></td></tr> -<tr><td></td><td valign="top"><a href="The-Listener.html#index-listener_002dvolume"><code>listener-volume</code></a>:</td><td> </td><td valign="top"><a href="The-Listener.html">The Listener</a></td></tr> -<tr><td></td><td valign="top"><a href="Audio-Files.html#index-load_002daudio"><code>load-audio</code></a>:</td><td> </td><td valign="top"><a href="Audio-Files.html">Audio Files</a></td></tr> -<tr><td></td><td valign="top"><a href="Fonts.html#index-load_002dbitmap_002dfont"><code>load-bitmap-font</code></a>:</td><td> </td><td valign="top"><a href="Fonts.html">Fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-load_002dcube_002dmap"><code>load-cube-map</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Fonts.html#index-load_002dfont"><code>load-font</code></a>:</td><td> </td><td valign="top"><a href="Fonts.html">Fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="Models.html#index-load_002dgltf"><code>load-gltf</code></a>:</td><td> </td><td valign="top"><a href="Models.html">Models</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-load_002dimage"><code>load-image</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Models.html#index-load_002dobj"><code>load-obj</code></a>:</td><td> </td><td valign="top"><a href="Models.html">Models</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-load_002dshader"><code>load-shader</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-load_002dtile_002dmap"><code>load-tile-map</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-load_002dtileset"><code>load-tileset</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-local_002dfield"><code>local-field</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_letter-M">M</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-magenta"><code>magenta</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-make_002dagenda"><code>make-agenda</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html">Agendas</a></td></tr> -<tr><td></td><td valign="top"><a href="Array-Lists.html#index-make_002darray_002dlist"><code>make-array-list</code></a>:</td><td> </td><td valign="top"><a href="Array-Lists.html">Array Lists</a></td></tr> -<tr><td></td><td valign="top"><a href="Bezier-Curves.html#index-make_002dbezier_002dcurve"><code>make-bezier-curve</code></a>:</td><td> </td><td valign="top"><a href="Bezier-Curves.html">Bezier Curves</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-make_002dblend_002dmode"><code>make-blend-mode</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-make_002dbuffer"><code>make-buffer</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-make_002dcanvas"><code>make-canvas</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Channels.html#index-make_002dchannel"><code>make-channel</code></a>:</td><td> </td><td valign="top"><a href="Channels.html">Channels</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-make_002dcolor"><code>make-color</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-make_002dcube"><code>make-cube</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-make_002ddepth_002dtest"><code>make-depth-test</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Lights.html#index-make_002ddirectional_002dlight"><code>make-directional-light</code></a>:</td><td> </td><td valign="top"><a href="Lights.html">Lights</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-make_002dempty_002dcanvas"><code>make-empty-canvas</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Framebuffers.html#index-make_002dframebuffer"><code>make-framebuffer</code></a>:</td><td> </td><td valign="top"><a href="Framebuffers.html">Framebuffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Grids.html#index-make_002dgrid"><code>make-grid</code></a>:</td><td> </td><td valign="top"><a href="Grids.html">Grids</a></td></tr> -<tr><td></td><td valign="top"><a href="Heaps.html#index-make_002dheap"><code>make-heap</code></a>:</td><td> </td><td valign="top"><a href="Heaps.html">Heaps</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-make_002didentity_002dmatrix3"><code>make-identity-matrix3</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-make_002didentity_002dmatrix4"><code>make-identity-matrix4</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-make_002didentity_002dquaternion"><code>make-identity-quaternion</code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html">Quaternions</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-make_002dmatrix3"><code>make-matrix3</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-make_002dmatrix4"><code>make-matrix4</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-make_002dmesh"><code>make-mesh</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-make_002dnull_002dmatrix3"><code>make-null-matrix3</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-make_002dnull_002dmatrix4"><code>make-null-matrix4</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Particles.html#index-make_002dparticle_002demitter"><code>make-particle-emitter</code></a>:</td><td> </td><td valign="top"><a href="Particles.html">Particles</a></td></tr> -<tr><td></td><td valign="top"><a href="Particles.html#index-make_002dparticles"><code>make-particles</code></a>:</td><td> </td><td valign="top"><a href="Particles.html">Particles</a></td></tr> -<tr><td></td><td valign="top"><a href="Path-Finding.html#index-make_002dpath_002dfinder"><code>make-path-finder</code></a>:</td><td> </td><td valign="top"><a href="Path-Finding.html">Path Finding</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-make_002dpbr_002dmaterial"><code>make-pbr-material</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-make_002dpbr_002dproperties"><code>make-pbr-properties</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-make_002dphong_002dmaterial"><code>make-phong-material</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-make_002dphong_002dproperties"><code>make-phong-properties</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-make_002dplane"><code>make-plane</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Lights.html#index-make_002dpoint_002dlight"><code>make-point-light</code></a>:</td><td> </td><td valign="top"><a href="Lights.html">Lights</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-make_002dpolygon_002dmode"><code>make-polygon-mode</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-make_002dprimitive"><code>make-primitive</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Quadtrees.html#index-make_002dquadtree"><code>make-quadtree</code></a>:</td><td> </td><td valign="top"><a href="Quadtrees.html">Quadtrees</a></td></tr> -<tr><td></td><td valign="top"><a href="Queues.html#index-make_002dqueue"><code>make-queue</code></a>:</td><td> </td><td valign="top"><a href="Queues.html">Queues</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-make_002drect"><code>make-rect</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-make_002dshader"><code>make-shader</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Skyboxes.html#index-make_002dskybox"><code>make-skybox</code></a>:</td><td> </td><td valign="top"><a href="Skyboxes.html">Skyboxes</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-make_002dsource"><code>make-source</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-make_002dsphere"><code>make-sphere</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Lights.html#index-make_002dspot_002dlight"><code>make-spot-light</code></a>:</td><td> </td><td valign="top"><a href="Lights.html">Lights</a></td></tr> -<tr><td></td><td valign="top"><a href="Sprites.html#index-make_002dsprite_002dbatch"><code>make-sprite-batch</code></a>:</td><td> </td><td valign="top"><a href="Sprites.html">Sprites</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-make_002dstencil_002dtest"><code>make-stencil-test</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-make_002dtesselated_002dplane"><code>make-tesselated-plane</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-make_002dvertex_002darray"><code>make-vertex-array</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-make_002dvertex_002dattribute"><code>make-vertex-attribute</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Viewports.html#index-make_002dviewport"><code>make-viewport</code></a>:</td><td> </td><td valign="top"><a href="Viewports.html">Viewports</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-map_002dobject_002did"><code>map-object-id</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-map_002dobject_002dname"><code>map-object-name</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-map_002dobject_002dproperties"><code>map-object-properties</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-map_002dobject_002dshape"><code>map-object-shape</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-map_002dobject_002dtype"><code>map-object-type</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-map_002dobject_003f"><code>map-object?</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-mat3"><code>mat3</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-mat4"><code>mat4</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-material_002dblend_002dmode"><code>material-blend-mode</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-material_002dcull_002dface_002dmode"><code>material-cull-face-mode</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-material_002ddepth_002dtest"><code>material-depth-test</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-material_002dmultisample_003f"><code>material-multisample?</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-material_002dname"><code>material-name</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-material_002dpolygon_002dmode"><code>material-polygon-mode</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-material_002dproperties"><code>material-properties</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-material_002dshader"><code>material-shader</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-material_002dstencil_002dtest"><code>material-stencil-test</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-material_002dtexture_002d0"><code>material-texture-0</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-material_002dtexture_002d1"><code>material-texture-1</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-material_002dtexture_002d2"><code>material-texture-2</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-material_002dtexture_002d3"><code>material-texture-3</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-material_002dtexture_002d4"><code>material-texture-4</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-material_003f"><code>material?</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix3_002a"><code>matrix3*</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix3_002dcopy"><code>matrix3-copy</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix3_002dcopy_0021"><code>matrix3-copy!</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix3_002didentity_0021"><code>matrix3-identity!</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix3_002dinverse"><code>matrix3-inverse</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix3_002dinverse_0021"><code>matrix3-inverse!</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix3_002dmult_0021"><code>matrix3-mult!</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix3_002drotate"><code>matrix3-rotate</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix3_002drotate_0021"><code>matrix3-rotate!</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix3_002dscale"><code>matrix3-scale</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix3_002dscale_0021"><code>matrix3-scale!</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix3_002dtransform"><code>matrix3-transform</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix3_002dtransform_0021"><code>matrix3-transform!</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix3_002dtranslate"><code>matrix3-translate</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix3_002dtranslate_0021"><code>matrix3-translate!</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix3_003d"><code>matrix3=</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix3_003f"><code>matrix3?</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix4_002a"><code>matrix4*</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix4_002d2d_002dtransform_0021"><code>matrix4-2d-transform!</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix4_002dcopy"><code>matrix4-copy</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix4_002dcopy_0021"><code>matrix4-copy!</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix4_002didentity_0021"><code>matrix4-identity!</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix4_002dinverse"><code>matrix4-inverse</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix4_002dinverse_0021"><code>matrix4-inverse!</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix4_002dmult_0021"><code>matrix4-mult!</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix4_002drotate"><code>matrix4-rotate</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix4_002drotate_0021"><code>matrix4-rotate!</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix4_002drotate_002dz"><code>matrix4-rotate-z</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix4_002drotate_002dz_0021"><code>matrix4-rotate-z!</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix4_002dscale"><code>matrix4-scale</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix4_002dscale_0021"><code>matrix4-scale!</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix4_002dtransform_0021"><code>matrix4-transform!</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix4_002dtranslate"><code>matrix4-translate</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix4_002dtranslate_0021"><code>matrix4-translate!</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix4_003d"><code>matrix4=</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-matrix4_003f"><code>matrix4?</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Manipulation.html#index-maximize_002dwindow_0021"><code>maximize-window!</code></a>:</td><td> </td><td valign="top"><a href="Window-Manipulation.html">Window Manipulation</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-mesh_002dname"><code>mesh-name</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-mesh_002dprimitives"><code>mesh-primitives</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-mesh_003f"><code>mesh?</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Manipulation.html#index-minimize_002dwindow_0021"><code>minimize-window!</code></a>:</td><td> </td><td valign="top"><a href="Window-Manipulation.html">Window Manipulation</a></td></tr> -<tr><td></td><td valign="top"><a href="Models.html#index-model_003f"><code>model?</code></a>:</td><td> </td><td valign="top"><a href="Models.html">Models</a></td></tr> -<tr><td></td><td valign="top"><a href="Input-Devices.html#index-mouse_002dbutton_002dpressed_003f"><code>mouse-button-pressed?</code></a>:</td><td> </td><td valign="top"><a href="Input-Devices.html">Input Devices</a></td></tr> -<tr><td></td><td valign="top"><a href="Input-Devices.html#index-mouse_002dbutton_002dreleased_003f"><code>mouse-button-released?</code></a>:</td><td> </td><td valign="top"><a href="Input-Devices.html">Input Devices</a></td></tr> -<tr><td></td><td valign="top"><a href="Input-Devices.html#index-mouse_002dx"><code>mouse-x</code></a>:</td><td> </td><td valign="top"><a href="Input-Devices.html">Input Devices</a></td></tr> -<tr><td></td><td valign="top"><a href="Input-Devices.html#index-mouse_002dy"><code>mouse-y</code></a>:</td><td> </td><td valign="top"><a href="Input-Devices.html">Input Devices</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-move_002dto"><code>move-to</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_letter-N">N</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-no_002dcull_002dface_002dmode"><code>no-cull-face-mode</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-null_002dbuffer"><code>null-buffer</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Framebuffers.html#index-null_002dframebuffer"><code>null-framebuffer</code></a>:</td><td> </td><td valign="top"><a href="Framebuffers.html">Framebuffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-null_002dshader"><code>null-shader</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-null_002dvertex_002darray"><code>null-vertex-array</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_letter-O">O</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-object_002dlayer_002dname"><code>object-layer-name</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-object_002dlayer_002dobjects"><code>object-layer-objects</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-object_002dlayer_002dproperties"><code>object-layer-properties</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-object_002dlayer_003f"><code>object-layer?</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-orthographic_002dprojection"><code>orthographic-projection</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_letter-P">P</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-pad"><code>pad</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Particles.html#index-particle_002demitter_002ddone_003f"><code>particle-emitter-done?</code></a>:</td><td> </td><td valign="top"><a href="Particles.html">Particles</a></td></tr> -<tr><td></td><td valign="top"><a href="Particles.html#index-particle_002demitter_002dlife"><code>particle-emitter-life</code></a>:</td><td> </td><td valign="top"><a href="Particles.html">Particles</a></td></tr> -<tr><td></td><td valign="top"><a href="Particles.html#index-particle_002demitter_002drate"><code>particle-emitter-rate</code></a>:</td><td> </td><td valign="top"><a href="Particles.html">Particles</a></td></tr> -<tr><td></td><td valign="top"><a href="Particles.html#index-particle_002demitter_002dspawn_002darea"><code>particle-emitter-spawn-area</code></a>:</td><td> </td><td valign="top"><a href="Particles.html">Particles</a></td></tr> -<tr><td></td><td valign="top"><a href="Particles.html#index-particle_002demitter_003f"><code>particle-emitter?</code></a>:</td><td> </td><td valign="top"><a href="Particles.html">Particles</a></td></tr> -<tr><td></td><td valign="top"><a href="Particles.html#index-particles_003f"><code>particles?</code></a>:</td><td> </td><td valign="top"><a href="Particles.html">Particles</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-path"><code>path</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Path-Finding.html#index-path_002dfinder_003f"><code>path-finder?</code></a>:</td><td> </td><td valign="top"><a href="Path-Finding.html">Path Finding</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-pbr_002dproperties_002dalpha_002dcutoff"><code>pbr-properties-alpha-cutoff</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-pbr_002dproperties_002dalpha_002dmode"><code>pbr-properties-alpha-mode</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-pbr_002dproperties_002dbase_002dcolor_002dfactor"><code>pbr-properties-base-color-factor</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-pbr_002dproperties_002dbase_002dcolor_002dtexcoord"><code>pbr-properties-base-color-texcoord</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-pbr_002dproperties_002demissive_002dfactor"><code>pbr-properties-emissive-factor</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-pbr_002dproperties_002demissive_002dtexcoord"><code>pbr-properties-emissive-texcoord</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-pbr_002dproperties_002dmetallic_002dfactor"><code>pbr-properties-metallic-factor</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-pbr_002dproperties_002dmetallic_002droughness_002dtexcoord"><code>pbr-properties-metallic-roughness-texcoord</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-pbr_002dproperties_002dnormal_002dtexcoord"><code>pbr-properties-normal-texcoord</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-pbr_002dproperties_002docclusion_002dtexcoord"><code>pbr-properties-occlusion-texcoord</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-pbr_002dproperties_002droughness"><code>pbr-properties-roughness</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-pbr_002dproperties_003f"><code>pbr-properties?</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Matrices.html#index-perspective_002dprojection"><code>perspective-projection</code></a>:</td><td> </td><td valign="top"><a href="Matrices.html">Matrices</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-phong_002dproperties_002dambient"><code>phong-properties-ambient</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-phong_002dproperties_002ddiffuse"><code>phong-properties-diffuse</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-phong_002dproperties_002dshininess"><code>phong-properties-shininess</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-phong_002dproperties_002dspecular"><code>phong-properties-specular</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-phong_002dproperties_003f"><code>phong-properties?</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Basics.html#index-pi"><code>pi</code></a>:</td><td> </td><td valign="top"><a href="Basics.html">Basics</a></td></tr> -<tr><td></td><td valign="top"><a href="Basics.html#index-pi_002f2"><code>pi/2</code></a>:</td><td> </td><td valign="top"><a href="Basics.html">Basics</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-point_002d_003etile"><code>point->tile</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Lights.html#index-point_002dlight_003f"><code>point-light?</code></a>:</td><td> </td><td valign="top"><a href="Lights.html">Lights</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-point_002dpolygon_002dmode"><code>point-polygon-mode</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-polygon_002dmode_003f"><code>polygon-mode?</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-polygon_002dpoints"><code>polygon-points</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-polygon_003f"><code>polygon?</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-polyline"><code>polyline</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-primitive_002dmaterial"><code>primitive-material</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-primitive_002dname"><code>primitive-name</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-primitive_002dvertex_002darray"><code>primitive-vertex-array</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td></td><td valign="top"><a href="Meshes.html#index-primitive_003f"><code>primitive?</code></a>:</td><td> </td><td valign="top"><a href="Meshes.html">Meshes</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_letter-Q">Q</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Quadtrees.html#index-quadtree_002dbounds"><code>quadtree-bounds</code></a>:</td><td> </td><td valign="top"><a href="Quadtrees.html">Quadtrees</a></td></tr> -<tr><td></td><td valign="top"><a href="Quadtrees.html#index-quadtree_002dclear_0021"><code>quadtree-clear!</code></a>:</td><td> </td><td valign="top"><a href="Quadtrees.html">Quadtrees</a></td></tr> -<tr><td></td><td valign="top"><a href="Quadtrees.html#index-quadtree_002ddelete_0021"><code>quadtree-delete!</code></a>:</td><td> </td><td valign="top"><a href="Quadtrees.html">Quadtrees</a></td></tr> -<tr><td></td><td valign="top"><a href="Quadtrees.html#index-quadtree_002ddepth"><code>quadtree-depth</code></a>:</td><td> </td><td valign="top"><a href="Quadtrees.html">Quadtrees</a></td></tr> -<tr><td></td><td valign="top"><a href="Quadtrees.html#index-quadtree_002dfind"><code>quadtree-find</code></a>:</td><td> </td><td valign="top"><a href="Quadtrees.html">Quadtrees</a></td></tr> -<tr><td></td><td valign="top"><a href="Quadtrees.html#index-quadtree_002dfold"><code>quadtree-fold</code></a>:</td><td> </td><td valign="top"><a href="Quadtrees.html">Quadtrees</a></td></tr> -<tr><td></td><td valign="top"><a href="Quadtrees.html#index-quadtree_002dfor_002deach"><code>quadtree-for-each</code></a>:</td><td> </td><td valign="top"><a href="Quadtrees.html">Quadtrees</a></td></tr> -<tr><td></td><td valign="top"><a href="Quadtrees.html#index-quadtree_002dinsert_0021"><code>quadtree-insert!</code></a>:</td><td> </td><td valign="top"><a href="Quadtrees.html">Quadtrees</a></td></tr> -<tr><td></td><td valign="top"><a href="Quadtrees.html#index-quadtree_002dleaf_003f"><code>quadtree-leaf?</code></a>:</td><td> </td><td valign="top"><a href="Quadtrees.html">Quadtrees</a></td></tr> -<tr><td></td><td valign="top"><a href="Quadtrees.html#index-quadtree_002dmax_002ddepth"><code>quadtree-max-depth</code></a>:</td><td> </td><td valign="top"><a href="Quadtrees.html">Quadtrees</a></td></tr> -<tr><td></td><td valign="top"><a href="Quadtrees.html#index-quadtree_002dmax_002dsize"><code>quadtree-max-size</code></a>:</td><td> </td><td valign="top"><a href="Quadtrees.html">Quadtrees</a></td></tr> -<tr><td></td><td valign="top"><a href="Quadtrees.html#index-quadtree_002dq1"><code>quadtree-q1</code></a>:</td><td> </td><td valign="top"><a href="Quadtrees.html">Quadtrees</a></td></tr> -<tr><td></td><td valign="top"><a href="Quadtrees.html#index-quadtree_002dq2"><code>quadtree-q2</code></a>:</td><td> </td><td valign="top"><a href="Quadtrees.html">Quadtrees</a></td></tr> -<tr><td></td><td valign="top"><a href="Quadtrees.html#index-quadtree_002dq3"><code>quadtree-q3</code></a>:</td><td> </td><td valign="top"><a href="Quadtrees.html">Quadtrees</a></td></tr> -<tr><td></td><td valign="top"><a href="Quadtrees.html#index-quadtree_002dq4"><code>quadtree-q4</code></a>:</td><td> </td><td valign="top"><a href="Quadtrees.html">Quadtrees</a></td></tr> -<tr><td></td><td valign="top"><a href="Quadtrees.html#index-quadtree_002dsize"><code>quadtree-size</code></a>:</td><td> </td><td valign="top"><a href="Quadtrees.html">Quadtrees</a></td></tr> -<tr><td></td><td valign="top"><a href="Quadtrees.html#index-quadtree_003f"><code>quadtree?</code></a>:</td><td> </td><td valign="top"><a href="Quadtrees.html">Quadtrees</a></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-quaternion"><code>quaternion</code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html">Quaternions</a></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-quaternion_002dw"><code>quaternion-w</code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html">Quaternions</a></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-quaternion_002dx"><code>quaternion-x</code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html">Quaternions</a></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-quaternion_002dy"><code>quaternion-y</code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html">Quaternions</a></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-quaternion_002dz"><code>quaternion-z</code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html">Quaternions</a></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-quaternion_003f"><code>quaternion?</code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html">Quaternions</a></td></tr> -<tr><td></td><td valign="top"><a href="Queues.html#index-queue_002dclear_0021"><code>queue-clear!</code></a>:</td><td> </td><td valign="top"><a href="Queues.html">Queues</a></td></tr> -<tr><td></td><td valign="top"><a href="Queues.html#index-queue_002dempty_003f"><code>queue-empty?</code></a>:</td><td> </td><td valign="top"><a href="Queues.html">Queues</a></td></tr> -<tr><td></td><td valign="top"><a href="Queues.html#index-queue_002dlength"><code>queue-length</code></a>:</td><td> </td><td valign="top"><a href="Queues.html">Queues</a></td></tr> -<tr><td></td><td valign="top"><a href="Queues.html#index-queue_003f"><code>queue?</code></a>:</td><td> </td><td valign="top"><a href="Queues.html">Queues</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_letter-R">R</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-radial_002dgradient"><code>radial-gradient</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Basics.html#index-radians_002d_003edegrees"><code>radians->degrees</code></a>:</td><td> </td><td valign="top"><a href="Basics.html">Basics</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Manipulation.html#index-raise_002dwindow_0021"><code>raise-window!</code></a>:</td><td> </td><td valign="top"><a href="Window-Manipulation.html">Window Manipulation</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect"><code>rect</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002darea"><code>rect-area</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dbottom"><code>rect-bottom</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dcenter_002dx"><code>rect-center-x</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dcenter_002dy"><code>rect-center-y</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dclamp"><code>rect-clamp</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dclamp_0021"><code>rect-clamp!</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dclamp_002dx"><code>rect-clamp-x</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dclamp_002dy"><code>rect-clamp-y</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dclip"><code>rect-clip</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dclip_0021"><code>rect-clip!</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dcontains_002dvec2_003f"><code>rect-contains-vec2?</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dcontains_003f"><code>rect-contains?</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dheight"><code>rect-height</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dinflate"><code>rect-inflate</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dinflate_0021"><code>rect-inflate!</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dintersects_003f"><code>rect-intersects?</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dleft"><code>rect-left</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dmove"><code>rect-move</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dmove_0021"><code>rect-move!</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dmove_002dby"><code>rect-move-by</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dmove_002dby_0021"><code>rect-move-by!</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dmove_002dby_002dvec2"><code>rect-move-by-vec2</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dmove_002dby_002dvec2_0021"><code>rect-move-by-vec2!</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dmove_002dvec2"><code>rect-move-vec2</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dmove_002dvec2_0021"><code>rect-move-vec2!</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dright"><code>rect-right</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dtop"><code>rect-top</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dunion"><code>rect-union</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dunion_0021"><code>rect-union!</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dwidth"><code>rect-width</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dwithin_003f"><code>rect-within?</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dx"><code>rect-x</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dy"><code>rect-y</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_003f"><code>rect?</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-rectangle"><code>rectangle</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-red"><code>red</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-regular_002dpolygon"><code>regular-polygon</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Particles.html#index-remove_002dparticle_002demitter"><code>remove-particle-emitter</code></a>:</td><td> </td><td valign="top"><a href="Particles.html">Particles</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Manipulation.html#index-restore_002dwindow_0021"><code>restore-window!</code></a>:</td><td> </td><td valign="top"><a href="Window-Manipulation.html">Window Manipulation</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-rgb"><code>rgb</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-rgba"><code>rgba</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-right_002dsplit"><code>right-split</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-rotate"><code>rotate</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-rounded_002drectangle"><code>rounded-rectangle</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="The-Game-Loop.html#index-run_002dgame"><code>run-game</code></a>:</td><td> </td><td valign="top"><a href="The-Game-Loop.html">The Game Loop</a></td></tr> -<tr><td></td><td valign="top"><a href="The-Game-Loop.html#index-run_002dgame_002a"><code>run-game*</code></a>:</td><td> </td><td valign="top"><a href="The-Game-Loop.html">The Game Loop</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_letter-S">S</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-sampler_002d2d"><code>sampler-2d</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-sampler_002dcube"><code>sampler-cube</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-scale"><code>scale</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-schedule_002dafter"><code>schedule-after</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html">Agendas</a></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-schedule_002dat"><code>schedule-at</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html">Agendas</a></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-schedule_002devery"><code>schedule-every</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html">Agendas</a></td></tr> -<tr><td></td><td valign="top"><a href="Scripts.html#index-script"><code>script</code></a>:</td><td> </td><td valign="top"><a href="Scripts.html">Scripts</a></td></tr> -<tr><td></td><td valign="top"><a href="Scripts.html#index-script_002dcancelled_003f"><code>script-cancelled?</code></a>:</td><td> </td><td valign="top"><a href="Scripts.html">Scripts</a></td></tr> -<tr><td></td><td valign="top"><a href="Scripts.html#index-script_002dcomplete_003f"><code>script-complete?</code></a>:</td><td> </td><td valign="top"><a href="Scripts.html">Scripts</a></td></tr> -<tr><td></td><td valign="top"><a href="Scripts.html#index-script_002drunning_003f"><code>script-running?</code></a>:</td><td> </td><td valign="top"><a href="Scripts.html">Scripts</a></td></tr> -<tr><td></td><td valign="top"><a href="Scripts.html#index-script_003f"><code>script?</code></a>:</td><td> </td><td valign="top"><a href="Scripts.html">Scripts</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-set_002dcanvas_002dmatrix_0021"><code>set-canvas-matrix!</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-set_002dcanvas_002dpainter_0021"><code>set-canvas-painter!</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="The-Environment.html#index-set_002ddistance_002dmodel_0021"><code>set-distance-model!</code></a>:</td><td> </td><td valign="top"><a href="The-Environment.html">The Environment</a></td></tr> -<tr><td></td><td valign="top"><a href="The-Environment.html#index-set_002ddoppler_002dfactor_0021"><code>set-doppler-factor!</code></a>:</td><td> </td><td valign="top"><a href="The-Environment.html">The Environment</a></td></tr> -<tr><td></td><td valign="top"><a href="Lights.html#index-set_002dlight_002dcolor_0021"><code>set-light-color!</code></a>:</td><td> </td><td valign="top"><a href="Lights.html">Lights</a></td></tr> -<tr><td></td><td valign="top"><a href="Lights.html#index-set_002dlight_002dcut_002doff_0021"><code>set-light-cut-off!</code></a>:</td><td> </td><td valign="top"><a href="Lights.html">Lights</a></td></tr> -<tr><td></td><td valign="top"><a href="Lights.html#index-set_002dlight_002ddirection_0021"><code>set-light-direction!</code></a>:</td><td> </td><td valign="top"><a href="Lights.html">Lights</a></td></tr> -<tr><td></td><td valign="top"><a href="Lights.html#index-set_002dlight_002dposition_0021"><code>set-light-position!</code></a>:</td><td> </td><td valign="top"><a href="Lights.html">Lights</a></td></tr> -<tr><td></td><td valign="top"><a href="The-Listener.html#index-set_002dlistener_002dorientation_0021"><code>set-listener-orientation!</code></a>:</td><td> </td><td valign="top"><a href="The-Listener.html">The Listener</a></td></tr> -<tr><td></td><td valign="top"><a href="The-Listener.html#index-set_002dlistener_002dposition_0021"><code>set-listener-position!</code></a>:</td><td> </td><td valign="top"><a href="The-Listener.html">The Listener</a></td></tr> -<tr><td></td><td valign="top"><a href="The-Listener.html#index-set_002dlistener_002dvelocity_0021"><code>set-listener-velocity!</code></a>:</td><td> </td><td valign="top"><a href="The-Listener.html">The Listener</a></td></tr> -<tr><td></td><td valign="top"><a href="The-Listener.html#index-set_002dlistener_002dvolume_0021"><code>set-listener-volume!</code></a>:</td><td> </td><td valign="top"><a href="The-Listener.html">The Listener</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-set_002drect_002dheight_0021"><code>set-rect-height!</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-set_002drect_002dwidth_0021"><code>set-rect-width!</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-set_002drect_002dx_0021"><code>set-rect-x!</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-set_002drect_002dy_0021"><code>set-rect-y!</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-set_002dsource_002daudio_0021"><code>set-source-audio!</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-set_002dsource_002dcone_002dinner_002dangle_0021"><code>set-source-cone-inner-angle!</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-set_002dsource_002dcone_002douter_002dangle_0021"><code>set-source-cone-outer-angle!</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-set_002dsource_002dcone_002douter_002dvolume_0021"><code>set-source-cone-outer-volume!</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-set_002dsource_002ddirection_0021"><code>set-source-direction!</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-set_002dsource_002dloop_0021"><code>set-source-loop!</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-set_002dsource_002dmax_002ddistance_0021"><code>set-source-max-distance!</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-set_002dsource_002dmax_002dvolume_0021"><code>set-source-max-volume!</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-set_002dsource_002dmin_002dvolume_0021"><code>set-source-min-volume!</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-set_002dsource_002dpitch_0021"><code>set-source-pitch!</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-set_002dsource_002dposition_0021"><code>set-source-position!</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-set_002dsource_002dreference_002ddistance_0021"><code>set-source-reference-distance!</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-set_002dsource_002drelative_0021"><code>set-source-relative!</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-set_002dsource_002drolloff_002dfactor_0021"><code>set-source-rolloff-factor!</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-set_002dsource_002dvelocity_0021"><code>set-source-velocity!</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-set_002dsource_002dvolume_0021"><code>set-source-volume!</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="The-Environment.html#index-set_002dspeed_002dof_002dsound_0021"><code>set-speed-of-sound!</code></a>:</td><td> </td><td valign="top"><a href="The-Environment.html">The Environment</a></td></tr> -<tr><td></td><td valign="top"><a href="Sprites.html#index-set_002dsprite_002dbatch_002dtexture_0021"><code>set-sprite-batch-texture!</code></a>:</td><td> </td><td valign="top"><a href="Sprites.html">Sprites</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-set_002dvec2_0021"><code>set-vec2!</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-set_002dvec2_002dx_0021"><code>set-vec2-x!</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-set_002dvec2_002dy_0021"><code>set-vec2-y!</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-set_002dvec3_0021"><code>set-vec3!</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-set_002dvec3_002dx_0021"><code>set-vec3-x!</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-set_002dvec3_002dy_0021"><code>set-vec3-y!</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-set_002dvec3_002dz_0021"><code>set-vec3-z!</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Manipulation.html#index-set_002dwindow_002dborder_0021"><code>set-window-border!</code></a>:</td><td> </td><td valign="top"><a href="Window-Manipulation.html">Window Manipulation</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Manipulation.html#index-set_002dwindow_002dfullscreen_0021"><code>set-window-fullscreen!</code></a>:</td><td> </td><td valign="top"><a href="Window-Manipulation.html">Window Manipulation</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Manipulation.html#index-set_002dwindow_002dposition_0021"><code>set-window-position!</code></a>:</td><td> </td><td valign="top"><a href="Window-Manipulation.html">Window Manipulation</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Manipulation.html#index-set_002dwindow_002dsize_0021"><code>set-window-size!</code></a>:</td><td> </td><td valign="top"><a href="Window-Manipulation.html">Window Manipulation</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Manipulation.html#index-set_002dwindow_002dtitle_0021"><code>set-window-title!</code></a>:</td><td> </td><td valign="top"><a href="Window-Manipulation.html">Window Manipulation</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering-Engine.html#index-shader_002dapply"><code>shader-apply</code></a>:</td><td> </td><td valign="top"><a href="Rendering-Engine.html">Rendering Engine</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering-Engine.html#index-shader_002dapply_002a"><code>shader-apply*</code></a>:</td><td> </td><td valign="top"><a href="Rendering-Engine.html">Rendering Engine</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering-Engine.html#index-shader_002dapply_002finstanced"><code>shader-apply/instanced</code></a>:</td><td> </td><td valign="top"><a href="Rendering-Engine.html">Rendering Engine</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering-Engine.html#index-shader_002dapply_002finstanced-1"><code>shader-apply/instanced</code></a>:</td><td> </td><td valign="top"><a href="Rendering-Engine.html">Rendering Engine</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-shader_002dattributes"><code>shader-attributes</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-shader_002ddata_002dtype_003f"><code>shader-data-type?</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-shader_002duniform"><code>shader-uniform</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-shader_002duniform_002dset_0021"><code>shader-uniform-set!</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-shader_002duniforms"><code>shader-uniforms</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-shader_003f"><code>shader?</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Manipulation.html#index-show_002dwindow_0021"><code>show-window!</code></a>:</td><td> </td><td valign="top"><a href="Window-Manipulation.html">Window Manipulation</a></td></tr> -<tr><td></td><td valign="top"><a href="Skyboxes.html#index-skybox_002dcube_002dmap"><code>skybox-cube-map</code></a>:</td><td> </td><td valign="top"><a href="Skyboxes.html">Skyboxes</a></td></tr> -<tr><td></td><td valign="top"><a href="Skyboxes.html#index-skybox_003f"><code>skybox?</code></a>:</td><td> </td><td valign="top"><a href="Skyboxes.html">Skyboxes</a></td></tr> -<tr><td></td><td valign="top"><a href="Scripts.html#index-sleep"><code>sleep</code></a>:</td><td> </td><td valign="top"><a href="Scripts.html">Scripts</a></td></tr> -<tr><td></td><td valign="top"><a href="Grids.html#index-slide"><code>slide</code></a>:</td><td> </td><td valign="top"><a href="Grids.html">Grids</a></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-smoothstep"><code>smoothstep</code></a>:</td><td> </td><td valign="top"><a href="Easings.html">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-source_002dcone_002dinner_002dangle"><code>source-cone-inner-angle</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-source_002dcone_002douter_002dangle"><code>source-cone-outer-angle</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-source_002dcone_002douter_002dvolume"><code>source-cone-outer-volume</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-source_002ddirection"><code>source-direction</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-source_002dmax_002ddistance"><code>source-max-distance</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-source_002dmax_002dvolume"><code>source-max-volume</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-source_002dmin_002dvolume"><code>source-min-volume</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-source_002dpause"><code>source-pause</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-source_002dpaused_003f"><code>source-paused?</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-source_002dpitch"><code>source-pitch</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-source_002dplay"><code>source-play</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-source_002dplaying_003f"><code>source-playing?</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-source_002dposition"><code>source-position</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-source_002dreference_002ddistance"><code>source-reference-distance</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-source_002drelative_003f"><code>source-relative?</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-source_002drewind"><code>source-rewind</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-source_002drolloff_002dfactor"><code>source-rolloff-factor</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-source_002dstop"><code>source-stop</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-source_002dstopped_003f"><code>source-stopped?</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-source_002dtoggle"><code>source-toggle</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-source_002dvelocity"><code>source-velocity</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-source_002dvolume"><code>source-volume</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-source_003f"><code>source?</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Scripts.html#index-spawn_002dscript"><code>spawn-script</code></a>:</td><td> </td><td valign="top"><a href="Scripts.html">Scripts</a></td></tr> -<tr><td></td><td valign="top"><a href="The-Environment.html#index-speed_002dof_002dsound"><code>speed-of-sound</code></a>:</td><td> </td><td valign="top"><a href="The-Environment.html">The Environment</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-split_002dtexture"><code>split-texture</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Lights.html#index-spot_002dlight_003f"><code>spot-light?</code></a>:</td><td> </td><td valign="top"><a href="Lights.html">Lights</a></td></tr> -<tr><td></td><td valign="top"><a href="Sprites.html#index-sprite_002dbatch_002dadd_0021"><code>sprite-batch-add!</code></a>:</td><td> </td><td valign="top"><a href="Sprites.html">Sprites</a></td></tr> -<tr><td></td><td valign="top"><a href="Sprites.html#index-sprite_002dbatch_002dclear_0021"><code>sprite-batch-clear!</code></a>:</td><td> </td><td valign="top"><a href="Sprites.html">Sprites</a></td></tr> -<tr><td></td><td valign="top"><a href="Sprites.html#index-sprite_002dbatch_002dtexture"><code>sprite-batch-texture</code></a>:</td><td> </td><td valign="top"><a href="Sprites.html">Sprites</a></td></tr> -<tr><td></td><td valign="top"><a href="Sprites.html#index-sprite_002dbatch_003f"><code>sprite-batch?</code></a>:</td><td> </td><td valign="top"><a href="Sprites.html">Sprites</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-square"><code>square</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Audio-Files.html#index-static_002daudio_003f"><code>static-audio?</code></a>:</td><td> </td><td valign="top"><a href="Audio-Files.html">Audio Files</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-static_002dsource_003f"><code>static-source?</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-stencil_002dtest_002dfunction_002dback"><code>stencil-test-function-back</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-stencil_002dtest_002dfunction_002dfront"><code>stencil-test-function-front</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-stencil_002dtest_002dfunction_002dmask_002dback"><code>stencil-test-function-mask-back</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-stencil_002dtest_002dfunction_002dmask_002dfront"><code>stencil-test-function-mask-front</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-stencil_002dtest_002dmask_002dback"><code>stencil-test-mask-back</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-stencil_002dtest_002dmask_002dfront"><code>stencil-test-mask-front</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-stencil_002dtest_002don_002ddepth_002dfail_002dback"><code>stencil-test-on-depth-fail-back</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-stencil_002dtest_002don_002ddepth_002dfail_002dfront"><code>stencil-test-on-depth-fail-front</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-stencil_002dtest_002don_002dfail_002dback"><code>stencil-test-on-fail-back</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-stencil_002dtest_002don_002dfail_002dfront"><code>stencil-test-on-fail-front</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-stencil_002dtest_002don_002dpass_002dback"><code>stencil-test-on-pass-back</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-stencil_002dtest_002don_002dpass_002dfront"><code>stencil-test-on-pass-front</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-stencil_002dtest_002dreference_002dback"><code>stencil-test-reference-back</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-stencil_002dtest_002dreference_002dfront"><code>stencil-test-reference-front</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Render-Settings.html#index-stencil_002dtest_003f"><code>stencil-test?</code></a>:</td><td> </td><td valign="top"><a href="Render-Settings.html">Render Settings</a></td></tr> -<tr><td></td><td valign="top"><a href="Audio-Files.html#index-streaming_002daudio_003f"><code>streaming-audio?</code></a>:</td><td> </td><td valign="top"><a href="Audio-Files.html">Audio Files</a></td></tr> -<tr><td></td><td valign="top"><a href="Sources.html#index-streaming_002dsource_003f"><code>streaming-source?</code></a>:</td><td> </td><td valign="top"><a href="Sources.html">Sources</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-string_002d_003ecolor"><code>string->color</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-strings_002d_003eshader"><code>strings->shader</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-stroke"><code>stroke</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-superimpose"><code>superimpose</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_letter-T">T</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002daluminium_002d1"><code>tango-aluminium-1</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002daluminium_002d2"><code>tango-aluminium-2</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002daluminium_002d3"><code>tango-aluminium-3</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002daluminium_002d4"><code>tango-aluminium-4</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002daluminium_002d5"><code>tango-aluminium-5</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002daluminium_002d6"><code>tango-aluminium-6</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002dbutter"><code>tango-butter</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002dchameleon"><code>tango-chameleon</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002dchocolate"><code>tango-chocolate</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002ddark_002dbutter"><code>tango-dark-butter</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002ddark_002dchameleon"><code>tango-dark-chameleon</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002ddark_002dchocolate"><code>tango-dark-chocolate</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002ddark_002dorange"><code>tango-dark-orange</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002ddark_002dplum"><code>tango-dark-plum</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002ddark_002dscarlet_002dred"><code>tango-dark-scarlet-red</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002ddark_002dsky_002dblue"><code>tango-dark-sky-blue</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002dlight_002dbutter"><code>tango-light-butter</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002dlight_002dchameleon"><code>tango-light-chameleon</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002dlight_002dchocolate"><code>tango-light-chocolate</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002dlight_002dorange"><code>tango-light-orange</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002dlight_002dplum"><code>tango-light-plum</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002dlight_002dscarlet_002dred"><code>tango-light-scarlet-red</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002dlight_002dsky_002dblue"><code>tango-light-sky-blue</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002dorange"><code>tango-orange</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002dplum"><code>tango-plum</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002dscarlet_002dred"><code>tango-scarlet-red</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-tango_002dsky_002dblue"><code>tango-sky-blue</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Basics.html#index-tau"><code>tau</code></a>:</td><td> </td><td valign="top"><a href="Basics.html">Basics</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-texture_002datlas_002dref"><code>texture-atlas-ref</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-texture_002datlas_002dtexture"><code>texture-atlas-texture</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-texture_002datlas_003f"><code>texture-atlas?</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-texture_002dheight"><code>texture-height</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-texture_002dmag_002dfilter"><code>texture-mag-filter</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-texture_002dmin_002dfilter"><code>texture-min-filter</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-texture_002dparent"><code>texture-parent</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-texture_002dregion_003f"><code>texture-region?</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-texture_002dwidth"><code>texture-width</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-texture_002dwrap_002ds"><code>texture-wrap-s</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-texture_002dwrap_002dt"><code>texture-wrap-t</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Textures.html#index-texture_003f"><code>texture?</code></a>:</td><td> </td><td valign="top"><a href="Textures.html">Textures</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tile_002danimation"><code>tile-animation</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tile_002did"><code>tile-id</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tile_002dlayer_002dheight"><code>tile-layer-height</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tile_002dlayer_002dname"><code>tile-layer-name</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tile_002dlayer_002dproperties"><code>tile-layer-properties</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tile_002dlayer_002dtiles"><code>tile-layer-tiles</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tile_002dlayer_002dwidth"><code>tile-layer-width</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tile_002dlayer_003f"><code>tile-layer?</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tile_002dmap_002dheight"><code>tile-map-height</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tile_002dmap_002dlayers"><code>tile-map-layers</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tile_002dmap_002dorientation"><code>tile-map-orientation</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tile_002dmap_002dproperties"><code>tile-map-properties</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tile_002dmap_002dtile_002dheight"><code>tile-map-tile-height</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tile_002dmap_002dtile_002dwidth"><code>tile-map-tile-width</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tile_002dmap_002dtilesets"><code>tile-map-tilesets</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tile_002dmap_002dwidth"><code>tile-map-width</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tile_002dmap_003f"><code>tile-map?</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tile_002dproperties"><code>tile-properties</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tile_003f"><code>tile?</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tileset_002datlas"><code>tileset-atlas</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tileset_002dcolumns"><code>tileset-columns</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tileset_002dfirst_002dgid"><code>tileset-first-gid</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tileset_002dname"><code>tileset-name</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tileset_002dproperties"><code>tileset-properties</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tileset_002drows"><code>tileset-rows</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tileset_002dsize"><code>tileset-size</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tileset_002dtile_002dheight"><code>tileset-tile-height</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tileset_002dtile_002dwidth"><code>tileset-tile-width</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tileset_002dtiles"><code>tileset-tiles</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Tile-Maps.html#index-tileset_003f"><code>tileset?</code></a>:</td><td> </td><td valign="top"><a href="Tile-Maps.html">Tile Maps</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-transform"><code>transform</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-translate"><code>translate</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-transparency"><code>transparency</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Tweening.html#index-tween"><code>tween</code></a>:</td><td> </td><td valign="top"><a href="Tweening.html">Tweening</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_letter-U">U</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-uniform_002dname"><code>uniform-name</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-uniform_002dtype"><code>uniform-type</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-uniform_002dvalue"><code>uniform-value</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-uniform_003f"><code>uniform?</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Shaders.html#index-unsigned_002dint"><code>unsigned-int</code></a>:</td><td> </td><td valign="top"><a href="Shaders.html">Shaders</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-up_002dsplit"><code>up-split</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-update_002dagenda"><code>update-agenda</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html">Agendas</a></td></tr> -<tr><td></td><td valign="top"><a href="Particles.html#index-update_002dparticles"><code>update-particles</code></a>:</td><td> </td><td valign="top"><a href="Particles.html">Particles</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_letter-V">V</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec2"><code>vec2</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec2_002a"><code>vec2*</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec2_002b"><code>vec2+</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec2_002d"><code>vec2-</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec2_002dadd_0021"><code>vec2-add!</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-vec2_002dclamp_002dto_002drect_0021"><code>vec2-clamp-to-rect!</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec2_002dcopy"><code>vec2-copy</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec2_002dcopy_0021"><code>vec2-copy!</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec2_002ddot"><code>vec2-dot</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec2_002dmagnitude"><code>vec2-magnitude</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec2_002dmult_0021"><code>vec2-mult!</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec2_002dnormalize"><code>vec2-normalize</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec2_002dsub_0021"><code>vec2-sub!</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec2_002dx"><code>vec2-x</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec2_002dy"><code>vec2-y</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec2_002fpolar"><code>vec2/polar</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec2_003f"><code>vec2?</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec3"><code>vec3</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec3_002a"><code>vec3*</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec3_002b"><code>vec3+</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec3_002d"><code>vec3-</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec3_002dadd_0021"><code>vec3-add!</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec3_002dcopy"><code>vec3-copy</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec3_002dcopy_0021"><code>vec3-copy!</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec3_002dcross"><code>vec3-cross</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec3_002dcross_0021"><code>vec3-cross!</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec3_002ddot"><code>vec3-dot</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec3_002dmagnitude"><code>vec3-magnitude</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec3_002dmult_0021"><code>vec3-mult!</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec3_002dnormalize"><code>vec3-normalize</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec3_002dsub_0021"><code>vec3-sub!</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec3_002dx"><code>vec3-x</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec3_002dy"><code>vec3-y</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec3_002dz"><code>vec3-z</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vec3_003f"><code>vec3?</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-vertex_002darray_002dattributes"><code>vertex-array-attributes</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-vertex_002darray_002dindices"><code>vertex-array-indices</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-vertex_002darray_002dmode"><code>vertex-array-mode</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-vertex_002darray_003f"><code>vertex-array?</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-vertex_002dattribute_002d_003ebuffer"><code>vertex-attribute->buffer</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-vertex_002dattribute_002dcomponent_002dtype"><code>vertex-attribute-component-type</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-vertex_002dattribute_002ddivisor"><code>vertex-attribute-divisor</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-vertex_002dattribute_002dname"><code>vertex-attribute-name</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-vertex_002dattribute_002doffset"><code>vertex-attribute-offset</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-vertex_002dattribute_002dtype"><code>vertex-attribute-type</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-vertex_002dattribute_003f"><code>vertex-attribute?</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-vertical_002dflip"><code>vertical-flip</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td></td><td valign="top"><a href="Viewports.html#index-viewport_002dclear_002dcolor"><code>viewport-clear-color</code></a>:</td><td> </td><td valign="top"><a href="Viewports.html">Viewports</a></td></tr> -<tr><td></td><td valign="top"><a href="Viewports.html#index-viewport_002dclear_002dflags"><code>viewport-clear-flags</code></a>:</td><td> </td><td valign="top"><a href="Viewports.html">Viewports</a></td></tr> -<tr><td></td><td valign="top"><a href="Viewports.html#index-viewport_002dheight"><code>viewport-height</code></a>:</td><td> </td><td valign="top"><a href="Viewports.html">Viewports</a></td></tr> -<tr><td></td><td valign="top"><a href="Viewports.html#index-viewport_002dwidth"><code>viewport-width</code></a>:</td><td> </td><td valign="top"><a href="Viewports.html">Viewports</a></td></tr> -<tr><td></td><td valign="top"><a href="Viewports.html#index-viewport_002dx"><code>viewport-x</code></a>:</td><td> </td><td valign="top"><a href="Viewports.html">Viewports</a></td></tr> -<tr><td></td><td valign="top"><a href="Viewports.html#index-viewport_002dy"><code>viewport-y</code></a>:</td><td> </td><td valign="top"><a href="Viewports.html">Viewports</a></td></tr> -<tr><td></td><td valign="top"><a href="Viewports.html#index-viewport_003f"><code>viewport?</code></a>:</td><td> </td><td valign="top"><a href="Viewports.html">Viewports</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_letter-W">W</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Scripts.html#index-wait_002duntil"><code>wait-until</code></a>:</td><td> </td><td valign="top"><a href="Scripts.html">Scripts</a></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-white"><code>white</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Manipulation.html#index-window_002dheight"><code>window-height</code></a>:</td><td> </td><td valign="top"><a href="Window-Manipulation.html">Window Manipulation</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Manipulation.html#index-window_002dtitle"><code>window-title</code></a>:</td><td> </td><td valign="top"><a href="Window-Manipulation.html">Window Manipulation</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Manipulation.html#index-window_002dwidth"><code>window-width</code></a>:</td><td> </td><td valign="top"><a href="Window-Manipulation.html">Window Manipulation</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Manipulation.html#index-window_002dx"><code>window-x</code></a>:</td><td> </td><td valign="top"><a href="Window-Manipulation.html">Window Manipulation</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Manipulation.html#index-window_002dy"><code>window-y</code></a>:</td><td> </td><td valign="top"><a href="Window-Manipulation.html">Window Manipulation</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Manipulation.html#index-window_003f"><code>window?</code></a>:</td><td> </td><td valign="top"><a href="Window-Manipulation.html">Window Manipulation</a></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-with_002dagenda"><code>with-agenda</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html">Agendas</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering-Engine.html#index-with_002dgraphics_002dstate"><code>with-graphics-state</code></a>:</td><td> </td><td valign="top"><a href="Rendering-Engine.html">Rendering Engine</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-with_002dmapped_002dbuffer"><code>with-mapped-buffer</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Buffers.html#index-with_002dmapped_002dvertex_002dattribute"><code>with-mapped-vertex-attribute</code></a>:</td><td> </td><td valign="top"><a href="Buffers.html">Buffers</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering-Engine.html#index-with_002dprojection"><code>with-projection</code></a>:</td><td> </td><td valign="top"><a href="Rendering-Engine.html">Rendering Engine</a></td></tr> -<tr><td></td><td valign="top"><a href="Vector-Paths.html#index-with_002dstyle"><code>with-style</code></a>:</td><td> </td><td valign="top"><a href="Vector-Paths.html">Vector Paths</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -<tr><th id="Index_fn_letter-Y">Y</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Colors.html#index-yellow"><code>yellow</code></a>:</td><td> </td><td valign="top"><a href="Colors.html">Colors</a></td></tr> -<tr><td></td><td valign="top"><a href="Scripts.html#index-yield"><code>yield</code></a>:</td><td> </td><td valign="top"><a href="Scripts.html">Scripts</a></td></tr> -<tr><td colspan="4"> <hr /></td></tr> -</table> -<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Index_fn_symbol-1"><b>%</b></a> - -<br /> -<a class="summary-letter" href="#Index_fn_letter-A"><b>A</b></a> - -<a class="summary-letter" href="#Index_fn_letter-B"><b>B</b></a> - -<a class="summary-letter" href="#Index_fn_letter-C"><b>C</b></a> - -<a class="summary-letter" href="#Index_fn_letter-D"><b>D</b></a> - -<a class="summary-letter" href="#Index_fn_letter-E"><b>E</b></a> - -<a class="summary-letter" href="#Index_fn_letter-F"><b>F</b></a> - -<a class="summary-letter" href="#Index_fn_letter-G"><b>G</b></a> - -<a class="summary-letter" href="#Index_fn_letter-H"><b>H</b></a> - -<a class="summary-letter" href="#Index_fn_letter-I"><b>I</b></a> - -<a class="summary-letter" href="#Index_fn_letter-J"><b>J</b></a> - -<a class="summary-letter" href="#Index_fn_letter-K"><b>K</b></a> - -<a class="summary-letter" href="#Index_fn_letter-L"><b>L</b></a> - -<a class="summary-letter" href="#Index_fn_letter-M"><b>M</b></a> - -<a class="summary-letter" href="#Index_fn_letter-N"><b>N</b></a> - -<a class="summary-letter" href="#Index_fn_letter-O"><b>O</b></a> - -<a class="summary-letter" href="#Index_fn_letter-P"><b>P</b></a> - -<a class="summary-letter" href="#Index_fn_letter-Q"><b>Q</b></a> - -<a class="summary-letter" href="#Index_fn_letter-R"><b>R</b></a> - -<a class="summary-letter" href="#Index_fn_letter-S"><b>S</b></a> - -<a class="summary-letter" href="#Index_fn_letter-T"><b>T</b></a> - -<a class="summary-letter" href="#Index_fn_letter-U"><b>U</b></a> - -<a class="summary-letter" href="#Index_fn_letter-V"><b>V</b></a> - -<a class="summary-letter" href="#Index_fn_letter-W"><b>W</b></a> - -<a class="summary-letter" href="#Index_fn_letter-Y"><b>Y</b></a> - -</td></tr></table> - -<hr /> -<div class="header"> -<p> -Previous: <a href="Copying-This-Manual.html" accesskey="p" rel="prev">Copying This Manual</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Input-Devices.html b/manuals/chickadee/Input-Devices.html deleted file mode 100644 index 93b86d4..0000000 --- a/manuals/chickadee/Input-Devices.html +++ /dev/null @@ -1,156 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Input Devices (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Input Devices (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Input Devices (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Kernel.html" rel="up" title="Kernel" /> -<link href="Window-Manipulation.html" rel="next" title="Window Manipulation" /> -<link href="The-Game-Loop.html" rel="prev" title="The Game Loop" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Input-Devices"></span><div class="header"> -<p> -Next: <a href="Window-Manipulation.html" accesskey="n" rel="next">Window Manipulation</a>, Previous: <a href="The-Game-Loop.html" accesskey="p" rel="prev">The Game Loop</a>, Up: <a href="Kernel.html" accesskey="u" rel="up">Kernel</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Input-Devices-1"></span><h4 class="subsection">5.1.2 Input Devices</h4> - -<p>While <code>run-game</code> provides hooks for mouse/keyboard/controller -input events, it is often necessary to query input devices for their -current state. For example, it could be desirable to query the state -of the arrow keys every time the update hook is called to determine -which direction the player should move that frame. -</p> -<dl> -<dt id="index-key_002dpressed_003f">Procedure: <strong>key-pressed?</strong> <em>key</em></dt> -<dd><p>Return <code>#t</code> if <var>key</var> is currently being pressed. -</p></dd></dl> - -<dl> -<dt id="index-key_002dreleased_003f">Procedure: <strong>key-released?</strong> <em>key</em></dt> -<dd><p>Return <code>#t</code> if <var>key</var> is <em>not</em> currently being pressed. -</p></dd></dl> - -<dl> -<dt id="index-mouse_002dx">Procedure: <strong>mouse-x</strong></dt> -<dd><p>Return the current X coordinate of the mouse cursor. -</p></dd></dl> - -<dl> -<dt id="index-mouse_002dy">Procedure: <strong>mouse-y</strong></dt> -<dd><p>Return the current Y coordinate of the mouse cursor. -</p></dd></dl> - -<dl> -<dt id="index-mouse_002dbutton_002dpressed_003f">Procedure: <strong>mouse-button-pressed?</strong> <em>button</em></dt> -<dd><p>Return <code>#t</code> if <var>button</var> is currently being pressed. -</p></dd></dl> - -<dl> -<dt id="index-mouse_002dbutton_002dreleased_003f">Procedure: <strong>mouse-button-released?</strong> <em>button</em></dt> -<dd><p>Return <code>#t</code> if <var>button</var> is <em>not</em> currently being -pressed. -</p></dd></dl> - -<dl> -<dt id="index-controller_002daxis">Procedure: <strong>controller-axis</strong> <em>controller axis</em></dt> -<dd><p>Return a floating point value in the range [-1, 1] corresponding to -how much <var>axis</var> (an analog stick or trigger) is being pushed on -<var>controller</var>. 0 is returned if <var>axis</var> is not being pushed at -all. -</p></dd></dl> - -<dl> -<dt id="index-controller_002dname">Procedure: <strong>controller-name</strong> <em>controller</em></dt> -<dd><p>Return the name of <var>controller</var>. -</p></dd></dl> - -<dl> -<dt id="index-controller_002dbutton_002dpressed_003f">Procedure: <strong>controller-button-pressed?</strong> <em>controller button</em></dt> -<dd><p>Return <code>#t</code> if <var>button</var> on <var>controller</var> is currently -being pressed. -</p></dd></dl> - -<dl> -<dt id="index-controller_002dbutton_002dreleased_003f">Procedure: <strong>controller-button-released?</strong> <em>controller button</em></dt> -<dd><p>Return <code>#t</code> if <var>button</var> on <var>controller</var> is <em>not</em> -currently being pressed. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/chickadee/Installation.html b/manuals/chickadee/Installation.html deleted file mode 100644 index 810d4d0..0000000 --- a/manuals/chickadee/Installation.html +++ /dev/null @@ -1,107 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Installation (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Installation (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Installation (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="index.html" rel="up" title="Top" /> -<link href="Requirements.html" rel="next" title="Requirements" /> -<link href="index.html" rel="prev" title="Top" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Installation"></span><div class="header"> -<p> -Next: <a href="Getting-Started.html" accesskey="n" rel="next">Getting Started</a>, Previous: <a href="index.html" accesskey="p" rel="prev">Top</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Installation-1"></span><h2 class="chapter">1 Installation</h2> - -<p>Chickadee is available for download from its website at -<a href="dthompson.us/projects/chickadee.html">dthompson.us/projects/chickadee.html</a>. This section describes -the software requirements of Chickadee, as well as how to install it. -</p> -<p>The build procedure for Chickadee is the same as for GNU software -packages, and is not covered here. Please see the files <samp>README</samp> -and <samp>INSTALL</samp> for additional details. -</p> -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Requirements.html" accesskey="1">Requirements</a></td><td> </td><td align="left" valign="top">Software needed to build and run Chickadee. -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/chickadee/Invoking-chickadee-bundle.html b/manuals/chickadee/Invoking-chickadee-bundle.html deleted file mode 100644 index 060c8ad..0000000 --- a/manuals/chickadee/Invoking-chickadee-bundle.html +++ /dev/null @@ -1,219 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Invoking chickadee bundle (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Invoking chickadee bundle (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Invoking chickadee bundle (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Command-Line-Interface.html" rel="up" title="Command Line Interface" /> -<link href="Live-Coding.html" rel="next" title="Live Coding" /> -<link href="Invoking-chickadee-play.html" rel="prev" title="Invoking chickadee play" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Invoking-chickadee-bundle"></span><div class="header"> -<p> -Previous: <a href="Invoking-chickadee-play.html" accesskey="p" rel="prev">Invoking chickadee play</a>, Up: <a href="Command-Line-Interface.html" accesskey="u" rel="up">Command Line Interface</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Invoking-chickadee-bundle-1"></span><h3 class="section">3.2 Invoking <code>chickadee bundle</code></h3> - -<p>Distributing games is difficult. While Chickadee games are free -software, it would be far too burdensome on the player to ask them to -compile a game from source in order to try it out. Many potential -players will simply not even try. Players expect to be able to -download a compressed archive, extract it, and play. If there are any -more steps than that then the chances of the game being played drop -dramatically. If you can’t beat ’em, join ’em. The -<code>chickadee bundle</code> tool creates redistributable binary bundles -by combining the game code and assets with shared libraries and -executables from the host operating system. -</p> -<p>Bundling is currently only supported on Linux. In the future, it may -be possible to bundle on MacOS. Patches very much welcome for that. -</p> -<p>It should be noted that bundling is a problematic way to distribute -software. All of the libraries that the bundled application includes -are separated from the distribution that was so carefully making sure -that they stay up-to-date with regard to security patches. The -bundled libraries are frozen in time, vulnerabilities and all. -Unfortunately, the release model used by the most popular -distributions, while wonderful for stable, mature software, does not -fit the needs of game distribution at all. So, we compromise, knowing -that most games are only played for only a short amount of time before -being disposed. Perhaps, in time, the Linux world will shift to using -more robust package management solutions such as -<a href="https://guix.gnu.org">GNU Guix</a> which support long-term -maintenance of stable software as well as the “fire and forget” -nature of game releases. And maybe a game made with Chickadee will -become so popular that major distributions decide to package it, but -let’s get back to reality. -</p> -<p>To get started with bundling, simply add a <samp>bundle.scm</samp> file to -the root of the project directory. It could look something like this: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-symbol">'</span><span class="syntax-open">(</span><span class="syntax-open">(</span><span class="syntax-symbol">asset-directories</span> <span class="syntax-symbol">.</span> <span class="syntax-open">(</span><span class="syntax-string">"images"</span> <span class="syntax-string">"models"</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">bundle-name</span> <span class="syntax-symbol">.</span> <span class="syntax-string">"the-legend-of-emacs-1.0"</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">code</span> <span class="syntax-symbol">.</span> <span class="syntax-string">"the-legend-of-emacs.scm"</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">launcher-name</span> <span class="syntax-symbol">.</span> <span class="syntax-string">"the-legend-of-emacs"</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -</pre></div> - -<p>To create the bundle, simply run <code>chickadee bundle</code>. Upon -success, the file <samp>the-legend-of-emacs-1.0.tar.gz</samp> would be -created in the current directory. -</p> -<p>To maximize the chances that the bundle will work on someone else’s -computer, it’s best to build on the oldest supported Linux -distribution available. As of this writing, Ubuntu 18.04 LTS is a -good choice. -</p> -<p>In addition to including system libraries and executables, -<code>chickadee bundle</code> also includes the compiled Guile bytecode -(the <samp>.go</samp> files) for all modules used by the game. The module -source files are <em>not</em> included, so it’s critical that all of the -modules used by the game have been compiled. -</p> -<p>Available options: -</p> -<ul> -<li> <code>asset-directories</code> - -<p>A list of directories that hold static game assets such as images or -audio. Files in these directories will be copied into the bundle -archive. -</p> -</li><li> <code>binary-directories</code> - -<p>A list of directories to search for system binaries, such as -<code>guile</code>. By default, <samp>/usr/bin</samp> is searched. -</p> -</li><li> <code>bundle-name</code> - -<p>The name of the bundle archive. By default, the name is -<code>"chickadee-bundle"</code>. -</p> -</li><li> <code>launcher-name</code> - -<p>The name of the launcher script. By default, the name is -<code>"launch-game"</code>. -</p> -</li><li> <code>libraries</code> - -<p>A list of shared libraries to include in the bundle. By default, all -of the libraries necessary for running Guile, Guile-SDL2, and -Chickadee are included. This list is compatible with the names given -to the libraries on Ubuntu, which may be different than on other -distributions. In such cases, this list will need to be customized. -See below for more information on the <code>%default-config</code> variable -that can be of help. -</p> -</li><li> <code>library-directories</code> - -<p>A list of directories to search for system shared libraries. By -default, the list contains common directories used by most -distributions. -</p> -</li><li> <code>method</code> - -<p>The method by which the game is launched. Can be either <code>play</code> -or <code>manual</code>. The default is <code>play</code>, which means that -<code>chickadee play</code> will be used to launch the game. For games -that do not use <code>chickadee play</code>, opting to start the game -loop on their own, the <code>manual</code> method should be used. -</p> -</li><li> <code>play-args</code> - -<p>A list of command line arguments to pass to <code>chickadee play</code>. -Only used when the <code>method</code> option is set to <code>play</code>. -</p> -</li></ul> - -<p>Default configuration options, such as the list of C shared libaries, -can be found in the <code>%default-config</code> variable. This way they -can be programatically modified, if necessary. -</p> -<dl> -<dt id="index-_0025default_002dconfig">Variable: <strong>%default-config</strong></dt> -<dd><p>An association list of default configuration options. -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Previous: <a href="Invoking-chickadee-play.html" accesskey="p" rel="prev">Invoking chickadee play</a>, Up: <a href="Command-Line-Interface.html" accesskey="u" rel="up">Command Line Interface</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Invoking-chickadee-play.html b/manuals/chickadee/Invoking-chickadee-play.html deleted file mode 100644 index 786626a..0000000 --- a/manuals/chickadee/Invoking-chickadee-play.html +++ /dev/null @@ -1,239 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Invoking chickadee play (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Invoking chickadee play (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Invoking chickadee play (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Command-Line-Interface.html" rel="up" title="Command Line Interface" /> -<link href="Invoking-chickadee-bundle.html" rel="next" title="Invoking chickadee bundle" /> -<link href="Command-Line-Interface.html" rel="prev" title="Command Line Interface" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Invoking-chickadee-play"></span><div class="header"> -<p> -Next: <a href="Invoking-chickadee-bundle.html" accesskey="n" rel="next">Invoking chickadee bundle</a>, Up: <a href="Command-Line-Interface.html" accesskey="u" rel="up">Command Line Interface</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Invoking-chickadee-play-1"></span><h3 class="section">3.1 Invoking <code>chickadee play</code></h3> - -<p>The <code>chickadee play</code> command is used to open a window and run -the Chickadee game contained within a Scheme source file. -</p> -<div class="example"> -<pre class="example">chickadee play the-legend-of-emacs.scm -</pre></div> - -<p>In this file, special procedures may be defined to handle various -events from the game loop: -</p> -<ul> -<li> quit-game -</li><li> draw -</li><li> update -</li><li> key-press -</li><li> key-release -</li><li> text-input -</li><li> mouse-press -</li><li> mouse-release -</li><li> mouse-move -</li><li> mouse-wheel -</li><li> controller-add -</li><li> controller-remove -</li><li> controller-press -</li><li> controller-release -</li><li> controller-move -</li></ul> - -<p>See <a href="The-Game-Loop.html">The Game Loop</a> for complete information on all of these -hooks, such as the arguments that each procedure receives. -</p> -<p>In additional to evaluating the specified source file, the directory -containing that file is added to Guile’s load path so that games can -easily be divided into many different files. Furthermore, that -directory is entered prior to evaluating the file so that data files -(images, sounds, etc.) can be loaded relative to the main source file, -regardless of what the current directory was when <code>chickadee -play</code> was invoked. -</p> -<p>Many aspects of the initial game window and environment can be -controlled via the following options: -</p> -<dl compact="compact"> -<dt><code>--title=<var>title</var></code></dt> -<dt><code>-t <var>title</var></code></dt> -<dd> -<p>Set the window title to <var>title</var>. -</p> -</dd> -<dt><code>--width=<var>width</var></code></dt> -<dt><code>-w <var>width</var></code></dt> -<dd> -<p>Set the window width to <var>width</var> pixels. -</p> -</dd> -<dt><code>--height=<var>height</var></code></dt> -<dt><code>-h <var>height</var></code></dt> -<dd> -<p>Set the window height to <var>height</var> pixels. -</p> -</dd> -<dt><code>--fullscreen</code></dt> -<dt><code>-f</code></dt> -<dd> -<p>Open window in fullscreen mode. -</p> -</dd> -<dt><code>--resizable</code></dt> -<dt><code>-r</code></dt> -<dd> -<p>Make window resizable. -</p> -</dd> -<dt><code>--update-hz=<var>n</var></code></dt> -<dt><code>-u <var>n</var></code></dt> -<dd> -<p>Update the game <var>n</var> times per second. -</p> -</dd> -<dt><code>--clear-color=<var>color</var></code></dt> -<dt><code>-c <var>color</var></code></dt> -<dd> -<p>Set the screen clear color to <var>color</var>, a hex code in the format -<code>#RRGGBB</code>. For example, to set the clear color to black, pass -<code>--clear-color=#000000</code>. -</p> -</dd> -<dt><code>--repl</code></dt> -<dd> -<p>Launch a REPL in the terminal. This will allow the game environment -to be debugged and modified without having to stop and restart the -game after each change. -</p> -</dd> -<dt><code>--repl-server[=<var>port</var>]</code></dt> -<dd> -<p>Launch a REPL server on port <var>port</var>, or 37146 by default. -</p> -<p><code>telnet localhost 37146</code> (or whatever port number was given) -will do the trick, but using the <a href="https://www.nongnu.org/geiser/">Geiser</a> extension for Emacs is by far the best way to develop at the -REPL with Guile. Use <code>M-x connect-to-guile</code> to connect to the -REPL server. -</p> -</dd> -<dt><code>--language=<var>language</var></code></dt> -<dd> -<p>Process the input program using <var>language</var>, the identifier of a -language within Guile’s language tower. By default, unsurprisingly, -Scheme is used. -</p> -<p>For example, to use the neat -<a href="https://www.draketo.de/software/wisp">Wisp</a> language as an -alternative to Scheme’s parenthetical syntax, pass -<code>--language=wisp</code>. Wisp is not included with Guile and must be -installed separately. -</p> -</dd> -<dt><code>-x <var>extension</var></code></dt> -<dd> -<p>Add <var>extension</var> to the list of file extensions that Guile will -load. -</p> -<p>For example, Wisp files canonically use the <samp>.w</samp> extension. -Here’s what a “hello, world” Chickadee program looks like in Wisp: -</p> -<div class="example"> -<pre class="example">define : draw alpha - draw-text "Hello, world!" : vec2 260.0 240.0 -</pre></div> - -<p>Assuming the above code is saved to a <samp>hello.w</samp> file, -<code>chickadee play</code> be invoked as follows: -</p> -<div class="example"> -<pre class="example">chickadee play --language=wisp -x .w hello.w -</pre></div> - -</dd> -</dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Invoking-chickadee-bundle.html" accesskey="n" rel="next">Invoking chickadee bundle</a>, Up: <a href="Command-Line-Interface.html" accesskey="u" rel="up">Command Line Interface</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Kernel.html b/manuals/chickadee/Kernel.html deleted file mode 100644 index da55234..0000000 --- a/manuals/chickadee/Kernel.html +++ /dev/null @@ -1,106 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Kernel (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Kernel (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Kernel (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="API-Reference.html" rel="up" title="API Reference" /> -<link href="The-Game-Loop.html" rel="next" title="The Game Loop" /> -<link href="API-Reference.html" rel="prev" title="API Reference" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Kernel"></span><div class="header"> -<p> -Next: <a href="Math.html" accesskey="n" rel="next">Math</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Kernel-1"></span><h3 class="section">5.1 Kernel</h3> - -<p>This section of the manual covers the foundation of Chickadee: The -game loop and desktop environment interaction. -</p> -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="The-Game-Loop.html" accesskey="1">The Game Loop</a></td><td> </td><td align="left" valign="top">The core event loop. -</td></tr> -<tr><td align="left" valign="top">• <a href="Input-Devices.html" accesskey="2">Input Devices</a></td><td> </td><td align="left" valign="top">Mouse, keyboard, controller input. -</td></tr> -<tr><td align="left" valign="top">• <a href="Window-Manipulation.html" accesskey="3">Window Manipulation</a></td><td> </td><td align="left" valign="top">Inspect and modify the graphical window. -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/chickadee/Lights.html b/manuals/chickadee/Lights.html deleted file mode 100644 index 4ae75ff..0000000 --- a/manuals/chickadee/Lights.html +++ /dev/null @@ -1,212 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Lights (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Lights (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Lights (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Graphics.html" rel="up" title="Graphics" /> -<link href="Skyboxes.html" rel="next" title="Skyboxes" /> -<link href="Models.html" rel="prev" title="Models" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Lights"></span><div class="header"> -<p> -Next: <a href="Skyboxes.html" accesskey="n" rel="next">Skyboxes</a>, Previous: <a href="Models.html" accesskey="p" rel="prev">Models</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Lights-1"></span><h4 class="subsection">5.3.9 Lights</h4> - -<p>The <code>(chickadee graphics light)</code> module provides a data type for -dynamic lights that can be used to light 3D objects (such as -<a href="Models.html">Models</a> or <a href="Meshes.html">Meshes</a>.) -</p> -<p>There are 3 types of dynamic lights: -</p> -<ul> -<li> point light: -Emits light in all directions from a specific point in space, like a -light bulb. -</li><li> directional light: -Emits light of a constant intensity in a direction, like sunlight. -</li><li> spot light: -Emits a cone of light in a direction, like a flashlight. -</li></ul> - -<dl> -<dt id="index-make_002dpoint_002dlight">Procedure: <strong>make-point-light</strong> <em>[#:position (vec3 0 0 0)] [#:color black] [#:intensity 1]</em></dt> -<dd> -<p>Return a new point light located at <var>position</var> that emits -<var>color</var> light. -</p></dd></dl> - -<dl> -<dt id="index-make_002ddirectional_002dlight">Procedure: <strong>make-directional-light</strong> <em>[#:direction (vec3 0 -1 0)] [#:color black] [#:intensity 1]</em></dt> -<dd> -<p>Return a new directional light that emits <var>color</var> light in -<var>direction</var>. -</p></dd></dl> - -<dl> -<dt id="index-make_002dspot_002dlight">Procedure: <strong>make-spot-light</strong> <em>[#:position (vec3 0 0 0)] [#:direction (vec3 0 -1 0)] [#:color black] [#:cut-off <em>Ï€/4</em>] [#:intensity 1]</em></dt> -<dd> -<p>Return a new spot light located at <var>position</var> that emits -<var>color</var> light in <var>direction</var> in a cone that cuts off at -<var>cut-off</var> radians. -</p></dd></dl> - -<dl> -<dt id="index-point_002dlight_003f">Procedure: <strong>point-light?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a point light. -</p></dd></dl> - -<dl> -<dt id="index-directional_002dlight_003f">Procedure: <strong>directional-light?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a directional light. -</p></dd></dl> - -<dl> -<dt id="index-spot_002dlight_003f">Procedure: <strong>spot-light?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a spot light. -</p></dd></dl> - -<dl> -<dt id="index-light_002dtype">Procedure: <strong>light-type</strong> <em>light</em></dt> -<dd><p>Return the type of <var>light</var>, one of: -</p> -<ul> -<li> point -</li><li> directional -</li><li> spot -</li></ul> - -</dd></dl> - -<dl> -<dt id="index-light_002dcolor">Procedure: <strong>light-color</strong> <em>light</em></dt> -<dd><p>Return the color of <var>light</var>. -</p></dd></dl> - -<dl> -<dt id="index-light_002dintensity">Procedure: <strong>light-intensity</strong> <em>light</em></dt> -<dd><p>Return the intensity of <var>light</var>. -</p></dd></dl> - -<dl> -<dt id="index-light_002dposition">Procedure: <strong>light-position</strong> <em>light</em></dt> -<dd><p>Return the position of <var>light</var>. The value is irrelevant for -directional lights. -</p></dd></dl> - -<dl> -<dt id="index-light_002ddirection">Procedure: <strong>light-direction</strong> <em>light</em></dt> -<dd><p>Return the direction of <var>light</var>. The value is irrelevant for -point lights. -</p></dd></dl> - -<dl> -<dt id="index-light_002dcut_002doff">Procedure: <strong>light-cut-off</strong> <em>light</em></dt> -<dd><p>Return the cosine of the cut off angle of <var>light</var>. The value is -only relevant for spot lights. -</p></dd></dl> - -<dl> -<dt id="index-set_002dlight_002dcolor_0021">Procedure: <strong>set-light-color!</strong> <em>light color</em></dt> -<dd><p>Set the color of <var>light</var> to <var>color</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dlight_002dposition_0021">Procedure: <strong>set-light-position!</strong> <em>light position</em></dt> -<dd><p>Set the position of <var>light</var> to <var>position</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dlight_002ddirection_0021">Procedure: <strong>set-light-direction!</strong> <em>light direction</em></dt> -<dd><p>Set the direction of <var>light</var> to <var>direction</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dlight_002dcut_002doff_0021">Procedure: <strong>set-light-cut-off!</strong> <em>light cut-off</em></dt> -<dd><p>Set the cut off angle of <var>light</var> to <var>cut-off</var>. -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Skyboxes.html" accesskey="n" rel="next">Skyboxes</a>, Previous: <a href="Models.html" accesskey="p" rel="prev">Models</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Live-Coding.html b/manuals/chickadee/Live-Coding.html deleted file mode 100644 index e34b29e..0000000 --- a/manuals/chickadee/Live-Coding.html +++ /dev/null @@ -1,133 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Live Coding (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Live Coding (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Live Coding (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="index.html" rel="up" title="Top" /> -<link href="API-Reference.html" rel="next" title="API Reference" /> -<link href="Invoking-chickadee-bundle.html" rel="prev" title="Invoking chickadee bundle" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Live-Coding"></span><div class="header"> -<p> -Next: <a href="API-Reference.html" accesskey="n" rel="next">API Reference</a>, Previous: <a href="Command-Line-Interface.html" accesskey="p" rel="prev">Command Line Interface</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Live-Coding-1"></span><h2 class="chapter">4 Live Coding</h2> - -<p>One of the biggest appeals of any Lisp dialect is the ability to use -the “read-eval-print loop” (REPL for short) to build programs -iteratively and interactively while the program is running. However, -programs that run in an event loop and respond to user input (such as -a game using the Chickadee library!) require special care for this -workflow to be pleasant. -</p> -<p>If you are using the <code>chickadee play</code> command to run your -game, then the <code>--repl</code> or <code>--repl-server</code> arguments are all -you need to get a live coding environment running. -</p> -<p>If, however, you are using <code>run-game</code> to start the game loop then -it’s still fairly easy to hook up a special kind of REPL by yourself. -</p> -<p>First, create a cooperative REPL server (It’s important to use Guile’s -cooperative REPL server instead of the standard REPL server in -<code>(system repl server)</code> to avoid thread synchronization issues). -Then, in the game loop’s update procedure, call -<code>poll-coop-repl-server</code> and pass the REPL object. Here is a -template to follow: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-symbol">use-modules</span> <span class="syntax-open">(</span><span class="syntax-symbol">chickadee</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">system</span> <span class="syntax-symbol">repl</span> <span class="syntax-symbol">coop-server</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - -<span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">repl</span> <span class="syntax-open">(</span><span class="syntax-symbol">spawn-coop-repl-server</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - -<span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-open">(</span><span class="syntax-symbol">update</span> <span class="syntax-symbol">dt</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">poll-coop-repl-server</span> <span class="syntax-symbol">repl</span><span class="syntax-close">)</span> - <span class="syntax-symbol">...</span><span class="syntax-close">)</span> - -<span class="syntax-open">(</span><span class="syntax-symbol">run-game</span> <span class="syntax-keyword">#:update</span> <span class="syntax-symbol">update</span> <span class="syntax-symbol">...</span><span class="syntax-close">)</span> -</pre></div> - -<p>To use the REPL, connect to it via port 37146. Telnet will do the -trick, but using the <a href="https://www.nongnu.org/geiser/">Geiser</a> -extension for Emacs is by far the best way to develop at the REPL with -Guile. Use <code>M-x connect-to-guile</code> to connect to the REPL server. -</p> - - - -</body> -</html> diff --git a/manuals/chickadee/Math.html b/manuals/chickadee/Math.html deleted file mode 100644 index 7b6456c..0000000 --- a/manuals/chickadee/Math.html +++ /dev/null @@ -1,116 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Math (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Math (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Math (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="API-Reference.html" rel="up" title="API Reference" /> -<link href="Basics.html" rel="next" title="Basics" /> -<link href="Window-Manipulation.html" rel="prev" title="Window Manipulation" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Math"></span><div class="header"> -<p> -Next: <a href="Graphics.html" accesskey="n" rel="next">Graphics</a>, Previous: <a href="Kernel.html" accesskey="p" rel="prev">Kernel</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Math-1"></span><h3 class="section">5.2 Math</h3> - -<p>Chickadee contains data types and procedures for performing the most -common computations in video game simulations such as linear algebra -with vectors and matrices and axis-aligned bounding box collision -detection. -</p> -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Basics.html" accesskey="1">Basics</a></td><td> </td><td align="left" valign="top">Commonly used, miscellaneous things. -</td></tr> -<tr><td align="left" valign="top">• <a href="Vectors.html" accesskey="2">Vectors</a></td><td> </td><td align="left" valign="top">Euclidean vectors. -</td></tr> -<tr><td align="left" valign="top">• <a href="Rectangles.html" accesskey="3">Rectangles</a></td><td> </td><td align="left" valign="top">Axis-aligned bounding boxes. -</td></tr> -<tr><td align="left" valign="top">• <a href="Matrices.html" accesskey="4">Matrices</a></td><td> </td><td align="left" valign="top">Transformation matrices. -</td></tr> -<tr><td align="left" valign="top">• <a href="Quaternions.html" accesskey="5">Quaternions</a></td><td> </td><td align="left" valign="top">Rotations about an arbitrary axis. -</td></tr> -<tr><td align="left" valign="top">• <a href="Easings.html" accesskey="6">Easings</a></td><td> </td><td align="left" valign="top">Easing functions for interesting animations. -</td></tr> -<tr><td align="left" valign="top">• <a href="Bezier-Curves.html" accesskey="7">Bezier Curves</a></td><td> </td><td align="left" valign="top">Cubic Bezier curves and paths in 2D space. -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/chickadee/Matrices.html b/manuals/chickadee/Matrices.html deleted file mode 100644 index bf65917..0000000 --- a/manuals/chickadee/Matrices.html +++ /dev/null @@ -1,409 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Matrices (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Matrices (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Matrices (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Math.html" rel="up" title="Math" /> -<link href="Quaternions.html" rel="next" title="Quaternions" /> -<link href="Rectangles.html" rel="prev" title="Rectangles" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Matrices"></span><div class="header"> -<p> -Next: <a href="Quaternions.html" accesskey="n" rel="next">Quaternions</a>, Previous: <a href="Rectangles.html" accesskey="p" rel="prev">Rectangles</a>, Up: <a href="Math.html" accesskey="u" rel="up">Math</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Matrices-1"></span><h4 class="subsection">5.2.4 Matrices</h4> - -<p>The <code>(chickadee math matrix)</code> module provides an interface for -working with the most common type of matrices in game development: 4x4 -transformation matrices. -</p> -<p><em>Another Note About Performance</em> -</p> -<p>Much like the vector API, the matrix API is commonly used in -performance critical code paths. In order to reduce the amount of -garbage generated and improve matrix multiplication performance, there -are many procedures that perform in-place modifications of matrix -objects. -</p> -<span id="g_t3x3-Matrices"></span><h4 class="subsubsection">5.2.4.1 3x3 Matrices</h4> - -<dl> -<dt id="index-make_002dmatrix3">Procedure: <strong>make-matrix3</strong> <em>aa ab ac ba bb bc ca cb cc</em></dt> -<dd><p>Return a new 3x3 initialized with the given 9 values in column-major -format. -</p></dd></dl> - -<dl> -<dt id="index-make_002dnull_002dmatrix3">Procedure: <strong>make-null-matrix3</strong></dt> -<dd><p>Return a new 3x3 matrix with all values initialized to 0. -</p></dd></dl> - -<dl> -<dt id="index-make_002didentity_002dmatrix3">Procedure: <strong>make-identity-matrix3</strong></dt> -<dd><p>Return a new 3x3 identity matrix. Any matrix multiplied by the -identity matrix yields the original matrix. This procedure is -equivalent to the following code: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-symbol">make-matrix3</span> <span class="syntax-symbol">1</span> <span class="syntax-symbol">0</span> <span class="syntax-symbol">0</span> - <span class="syntax-symbol">0</span> <span class="syntax-symbol">1</span> <span class="syntax-symbol">0</span> - <span class="syntax-symbol">0</span> <span class="syntax-symbol">0</span> <span class="syntax-symbol">1</span><span class="syntax-close">)</span> -</pre></div> - -</dd></dl> - -<dl> -<dt id="index-matrix3_003f">Procedure: <strong>matrix3?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a 3x3 matrix. -</p></dd></dl> - -<dl> -<dt id="index-matrix3_003d">Procedure: <strong>matrix3=</strong> <em>m1 m2</em></dt> -<dd><p>Return <code>#t</code> if <var>m1</var> is the same matrix as <var>m2</var>. -</p></dd></dl> - -<dl> -<dt id="index-matrix3_002dcopy">Procedure: <strong>matrix3-copy</strong> <em>matrix</em></dt> -<dd><p>Return a new 3x3 matrix that is a copy of <var>matrix</var>. -</p></dd></dl> - -<dl> -<dt id="index-matrix3_002a">Procedure: <strong>matrix3*</strong> <em>. matrices</em></dt> -<dd><p>Return a new 3x3 matrix containing the product of multiplying all of -the given <var>matrices</var>. -</p> -<p>Note: Remember that matrix multiplication is <strong>not</strong> commutative! -</p></dd></dl> - -<dl> -<dt id="index-matrix3_002dtranslate">Procedure: <strong>matrix3-translate</strong> <em>v</em></dt> -<dd><p>Return a new 3x3 matrix that represents a translation by <var>v</var>, a 2D -vector. -</p></dd></dl> - -<dl> -<dt id="index-matrix3_002dscale">Procedure: <strong>matrix3-scale</strong> <em>s</em></dt> -<dd><p>Return a new 3x3 matrix that represents a scaling along the x and y -axes by the scaling factor <var>s</var>, a number or 2D vector. -</p></dd></dl> - -<dl> -<dt id="index-matrix3_002drotate">Procedure: <strong>matrix3-rotate</strong> <em>angle</em></dt> -<dd><p>Return a new 3x3 matrix that represents a rotation by <var>angle</var> -radians. -</p></dd></dl> - -<dl> -<dt id="index-matrix3_002dtransform">Procedure: <strong>matrix3-transform</strong> <em>matrix v</em></dt> -<dd><p>Return a new 2D vector that is <var>v</var> as transformed by the 3x3 -matrix <var>matrix</var>. -</p></dd></dl> - -<dl> -<dt id="index-matrix3_002dinverse">Procedure: <strong>matrix3-inverse</strong> <em>matrix</em></dt> -<dd><p>Return the inverse of <var>matrix</var>. -</p></dd></dl> - -<p>The following procedures perform in-place, destructive updates to 3x3 -matrix objects: -</p> -<dl> -<dt id="index-matrix3_002dcopy_0021">Procedure: <strong>matrix3-copy!</strong> <em>src dest</em></dt> -<dd><p>Copy the contents of matrix <var>src</var> to <var>dest</var>. -</p></dd></dl> - -<dl> -<dt id="index-matrix3_002didentity_0021">Procedure: <strong>matrix3-identity!</strong> <em>matrix</em></dt> -<dd><p>Modify <var>matrix</var> in-place to contain the identity matrix. -</p></dd></dl> - -<dl> -<dt id="index-matrix3_002dmult_0021">Procedure: <strong>matrix3-mult!</strong> <em>dest a b</em></dt> -<dd><p>Multiply the 3x3 matrix <var>a</var> by the 3x3 matrix <var>b</var> and store -the result in the 3x3 matrix <var>dest</var>. -</p></dd></dl> - -<dl> -<dt id="index-matrix3_002dtranslate_0021">Procedure: <strong>matrix3-translate!</strong> <em>matrix v</em></dt> -<dd><p>Modify <var>matrix</var> in-place to contain a translation by <var>v</var>, a 2D -vector. -</p></dd></dl> - -<dl> -<dt id="index-matrix3_002dscale_0021">Procedure: <strong>matrix3-scale!</strong> <em>matrix s</em></dt> -<dd><p>Modify <var>matrix</var> in-place to contain a scaling along the x and y -axes by the scaling factor <var>s</var>, a number or 2D vector. -</p></dd></dl> - -<dl> -<dt id="index-matrix3_002drotate_0021">Procedure: <strong>matrix3-rotate!</strong> <em>matrix angle</em></dt> -<dd><p>Modify <var>matrix</var> in-place to contain a rotation by <var>angle</var> -radians. -</p></dd></dl> - -<dl> -<dt id="index-matrix3_002dtransform_0021">Procedure: <strong>matrix3-transform!</strong> <em>matrix v</em></dt> -<dd><p>Modify the 2D vector <var>v</var> in-place to contain <var>v</var> as -transformed by the 3x3 matrix <var>matrix</var>. -</p></dd></dl> - -<dl> -<dt id="index-matrix3_002dinverse_0021">Procedure: <strong>matrix3-inverse!</strong> <em>matrix target</em></dt> -<dd><p>Compute the inverse of <var>matrix</var> and store the results in -<var>target</var>. -</p></dd></dl> - -<span id="g_t4x4-Matrices"></span><h4 class="subsubsection">5.2.4.2 4x4 Matrices</h4> - -<dl> -<dt id="index-make_002dmatrix4">Procedure: <strong>make-matrix4</strong> <em>aa ab ac ad ba bb bc bd ca cb cc cd da db dc dd</em></dt> -<dd> -<p>Return a new 4x4 matrix initialized with the given 16 values in -column-major format. -</p></dd></dl> - -<dl> -<dt id="index-make_002dnull_002dmatrix4">Procedure: <strong>make-null-matrix4</strong></dt> -<dd><p>Return a new 4x4 matrix with all values initialized to 0. -</p></dd></dl> - -<dl> -<dt id="index-make_002didentity_002dmatrix4">Procedure: <strong>make-identity-matrix4</strong></dt> -<dd><p>Return a new 4x4 identity matrix. Any matrix multiplied by the -identity matrix yields the original matrix. This procedure is -equivalent to the following code: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-symbol">make-matrix4</span> <span class="syntax-symbol">1</span> <span class="syntax-symbol">0</span> <span class="syntax-symbol">0</span> <span class="syntax-symbol">0</span> - <span class="syntax-symbol">0</span> <span class="syntax-symbol">1</span> <span class="syntax-symbol">0</span> <span class="syntax-symbol">0</span> - <span class="syntax-symbol">0</span> <span class="syntax-symbol">0</span> <span class="syntax-symbol">1</span> <span class="syntax-symbol">0</span> - <span class="syntax-symbol">0</span> <span class="syntax-symbol">0</span> <span class="syntax-symbol">0</span> <span class="syntax-symbol">1</span><span class="syntax-close">)</span> -</pre></div> - -</dd></dl> - -<dl> -<dt id="index-matrix4_003f">Procedure: <strong>matrix4?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a 4x4 matrix. -</p></dd></dl> - -<dl> -<dt id="index-matrix4_003d">Procedure: <strong>matrix4=</strong> <em>m1 m2</em></dt> -<dd><p>Return <code>#t</code> if <var>m1</var> is the same matrix as <var>m2</var>. -</p></dd></dl> - -<dl> -<dt id="index-matrix4_002dcopy">Procedure: <strong>matrix4-copy</strong> <em>matrix</em></dt> -<dd><p>Return a new 4x4 matrix that is a copy of <var>matrix</var>. -</p></dd></dl> - -<dl> -<dt id="index-matrix4_002a">Procedure: <strong>matrix4*</strong> <em>. matrices</em></dt> -<dd><p>Return a new 4x4 matrix containing the product of multiplying all of -the given <var>matrices</var>. -</p> -<p>Note: Remember that matrix multiplication is <strong>not</strong> commutative! -</p></dd></dl> - -<dl> -<dt id="index-matrix4_002dinverse">Procedure: <strong>matrix4-inverse</strong> <em>matrix</em></dt> -<dd><p>Return the inverse of <var>matrix</var>. -</p> -<p>A matrix multiplied by its inverse is the identity matrix, thought not -always exactly due to the nature of floating point numbers. -</p></dd></dl> - -<dl> -<dt id="index-orthographic_002dprojection">Procedure: <strong>orthographic-projection</strong> <em>left right top bottom near far</em></dt> -<dd> -<p>Return a new 4x4 matrix that represents an orthographic (2D) -projection for the horizontal clipping plane <var>top</var> and -<var>bottom</var>, the vertical clipping plane <var>top</var> and <var>bottom</var>, -and the depth clipping plane <var>near</var> and <var>far</var>. -</p></dd></dl> - -<dl> -<dt id="index-perspective_002dprojection">Procedure: <strong>perspective-projection</strong> <em>fov aspect-ratio near far</em></dt> -<dd> -<p>Return a new 4x4 matrix that represents a perspective (3D) projection -with a field of vision of <var>fov</var> radians, an aspect ratio of -<var>aspect-ratio</var>, and a depth clipping plane defined by <var>near</var> -and <var>far</var>. -</p></dd></dl> - -<dl> -<dt id="index-matrix4_002dtranslate">Procedure: <strong>matrix4-translate</strong> <em>x</em></dt> -<dd><p>Return a new 4x4 matrix that represents a translation by <var>x</var>, a 2D -vector, a 3D vector, or a rectangle (in which case the bottom-left -corner of the rectangle is used). -</p></dd></dl> - -<dl> -<dt id="index-matrix4_002dscale">Procedure: <strong>matrix4-scale</strong> <em>s</em></dt> -<dd><p>Return a new 4x4 matrix that represents a scaling along the X, Y, and -Z axes by the scaling factor <var>s</var>, a real number. -</p></dd></dl> - -<dl> -<dt id="index-matrix4_002drotate">Procedure: <strong>matrix4-rotate</strong> <em>q</em></dt> -<dd><p>Return a new 4x4 matrix that represents a rotation about an arbitrary -axis defined by the quaternion <var>q</var>. -</p></dd></dl> - -<dl> -<dt id="index-matrix4_002drotate_002dz">Procedure: <strong>matrix4-rotate-z</strong> <em>theta</em></dt> -<dd><p>Return a new 4x4 matrix that represents a rotation about the Z axis by -<var>theta</var> radians. -</p></dd></dl> - -<p>The following procedures perform in-place, destructive updates to 4x4 -matrix objects: -</p> -<dl> -<dt id="index-matrix4_002dcopy_0021">Procedure: <strong>matrix4-copy!</strong> <em>src dest</em></dt> -<dd><p>Copy the contents of matrix <var>src</var> to <var>dest</var>. -</p></dd></dl> - -<dl> -<dt id="index-matrix4_002didentity_0021">Procedure: <strong>matrix4-identity!</strong> <em>matrix</em></dt> -<dd><p>Modify <var>matrix</var> in-place to contain the identity matrix. -</p></dd></dl> - -<dl> -<dt id="index-matrix4_002dmult_0021">Procedure: <strong>matrix4-mult!</strong> <em>dest a b</em></dt> -<dd><p>Multiply the 4x4 matrix <var>a</var> by the 4x4 matrix <var>b</var> and store -the result in the 4x4 matrix <var>dest</var>. -</p></dd></dl> - -<dl> -<dt id="index-matrix4_002dinverse_0021">Procedure: <strong>matrix4-inverse!</strong> <em>matrix target</em></dt> -<dd><p>Compute the inverse of <var>matrix</var> and store the result in -<var>target</var>. -</p></dd></dl> - -<dl> -<dt id="index-matrix4_002dtranslate_0021">Procedure: <strong>matrix4-translate!</strong> <em>matrix x</em></dt> -<dd><p>Modify <var>matrix</var> in-place to contain a translation by <var>x</var>, a 2D -vector, a 3D vector, or a rectangle (in which case the bottom-left -corner of the rectangle is used). -</p></dd></dl> - -<dl> -<dt id="index-matrix4_002dscale_0021">Procedure: <strong>matrix4-scale!</strong> <em>matrix s</em></dt> -<dd><p>Modify <var>matrix</var> in-place to contain a scaling along the X, Y, and -Z axes by the scaling factor <var>s</var>, a real number. -</p></dd></dl> - -<dl> -<dt id="index-matrix4_002drotate_0021">Procedure: <strong>matrix4-rotate!</strong> <em>matrix q</em></dt> -<dd><p>Modify <var>matrix</var> in-place to contain a rotation about an arbitrary -axis defined by the quaternion <var>q</var>. -</p></dd></dl> - -<dl> -<dt id="index-matrix4_002drotate_002dz_0021">Procedure: <strong>matrix4-rotate-z!</strong> <em>matrix theta</em></dt> -<dd><p>Modify <var>matrix</var> in-place to contain a rotation about the Z axis by -<var>theta</var> radians. -</p></dd></dl> - -<dl> -<dt id="index-matrix4_002d2d_002dtransform_0021">Procedure: <strong>matrix4-2d-transform!</strong> <em>matrix [#:origin] [#:position] [#:rotation] [#:scale] [#:shear]</em></dt> -<dd> -<p>Modify <var>matrix</var> in-place to contain the transformation described -by <var>position</var>, a 2D vector or rectangle, <var>rotation</var>, a scalar -representing a rotation about the Z axis, <var>scale</var>, a 2D vector, -and <var>shear</var>, a 2D vector. The transformation happens with respect -to <var>origin</var>, a 2D vector. If an argument is not provided, that -particular transformation will not be included in the result. -</p></dd></dl> - -<dl> -<dt id="index-matrix4_002dtransform_0021">Procedure: <strong>matrix4-transform!</strong> <em>matrix v</em></dt> -<dd><p>Modify the 2D vector <var>v</var> in-place by multiplying it by the 4x4 -matrix <var>matrix</var>. -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Quaternions.html" accesskey="n" rel="next">Quaternions</a>, Previous: <a href="Rectangles.html" accesskey="p" rel="prev">Rectangles</a>, Up: <a href="Math.html" accesskey="u" rel="up">Math</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Meshes.html b/manuals/chickadee/Meshes.html deleted file mode 100644 index 7e66c4d..0000000 --- a/manuals/chickadee/Meshes.html +++ /dev/null @@ -1,413 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Meshes (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Meshes (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Meshes (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Graphics.html" rel="up" title="Graphics" /> -<link href="Buffers.html" rel="next" title="Buffers" /> -<link href="Skyboxes.html" rel="prev" title="Skyboxes" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Meshes"></span><div class="header"> -<p> -Next: <a href="Buffers.html" accesskey="n" rel="next">Buffers</a>, Previous: <a href="Skyboxes.html" accesskey="p" rel="prev">Skyboxes</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Meshes-1"></span><h4 class="subsection">5.3.11 Meshes</h4> - -<p>The <code>(chickadee graphics mesh)</code> modules provides procedures for -programmatically creating 3D objects (to load 3D models from a file on -disk, see <a href="#Meshes">Meshes</a>.) -</p> -<span id="Materials"></span><h4 class="subsubsection">5.3.11.1 Materials</h4> - -<p>Before we talk about meshes themselves, let’s discuss “materials.” -Materials control the appearance of 3D objects. Whether an object -appears like a rough rock, a smooth and shiny metal, etc. depends on -the material that is applied to it. Different types of materials use -different lighting models. Chickadee supports two lighting models: -The classic Blinn-Phong model and a more modern physically based -rendering (PBR) model. -</p> -<p>All materials share some common data: -</p> -<dl> -<dt id="index-material_003f">Procedure: <strong>material?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a material. -</p></dd></dl> - -<dl> -<dt id="index-material_002dname">Procedure: <strong>material-name</strong> <em>material</em></dt> -<dd><p>Return the name of <var>material</var>. -</p></dd></dl> - -<dl> -<dt id="index-material_002dshader">Procedure: <strong>material-shader</strong> <em>material</em></dt> -<dd><p>Return the shader of <var>material</var>. -</p></dd></dl> - -<dl> -<dt id="index-material_002dblend_002dmode">Procedure: <strong>material-blend-mode</strong> <em>material</em></dt> -<dd><p>Return the blend mode of <var>material</var>. -</p></dd></dl> - -<dl> -<dt id="index-material_002dpolygon_002dmode">Procedure: <strong>material-polygon-mode</strong> <em>material</em></dt> -<dd><p>Return the polygon mode of <var>material</var>. -</p></dd></dl> - -<dl> -<dt id="index-material_002dcull_002dface_002dmode">Procedure: <strong>material-cull-face-mode</strong> <em>material</em></dt> -<dd><p>Return the cull face mode of <var>material</var>. -</p></dd></dl> - -<dl> -<dt id="index-material_002ddepth_002dtest">Procedure: <strong>material-depth-test</strong> <em>material</em></dt> -<dd><p>Return the depth test of <var>material</var>. -</p></dd></dl> - -<dl> -<dt id="index-material_002dstencil_002dtest">Procedure: <strong>material-stencil-test</strong> <em>material</em></dt> -<dd><p>Return the stencil test of <var>material</var>. -</p></dd></dl> - -<dl> -<dt id="index-material_002dmultisample_003f">Procedure: <strong>material-multisample?</strong> <em>material</em></dt> -<dd><p>Return <code>#t</code> if <var>material</var> uses multisampling. -</p></dd></dl> - -<p>Materials support 5 textures. What each texture is used for depends -on the lighting model. -</p> -<dl> -<dt id="index-material_002dtexture_002d0">Procedure: <strong>material-texture-0</strong> <em>material</em></dt> -<dd><p>Return the first texture of <var>material</var>. -</p></dd></dl> - -<dl> -<dt id="index-material_002dtexture_002d1">Procedure: <strong>material-texture-1</strong> <em>material</em></dt> -<dd><p>Return the second texture of <var>material</var>. -</p></dd></dl> - -<dl> -<dt id="index-material_002dtexture_002d2">Procedure: <strong>material-texture-2</strong> <em>material</em></dt> -<dd><p>Return the third texture of <var>material</var>. -</p></dd></dl> - -<dl> -<dt id="index-material_002dtexture_002d3">Procedure: <strong>material-texture-3</strong> <em>material</em></dt> -<dd><p>Return the fourth texture of <var>material</var>. -</p></dd></dl> - -<dl> -<dt id="index-material_002dtexture_002d4">Procedure: <strong>material-texture-4</strong> <em>material</em></dt> -<dd><p>Return the fifth texture of <var>material</var>. -</p></dd></dl> - -<p>For all data that is specific to the lighting model, materials have a -“properties” field. -</p> -<dl> -<dt id="index-material_002dproperties">Procedure: <strong>material-properties</strong> <em>material</em></dt> -<dd><p>Return the lighting model specific properties of <var>material</var>. -</p></dd></dl> - -<span id="Blinn_002dPhong-Materials"></span><h4 class="subsubsection">5.3.11.2 Blinn-Phong Materials</h4> - -<p>The <code>(chickadee graphics phong)</code> module has the Blinn-Phong -lighting model: -</p> -<dl> -<dt id="index-make_002dphong_002dmaterial">Procedure: <strong>make-phong-material</strong> <em>[#:name "anonymous"] [#:blend-mode] [#:polygon-mode] [#:cull-face-mode] [#:depth-test] [#:stencil-test] [#:multisample? #f] [#:ambient-factor (vec3 1 1 1)] [#:diffuse-factor (vec3 1 1 1)] [#:specular-factor (vec3 1 1 1)] [#:shininess 32] [#:ambient-texture] [#:diffuse-texture] [#:specular-texture] [#:normal-texture]</em></dt> -<dd> -<p>Return a new Blinn-Phong material. -</p></dd></dl> - -<dl> -<dt id="index-make_002dphong_002dproperties">Procedure: <strong>make-phong-properties</strong> <em>[#:ambient] [#:diffuse] [#:specular] [#:shininess]</em></dt> -<dd> -<p>Return a new Blinn-Phong properties object. -</p></dd></dl> - -<dl> -<dt id="index-phong_002dproperties_003f">Procedure: <strong>phong-properties?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a Blinn-Phong properties object. -</p></dd></dl> - -<dl> -<dt id="index-phong_002dproperties_002dambient">Procedure: <strong>phong-properties-ambient</strong> <em>properties</em></dt> -<dd><p>Return the ambient factor of <var>properties</var>. -</p></dd></dl> - -<dl> -<dt id="index-phong_002dproperties_002ddiffuse">Procedure: <strong>phong-properties-diffuse</strong> <em>properties</em></dt> -<dd><p>Return the diffuse factor of <var>properties</var>. -</p></dd></dl> - -<dl> -<dt id="index-phong_002dproperties_002dspecular">Procedure: <strong>phong-properties-specular</strong> <em>properties</em></dt> -<dd><p>Return the specular factor of <var>properties</var>. -</p></dd></dl> - -<dl> -<dt id="index-phong_002dproperties_002dshininess">Procedure: <strong>phong-properties-shininess</strong> <em>properties</em></dt> -<dd><p>Return the shininess factor of <var>properties</var>. -</p></dd></dl> - -<span id="PBR-Materials"></span><h4 class="subsubsection">5.3.11.3 PBR Materials</h4> - -<p>The <code>(chickadee graphics pbr)</code> module has the PBR lighting model: -</p> -<dl> -<dt id="index-make_002dpbr_002dmaterial">Procedure: <strong>make-pbr-material</strong> <em>[#:name "anonymous"] [#:blend-mode] [#:polygon-mode] [#:cull-face-mode] [#:depth-test] [#:stencil-test] [#:multisample? #f] [#:base-color-factor (vec3 1 1 1)] [#:base-color-texcoord 0] [#:metallic-factor 1.0] [#:roughness-factor 1.0] [#:metallic-roughness-texcoord 0] [#:normal-texcoord 0] [#:occlusion-texcoord 0] [#:emissive-factor (vec3 1 1 1)] [#:emissive-texcoord 0] [#:alpha-mode opaque] [#:alpha-cutoff 0.5] [#:base-color-texture] [#:metallic-roughness-texture] [#:normal-texture] [#:occlusion-texture] [#:emissive-texture]</em></dt> -<dd> -<p>Return a new PBR material. -</p></dd></dl> - -<dl> -<dt id="index-make_002dpbr_002dproperties">Procedure: <strong>make-pbr-properties</strong> <em>[#:base-color-factor] [#:base-color-texcoord] [#:metallic-factor] [#:roughness-factor] [#:metallic-roughness-texcoord] [#:normal-texcoord] [#:occlusion-texcoord] [#:emissive-factor] [#:emissive-texcoord] [#:alpha-mode] [#:alpha-cutoff]</em></dt> -<dd> -<p>Return a new PBR properties object. -</p></dd></dl> - -<dl> -<dt id="index-pbr_002dproperties_003f">Procedure: <strong>pbr-properties?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a PBR properties object. -</p></dd></dl> - -<dl> -<dt id="index-pbr_002dproperties_002dbase_002dcolor_002dfactor">Procedure: <strong>pbr-properties-base-color-factor</strong> <em>properties</em></dt> -<dd><p>Return the base color factor of <var>properties</var>. -</p></dd></dl> - -<dl> -<dt id="index-pbr_002dproperties_002dbase_002dcolor_002dtexcoord">Procedure: <strong>pbr-properties-base-color-texcoord</strong> <em>properties</em></dt> -<dd><p>Return the base color texture coordinate attribute index of -<var>properties</var>. -</p></dd></dl> - -<dl> -<dt id="index-pbr_002dproperties_002dmetallic_002dfactor">Procedure: <strong>pbr-properties-metallic-factor</strong> <em>properties</em></dt> -<dd><p>Return the metallic factor of <var>properties</var>. -</p></dd></dl> - -<dl> -<dt id="index-pbr_002dproperties_002droughness">Procedure: <strong>pbr-properties-roughness</strong> <em>properties</em></dt> -<dd><p>Return the roughness factor of <var>properties</var>. -</p></dd></dl> - -<dl> -<dt id="index-pbr_002dproperties_002dmetallic_002droughness_002dtexcoord">Procedure: <strong>pbr-properties-metallic-roughness-texcoord</strong> <em>properties</em></dt> -<dd><p>Return the metallic-roughness texture coordinate attribute index of -<var>properties</var>. -</p></dd></dl> - -<dl> -<dt id="index-pbr_002dproperties_002dnormal_002dtexcoord">Procedure: <strong>pbr-properties-normal-texcoord</strong> <em>properties</em></dt> -<dd><p>Return the normal texture coordinate attribute index of -<var>properties</var>. -</p></dd></dl> - -<dl> -<dt id="index-pbr_002dproperties_002docclusion_002dtexcoord">Procedure: <strong>pbr-properties-occlusion-texcoord</strong> <em>properties</em></dt> -<dd><p>Return the ambient occlusion texture coordinate attribute index of -<var>properties</var>. -</p></dd></dl> - -<dl> -<dt id="index-pbr_002dproperties_002demissive_002dfactor">Procedure: <strong>pbr-properties-emissive-factor</strong> <em>properties</em></dt> -<dd><p>Return the emissive factor of <var>properties</var>. -</p></dd></dl> - -<dl> -<dt id="index-pbr_002dproperties_002demissive_002dtexcoord">Procedure: <strong>pbr-properties-emissive-texcoord</strong> <em>properties</em></dt> -<dd><p>Return the emissive texture coordinate attribute index of -<var>properties</var>. -</p></dd></dl> - -<dl> -<dt id="index-pbr_002dproperties_002dalpha_002dmode">Procedure: <strong>pbr-properties-alpha-mode</strong> <em>properties</em></dt> -<dd><p>Return the alpha mode of <var>properties</var>. -</p></dd></dl> - -<dl> -<dt id="index-pbr_002dproperties_002dalpha_002dcutoff">Procedure: <strong>pbr-properties-alpha-cutoff</strong> <em>properties</em></dt> -<dd><p>Return the alpha cutoff threshold of <var>properties</var>. -</p></dd></dl> - -<span id="Primitives-and-Meshes"></span><h4 class="subsubsection">5.3.11.4 Primitives and Meshes</h4> - -<p>A mesh is a collection of “primitives,” so we should discuss those -next. A primitive contains vertex data and a material. -</p> -<dl> -<dt id="index-make_002dprimitive">Procedure: <strong>make-primitive</strong> <em>name vertex-array material</em></dt> -<dd><p>Return a new primitive named <var>name</var> that renders -<var>vertex-array</var> (see <a href="Buffers.html">Buffers</a>) using <var>material</var>. -</p></dd></dl> - -<dl> -<dt id="index-primitive_003f">Procedure: <strong>primitive?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a primitive. -</p></dd></dl> - -<dl> -<dt id="index-primitive_002dname">Procedure: <strong>primitive-name</strong> <em>primitive</em></dt> -<dd><p>Return the name of <var>primitive</var>. -</p></dd></dl> - -<dl> -<dt id="index-primitive_002dvertex_002darray">Procedure: <strong>primitive-vertex-array</strong> <em>primitive</em></dt> -<dd><p>Return the vertex array of <var>primitive</var>. -</p></dd></dl> - -<dl> -<dt id="index-primitive_002dmaterial">Procedure: <strong>primitive-material</strong> <em>primitive</em></dt> -<dd><p>Return the material of <var>primitive</var>. -</p></dd></dl> - -<p>Okay, now we can talk about meshes, which are just a glorified list of -primitive objects. -</p> -<dl> -<dt id="index-make_002dmesh">Procedure: <strong>make-mesh</strong> <em>name primitives</em></dt> -<dd><p>Return a new mesh named <var>name</var> that is composed of the list -<var>primitives</var>. -</p></dd></dl> - -<dl> -<dt id="index-mesh_003f">Procedure: <strong>mesh?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a mesh. -</p></dd></dl> - -<dl> -<dt id="index-mesh_002dname">Procedure: <strong>mesh-name</strong> <em>mesh</em></dt> -<dd><p>Return the name of <var>mesh</var>. -</p></dd></dl> - -<dl> -<dt id="index-mesh_002dprimitives">Procedure: <strong>mesh-primitives</strong> <em>mesh</em></dt> -<dd><p>Return the list of primitives for <var>mesh</var>. -</p></dd></dl> - -<p>The mesh module also conveniently provides procedures to build several -basic 3D shapes. -</p> -<dl> -<dt id="index-make_002dplane">Procedure: <strong>make-plane</strong> <em>length width material</em></dt> -<dd><p>Return a new mesh that forms a flat plane on the XZ axis that is -<var>width</var> units long along the X axis and <var>length</var> units long -along the Z axis. -</p></dd></dl> - -<dl> -<dt id="index-make_002dtesselated_002dplane">Procedure: <strong>make-tesselated-plane</strong> <em>length width resolution material</em></dt> -<dd><p>Return a new mesh that forms a tesselated plane on the XZ axis that is -<var>width</var> units long along the X axis and <var>length</var> units long -along the Z axis. -</p> -<p>A regular plane is a single rectangle, but a tesselated plane is -subdivided into many smaller rectangles by <var>resolution</var>. This -allows for transforming the vertices in a shader to achieve effects -such as waves in water or mountainous terrain. -</p></dd></dl> - -<dl> -<dt id="index-make_002dcube">Procedure: <strong>make-cube</strong> <em>size material</em></dt> -<dd><p>Return a new mesh that forms a cube that is <var>size</var> units big. -</p></dd></dl> - -<dl> -<dt id="index-make_002dsphere">Procedure: <strong>make-sphere</strong> <em>radius material [#:quality 2]</em></dt> -<dd><p>Return a new mesh that forms a sphere that has a radius of -<var>radius</var> units. Since 3D models are composed of triangles, the -quality of a sphere is entirely dependent upon how many triangles are -used to appromixate the shape. The higher the value of <var>quality</var>, -the better the appromixation, but the more time it will take to -generate and the more expensive it will be to draw. The number of -triangles in the resulting sphere increases exponentially with each -increment to <var>quality</var>. -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Buffers.html" accesskey="n" rel="next">Buffers</a>, Previous: <a href="Skyboxes.html" accesskey="p" rel="prev">Skyboxes</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Models.html b/manuals/chickadee/Models.html deleted file mode 100644 index 4d319a1..0000000 --- a/manuals/chickadee/Models.html +++ /dev/null @@ -1,167 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Models (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Models (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Models (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Graphics.html" rel="up" title="Graphics" /> -<link href="Lights.html" rel="next" title="Lights" /> -<link href="Tile-Maps.html" rel="prev" title="Tile Maps" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Models"></span><div class="header"> -<p> -Next: <a href="Lights.html" accesskey="n" rel="next">Lights</a>, Previous: <a href="Tile-Maps.html" accesskey="p" rel="prev">Tile Maps</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Models-1"></span><h4 class="subsection">5.3.8 Models</h4> - -<p><em>Disclaimer: Chickadee is alpha software, but 3D model support is -even more alpha than that. There are many missing features in both -the model loading and rendering components, so set your expectations -accordingly!</em> -</p> -<p>The <code>(chickadee graphics model)</code> module provides procedures to -load and render 3D models in the classic OBJ and more modern glTF 2.0 -formats. -</p> -<p>Here’s some basic boilerplate to render a 3D model: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-symbol">use-modules</span> <span class="syntax-open">(</span><span class="syntax-symbol">chickadee</span> <span class="syntax-symbol">graphics</span> <span class="syntax-symbol">light</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">chickadee</span> <span class="syntax-symbol">graphics</span> <span class="syntax-symbol">model</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">chickadee</span> <span class="syntax-symbol">graphics</span> <span class="syntax-symbol">skybox</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - -<span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">model</span> <span class="syntax-open">(</span><span class="syntax-symbol">load-gltf</span> <span class="syntax-string">"Suzanne.gltf"</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -<span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">camera-position</span> <span class="syntax-open">(</span><span class="syntax-symbol">vec3</span> <span class="syntax-symbol">0.0</span> <span class="syntax-symbol">0.0</span> <span class="syntax-symbol">3.0</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -<span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">world</span> <span class="syntax-open">(</span><span class="syntax-symbol">make-identity-matrix4</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -<span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">view</span> <span class="syntax-open">(</span><span class="syntax-symbol">look-at</span> <span class="syntax-symbol">camera-position</span> <span class="syntax-open">(</span><span class="syntax-symbol">vec3</span> <span class="syntax-symbol">0.0</span> <span class="syntax-symbol">0.0</span> <span class="syntax-symbol">0.0</span><span class="syntax-close">)</span> <span class="syntax-open">(</span><span class="syntax-symbol">vec3</span> <span class="syntax-symbol">0.0</span> <span class="syntax-symbol">1.0</span> <span class="syntax-symbol">0.0</span><span class="syntax-close">)</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -<span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">projection</span> <span class="syntax-open">(</span><span class="syntax-symbol">perspective-projection</span> <span class="syntax-open">(</span><span class="syntax-symbol">/</span> <span class="syntax-symbol">pi</span> <span class="syntax-symbol">3.0</span><span class="syntax-close">)</span> <span class="syntax-open">(</span><span class="syntax-symbol">/</span> <span class="syntax-symbol">4.0</span> <span class="syntax-symbol">3.0</span><span class="syntax-close">)</span> <span class="syntax-symbol">0.1</span> <span class="syntax-symbol">5.0</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - -<span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-open">(</span><span class="syntax-symbol">draw</span> <span class="syntax-symbol">alpha</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">with-projection</span> <span class="syntax-symbol">projection</span> - <span class="syntax-open">(</span><span class="syntax-symbol">draw-model</span> <span class="syntax-symbol">model</span> <span class="syntax-symbol">world</span> <span class="syntax-symbol">view</span> <span class="syntax-symbol">camera-position</span> -</pre></div> - -<dl> -<dt id="index-load_002dobj">Procedure: <strong>load-obj</strong> <em>file-name</em></dt> -<dd><p>Load the OBJ formatted model in <var>file-name</var> and return a 3D model -object. -</p> -<p>OBJ models are rendered using a Phong lighting model, which is a -work-in-progress. -</p></dd></dl> - -<dl> -<dt id="index-load_002dgltf">Procedure: <strong>load-gltf</strong> <em>file-name</em></dt> -<dd><p>Load the glTF 2.0 formatted model in <var>file-name</var> and return a 3D -model object. -</p> -<p>glTF models are rendered using a physically based lighting model, -which is currently a stub to be implemented later. -</p></dd></dl> - -<dl> -<dt id="index-model_003f">Procedure: <strong>model?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a 3D model. -</p></dd></dl> - -<dl> -<dt id="index-draw_002dmodel">Procedure: <strong>draw-model</strong> <em>model [#:model-matrix] [#:view-matrix] [#:camera-position (vec3 0 0 0)] [#:skybox] [#:lights '()]</em></dt> -<dd> -<p>Render <var>model</var> with the transformation matrices <var>model-matrix</var> -and <var>view-matrix</var> applied. <var>camera-position</var> is the world -position of the camera, for correct specular lighting calculations. -<var>skybox</var> is used to apply ambient lighting to the model. -<var>lights</var> contains all of the dynamic lights (see <a href="Lights.html">Lights</a>) that -should have an effect on the model. -</p></dd></dl> - -<p>Models are composed of simpler data types: meshes, primitives, and -materials. Let’s start with materials. A material controls the -appearance of a 3D object. Is the object a rough stone? Or maybe a -smooth metal? Materials control all of this and more. -</p> -<p>There are two types of materials in Chickadee: Phong and PBR. -</p> -<hr /> -<div class="header"> -<p> -Next: <a href="Lights.html" accesskey="n" rel="next">Lights</a>, Previous: <a href="Tile-Maps.html" accesskey="p" rel="prev">Tile Maps</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Particles.html b/manuals/chickadee/Particles.html deleted file mode 100644 index 116e2e6..0000000 --- a/manuals/chickadee/Particles.html +++ /dev/null @@ -1,252 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Particles (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Particles (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Particles (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Graphics.html" rel="up" title="Graphics" /> -<link href="Tile-Maps.html" rel="next" title="Tile Maps" /> -<link href="Vector-Paths.html" rel="prev" title="Vector Paths" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Particles"></span><div class="header"> -<p> -Next: <a href="Tile-Maps.html" accesskey="n" rel="next">Tile Maps</a>, Previous: <a href="Vector-Paths.html" accesskey="p" rel="prev">Vector Paths</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Particles-1"></span><h4 class="subsection">5.3.6 Particles</h4> - -<p>Effects like smoke, fire, sparks, etc. are often achieved by animating -lots of little, short-lived sprites known as “particles”. In fact, -all of these effects, and more, can be accomplished by turning a few -configuration knobs in a “particle system”. A particle system takes -care of managing the many miniscule moving morsels so the developer -can quickly produce an effect and move on with their life. The -<code>(chickadee graphics particles)</code> module provides an API for -manipulating particle systems. -</p> -<p>Below is an example of a very simple particle system that utilizes -nearly all of the default configuration settings: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-symbol">use-modules</span> <span class="syntax-open">(</span><span class="syntax-symbol">chickadee</span> <span class="syntax-symbol">graphics</span> <span class="syntax-symbol">particles</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -<span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">texture</span> <span class="syntax-open">(</span><span class="syntax-symbol">load-image</span> <span class="syntax-string">"particle.png"</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -<span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">particles</span> <span class="syntax-open">(</span><span class="syntax-symbol">make-particles</span> <span class="syntax-symbol">2000</span> <span class="syntax-keyword">#:texture</span> <span class="syntax-symbol">texture</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -</pre></div> - -<p>In order to put particles into a particle system, a particle -“emitter” is needed. Emitters know where to spawn new particles, -how many of them to spawn, and for how long they should do it. -</p> -<p>Below is an example of an emitter that spawns 16 particles per frame -at the coordinates <code>(320, 240)</code>: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-symbol">use-modules</span> <span class="syntax-open">(</span><span class="syntax-symbol">chickadee</span> <span class="syntax-symbol">math</span> <span class="syntax-symbol">rect</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -<span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">emitter</span> <span class="syntax-open">(</span><span class="syntax-symbol">make-particle-emitter</span> <span class="syntax-open">(</span><span class="syntax-symbol">make-rect</span> <span class="syntax-symbol">0.0</span> <span class="syntax-symbol">0.0</span> <span class="syntax-symbol">320.0</span> <span class="syntax-symbol">240.0</span><span class="syntax-close">)</span> <span class="syntax-symbol">16</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -<span class="syntax-open">(</span><span class="syntax-symbol">add-particle-emitter</span> <span class="syntax-symbol">particles</span> <span class="syntax-symbol">emitter</span><span class="syntax-close">)</span> -</pre></div> - -<p>To see all of the tweakable knobs and switches, read on! -</p> -<dl> -<dt id="index-make_002dparticles">Procedure: <strong>make-particles</strong> <em>capacity [#:blend-mode] [#:color white] [#:end-color transparent] [#:texture] [#:animation-rows 1] [#:animation-columns 1] [#:width] [#:height] [#:speed-range (vec2 0.1 1.0)] [#:acceleration-range (vec2 0.0 0.1)] [#:direction-range (vec2 0 (* 2 pi))] [#:lifetime 30] [#:sort]</em></dt> -<dd> -<p>Return a new particle system that may contain up to <var>capacity</var> -particles. Achieving the desired particle effect involves tweaking -the following keyword arguments as needed: -</p> -<p>- <var>blend-mode</var>: Pixel blending mode. Alpha blending is used by -default. (see <a href="Render-Settings.html">Render Settings</a> for more about blend modes). -</p> -<p>- <var>start-color</var>: The tint color of the particle at the beginning of its -life. White by default. -</p> -<p>- <var>end-color</var>: The tint color of the particle at the end of of its -life. Completely transparent by default for a fade-out effect. The -color in the middle of a particle’s life will be an interpolation of -<var>start-color</var> and <var>end-color</var>. -</p> -<p>- <var>texture</var>: The texture applied to the particles. The texture -may be subdivided into many animation frames. -</p> -<p>- <var>animation-rows</var>: How many animation frame rows there are in the -texture. Default is 1. -</p> -<p>- <var>animation-columns</var>: How many animation frame columns there are -in the texture. Default is 1. -</p> -<p>- <var>width</var>: The width of each particle. By default, the width of -an animation frame (in pixels) is used. -</p> -<p>- <var>height</var>: The height of each particle. By default, the height -of an animation frame (in pixels) is used. -</p> -<p>- <var>speed-range</var>: A 2D vector containing the min and max particle -speed. Each particle will have a speed chosen at random from this -range. By default, speed ranges from 0.1 to 1.0. -</p> -<p>- <var>acceleration-range</var>: A 2D vector containing the min and max -particle acceleration. Each particle will have an acceleration chosen -at random from this range. By default, acceleration ranges from 0.0 -to 0.1. -</p> -<p>- <var>direction-range</var>: A 2D vector containing the min and max -particle direction as an angle in radians. Each particle will have a -direction chosen at random from this range. By default, the range -covers all possible angles. -</p> -<p>- <var>lifetime</var>: How long each particle lives, measured in -updates. 30 by default. -</p> -<p>- <var>sort</var>: <code>youngest</code> if youngest particle should be drawn -last or <code>oldest</code> for the reverse. By default, no sorting is -applied at all. -</p></dd></dl> - -<dl> -<dt id="index-particles_003f">Procedure: <strong>particles?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a particle system. -</p></dd></dl> - -<dl> -<dt id="index-update_002dparticles">Procedure: <strong>update-particles</strong> <em>particles</em></dt> -<dd><p>Advance the simulation of <var>particles</var>. -</p></dd></dl> - -<dl> -<dt id="index-draw_002dparticles">Procedure: <strong>draw-particles</strong> <em>particles</em></dt> -<dd><p>Render <var>particles</var>. -</p></dd></dl> - -<dl> -<dt id="index-draw_002dparticles_002a">Procedure: <strong>draw-particles*</strong> <em>particles matrix</em></dt> -<dd><p>Render <var>particles</var> with <var>matrix</var> applied. -</p></dd></dl> - -<dl> -<dt id="index-make_002dparticle_002demitter">Procedure: <strong>make-particle-emitter</strong> <em>spawn-area rate [duration]</em></dt> -<dd> -<p>Return a new particle emitter that spawns <var>rate</var> particles per -frame within <var>spawn-area</var> (a rectangle or 2D vector) for -<var>duration</var> frames. If <var>duration</var> is not specified, the -emitter will spawn particles indefinitely. -</p></dd></dl> - -<dl> -<dt id="index-particle_002demitter_003f">Procedure: <strong>particle-emitter?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a particle emitter. -</p></dd></dl> - -<dl> -<dt id="index-particle_002demitter_002dspawn_002darea">Procedure: <strong>particle-emitter-spawn-area</strong> <em>emitter</em></dt> -<dd><p>Return the spawn area for <var>emitter</var>. -</p></dd></dl> - -<dl> -<dt id="index-particle_002demitter_002drate">Procedure: <strong>particle-emitter-rate</strong> <em>emitter</em></dt> -<dd><p>Return the number of particles that <var>emitter</var> will spawn per -frame. -</p></dd></dl> - -<dl> -<dt id="index-particle_002demitter_002dlife">Procedure: <strong>particle-emitter-life</strong> <em>emitter</em></dt> -<dd><p>Return the number of frames remaining in <var>emitter</var>’s lifespan. -</p></dd></dl> - -<dl> -<dt id="index-particle_002demitter_002ddone_003f">Procedure: <strong>particle-emitter-done?</strong> <em>emitter</em></dt> -<dd><p>Return <code>#t</code> if <var>emitter</var> has finished spawning particlces. -</p></dd></dl> - -<dl> -<dt id="index-add_002dparticle_002demitter">Procedure: <strong>add-particle-emitter</strong> <em>particles emitter</em></dt> -<dd><p>Add <var>emitter</var> to <var>particles</var>. -</p></dd></dl> - -<dl> -<dt id="index-remove_002dparticle_002demitter">Procedure: <strong>remove-particle-emitter</strong> <em>particles emitter</em></dt> -<dd><p>Remove <var>emitter</var> from <var>particles</var> -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Tile-Maps.html" accesskey="n" rel="next">Tile Maps</a>, Previous: <a href="Vector-Paths.html" accesskey="p" rel="prev">Vector Paths</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Path-Finding.html b/manuals/chickadee/Path-Finding.html deleted file mode 100644 index 150ef88..0000000 --- a/manuals/chickadee/Path-Finding.html +++ /dev/null @@ -1,171 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Path Finding (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Path Finding (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Path Finding (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Data-Structures.html" rel="up" title="Data Structures" /> -<link href="Copying-This-Manual.html" rel="next" title="Copying This Manual" /> -<link href="Grids.html" rel="prev" title="Grids" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Path-Finding"></span><div class="header"> -<p> -Previous: <a href="Grids.html" accesskey="p" rel="prev">Grids</a>, Up: <a href="Data-Structures.html" accesskey="u" rel="up">Data Structures</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Path-Finding-1"></span><h4 class="subsection">5.6.6 Path Finding</h4> - -<p>Most game worlds have maps. Often, these games have a need to move -non-player characters around in an unscripted fashion. For example, -in a real-time strategy game, the player may command one of their -units to attack something in the enemy base. To do so, the unit must -calculate the shortest route to get there. It wouldn’t be a very fun -game if units didn’t know how to transport themselves efficiently. -This is where path finding algorithms come in handy. The -<code>(chickadee data path-finding)</code> module provides a generic -implementation of the popular A* path finding algorithm. Just add a -map implementation! -</p> -<p>The example below defines a very simple town map and finds the -quickest way to get from the town common to the school. -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">world-map</span> - <span class="syntax-symbol">'</span><span class="syntax-open">(</span><span class="syntax-open">(</span><span class="syntax-symbol">town-common</span> <span class="syntax-symbol">.</span> <span class="syntax-open">(</span><span class="syntax-symbol">town-hall</span> <span class="syntax-special">library</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">town-hall</span> <span class="syntax-symbol">.</span> <span class="syntax-open">(</span><span class="syntax-symbol">town-common</span> <span class="syntax-symbol">school</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-special">library</span> <span class="syntax-symbol">.</span> <span class="syntax-open">(</span><span class="syntax-symbol">town-common</span> <span class="syntax-symbol">cafe</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">school</span> <span class="syntax-symbol">.</span> <span class="syntax-open">(</span><span class="syntax-symbol">town-hall</span> <span class="syntax-symbol">cafe</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">cafe</span> <span class="syntax-symbol">.</span> <span class="syntax-open">(</span><span class="syntax-special">library</span> <span class="syntax-symbol">school</span><span class="syntax-close">)</span><span class="syntax-close">)</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -<span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-open">(</span><span class="syntax-symbol">neighbors</span> <span class="syntax-symbol">building</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">assq-ref</span> <span class="syntax-symbol">town-map</span> <span class="syntax-symbol">building</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -<span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-open">(</span><span class="syntax-symbol">cost</span> <span class="syntax-symbol">a</span> <span class="syntax-symbol">b</span><span class="syntax-close">)</span> <span class="syntax-symbol">1</span><span class="syntax-close">)</span> -<span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-open">(</span><span class="syntax-symbol">distance</span> <span class="syntax-symbol">a</span> <span class="syntax-symbol">b</span><span class="syntax-close">)</span> <span class="syntax-symbol">1</span><span class="syntax-close">)</span> -<span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">pf</span> <span class="syntax-open">(</span><span class="syntax-symbol">make-path-finder</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -<span class="syntax-open">(</span><span class="syntax-symbol">a*</span> <span class="syntax-symbol">pf</span> <span class="syntax-symbol">'town-common</span> <span class="syntax-symbol">'school</span> <span class="syntax-symbol">neighbors</span> <span class="syntax-symbol">cost</span> <span class="syntax-symbol">distance</span><span class="syntax-close">)</span> -</pre></div> - -<p>In this case, the <code>a*</code> procedure will return the list -<code>(town-common town-hall school)</code>, which is indeed the shortest -route. (The other possible route is <code>(town-common library cafe -school)</code>.) -</p> -<p>The <code>a*</code> procedure does not know anything about about any kind of -map and therefore must be told how to look up neighboring nodes, which -is what the <code>neighbors</code> procedure in the example does. To -simulate different types of terrain, a cost procedure is used. In -this example, it is just as easy to move between any two nodes because -<code>cost</code> always returns 1. In a real game, perhaps moving from -from a field to a rocky hill would cost a lot more than moving from -one field to another. Finally, a heuristic is used to calculate an -approximate distance between two nodes on the map. In this simple -association list based graph it is tough to calculate a distance -between nodes, so the <code>distance</code> procedure isn’t helpful and -always returns 1. In a real game with a tile-based map, for example, -the heuristic could be a quick Manhattan distance calculation based on -the coordinates of the two map tiles. Choose an appropriate heuristic -for optimal path finding! -</p> -<dl> -<dt id="index-make_002dpath_002dfinder">Procedure: <strong>make-path-finder</strong></dt> -<dd><p>Return a new path finder object. -</p></dd></dl> - -<dl> -<dt id="index-path_002dfinder_003f">Procedure: <strong>path-finder?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a path finder. -</p></dd></dl> - -<dl> -<dt id="index-a_002a">Procedure: <strong>a*</strong> <em>path-finder start goal neighbors cost distance</em></dt> -<dd> -<p>Return a list of nodes forming a path from <var>start</var> to <var>goal</var> -using <var>path-finder</var> to hold state. <var>neighbors</var> is a procedure -that accepts a node and returns a list of nodes that neighbor it. -<var>cost</var> is a procedure that accepts two neighboring nodes and -returns the cost of moving from the first to the second as a real -number. <var>distance</var> is a procedure that accepts two nodes and -returns an approximate distance between them. -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Previous: <a href="Grids.html" accesskey="p" rel="prev">Grids</a>, Up: <a href="Data-Structures.html" accesskey="u" rel="up">Data Structures</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Quadtrees.html b/manuals/chickadee/Quadtrees.html deleted file mode 100644 index 5675542..0000000 --- a/manuals/chickadee/Quadtrees.html +++ /dev/null @@ -1,222 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Quadtrees (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Quadtrees (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Quadtrees (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Data-Structures.html" rel="up" title="Data Structures" /> -<link href="Grids.html" rel="next" title="Grids" /> -<link href="Heaps.html" rel="prev" title="Heaps" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Quadtrees"></span><div class="header"> -<p> -Next: <a href="Grids.html" accesskey="n" rel="next">Grids</a>, Previous: <a href="Heaps.html" accesskey="p" rel="prev">Heaps</a>, Up: <a href="Data-Structures.html" accesskey="u" rel="up">Data Structures</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Quadtrees-1"></span><h4 class="subsection">5.6.4 Quadtrees</h4> - -<p>The <code>(chickadee data quadtree)</code> module provides a 2D spatial -partitioning implementation known as a “quadtree”. A quadtree -recursively subdivides the world into rectangular quadrants. This -data structure is very useful for handling broad-phase collision -detection because it can quickly determine the objects that may -possibly be colliding with another, resulting in fewer narrow-phase -collision tests that are typically much more expensive. -</p> -<dl> -<dt id="index-make_002dquadtree">Procedure: <strong>make-quadtree</strong> <em>bounds [#:max-size 5] [#:max-depth 4]</em></dt> -<dd><p>Return a new quadtree that covers the area <var>bounds</var>. Each node -will try to hold at maximum <var>max-size</var> objects and the tree depth -will be restricted to <var>max-depth</var>. -</p></dd></dl> - -<dl> -<dt id="index-quadtree_003f">Procedure: <strong>quadtree?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a quadtree. -</p></dd></dl> - -<dl> -<dt id="index-quadtree_002dclear_0021">Procedure: <strong>quadtree-clear!</strong> <em>quadtree</em></dt> -<dd><p>Clear all objects from <var>quadtree</var>. -</p></dd></dl> - -<dl> -<dt id="index-quadtree_002dinsert_0021">Procedure: <strong>quadtree-insert!</strong> <em>quadtree rect object</em></dt> -<dd><p>Insert <var>object</var> with bounding box <var>rect</var> into <var>quadtree</var>. -</p></dd></dl> - -<dl> -<dt id="index-quadtree_002ddelete_0021">Procedure: <strong>quadtree-delete!</strong> <em>quadtree rect object</em></dt> -<dd><p>Delete <var>object</var>, who occupies the space <var>rect</var>, from -<var>quadtree</var>. -</p></dd></dl> - -<dl> -<dt id="index-quadtree_002dfind">Procedure: <strong>quadtree-find</strong> <em>rect pred</em></dt> -<dd><p>Return the first object in <var>quadtree</var> in the vicinity of -<var>rect</var> that satisfies <var>pred</var>. -</p></dd></dl> - -<dl> -<dt id="index-quadtree_002dfold">Procedure: <strong>quadtree-fold</strong> <em>quadtree rect init proc</em></dt> -<dd><p>Apply <var>proc</var> to all objects in the vicinity of <var>rect</var> in -<var>quadtree</var> to build a result and return that result. <var>init</var> -is the initial result. If there are no objects in the vicinity of -<var>rect</var>, just <var>init</var> is returned. -</p></dd></dl> - -<dl> -<dt id="index-quadtree_002dfor_002deach">Procedure: <strong>quadtree-for-each</strong> <em>quadtree rect proc</em></dt> -<dd><p>Call <var>proc</var> for all objects in the vicinity of <var>rect</var> in -<var>quadtree</var>. -</p></dd></dl> - -<dl> -<dt id="index-quadtree_002dleaf_003f">Procedure: <strong>quadtree-leaf?</strong> <em>quadtree</em></dt> -<dd><p>Return <code>#t</code> if <var>quadtree</var> is a leaf node. -</p></dd></dl> - -<dl> -<dt id="index-quadtree_002dbounds">Procedure: <strong>quadtree-bounds</strong> <em>quadtree</em></dt> -<dd><p>Return the bounding rectangle of <var>quadtree</var>. -</p></dd></dl> - -<dl> -<dt id="index-quadtree_002dmax_002ddepth">Procedure: <strong>quadtree-max-depth</strong> <em>quadtree</em></dt> -<dd><p>Return the maximum depth of <var>quadtree</var>. -</p></dd></dl> - -<dl> -<dt id="index-quadtree_002dmax_002dsize">Procedure: <strong>quadtree-max-size</strong> <em>quadtree</em></dt> -<dd><p>Return the desired per-node maximum object count of <var>quadtree</var>. -</p></dd></dl> - -<dl> -<dt id="index-quadtree_002ddepth">Procedure: <strong>quadtree-depth</strong> <em>quadtree</em></dt> -<dd><p>Return the depth of the node <var>quadtree</var>. -</p></dd></dl> - -<dl> -<dt id="index-quadtree_002dsize">Procedure: <strong>quadtree-size</strong> <em>quadtree</em></dt> -<dd><p>Return the number of objects stored in the node <var>quadtree</var>. -</p></dd></dl> - -<p>Non-leaf nodes always have four child nodes, which correspond to the -quadrants of a Cartesian coordinate system: -</p> -<pre class="verbatim">*------*------* -| | | -| Q2 | Q1 | -| | | -*------*------* -| | | -| Q3 | Q4 | -| | | -*------*------* -</pre> -<dl> -<dt id="index-quadtree_002dq1">Procedure: <strong>quadtree-q1</strong> <em>quadtree</em></dt> -<dd><p>Return the upper-right child node of <var>quadtree</var>, or <code>#f</code> if -<var>quadtree</var> is a leaf node. -</p></dd></dl> - -<dl> -<dt id="index-quadtree_002dq2">Procedure: <strong>quadtree-q2</strong> <em>quadtree</em></dt> -<dd><p>Return the upper-left child node of <var>quadtree</var>, or <code>#f</code> if -<var>quadtree</var> is a leaf node. -</p></dd></dl> - -<dl> -<dt id="index-quadtree_002dq3">Procedure: <strong>quadtree-q3</strong> <em>quadtree</em></dt> -<dd><p>Return the lower-left child node of <var>quadtree</var>, or <code>#f</code> if -<var>quadtree</var> is a leaf node. -</p></dd></dl> - -<dl> -<dt id="index-quadtree_002dq4">Procedure: <strong>quadtree-q4</strong> <em>quadtree</em></dt> -<dd><p>Return the lower-right child node of <var>quadtree</var>, or <code>#f</code> if -<var>quadtree</var> is a leaf node. -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Grids.html" accesskey="n" rel="next">Grids</a>, Previous: <a href="Heaps.html" accesskey="p" rel="prev">Heaps</a>, Up: <a href="Data-Structures.html" accesskey="u" rel="up">Data Structures</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Quaternions.html b/manuals/chickadee/Quaternions.html deleted file mode 100644 index be875ee..0000000 --- a/manuals/chickadee/Quaternions.html +++ /dev/null @@ -1,137 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Quaternions (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Quaternions (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Quaternions (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Math.html" rel="up" title="Math" /> -<link href="Easings.html" rel="next" title="Easings" /> -<link href="Matrices.html" rel="prev" title="Matrices" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Quaternions"></span><div class="header"> -<p> -Next: <a href="Easings.html" accesskey="n" rel="next">Easings</a>, Previous: <a href="Matrices.html" accesskey="p" rel="prev">Matrices</a>, Up: <a href="Math.html" accesskey="u" rel="up">Math</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Quaternions-1"></span><h4 class="subsection">5.2.5 Quaternions</h4> - -<p>In game development, the quaternion is most often used to represent -rotations. Why not use a matrix for that, you may ask. Unlike -matrices, quaternions can be interpolated (animated) and produce a -meaningful result. When interpolating two quaternions, there is a -smooth transition from one rotation to another, whereas interpolating -two matrices would yield garbage. -</p> -<dl> -<dt id="index-quaternion">Procedure: <strong>quaternion</strong> <em>x y z w</em></dt> -<dd><p>Return a new quaternion with values <var>x</var>, <var>y</var>, <var>z</var>, and -<var>w</var>. -</p></dd></dl> - -<dl> -<dt id="index-quaternion_003f">Procedure: <strong>quaternion?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a quaternion. -</p></dd></dl> - -<dl> -<dt id="index-quaternion_002dw">Procedure: <strong>quaternion-w</strong> <em>q</em></dt> -<dd><p>Return the W component of the quaternion <var>q</var>. -</p></dd></dl> - -<dl> -<dt id="index-quaternion_002dx">Procedure: <strong>quaternion-x</strong> <em>q</em></dt> -<dd><p>Return the X component of the quaternion <var>q</var>. -</p></dd></dl> - -<dl> -<dt id="index-quaternion_002dy">Procedure: <strong>quaternion-y</strong> <em>q</em></dt> -<dd><p>Return the Y component of the quaternion <var>q</var>. -</p></dd></dl> - -<dl> -<dt id="index-quaternion_002dz">Procedure: <strong>quaternion-z</strong> <em>q</em></dt> -<dd><p>Return the Z component of the quaternion <var>q</var>. -</p></dd></dl> - -<dl> -<dt id="index-make_002didentity_002dquaternion">Procedure: <strong>make-identity-quaternion</strong></dt> -<dd><p>Return the identity quaternion. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/chickadee/Queues.html b/manuals/chickadee/Queues.html deleted file mode 100644 index 9e5d238..0000000 --- a/manuals/chickadee/Queues.html +++ /dev/null @@ -1,133 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Queues (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Queues (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Queues (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Data-Structures.html" rel="up" title="Data Structures" /> -<link href="Heaps.html" rel="next" title="Heaps" /> -<link href="Array-Lists.html" rel="prev" title="Array Lists" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Queues"></span><div class="header"> -<p> -Next: <a href="Heaps.html" accesskey="n" rel="next">Heaps</a>, Previous: <a href="Array-Lists.html" accesskey="p" rel="prev">Array Lists</a>, Up: <a href="Data-Structures.html" accesskey="u" rel="up">Data Structures</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Queues-1"></span><h4 class="subsection">5.6.2 Queues</h4> - -<p>The <code>(chickadee data queue)</code> module provides a mutable queue that -is more memory efficient than Guile’s built-in <code>(ice-9 q)</code> -module. -</p> -<dl> -<dt id="index-make_002dqueue">Procedure: <strong>make-queue</strong></dt> -<dd><p>Return a new, empty queue. -</p></dd></dl> - -<dl> -<dt id="index-queue_003f">Procedure: <strong>queue?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a queue. -</p></dd></dl> - -<dl> -<dt id="index-queue_002dempty_003f">Procedure: <strong>queue-empty?</strong> <em>queue</em></dt> -<dd><p>Return <code>#t</code> if <var>queue</var> is empty. -</p></dd></dl> - -<dl> -<dt id="index-queue_002dlength">Procedure: <strong>queue-length</strong> <em>queue</em></dt> -<dd><p>Return the current length of <var>queue</var>. -</p></dd></dl> - -<dl> -<dt id="index-enqueue_0021">Procedure: <strong>enqueue!</strong> <em>queue item</em></dt> -<dd><p>Add <var>item</var> to <var>queue</var>. -</p></dd></dl> - -<dl> -<dt id="index-dequeue_0021">Procedure: <strong>dequeue!</strong> <em>queue</em></dt> -<dd><p>Remove and return the first item in <var>queue</var>. -</p></dd></dl> - -<dl> -<dt id="index-queue_002dclear_0021">Procedure: <strong>queue-clear!</strong> <em>queue</em></dt> -<dd><p>Remove all items from <var>queue</var>. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/chickadee/Rectangles.html b/manuals/chickadee/Rectangles.html deleted file mode 100644 index 487fac7..0000000 --- a/manuals/chickadee/Rectangles.html +++ /dev/null @@ -1,330 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Rectangles (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Rectangles (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Rectangles (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Math.html" rel="up" title="Math" /> -<link href="Matrices.html" rel="next" title="Matrices" /> -<link href="Vectors.html" rel="prev" title="Vectors" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Rectangles"></span><div class="header"> -<p> -Next: <a href="Matrices.html" accesskey="n" rel="next">Matrices</a>, Previous: <a href="Vectors.html" accesskey="p" rel="prev">Vectors</a>, Up: <a href="Math.html" accesskey="u" rel="up">Math</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Rectangles-1"></span><h4 class="subsection">5.2.3 Rectangles</h4> - -<p>The <code>(chickadee math rect)</code> module provides an API for -manipulating axis-aligned bounding boxes (AABBs). AABBs are often -used for collision detection in games. Common use-cases are defining -“hitboxes” in platformers or using them for the “broad phase” of a -collision detection algorithm that uses a more complex (and thus -slower) method of determining the actual collisions. -</p> -<p>Like some of the other math modules, there exists a collection of -functions that do in-place modification of rectangles for use in -performance critical code paths. -</p> -<dl> -<dt id="index-rect">Procedure: <strong>rect</strong> <em>x y width height</em></dt> -<dt id="index-make_002drect">Procedure: <strong>make-rect</strong> <em><var>x</var> <var>y</var> <var>width</var> <var>height</var></em></dt> -<dd><p>Create a new rectangle that is <var>width</var> by <var>height</var> in size and -whose bottom-left corner is located at (<var>x</var>, <var>y</var>). -</p></dd></dl> - -<dl> -<dt id="index-rect_003f">Procedure: <strong>rect?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a rectangle. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dwithin_003f">Procedure: <strong>rect-within?</strong> <em>rect1 rect2</em></dt> -<dd><p>Return <code>#t</code> if <var>rect2</var> is completely within <var>rect1</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dintersects_003f">Procedure: <strong>rect-intersects?</strong> <em>rect1 rect2</em></dt> -<dd><p>Return <code>#t</code> if <var>rect2</var> overlaps <var>rect1</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dcontains_003f">Procedure: <strong>rect-contains?</strong> <em>rect x y</em></dt> -<dd><p>Return <code>#t</code> if the coordinates (<var>x</var>, <var>y</var>) are within -<var>rect</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dcontains_002dvec2_003f">Procedure: <strong>rect-contains-vec2?</strong> <em>rect v</em></dt> -<dd><p>Return <code>#t</code> if the 2D vector <var>v</var> is within the bounds of -<var>rect</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dx">Procedure: <strong>rect-x</strong> <em>rect</em></dt> -<dd><p>Return the X coordinate of the lower-left corner of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dy">Procedure: <strong>rect-y</strong> <em>rect</em></dt> -<dd><p>Return the Y coordinate of the lower-left corner of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dleft">Procedure: <strong>rect-left</strong> <em>rect</em></dt> -<dd><p>Return the left-most X coordinate of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dright">Procedure: <strong>rect-right</strong> <em>rect</em></dt> -<dd><p>Return the right-most X coordinate of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dbottom">Procedure: <strong>rect-bottom</strong> <em>rect</em></dt> -<dd><p>Return the bottom-most Y coordinate of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dtop">Procedure: <strong>rect-top</strong> <em>rect</em></dt> -<dd><p>Return the top-most Y coordinate of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dcenter_002dx">Procedure: <strong>rect-center-x</strong> <em>rect</em></dt> -<dd><p>Return the X coordinate of the center of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dcenter_002dy">Procedure: <strong>rect-center-y</strong> <em>rect</em></dt> -<dd><p>Return the Y coordinate of the center of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dwidth">Procedure: <strong>rect-width</strong> <em>rect</em></dt> -<dd><p>Return the width of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dheight">Procedure: <strong>rect-height</strong> <em>rect</em></dt> -<dd><p>Return the height of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002darea">Procedure: <strong>rect-area</strong> <em>rect</em></dt> -<dd><p>Return the surface area covered by <var>rect</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dclamp_002dx">Procedure: <strong>rect-clamp-x</strong> <em>rect x</em></dt> -<dd><p>Restrict <var>x</var> to the portion of the X axis covered by <var>rect</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dclamp_002dy">Procedure: <strong>rect-clamp-y</strong> <em>rect y</em></dt> -<dd><p>Restrict <var>y</var> to the portion of the Y axis covered by <var>rect</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dclamp">Procedure: <strong>rect-clamp</strong> <em>rect1 rect2</em></dt> -<dd><p>Return a new rect that adjusts the location of <var>rect1</var> so that it -is completely within <var>rect2</var>. An exception is thrown in the case -that <var>rect1</var> cannot fit completely within <var>rect2</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dmove">Procedure: <strong>rect-move</strong> <em>rect x y</em></dt> -<dd><p>Return a new rectangle based on <var>rect</var> but moved to the -coordinates (<var>x</var>, <var>y</var>). -</p></dd></dl> - -<dl> -<dt id="index-rect_002dmove_002dvec2">Procedure: <strong>rect-move-vec2</strong> <em>rect v</em></dt> -<dd><p>Return a new rectangle based on <var>rect</var> but moved to the -coordinates in the 2D vector <var>v</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dmove_002dby">Procedure: <strong>rect-move-by</strong> <em>rect x y</em></dt> -<dd><p>Return a new rectangle based on <var>rect</var> but moved by (<var>x</var>, -<var>y</var>) units relative to its current location. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dmove_002dby_002dvec2">Procedure: <strong>rect-move-by-vec2</strong> <em>rect v</em></dt> -<dd><p>Return a new rectangle based on <var>rect</var> but moved by the 2D vector -<var>v</var> relative to its current location. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dinflate">Procedure: <strong>rect-inflate</strong> <em>rect width height</em></dt> -<dd><p>Return a new rectangle based on <var>rect</var>, but expanded by -<var>width</var> units on the X axis and <var>height</var> units on the Y axis, -while keeping the rectangle centered on the same point. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dunion">Procedure: <strong>rect-union</strong> <em>rect1 rect2</em></dt> -<dd><p>Return a new rectangle that completely covers the area of <var>rect1</var> -and <var>rect2</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dclip">Procedure: <strong>rect-clip</strong> <em>rect1 rect2</em></dt> -<dd><p>Return a new rectangle that is the overlapping region of <var>rect1</var> -and <var>rect2</var>. If the two rectangles do not overlap, a rectangle of -0 width and 0 height is returned. -</p></dd></dl> - -<dl> -<dt id="index-set_002drect_002dx_0021">Procedure: <strong>set-rect-x!</strong> <em>rect x</em></dt> -<dd><p>Set the left X coordinate of <var>rect</var> to <var>x</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002drect_002dy_0021">Procedure: <strong>set-rect-y!</strong> <em>rect y</em></dt> -<dd><p>Set the bottom Y coordinate of <var>rect</var> to <var>y</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002drect_002dwidth_0021">Procedure: <strong>set-rect-width!</strong> <em>rect width</em></dt> -<dd><p>Set the width of <var>rect</var> to <var>width</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002drect_002dheight_0021">Procedure: <strong>set-rect-height!</strong> <em>rect height</em></dt> -<dd><p>Set the height of <var>rect</var> to <var>height</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dmove_0021">Procedure: <strong>rect-move!</strong> <em>rect x y</em></dt> -<dd><p>Move <var>rect</var> to (<var>x</var>, <var>y</var>) in-place. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dmove_002dvec2_0021">Procedure: <strong>rect-move-vec2!</strong> <em>rect v</em></dt> -<dd><p>Move <var>rect</var> to the 2D vector <var>v</var> in-place. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dmove_002dby_0021">Procedure: <strong>rect-move-by!</strong> <em>rect x y</em></dt> -<dd><p>Move <var>rect</var> by (<var>x</var>, <var>y</var>) in-place. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dmove_002dby_002dvec2_0021">Procedure: <strong>rect-move-by-vec2!</strong> <em>rect v</em></dt> -<dd><p>Move <var>rect</var> by the 2D vector <var>v</var> in-place. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dinflate_0021">Procedure: <strong>rect-inflate!</strong> <em>rect width height</em></dt> -<dd><p>Expand <var>rect</var> by <var>width</var> and <var>height</var> in-place. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dunion_0021">Procedure: <strong>rect-union!</strong> <em>rect1 rect2</em></dt> -<dd><p>Modify <var>rect1</var> in-place to completely cover the area of both -<var>rect1</var> and <var>rect2</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dclip_0021">Procedure: <strong>rect-clip!</strong> <em>rect1 rect2</em></dt> -<dd><p>Modify <var>rect1</var> in-place to be the overlapping region of -<var>rect1</var> and <var>rect2</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dclamp_0021">Procedure: <strong>rect-clamp!</strong> <em>rect1 rect2</em></dt> -<dd><p>Adjust the location of <var>rect1</var> in-place so that its bounds are -completely within <var>rect2</var>. An exception is thrown in the case -that <var>rect1</var> cannot fit completely within <var>rect2</var>. -</p></dd></dl> - -<dl> -<dt id="index-vec2_002dclamp_002dto_002drect_0021">Procedure: <strong>vec2-clamp-to-rect!</strong> <em>v rect</em></dt> -<dd><p>Restrict the coordinates of the 2D vector <var>v</var> so that they are -within the bounds of <var>rect</var>. <var>v</var> is modified in-place. -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Matrices.html" accesskey="n" rel="next">Matrices</a>, Previous: <a href="Vectors.html" accesskey="p" rel="prev">Vectors</a>, Up: <a href="Math.html" accesskey="u" rel="up">Math</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Render-Settings.html b/manuals/chickadee/Render-Settings.html deleted file mode 100644 index 66c0eb7..0000000 --- a/manuals/chickadee/Render-Settings.html +++ /dev/null @@ -1,512 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Render Settings (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Render Settings (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Render Settings (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Graphics.html" rel="up" title="Graphics" /> -<link href="Rendering-Engine.html" rel="next" title="Rendering Engine" /> -<link href="Viewports.html" rel="prev" title="Viewports" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Render-Settings"></span><div class="header"> -<p> -Next: <a href="Rendering-Engine.html" accesskey="n" rel="next">Rendering Engine</a>, Previous: <a href="Viewports.html" accesskey="p" rel="prev">Viewports</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Render-Settings-1"></span><h4 class="subsection">5.3.16 Render Settings</h4> - -<span id="Blending"></span><h4 class="subsubsection">5.3.16.1 Blending</h4> - -<p>Rendering a scene often involves drawing layers of objects that -overlap each other. Blending determines how two overlapping pixels -are combined in the final image that is rendered to the screen. The -<code>(chickadee graphics blend)</code> module provides a data type for -blending modes. -</p> -<p>Chickadee provides the following blend modes: -</p> -<dl> -<dt id="index-blend_003aalpha">Variable: <strong>blend:alpha</strong></dt> -<dd><p>Blend pixels according to the values of their alpha channels. This is -the most commonly used blend mode. -</p></dd></dl> - -<dl> -<dt id="index-blend_003areplace">Variable: <strong>blend:replace</strong></dt> -<dd><p>Overwrite the output pixel color with the color being drawn. -</p></dd></dl> - -<dl> -<dt id="index-blend_003aadd">Variable: <strong>blend:add</strong></dt> -<dd><p>Add all pixel color values together. The more colors blended -together, the more white the final color becomes. -</p></dd></dl> - -<dl> -<dt id="index-blend_003asubtract">Variable: <strong>blend:subtract</strong></dt> -<dd><p>Subtract all pixel color values. The more colors blended together, -the more black the final color becomes. -</p></dd></dl> - -<dl> -<dt id="index-blend_003amultiply">Variable: <strong>blend:multiply</strong></dt> -</dl> - -<dl> -<dt id="index-blend_003adarken">Variable: <strong>blend:darken</strong></dt> -</dl> - -<dl> -<dt id="index-blend_003alighten">Variable: <strong>blend:lighten</strong></dt> -</dl> - -<dl> -<dt id="index-blend_003ascreen">Variable: <strong>blend:screen</strong></dt> -</dl> - -<p>Custom blend modes can be created using the <code>make-blend-mode</code> procedure: -</p> -<dl> -<dt id="index-make_002dblend_002dmode">Procedure: <strong>make-blend-mode</strong> <em>equation source-function destination-function</em></dt> -<dd><p>Return a new custom blend mode that applies <var>source-function</var> to -the source color, <var>destination-function</var> to the destination color, -and finally applies <var>equation</var> to the transformed -source/destination color values. These arguments are <em>not</em> -procedures, but symbolic representations of the functions that OpenGL -supports. -</p> -<p>Valid values for <var>equation</var> are: -</p> -<ul> -<li> <code>add</code> -</li><li> <code>subtract</code> -</li><li> <code>reverse-subtract</code> -</li><li> <code>min</code> -</li><li> <code>max</code> -</li><li> <code>alpha-min</code> -</li><li> <code>alpha-max</code> -</li></ul> - -<p>Valid values for <var>source-function</var> are: -</p> -<ul> -<li> <code>zero</code> -</li><li> <code>one</code> -</li><li> <code>destination-color</code> -</li><li> <code>one-minus-destination-color</code> -</li><li> <code>source-alpha-saturate</code> -</li><li> <code>source-alpha</code> -</li><li> <code>one-minus-source-alpha</code> -</li><li> <code>destination-alpha</code> -</li><li> <code>one-minus-destination-alpha</code> -</li><li> <code>constant-color</code> -</li><li> <code>one-minus-constant-color</code> -</li><li> <code>constant-alpha</code> -</li><li> <code>one-minus-constant-alpha</code> -</li></ul> - -<p>Valid values for <var>destination-function</var> are: -</p> -<ul> -<li> <code>zero</code> -</li><li> <code>one</code> -</li><li> <code>source-color</code> -</li><li> <code>one-minus-source-color</code> -</li><li> <code>source-alpha</code> -</li><li> <code>one-minus-source-alpha</code> -</li><li> <code>destination-alpha</code> -</li><li> <code>one-minus-destination-alpha</code> -</li><li> <code>constant-color</code> -</li><li> <code>one-minus-constant-color</code> -</li><li> <code>constant-alpha</code> -</li><li> <code>one-minus-constant-alpha</code> -</li></ul> - -</dd></dl> - -<span id="Polygon-Modes-and-Culling"></span><h4 class="subsubsection">5.3.16.2 Polygon Modes and Culling</h4> - -<p>The <code>(chickadee graphics polygon)</code> module provides access to the -<code>g:polygon-mode</code> and <code>g:cull-face-mode</code> render states. -</p> -<dl> -<dt id="index-fill_002dpolygon_002dmode">Variable: <strong>fill-polygon-mode</strong></dt> -<dd><p>Completely fill in the polygon. This is the default mode. -</p></dd></dl> - -<dl> -<dt id="index-line_002dpolygon_002dmode">Variable: <strong>line-polygon-mode</strong></dt> -<dd><p>Render only the edges of the polygon. Produces a wireframe. -</p></dd></dl> - -<dl> -<dt id="index-point_002dpolygon_002dmode">Variable: <strong>point-polygon-mode</strong></dt> -<dd><p>Render only the vertex positions as points. -</p></dd></dl> - -<dl> -<dt id="index-make_002dpolygon_002dmode">Procedure: <strong>make-polygon-mode</strong> <em>front back</em></dt> -<dd><p>Return a new polygon mode that uses the method <var>front</var> for the -front face and <var>back</var> for the back face. The valid modes are -<code>fill</code>, <code>line</code>, and <var>point</var>. -</p></dd></dl> - -<dl> -<dt id="index-polygon_002dmode_003f">Procedure: <strong>polygon-mode?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a polygon mode. -</p></dd></dl> - -<dl> -<dt id="index-current_002dpolygon_002dmode">Procedure: <strong>current-polygon-mode</strong></dt> -<dd><p>Return the current polygon mode. -</p></dd></dl> - -<dl> -<dt id="index-g_003apolygon_002dmode">Variable: <strong>g:polygon-mode</strong></dt> -<dd><p>Render state for polygon modes (see <a href="Rendering-Engine.html">Rendering Engine</a>.) -</p></dd></dl> - -<dl> -<dt id="index-no_002dcull_002dface_002dmode">Variable: <strong>no-cull-face-mode</strong></dt> -<dd><p>Don’t cull any faces. -</p></dd></dl> - -<dl> -<dt id="index-back_002dcull_002dface_002dmode">Variable: <strong>back-cull-face-mode</strong></dt> -<dd><p>Cull only back faces. -</p></dd></dl> - -<dl> -<dt id="index-front_002dcull_002dface_002dmode">Variable: <strong>front-cull-face-mode</strong></dt> -<dd><p>Cull only front faces. -</p></dd></dl> - -<dl> -<dt id="index-front_002dand_002dback_002dcull_002dface_002dmode">Variable: <strong>front-and-back-cull-face-mode</strong></dt> -<dd><p>Cull both front and back faces. -</p></dd></dl> - -<dl> -<dt id="index-cull_002dface_002dmode_003f">Procedure: <strong>cull-face-mode?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a cull face mode. -</p></dd></dl> - -<dl> -<dt id="index-cull_002dface_002dmode_002dfront_003f">Procedure: <strong>cull-face-mode-front?</strong> <em>cull-face-mode</em></dt> -<dd><p>Return <code>#t</code> if <var>cull-face-mode</var> culls front faces. -</p></dd></dl> - -<dl> -<dt id="index-cull_002dface_002dmode_002dback_003f">Procedure: <strong>cull-face-mode-back?</strong> <em>cull-face-mode</em></dt> -<dd><p>Return <code>#t</code> if <var>cull-face-mode</var> culls back faces. -</p></dd></dl> - -<dl> -<dt id="index-current_002dcull_002dface_002dmode">Procedure: <strong>current-cull-face-mode</strong></dt> -<dd><p>Return the current cull face mode. -</p></dd></dl> - -<dl> -<dt id="index-g_003acull_002dface_002dmode">Variable: <strong>g:cull-face-mode</strong></dt> -<dd><p>Render state for cull face modes (see <a href="Rendering-Engine.html">Rendering Engine</a>.) -</p></dd></dl> - -<span id="Depth-Testing"></span><h4 class="subsubsection">5.3.16.3 Depth Testing</h4> - -<p>The <code>(chickadee graphics depth)</code> module provides access to the -<code>g:depth-test</code> render state. -</p> -<dl> -<dt id="index-make_002ddepth_002dtest">Procedure: <strong>make-depth-test</strong> <em>[#:write? #t] [#:function 'less-than] [#:near 0.0] [#:far 1.0]</em></dt> -<dd> -<p>Return a new depth test object. If <var>write</var> is <code>#t</code>, the -depth buffer will be written to during a draw call. <var>near</var> and -<var>far</var> define the min/max Z values for which depth testing may -pass. -</p> -<p><var>function</var> specifies how the depth value of pixel being drawn -compares to the depth value that is already in the depth buffer. When -this comparison is true, the depth test passes and the pixel is drawn. -When it fails, the pixel is discarded. -</p> -<p>The possible values of <var>function</var> are: -</p> -<ul> -<li> <code>always</code> -</li><li> <code>never</code> -</li><li> <code>equal</code> -</li><li> <code>not-equal</code> -</li><li> <code>less-than</code> -</li><li> <code>less-than-or-equal</code> -</li><li> <code>greater-than</code> -</li><li> <code>greater-than-or-equal</code> -</li></ul> - -</dd></dl> - -<dl> -<dt id="index-depth_002dtest_003f">Procedure: <strong>depth-test?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> when <var>obj</var> is a depth test object. -</p></dd></dl> - -<dl> -<dt id="index-depth_002dtest_002dwrite_003f">Procedure: <strong>depth-test-write?</strong> <em>depth-test</em></dt> -<dd><p>Return <code>#t</code> when <var>depth-test</var> will write to the depth buffer. -</p></dd></dl> - -<dl> -<dt id="index-depth_002dtest_002dfunction">Procedure: <strong>depth-test-function</strong> <em>depth-test</em></dt> -<dd><p>Return the comparison function of <var>depth-test</var>. -</p></dd></dl> - -<dl> -<dt id="index-depth_002dtest_002dnear">Procedure: <strong>depth-test-near</strong> <em>depth-test</em></dt> -<dd><p>Return the near Z value of <var>depth-test</var>. -</p></dd></dl> - -<dl> -<dt id="index-depth_002dtest_002dfar">Procedure: <strong>depth-test-far</strong> <em>depth-test</em></dt> -<dd><p>Return the far Z value of <var>depth-test</var>. -</p></dd></dl> - -<dl> -<dt id="index-current_002ddepth_002dtest">Procedure: <strong>current-depth-test</strong></dt> -<dd><p>Return the current depth test. -</p></dd></dl> - -<dl> -<dt id="index-g_003adepth_002dtest">Variable: <strong>g:depth-test</strong></dt> -<dd><p>Render state for depth tests (see <a href="Rendering-Engine.html">Rendering Engine</a>.) -</p></dd></dl> - -<span id="Stencil-Testing"></span><h4 class="subsubsection">5.3.16.4 Stencil Testing</h4> - -<p>The <code>(chickadee graphics stencil)</code> module provides access to the -<code>g:stencil-test</code> render state. -</p> -<dl> -<dt id="index-default_002dstencil_002dtest">Variable: <strong>default-stencil-test</strong></dt> -<dd><p>A stencil test that always passes. -</p></dd></dl> - -<dl> -<dt id="index-make_002dstencil_002dtest">Procedure: <strong>make-stencil-test</strong> <em>[#:mask #xFF] [#:function always] [#:function-mask #xFF] [#:reference 0] [#:on-fail keep] [#:on-depth-fail keep] [#:on-pass keep] [#:mask-front mask] [#:mask-back mask] [#:function-mask-front function-mask] [#:function-mask-back function-mask] [#:refrence-front reference] [#:reference-back reference] [#:on-fail-front on-fail] [#:on-fail-back on-fail] [#:on-depth-fail-front on-depth-fail] [#:on-depth-fail-back on-depth-fail] [#:on-pass-front on-pass] [#:on-pass-back on-pass]</em></dt> -<dd> -<p>Return a new stencil test object. Different configurations can be -used for the front and back faces by using the arguments that end in -“front” or “back”. -</p> -<p>Valid values for <var>on-pass</var>, <var>on-fail</var>, and <var>on-depth-fail</var> -are: -</p> -<ul> -<li> <code>zero</code> -</li><li> <code>keep</code> -</li><li> <code>replace</code> -</li><li> <code>increment</code> -</li><li> <code>increment-wrap</code> -</li><li> <code>decrement</code> -</li><li> <code>decrement-wrap</code> -</li><li> <code>invert</code> -</li></ul> - -<p>Valid values for <var>function</var> are: -</p> -<ul> -<li> <code>always</code> -</li><li> <code>never</code> -</li><li> <code>equal</code> -</li><li> <code>not-equal</code> -</li><li> <code>less-than</code> -</li><li> <code>less-than-or-equal</code> -</li><li> <code>greater-than</code> -</li><li> <code>greater-than-or-equal</code> -</li></ul> - -</dd></dl> - -<dl> -<dt id="index-stencil_002dtest_003f">Procedure: <strong>stencil-test?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> when <var>obj</var> is a stencil test object. -</p></dd></dl> - -<dl> -<dt id="index-stencil_002dtest_002dmask_002dfront">Procedure: <strong>stencil-test-mask-front</strong> <em>stencil-test</em></dt> -<dd><p>Return the front mask of <var>stencil-test</var>. -</p></dd></dl> - -<dl> -<dt id="index-stencil_002dtest_002dmask_002dback">Procedure: <strong>stencil-test-mask-back</strong> <em>stencil-test</em></dt> -<dd><p>Return the back mask of <var>stencil-test</var>. -</p></dd></dl> - -<dl> -<dt id="index-stencil_002dtest_002dfunction_002dfront">Procedure: <strong>stencil-test-function-front</strong> <em>stencil-test</em></dt> -<dd><p>Return the front function of <var>stencil-test</var>. -</p></dd></dl> - -<dl> -<dt id="index-stencil_002dtest_002dfunction_002dback">Procedure: <strong>stencil-test-function-back</strong> <em>stencil-test</em></dt> -<dd><p>Return the back function of <var>stencil-test</var>. -</p></dd></dl> - -<dl> -<dt id="index-stencil_002dtest_002dfunction_002dmask_002dfront">Procedure: <strong>stencil-test-function-mask-front</strong> <em>stencil-test</em></dt> -<dd><p>Return the front function-mask of <var>stencil-test</var>. -</p></dd></dl> - -<dl> -<dt id="index-stencil_002dtest_002dfunction_002dmask_002dback">Procedure: <strong>stencil-test-function-mask-back</strong> <em>stencil-test</em></dt> -<dd><p>Return the back function-mask of <var>stencil-test</var>. -</p></dd></dl> - -<dl> -<dt id="index-stencil_002dtest_002dreference_002dfront">Procedure: <strong>stencil-test-reference-front</strong> <em>stencil-test</em></dt> -<dd><p>Return the front reference value of <var>stencil-test</var>. -</p></dd></dl> - -<dl> -<dt id="index-stencil_002dtest_002dreference_002dback">Procedure: <strong>stencil-test-reference-back</strong> <em>stencil-test</em></dt> -<dd><p>Return the back reference value of <var>stencil-test</var>. -</p></dd></dl> - -<dl> -<dt id="index-stencil_002dtest_002don_002dfail_002dfront">Procedure: <strong>stencil-test-on-fail-front</strong> <em>stencil-test</em></dt> -<dd><p>Return the front failure action of <var>stencil-test</var>. -</p></dd></dl> - -<dl> -<dt id="index-stencil_002dtest_002don_002dfail_002dback">Procedure: <strong>stencil-test-on-fail-back</strong> <em>stencil-test</em></dt> -<dd><p>Return the back failure action of <var>stencil-test</var>. -</p></dd></dl> - -<dl> -<dt id="index-stencil_002dtest_002don_002ddepth_002dfail_002dfront">Procedure: <strong>stencil-test-on-depth-fail-front</strong> <em>stencil-test</em></dt> -<dd><p>Return the front depth test failure action of <var>stencil-test</var>. -</p></dd></dl> - -<dl> -<dt id="index-stencil_002dtest_002don_002ddepth_002dfail_002dback">Procedure: <strong>stencil-test-on-depth-fail-back</strong> <em>stencil-test</em></dt> -<dd><p>Return the back depth test failure action of <var>stencil-test</var>. -</p></dd></dl> - -<dl> -<dt id="index-stencil_002dtest_002don_002dpass_002dfront">Procedure: <strong>stencil-test-on-pass-front</strong> <em>stencil-test</em></dt> -<dd><p>Return the front pass action of <var>stencil-test</var>. -</p></dd></dl> - -<dl> -<dt id="index-stencil_002dtest_002don_002dpass_002dback">Procedure: <strong>stencil-test-on-pass-back</strong> <em>stencil-test</em></dt> -<dd><p>Return the back pass action of <var>stencil-test</var>. -</p></dd></dl> - -<dl> -<dt id="index-current_002dstencil_002dtest">Procedure: <strong>current-stencil-test</strong></dt> -<dd><p>Return the current stencil test. -</p></dd></dl> - -<dl> -<dt id="index-g_003astencil_002dtest">Variable: <strong>g:stencil-test</strong></dt> -<dd><p>Render state for stencil testing (see <a href="Rendering-Engine.html">Rendering Engine</a>.) -</p></dd></dl> - -<span id="Multisample-Antialiasing"></span><h4 class="subsubsection">5.3.16.5 Multisample Antialiasing</h4> - -<p>Multisample antialiasing is a feature supported by many, but not all, -graphics cards. It is a nice easy way to improve the final frame that -the user sees, particularly in 3D scenes. The <code>(chickadee -graphics multisample)</code> module provides access to the -<code>g:multisample?</code> render state. -</p> -<dl> -<dt id="index-current_002dmultisample">Procedure: <strong>current-multisample</strong></dt> -<dd><p>Return <code>#t</code> if multisampling is enabled. -</p></dd></dl> - -<dl> -<dt id="index-g_003amultisample_003f">Variable: <strong>g:multisample?</strong></dt> -<dd><p>Render state for multisampling (see <a href="Rendering-Engine.html">Rendering Engine</a>.) -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Rendering-Engine.html" accesskey="n" rel="next">Rendering Engine</a>, Previous: <a href="Viewports.html" accesskey="p" rel="prev">Viewports</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Rendering-Engine.html b/manuals/chickadee/Rendering-Engine.html deleted file mode 100644 index 8f81fc6..0000000 --- a/manuals/chickadee/Rendering-Engine.html +++ /dev/null @@ -1,176 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Rendering Engine (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Rendering Engine (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Rendering Engine (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Graphics.html" rel="up" title="Graphics" /> -<link href="Audio.html" rel="next" title="Audio" /> -<link href="Render-Settings.html" rel="prev" title="Render Settings" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Rendering-Engine"></span><div class="header"> -<p> -Previous: <a href="Render-Settings.html" accesskey="p" rel="prev">Render Settings</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Rendering-Engine-1"></span><h4 class="subsection">5.3.17 Rendering Engine</h4> - -<p>The <code>(chickadee graphics engine)</code> module provides a Scheme -abstraction to the state of the GPU driver. When the Chickadee game -loop launches, it takes care to initialize the engine. All draw calls -and state changes happen within the context of this engine. -</p> -<p>Performing a custom draw call could look something like this: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-symbol">with-graphics-state</span> <span class="syntax-open">(</span><span class="syntax-open">(</span><span class="syntax-symbol">g:blend-mode</span> <span class="syntax-symbol">blend:alpha</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">g:texture-0</span> <span class="syntax-symbol">my-texture</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">shader-apply</span> <span class="syntax-symbol">my-shader</span> <span class="syntax-keyword">#:foo</span> <span class="syntax-symbol">1</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -</pre></div> - -<span id="Render-States"></span><h4 class="subsubsection">5.3.17.1 Render States</h4> - -<p>Render states represent individual state values on the GPU. For -example, the current shader. As a naming convention, Chickadee -prefixes variables containing render states with <code>g:</code>. Render -states can be manipulated using the <code>with-graphics-state</code> macro. -</p> -<dl> -<dt id="index-with_002dgraphics_002dstate">Syntax: <strong>with-graphics-state</strong> <em>((name value) …) body …</em></dt> -<dd><p>Evaluate <var>body</var> with render states defined by <var>name</var> changed -to <var>value</var>. The render states are restored to their previous -values afterwards. -</p></dd></dl> - -<p>One additional piece of state that the rendering engine has, that is -not part of the GPU state, is the current projection matrix: -</p> -<dl> -<dt id="index-current_002dprojection">Procedure: <strong>current-projection</strong></dt> -<dd><p>Return the currently bound projection matrix (see <a href="Matrices.html">Matrices</a>). -</p></dd></dl> - -<dl> -<dt id="index-with_002dprojection">Syntax: <strong>with-projection</strong> <em>projection body …</em></dt> -<dd><p>Evaluate <var>body</var> with the current projection matrix bound to -<var>projection</var> (see <a href="Matrices.html">Matrices</a>). -</p></dd></dl> - -<span id="Rendering"></span><h4 class="subsubsection">5.3.17.2 Rendering</h4> - -<p>Chickadee likens a GPU draw call to a Scheme procedure call. A shader -(see <a href="Shaders.html">Shaders</a>) is like a procedure for the GPU to apply. Shaders -are passed arguments: The positional arguments are vertex array -attributes (see <a href="Buffers.html">Buffers</a>) and the keyword arguments correspond to -the shader’s uniform variables. Scheme uses <code>apply</code> to call a -procedure, so Chickadee uses <code>shader-apply</code> to call a shader. -</p> -<dl> -<dt id="index-shader_002dapply">Syntax: <strong>shader-apply</strong> <em>shader vertex-array [#:uniform-key uniform-value …]</em></dt> -<dt id="index-shader_002dapply_002a">Syntax: <strong>shader-apply*</strong> <em>shader vertex-array count [#:uniform-key uniform-value …]</em></dt> -<dd> -<p>Render <var>vertex-array</var> using <var>shader</var> with the uniform values -specified in the following keyword arguments. -</p> -<p>While <code>shader-apply</code> will draw every vertex in <var>vertex-array</var>, -<code>shader-apply*</code> will only draw <var>count</var> vertices. -</p></dd></dl> - -<dl> -<dt id="index-shader_002dapply_002finstanced">Syntax: <strong>shader-apply/instanced</strong> <em>shader vertex-array n [#:uniform-key uniform-value …]</em></dt> -<dt id="index-shader_002dapply_002finstanced-1">Syntax: <strong>shader-apply/instanced</strong> <em>shader vertex-array count n [#:uniform-key uniform-value …]</em></dt> -<dd> -<p>Render <var>vertex-array</var> <var>n</var> times using <var>shader</var> with the -uniform values specified in the following keyword arguments. -</p> -<p>Instanced rendering is very beneficial for rendering the same object -many times with only small differences for each one. For example, the -particle effects described in <a href="Particles.html">Particles</a> use instanced rendering. -</p> -<p>While <code>shader-apply/instanced</code> will draw every vertex in -<var>vertex-array</var>, <code>shader-apply*</code> will only draw <var>count</var> -vertices. -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Previous: <a href="Render-Settings.html" accesskey="p" rel="prev">Render Settings</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Requirements.html b/manuals/chickadee/Requirements.html deleted file mode 100644 index 1093943..0000000 --- a/manuals/chickadee/Requirements.html +++ /dev/null @@ -1,107 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Requirements (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Requirements (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Requirements (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Installation.html" rel="up" title="Installation" /> -<link href="Getting-Started.html" rel="next" title="Getting Started" /> -<link href="Installation.html" rel="prev" title="Installation" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Requirements"></span><div class="header"> -<p> -Up: <a href="Installation.html" accesskey="u" rel="up">Installation</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Requirements-1"></span><h3 class="section">1.1 Requirements</h3> - -<p>Chickadee depends on the following packages: -</p> -<ul> -<li> <a href="https://gnu.org/software/guile">GNU Guile</a>, version 3.0.0 or later; -</li><li> <a href="https://gnu.org/software/guile-opengl">GNU guile-opengl</a>, version 0.1 or later. -</li><li> <a href="https://dthompson.us/pages/software/guile-sdl2.html">guile-sdl2</a>, version 0.7.0 or later; -</li><li> libfreetype -</li><li> libmpg123 -</li><li> libopenal -</li><li> libreadline -</li><li> libvorbisfile -</li></ul> - - - - -</body> -</html> diff --git a/manuals/chickadee/Scripting.html b/manuals/chickadee/Scripting.html deleted file mode 100644 index 2ef1b5b..0000000 --- a/manuals/chickadee/Scripting.html +++ /dev/null @@ -1,118 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Scripting (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Scripting (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Scripting (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="API-Reference.html" rel="up" title="API Reference" /> -<link href="Agendas.html" rel="next" title="Agendas" /> -<link href="The-Environment.html" rel="prev" title="The Environment" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Scripting"></span><div class="header"> -<p> -Next: <a href="Data-Structures.html" accesskey="n" rel="next">Data Structures</a>, Previous: <a href="Audio.html" accesskey="p" rel="prev">Audio</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Scripting-1"></span><h3 class="section">5.5 Scripting</h3> - -<p>Game logic is a web of asynchronous events that are carefully -coordinated to bring the game world to life. In order to make an -enemy follow and attack the player, or move an NPC back and forth in -front of the item shop, or do both at the same time, a scripting -system is a necessity. Chickadee comes with an asynchronous -programming system in the <code>(chickadee scripting)</code> module. -Lightweight, cooperative threads known as “scripts” allow the -programmer to write asynchronous code as if it were synchronous, and -allow many such “threads” to run concurrently. -</p> -<p>But before we dig deeper into scripts, let’s discuss the simple act -of scheduling tasks. -</p> -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Agendas.html" accesskey="1">Agendas</a></td><td> </td><td align="left" valign="top">Scheduling tasks. -</td></tr> -<tr><td align="left" valign="top">• <a href="Scripts.html" accesskey="2">Scripts</a></td><td> </td><td align="left" valign="top">Cooperative multitasking. -</td></tr> -<tr><td align="left" valign="top">• <a href="Tweening.html" accesskey="3">Tweening</a></td><td> </td><td align="left" valign="top">Animations. -</td></tr> -<tr><td align="left" valign="top">• <a href="Channels.html" accesskey="4">Channels</a></td><td> </td><td align="left" valign="top">Publish data to listeners. -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/chickadee/Scripts.html b/manuals/chickadee/Scripts.html deleted file mode 100644 index b62bb2d..0000000 --- a/manuals/chickadee/Scripts.html +++ /dev/null @@ -1,212 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Scripts (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Scripts (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Scripts (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Scripting.html" rel="up" title="Scripting" /> -<link href="Tweening.html" rel="next" title="Tweening" /> -<link href="Agendas.html" rel="prev" title="Agendas" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Scripts"></span><div class="header"> -<p> -Next: <a href="Tweening.html" accesskey="n" rel="next">Tweening</a>, Previous: <a href="Agendas.html" accesskey="p" rel="prev">Agendas</a>, Up: <a href="Scripting.html" accesskey="u" rel="up">Scripting</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Scripts-1"></span><h4 class="subsection">5.5.2 Scripts</h4> - -<p>Now that we can schedule tasks, let’s take things to the next level. -It sure would be great if we could make procedures that described a -series of actions that happened over time, especially if we could do -so without contorting our code into a nest of callback procedures. -This is where scripts come in. With scripts we can write code in a -linear way, in a manner that appears to be synchronous, but with the -ability to suspend periodically in order to let other scripts have a -turn and prevent blocking the game loop. Building on top of the -scheduling that agendas provide, here is a script that models a child -trying to get their mother’s attention: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-symbol">script</span> - <span class="syntax-open">(</span><span class="syntax-symbol">while</span> <span class="syntax-symbol">#t</span> - <span class="syntax-open">(</span><span class="syntax-symbol">display</span> <span class="syntax-string">"mom!"</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">newline</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">sleep</span> <span class="syntax-symbol">60</span><span class="syntax-close">)</span><span class="syntax-close">)</span><span class="syntax-close">)</span> <span class="syntax-comment">; where 60 = 1 second of real time -</span></pre></div> - -<p>This code runs in an endless loop, but the <code>sleep</code> procedure -suspends the script and schedules it to be run later by the agenda. -So, after each iteration of the loop, control is returned back to the -game loop and the program is not stuck spinning in a loop that will -never exit. Pretty neat, eh? -</p> -<p>Scripts can suspend to any capable handler, not just the agenda. -The <code>yield</code> procedure will suspend the current script and pass -its “continuation” to a handler procedure. This handler procedure -could do anything. Perhaps the handler stashes the continuation -somewhere where it will be resumed when the user presses a specific -key on the keyboard, or maybe it will be resumed when the player picks -up an item off of the dungeon floor; the sky is the limit. -</p> -<p>Sometimes it is necessary to abruptly terminate a script after it has -been started. For example, when an enemy is defeated their AI routine -needs to be shut down. When a script is spawned, a handle to that -script is returned that can be used to cancel it when desired. -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">script</span> <span class="syntax-open">(</span><span class="syntax-symbol">script</span> <span class="syntax-open">(</span><span class="syntax-symbol">while</span> <span class="syntax-symbol">#t</span> <span class="syntax-open">(</span><span class="syntax-symbol">display</span> <span class="syntax-string">"hey\n"</span><span class="syntax-close">)</span> <span class="syntax-open">(</span><span class="syntax-symbol">sleep</span> <span class="syntax-symbol">60</span><span class="syntax-close">)</span><span class="syntax-close">)</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -<span class="syntax-comment">;; sometime later -</span><span class="syntax-open">(</span><span class="syntax-symbol">cancel-script</span> <span class="syntax-symbol">script</span><span class="syntax-close">)</span> -</pre></div> - -<dl> -<dt id="index-spawn_002dscript">Procedure: <strong>spawn-script</strong> <em>thunk</em></dt> -<dd><p>Apply <var>thunk</var> as a script and return a handle to it. -</p></dd></dl> - -<dl> -<dt id="index-script">Syntax: <strong>script</strong> <em>body …</em></dt> -<dd><p>Evaluate <var>body</var> as a script and return a handle to it. -</p></dd></dl> - -<dl> -<dt id="index-script_003f">Procedure: <strong>script?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a script handle. -</p></dd></dl> - -<dl> -<dt id="index-script_002dcancelled_003f">Procedure: <strong>script-cancelled?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> has been cancelled. -</p></dd></dl> - -<dl> -<dt id="index-script_002drunning_003f">Procedure: <strong>script-running?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> has not yet terminated or been -cancelled. -</p></dd></dl> - -<dl> -<dt id="index-script_002dcomplete_003f">Procedure: <strong>script-complete?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> has terminated. -</p></dd></dl> - -<dl> -<dt id="index-cancel_002dscript">Procedure: <strong>cancel-script</strong> <em>co</em></dt> -<dd><p>Prevent further execution of the script <var>co</var>. -</p></dd></dl> - -<dl> -<dt id="index-yield">Procedure: <strong>yield</strong> <em>handler</em></dt> -<dd><p>Suspend the current script and pass its continuation to the -procedure <var>handler</var>. -</p></dd></dl> - -<dl> -<dt id="index-join">Procedure: <strong>join</strong> <em>script</em></dt> -<dd><p>Suspend the current script until <var>script</var> has terminated. -</p></dd></dl> - -<dl> -<dt id="index-sleep">Procedure: <strong>sleep</strong> <em>duration</em></dt> -<dd><p>Wait <var>duration</var> before resuming the current script. -</p></dd></dl> - -<dl> -<dt id="index-wait_002duntil">Syntax: <strong>wait-until</strong> <em>condition</em></dt> -<dd><p>Wait until <var>condition</var> is met before resuming the current script. -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-symbol">script</span> - <span class="syntax-open">(</span><span class="syntax-symbol">wait-until</span> <span class="syntax-open">(</span><span class="syntax-symbol">key-pressed?</span> <span class="syntax-symbol">'z</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">display</span> <span class="syntax-string">"you pressed the Z key!\n"</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -</pre></div> - -</dd></dl> - -<dl> -<dt id="index-forever">Syntax: <strong>forever</strong> <em>body …</em></dt> -<dd><p>Evaluate <var>body</var> in an endless loop. -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Tweening.html" accesskey="n" rel="next">Tweening</a>, Previous: <a href="Agendas.html" accesskey="p" rel="prev">Agendas</a>, Up: <a href="Scripting.html" accesskey="u" rel="up">Scripting</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Shaders.html b/manuals/chickadee/Shaders.html deleted file mode 100644 index 505e031..0000000 --- a/manuals/chickadee/Shaders.html +++ /dev/null @@ -1,405 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Shaders (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Shaders (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Shaders (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Graphics.html" rel="up" title="Graphics" /> -<link href="Framebuffers.html" rel="next" title="Framebuffers" /> -<link href="Buffers.html" rel="prev" title="Buffers" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Shaders"></span><div class="header"> -<p> -Next: <a href="Framebuffers.html" accesskey="n" rel="next">Framebuffers</a>, Previous: <a href="Buffers.html" accesskey="p" rel="prev">Buffers</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Shaders-1"></span><h4 class="subsection">5.3.13 Shaders</h4> - -<p>Shaders are programs that the GPU can evaluate that allow the -programmer to completely customized the final output of a GPU draw -call. The <code>(chickadee graphics shader)</code> module provides an API for -building custom shaders. -</p> -<p>Shaders are written in the OpenGL Shading Language, or GLSL for short. -Chickadee aspires to provide a domain specific language for writing -shaders in Scheme, but we are not there yet. -</p> -<p>Shader programs consist of two components: A vertex shader and a -fragment shader. A vertex shader receives vertex data (position -coordinates, texture coordinates, normals, etc.) and transforms them -as desired, whereas a fragment shader controls the color of each -pixel. -</p> -<p>Sample vertex shader: -</p> -<div class="example"> -<pre class="verbatim">#version 130 - -in vec2 position; -in vec2 tex; -out vec2 fragTex; -uniform mat4 mvp; - -void main(void) { - fragTex = tex; - gl_Position = mvp * vec4(position.xy, 0.0, 1.0); -} -</pre></div> - -<p>Sample fragment shader: -</p> -<div class="example"> -<pre class="verbatim">#version 130 - -in vec2 fragTex; -uniform sampler2D colorTexture; - -void main (void) { - gl_FragColor = texture2D(colorTexture, fragTex); -} -</pre></div> - -<p>This manual will not cover GLSL features and syntax as there is lots -of information already available about this topic. -</p> -<p>One way to think about rendering with shaders, and the metaphor -Chickadee uses, is to think about it as a function call: The shader is -a function, and it is applied to some “attributes” (positional -arguments), and some “uniforms” (keyword arguments). -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">my-shader</span> <span class="syntax-open">(</span><span class="syntax-symbol">load-shader</span> <span class="syntax-string">"vert.glsl"</span> <span class="syntax-string">"frag.glsl"</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -<span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">vertices</span> <span class="syntax-open">(</span><span class="syntax-symbol">make-vertex-array</span> <span class="syntax-symbol">...</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -<span class="syntax-open">(</span><span class="syntax-symbol">shader-apply</span> <span class="syntax-symbol">my-shader</span> <span class="syntax-symbol">vertices</span> <span class="syntax-keyword">#:color</span> <span class="syntax-symbol">red</span><span class="syntax-close">)</span> -</pre></div> - -<p>See <a href="Rendering-Engine.html">Rendering Engine</a> for more details about the <code>shader-apply</code> -procedure. -</p> -<p>Shaders are incredibly powerful tools, and there’s more information -about them than we could ever fit into this manual, so we highly -recommend searching the web for more information and examples. What -we can say, though, is how to use our API: -</p> -<dl> -<dt id="index-strings_002d_003eshader">Procedure: <strong>strings->shader</strong> <em>vertex-source fragment-source</em></dt> -<dd><p>Compile <var>vertex-source</var>, the GLSL code for the vertex shader, and -<var>fragment-source</var>, the GLSL code for the fragment shader, into a -GPU shader program. -</p></dd></dl> - -<dl> -<dt id="index-load_002dshader">Procedure: <strong>load-shader</strong> <em>vertex-source-file fragment-source-file</em></dt> -<dd><p>Compile the GLSL source code within <var>vertex-source-file</var> and -<var>fragment-source-file</var> into a GPU shader program. -</p></dd></dl> - -<dl> -<dt id="index-make_002dshader">Procedure: <strong>make-shader</strong> <em>vertex-port fragment-port</em></dt> -<dd><p>Read GLSL source from <var>vertex-port</var> and <var>fragment-port</var> and -compile them into a GPU shader program. -</p></dd></dl> - -<dl> -<dt id="index-shader_003f">Procedure: <strong>shader?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a shader. -</p></dd></dl> - -<dl> -<dt id="index-null_002dshader">Variable: <strong>null-shader</strong></dt> -<dd><p>Represents the absence shader program. -</p></dd></dl> - -<dl> -<dt id="index-shader_002duniform">Procedure: <strong>shader-uniform</strong> <em>shader name</em></dt> -<dd><p>Return the metadata for the uniform <var>name</var> in <var>shader</var>. -</p></dd></dl> - -<dl> -<dt id="index-shader_002duniforms">Procedure: <strong>shader-uniforms</strong> <em>shader</em></dt> -<dd><p>Return a hash table of uniforms for <var>shader</var>. -</p></dd></dl> - -<dl> -<dt id="index-shader_002dattributes">Procedure: <strong>shader-attributes</strong> <em>shader</em></dt> -<dd><p>Return a hash table of attributes for <var>shader</var>. -</p></dd></dl> - -<dl> -<dt id="index-shader_002duniform_002dset_0021">Procedure: <strong>shader-uniform-set!</strong> <em>shader uniform value</em></dt> -</dl> - -<span id="Attributes"></span><h4 class="subsubsection">5.3.13.1 Attributes</h4> - -<dl> -<dt id="index-attribute_003f">Procedure: <strong>attribute?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is an attribute. -</p></dd></dl> - -<dl> -<dt id="index-attribute_002dname">Procedure: <strong>attribute-name</strong> <em>attribute</em></dt> -<dd><p>Return the variable name of <var>attribute</var>. -</p></dd></dl> - -<dl> -<dt id="index-attribute_002dlocation">Procedure: <strong>attribute-location</strong> <em>attribute</em></dt> -<dd><p>Return the binding location of <var>attribute</var>. -</p></dd></dl> - -<dl> -<dt id="index-attribute_002dtype">Procedure: <strong>attribute-type</strong> <em>attribute</em></dt> -<dd><p>Return the data type of <var>attribute</var>. -</p></dd></dl> - -<span id="Uniforms"></span><h4 class="subsubsection">5.3.13.2 Uniforms</h4> - -<dl> -<dt id="index-uniform_003f">Procedure: <strong>uniform?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a uniform. -</p></dd></dl> - -<dl> -<dt id="index-uniform_002dname">Procedure: <strong>uniform-name</strong> <em>uniform</em></dt> -<dd><p>Return the variable name of <var>uniform</var>. -</p></dd></dl> - -<dl> -<dt id="index-uniform_002dtype">Procedure: <strong>uniform-type</strong> <em>uniform</em></dt> -<dd><p>Return the data type of <var>uniform</var>. -</p></dd></dl> - -<dl> -<dt id="index-uniform_002dvalue">Procedure: <strong>uniform-value</strong> <em>uniform</em></dt> -<dd><p>Return the current value of <var>uniform</var>. -</p></dd></dl> - -<span id="User_002dDefined-Shader-Types"></span><h4 class="subsubsection">5.3.13.3 User-Defined Shader Types</h4> - -<p>The shader examples in this manual thus far have only shown uniforms -defined using primitive types. However, GLSL shaders support -user-defined compound structs, such as this one: -</p> -<div class="example"> -<pre class="verbatim">struct Light { - bool enabled; - int type; - vec3 position; - vec3 direction; - vec4 color; - float intensity; - float cutOff; -}; - -uniform Light light; -</pre></div> - -<p>While <code>light</code> is declared as a single uniform in the shader code, -OpenGL translates this into <em>seven</em> uniforms in this case: One -uniform each member of the <code>Light</code> struct. This poses a problem -for sending Scheme data to the GPU. How can compound Scheme data -translate into compound uniform data on the GPU? The answer is with -shader types. Shader types are a special kind of Guile struct that -provide a one-to-one mapping between a Scheme data structure and a -shader struct. -</p> -<p>Some example code will explain this concept best. Here is the Scheme -equivalent of the <code>Light</code> struct: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-special">define-shader-type</span> <span class="syntax-symbol"><light></span> - <span class="syntax-symbol">make-light</span> - <span class="syntax-symbol">light?</span> - <span class="syntax-open">(</span><span class="syntax-symbol">bool</span> <span class="syntax-symbol">enabled</span> <span class="syntax-symbol">light-enabled?</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">int</span> <span class="syntax-symbol">type</span> <span class="syntax-symbol">light-type</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">float-vec3</span> <span class="syntax-symbol">position</span> <span class="syntax-symbol">light-position</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">float-vec3</span> <span class="syntax-symbol">direction</span> <span class="syntax-symbol">light-direction</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">float-vec4</span> <span class="syntax-symbol">color</span> <span class="syntax-symbol">light-color</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">float</span> <span class="syntax-symbol">intensity</span> <span class="syntax-symbol">light-intensity</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">float</span> <span class="syntax-symbol">cut-off</span> <span class="syntax-symbol">light-cut-off</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -</pre></div> - -<p>The macro <code>define-shader-type</code> closely resembles the familiar -<code>define-record-type</code> from SRFI-9, but with one notable -difference: Each struct field contains type information. The type -must be one of several primitive types (documented below) or another -shader type in the case of a nested structure. -</p> -<p>It is important to note that the names of the shader type fields -<em>must</em> match the names of the struct members in the GLSL code, -otherwise Chickadee will be unable to perform the proper translation. -</p> -<p>As of this writing, this interface is new and experimental. It -remains to be seen if this model is robust enough for all use-cases. -</p> -<p>Primitive data types: -</p> -<dl> -<dt id="index-bool">Variable: <strong>bool</strong></dt> -<dd><p>Either <code>#t</code> or <code>#f</code>. -</p></dd></dl> - -<dl> -<dt id="index-int">Variable: <strong>int</strong></dt> -<dd><p>An integer. -</p></dd></dl> - -<dl> -<dt id="index-unsigned_002dint">Variable: <strong>unsigned-int</strong></dt> -<dd><p>An unsigned integer. -</p></dd></dl> - -<dl> -<dt id="index-float">Variable: <strong>float</strong></dt> -<dd><p>A floating point number. -</p></dd></dl> - -<dl> -<dt id="index-float_002dvec2">Variable: <strong>float-vec2</strong></dt> -<dd><p>A 2D vector (see <a href="Vectors.html">Vectors</a>.) -</p></dd></dl> - -<dl> -<dt id="index-float_002dvec3">Variable: <strong>float-vec3</strong></dt> -<dd><p>A 3D vector (see <a href="Vectors.html">Vectors</a>.) -</p></dd></dl> - -<dl> -<dt id="index-float_002dvec4">Variable: <strong>float-vec4</strong></dt> -<dd><p>A color (see <a href="Colors.html">Colors</a>) or rectangle (see <a href="Rectangles.html">Rectangles</a>.) -</p></dd></dl> - -<dl> -<dt id="index-mat3">Variable: <strong>mat3</strong></dt> -<dd><p>A 3x3 matrix (see <a href="Matrices.html">Matrices</a>.) -</p></dd></dl> - -<dl> -<dt id="index-mat4">Variable: <strong>mat4</strong></dt> -<dd><p>A 4x4 matrix (see <a href="Matrices.html">Matrices</a>.) -</p></dd></dl> - -<dl> -<dt id="index-sampler_002d2d">Variable: <strong>sampler-2d</strong></dt> -<dd><p>A texture (see <a href="Textures.html">Textures</a>.) -</p></dd></dl> - -<dl> -<dt id="index-sampler_002dcube">Variable: <strong>sampler-cube</strong></dt> -<dd><p>A cube map (see <a href="Textures.html">Textures</a>.) -</p></dd></dl> - -<dl> -<dt id="index-local_002dfield">Variable: <strong>local-field</strong></dt> -<dd><p>A special type that means that the data is for the client-side -(Scheme-side) only and should not be sent to the GPU. Any object may -be stored in a local field. -</p></dd></dl> - -<dl> -<dt id="index-define_002dshader_002dtype">Syntax: <strong>define-shader-type</strong> <em><name> constructor predicate (field-type field-name [field-getter] [field-setter]) …</em></dt> -<dd> -<p>Define a new shader data type called <var><name></var>. -</p> -<p>Instances of this data type are created by calling the -<var>constructor</var> procedure. This procedure maps each field to a -keyword argument. A shader data type with the fields <code>foo</code>, -<code>bar</code>, and <code>baz</code> would have a constructor that accepts the -keyword arguments <code>#:foo</code>, <code>#:bar</code>, and <code>#:baz</code>. -</p> -<p>A procedure named <var>predicate</var> will test if an object is a -<var><name></var> shader data type. -</p> -<p>Fields follow the format <code>(field-type field-name [field-getter] -[field-setter])</code>. <var>field-type</var> and <var>field-name</var> are required -for each field, but <var>field-getter</var> and <var>field-setter</var> are -optional. -</p> -</dd></dl> - -<dl> -<dt id="index-shader_002ddata_002dtype_003f">Procedure: <strong>shader-data-type?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a shader data type object. -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Framebuffers.html" accesskey="n" rel="next">Framebuffers</a>, Previous: <a href="Buffers.html" accesskey="p" rel="prev">Buffers</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Skyboxes.html b/manuals/chickadee/Skyboxes.html deleted file mode 100644 index 07cc5d6..0000000 --- a/manuals/chickadee/Skyboxes.html +++ /dev/null @@ -1,119 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Skyboxes (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Skyboxes (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Skyboxes (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Graphics.html" rel="up" title="Graphics" /> -<link href="Meshes.html" rel="next" title="Meshes" /> -<link href="Lights.html" rel="prev" title="Lights" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Skyboxes"></span><div class="header"> -<p> -Next: <a href="Meshes.html" accesskey="n" rel="next">Meshes</a>, Previous: <a href="Lights.html" accesskey="p" rel="prev">Lights</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Skyboxes-1"></span><h4 class="subsection">5.3.10 Skyboxes</h4> - -<p>Skyboxes are used as backgrounds in 3D environments, as well as a -source of ambient lighting data when rendering 3D objects. The -<code>(chickadee graphics skybox)</code> module provides an API for making -skyboxes. -</p> -<dl> -<dt id="index-make_002dskybox">Procedure: <strong>make-skybox</strong> <em>cube-map</em></dt> -<dd><p>Return a new skybox that uses <var>cube-map</var> for a texture. -</p></dd></dl> - -<dl> -<dt id="index-skybox_003f">Procedure: <strong>skybox?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a skybox. -</p></dd></dl> - -<dl> -<dt id="index-skybox_002dcube_002dmap">Procedure: <strong>skybox-cube-map</strong> <em>sky-box</em></dt> -<dd><p>Return the cube map of <var>skybox</var>. -</p></dd></dl> - -<dl> -<dt id="index-draw_002dskybox">Procedure: <strong>draw-skybox</strong> <em>skybox view</em></dt> -<dd><p>Render <var>skybox</var> to the screen using the view matrix <var>view</var>. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/chickadee/Sources.html b/manuals/chickadee/Sources.html deleted file mode 100644 index cca3b56..0000000 --- a/manuals/chickadee/Sources.html +++ /dev/null @@ -1,336 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Sources (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Sources (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Sources (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Audio.html" rel="up" title="Audio" /> -<link href="The-Listener.html" rel="next" title="The Listener" /> -<link href="Audio-Files.html" rel="prev" title="Audio Files" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Sources"></span><div class="header"> -<p> -Next: <a href="The-Listener.html" accesskey="n" rel="next">The Listener</a>, Previous: <a href="Audio-Files.html" accesskey="p" rel="prev">Audio Files</a>, Up: <a href="Audio.html" accesskey="u" rel="up">Audio</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Sources-1"></span><h4 class="subsection">5.4.2 Sources</h4> - -<p>While the <code>audio-play</code> procedure provides a quick and convenient -way to play audio, it has some limitations. What if the audio is a -long piece of music that might need to be paused or stopped later? -What if the audio should be looped? What if the volume or pitch needs -to be altered? For manipulating audio in these ways, a “source” is -required. Sources can be thought of like a boombox: They sit -somewhere in the room and play sound. The pause or stop buttons can -be pressed; it can be moved somewhere else; the volume knob can be -adjusted; the CD can be changed. -</p> -<p>Sources are a great fit for handling background music, among other -things. For quick, one-off sound effects, <code>audio-play</code> is a -better fit. -</p> -<dl> -<dt id="index-make_002dsource">Procedure: <strong>make-source</strong> <em>audio loop? [#:pitch 1.0] [#:volume 1.0] [#:min-volume 0.0] [#:max-volume 1.0] [#:max-distance] [#:reference-distance 0.0] [#:rolloff-factor 1.0] [#:cone-outer-volume 0.0] [#:cone-inner-angle 0.0] [#:cone-outer-angle] [#:position <code>(vec3 0.0 0.0 0.0)</code>] [#:velocity <code>(vec3 0.0 0.0 0.0)</code>] [#:direction <code>(vec3 0.0 0.0 0.0)</code>] [#:relative? <code>#f</code>]</em></dt> -<dd> -<p>Return a new audio source. <var>audio</var> is the audio data to use when -playing. <var>loop?</var> specifies whether or not to loop the audio -during playback. -</p> -<p>Refer to <code>audio-play</code> (see <a href="Audio-Files.html">Audio Files</a>) for information about -the optional keyword arguments. -</p></dd></dl> - -<dl> -<dt id="index-source_003f">Procedure: <strong>source?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is an audio source object. -</p></dd></dl> - -<dl> -<dt id="index-streaming_002dsource_003f">Procedure: <strong>streaming-source?</strong> <em>source</em></dt> -<dd><p>Return <code>#t</code> if <var>source</var> contains streaming audio. -</p></dd></dl> - -<dl> -<dt id="index-static_002dsource_003f">Procedure: <strong>static-source?</strong> <em>source</em></dt> -<dd><p>Return <code>#t</code> if <var>source</var> contains static audio. -</p></dd></dl> - -<dl> -<dt id="index-source_002dplaying_003f">Procedure: <strong>source-playing?</strong> <em>source</em></dt> -<dd><p>Return <code>#t</code> if <var>source</var> is currently playing. -</p></dd></dl> - -<dl> -<dt id="index-source_002dpaused_003f">Procedure: <strong>source-paused?</strong> <em>source</em></dt> -<dd><p>Return <code>#t</code> if <var>source</var> is currently paused. -</p></dd></dl> - -<dl> -<dt id="index-source_002dstopped_003f">Procedure: <strong>source-stopped?</strong> <em>source</em></dt> -<dd><p>Return <code>#t</code> if <var>source</var> is currently stopped. -</p></dd></dl> - -<dl> -<dt id="index-source_002dpitch">Procedure: <strong>source-pitch</strong> <em>source</em></dt> -<dd><p>Return the pitch multiplier of <var>source</var>. -</p></dd></dl> - -<dl> -<dt id="index-source_002dvolume">Procedure: <strong>source-volume</strong> <em>source</em></dt> -<dd><p>Return the volume multiplier of <var>source</var>. -</p></dd></dl> - -<dl> -<dt id="index-source_002dmin_002dvolume">Procedure: <strong>source-min-volume</strong> <em>source</em></dt> -<dd><p>Return the minimum volume of <var>source</var>. -</p></dd></dl> - -<dl> -<dt id="index-source_002dmax_002dvolume">Procedure: <strong>source-max-volume</strong> <em>source</em></dt> -<dd><p>Return the maximum volume of <var>source</var>. -</p></dd></dl> - -<dl> -<dt id="index-source_002dmax_002ddistance">Procedure: <strong>source-max-distance</strong> <em>source</em></dt> -<dd><p>Return the maximum distance of <var>source</var>. -</p></dd></dl> - -<dl> -<dt id="index-source_002dreference_002ddistance">Procedure: <strong>source-reference-distance</strong> <em>source</em></dt> -<dd><p>Return the reference distance of <var>source</var>. -</p></dd></dl> - -<dl> -<dt id="index-source_002drolloff_002dfactor">Procedure: <strong>source-rolloff-factor</strong> <em>source</em></dt> -<dd><p>Return the rolloff factor of <var>source</var>. -</p></dd></dl> - -<dl> -<dt id="index-source_002dcone_002douter_002dvolume">Procedure: <strong>source-cone-outer-volume</strong> <em>source</em></dt> -<dd><p>Return the volume of <var>source</var> when outside the oriented cone. -</p></dd></dl> - -<dl> -<dt id="index-source_002dcone_002dinner_002dangle">Procedure: <strong>source-cone-inner-angle</strong> <em>source</em></dt> -<dd><p>Return the inner angle of the sound cone of <var>source</var> in radians. -</p></dd></dl> - -<dl> -<dt id="index-source_002dcone_002douter_002dangle">Procedure: <strong>source-cone-outer-angle</strong> <em>source</em></dt> -<dd><p>Return the outer angle of the sound cone of <var>source</var> in radians. -</p></dd></dl> - -<dl> -<dt id="index-source_002dposition">Procedure: <strong>source-position</strong> <em>source</em></dt> -<dd><p>Return the position of <var>source</var> as a 3D vector. -</p></dd></dl> - -<dl> -<dt id="index-source_002dvelocity">Procedure: <strong>source-velocity</strong> <em>source</em></dt> -<dd><p>Return the velocity of <var>source</var> as a 3D vector. -</p></dd></dl> - -<dl> -<dt id="index-source_002ddirection">Procedure: <strong>source-direction</strong> <em>source</em></dt> -<dd><p>Return the direction of <var>source</var> as a 3D vector. -</p></dd></dl> - -<dl> -<dt id="index-source_002drelative_003f">Procedure: <strong>source-relative?</strong> <em>source</em></dt> -<dd><p>Return <code>#t</code> if the position of <var>source</var> is relative to the -listener’s position. -</p></dd></dl> - -<dl> -<dt id="index-source_002dplay">Procedure: <strong>source-play</strong> <em>source</em></dt> -<dd><p>Begin/resume playback of <var>source</var>. -</p></dd></dl> - -<dl> -<dt id="index-source_002dpause">Procedure: <strong>source-pause</strong> <em>source</em></dt> -<dd><p>Pause playback of <var>source</var>. -</p></dd></dl> - -<dl> -<dt id="index-source_002dtoggle">Procedure: <strong>source-toggle</strong> <em>source</em></dt> -<dd><p>Play <var>source</var> if it is currently paused or pause <var>source</var> if -it is currently playing. -</p></dd></dl> - -<dl> -<dt id="index-source_002dstop">Procedure: <strong>source-stop</strong> <em>[source]</em></dt> -<dd><p>Stop playing <var>source</var> or, if no source is specified, stop playing -<em>all</em> sources. -</p></dd></dl> - -<dl> -<dt id="index-source_002drewind">Procedure: <strong>source-rewind</strong> <em>source</em></dt> -<dd><p>Rewind <var>source</var> to the beginning of the audio stream. -</p></dd></dl> - -<dl> -<dt id="index-set_002dsource_002daudio_0021">Procedure: <strong>set-source-audio!</strong> <em>source audio</em></dt> -<dd><p>Set the playback stream for <var>source</var> to <var>audio</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dsource_002dloop_0021">Procedure: <strong>set-source-loop!</strong> <em>source loop?</em></dt> -<dd><p>Configure whether or not <var>source</var> should loop the audio stream. -</p></dd></dl> - -<dl> -<dt id="index-set_002dsource_002dpitch_0021">Procedure: <strong>set-source-pitch!</strong> <em>source pitch</em></dt> -<dd><p>Set the pitch multiplier of <var>source</var> to <var>pitch</var> -</p></dd></dl> - -<dl> -<dt id="index-set_002dsource_002dvolume_0021">Procedure: <strong>set-source-volume!</strong> <em>source volume</em></dt> -<dd><p>Set the volume of <var>source</var> to <var>volume</var>. A value of 1.0 is -100% volume. -</p></dd></dl> - -<dl> -<dt id="index-set_002dsource_002dmin_002dvolume_0021">Procedure: <strong>set-source-min-volume!</strong> <em>source volume</em></dt> -<dd><p>Set the minimum volume of <var>source</var> to <var>volume</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dsource_002dmax_002dvolume_0021">Procedure: <strong>set-source-max-volume!</strong> <em>source volume</em></dt> -<dd><p>Set the maximum volume of <var>source</var> to <var>volume</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dsource_002dmax_002ddistance_0021">Procedure: <strong>set-source-max-distance!</strong> <em>source distance</em></dt> -<dd><p>Set the distance where there will no longer be any attenuation of -<var>source</var> to <var>distance</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dsource_002dreference_002ddistance_0021">Procedure: <strong>set-source-reference-distance!</strong> <em>source distance</em></dt> -<dd><p>Set the reference distance of <var>source</var> to <var>distance</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dsource_002drolloff_002dfactor_0021">Procedure: <strong>set-source-rolloff-factor!</strong> <em>source factor</em></dt> -<dd><p>Set the rolloff factor for <var>source</var> to <var>factor</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dsource_002dcone_002douter_002dvolume_0021">Procedure: <strong>set-source-cone-outer-volume!</strong> <em>source volume</em></dt> -<dd><p>Set the volume for <var>source</var> when outside the sound cone to <var>volume</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dsource_002dcone_002dinner_002dangle_0021">Procedure: <strong>set-source-cone-inner-angle!</strong> <em>source angle</em></dt> -<dd><p>Set the inner angle of the sound cone of <var>source</var> to <var>angle</var> radians. -</p></dd></dl> - -<dl> -<dt id="index-set_002dsource_002dcone_002douter_002dangle_0021">Procedure: <strong>set-source-cone-outer-angle!</strong> <em>source angle</em></dt> -<dd><p>Set the outer angle of the sound cone of <var>source</var> to <var>angle</var> radians. -</p></dd></dl> - -<dl> -<dt id="index-set_002dsource_002dposition_0021">Procedure: <strong>set-source-position!</strong> <em>source position</em></dt> -<dd><p>Set the position of <var>source</var> to the 3D vector <var>position</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dsource_002dvelocity_0021">Procedure: <strong>set-source-velocity!</strong> <em>source velocity</em></dt> -<dd><p>Set the velocity of <var>source</var> to the 3D vector <var>velocity</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dsource_002ddirection_0021">Procedure: <strong>set-source-direction!</strong> <em>source direction</em></dt> -<dd><p>Set the velocity of <var>source</var> to the 3D vector <var>direction</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dsource_002drelative_0021">Procedure: <strong>set-source-relative!</strong> <em>source relative?</em></dt> -<dd><p>If <var>relative?</var> is <code>#t</code>, the position of <var>source</var> is -interpreted as relative to the listener’s position. Otherwise, the -position of <var>source</var> is in absolute coordinates. -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="The-Listener.html" accesskey="n" rel="next">The Listener</a>, Previous: <a href="Audio-Files.html" accesskey="p" rel="prev">Audio Files</a>, Up: <a href="Audio.html" accesskey="u" rel="up">Audio</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Sprites.html b/manuals/chickadee/Sprites.html deleted file mode 100644 index 3d045ba..0000000 --- a/manuals/chickadee/Sprites.html +++ /dev/null @@ -1,233 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Sprites (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Sprites (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Sprites (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Graphics.html" rel="up" title="Graphics" /> -<link href="Fonts.html" rel="next" title="Fonts" /> -<link href="Textures.html" rel="prev" title="Textures" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Sprites"></span><div class="header"> -<p> -Next: <a href="Fonts.html" accesskey="n" rel="next">Fonts</a>, Previous: <a href="Textures.html" accesskey="p" rel="prev">Textures</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Sprites-1"></span><h4 class="subsection">5.3.3 Sprites</h4> - -<p>For those who are new to this game, a sprite is a 2D rectangular -bitmap that is rendered to the screen. For 2D games, sprites are the -most essential graphical abstraction. They are used for drawing maps, -players, NPCs, items, particles, text, etc. -</p> -<p>In Chickadee, the <code>(chickadee graphics sprite)</code> module provides the -interface for working with sprites. Bitmaps are stored in textures -(see <a href="Textures.html">Textures</a>) and can be used to draw sprites via the -<code>draw-sprite</code> procedure. -</p> -<dl> -<dt id="index-draw_002dsprite">Procedure: <strong>draw-sprite</strong> <em>texture position [#:blend-mode] [#:origin] [#:rect] [#:rotation] [#:scale] [#:shear] [#:tint white]</em></dt> -<dd> -<p>Draw <var>texture</var> at <var>position</var>. -</p> -<p>Optionally, other transformations may be applied to the sprite. -<var>rotation</var> specifies the angle to rotate the sprite, in radians. -<var>scale</var> specifies the scaling factor as a 2D vector. <var>shear</var> -specifies the shearing factor as a 2D vector. All transformations are -applied relative to <var>origin</var>, a 2D vector, which defaults to the -lower-left corner. -</p> -<p><var>tint</var> specifies the color to multiply against all the sprite’s -pixels. By default white is used, which does no tinting at all. -</p> -<p>Alpha blending is used by default but the blending method can be -changed by specifying <var>blend-mode</var>. -</p> -<p>The area drawn to is as big as the texture, by default. To draw to an -arbitrary section of the screen, specify <var>rect</var>. -</p></dd></dl> - -<span id="Sprite-Batches"></span><h4 class="subsubsection">5.3.3.1 Sprite Batches</h4> - -<p>It’s not uncommon to need to draw hundreds or thousands of sprites -each frame. However, GPUs (graphics processing units) are tricky -beasts that prefer to be sent few, large chunks of data to render -rather than many, small chunks. Using <code>draw-sprite</code> on its own -will involve at least one GPU call <em>per sprite</em>. This is fine -for rendering a few dozen sprites, but will become a serious -bottleneck when rendering hundreds or thousands of sprites. To deal -with this, a technique known as “sprite batching” is used. Instead -of drawing each sprite immediately, the sprite batch will build up a -large buffer of sprites to draw and send them to the GPU all at once. -There is one caveat, however. Batching only works if the sprites -being drawn share a common texture. A good strategy for reducing the -number of different textures is to stuff many bitmaps into a single -image file and create a “texture atlas” (see <a href="Textures.html">Textures</a>) to access -the sub-images within. -</p> -<dl> -<dt id="index-make_002dsprite_002dbatch">Procedure: <strong>make-sprite-batch</strong> <em>texture [#:capacity 256]</em></dt> -<dd><p>Create a new sprite batch for <var>texture</var> with initial space for -<var>capacity</var> sprites. Sprite batches automatically resize when they -are full to accomodate as many sprites as necessary. -</p></dd></dl> - -<dl> -<dt id="index-sprite_002dbatch_003f">Procedure: <strong>sprite-batch?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a sprite batch. -</p></dd></dl> - -<dl> -<dt id="index-sprite_002dbatch_002dtexture">Procedure: <strong>sprite-batch-texture</strong> <em>batch</em></dt> -<dd><p>Return the texture for <var>batch</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dsprite_002dbatch_002dtexture_0021">Procedure: <strong>set-sprite-batch-texture!</strong> <em>batch texture</em></dt> -<dd><p>Set texture for <var>batch</var> to <var>texture</var>. -</p></dd></dl> - -<dl> -<dt id="index-sprite_002dbatch_002dadd_0021">Procedure: <strong>sprite-batch-add!</strong> <em>batch position [#:origin] [:rotation] [#:scale] [#:shear] [#:texture-region] [#:tint <code>white</code>]</em></dt> -<dd> -<p>Add sprite located at <var>position</var> to <var>batch</var>. -</p> -<p>To render a subsection of the batch’s texture, a texture object whose -parent is the batch texture may be specified as <var>texture-region</var>. -</p> -<p>See <code>draw-sprite</code> for information about the other arguments. -</p></dd></dl> - -<dl> -<dt id="index-sprite_002dbatch_002dclear_0021">Procedure: <strong>sprite-batch-clear!</strong> <em>batch</em></dt> -<dd><p>Reset size of <var>batch</var> to 0. -</p></dd></dl> - -<dl> -<dt id="index-draw_002dsprite_002dbatch">Procedure: <strong>draw-sprite-batch</strong> <em>batch [#:blend-mode]</em></dt> -<dd><p>Render <var>batch</var> using <var>blend-mode</var>. Alpha blending is used by -default. -</p></dd></dl> - -<span id="g_t9_002dPatches"></span><h4 class="subsubsection">5.3.3.2 9-Patches</h4> - -<p>A 9-patch is a method of rendering a texture so that it can be -stretched to cover an area of any size without becoming distorted. -This is achieved by dividing up the sprite into nine regions: -</p> -<ul> -<li> the center, which can be stretched or tiled horizontally and vertically -</li><li> the four corners, which are never stretched or tiled -</li><li> the left and right sides, which can be stretched or tiled vertically -</li><li> the top and bottom sides, which can be stretched or tiled horizontally -</li></ul> - -<p>The most common application of this technique is for graphical user -interface widgets like buttons and dialog boxes which are often -dynamically resizable. By using a 9-patch, they can be rendered at -any size without scaling artifacts. The <code>(chickadee graphics -9-patch)</code> module provides this functionality. -</p> -<dl> -<dt id="index-draw_002d9_002dpatch">Procedure: <strong>draw-9-patch</strong> <em>texture rect [#:margin 0] [#:top-margin margin] [#:bottom-margin margin] [#:left-margin margin] [#:right-margin margin] [#:mode stretch] [#:origin] [#:scale] [#:rotation] [#:blend-mode] [#:tint white]</em></dt> -<dd> -<p>Draw a 9-patch over the area <var>rect</var> using <var>texture</var> whose -stretchable/tileable patches are defined by the given margin -measurements. The corners are never stretched/tiled, the left and -right edges will be stretched/tiled vertically, the top and bottom -edges may be stretched/tiled horizontally, and the center may be -stretched/tiled in both directions. -</p> -<p><var>mode</var> may be either <code>stretch</code> (the default) or <code>tile</code>. -</p> -<p><var>margin</var> specifies the margin size for all sides of the 9-patch. -To make margins of differing sizes, the <var>top-margin</var>, -<var>bottom-margin</var>, <var>left-margin</var>, and <var>right-margin</var> -arguments may be used. -</p> -<p>Refer to <code>draw-sprite</code> for information about the other arguments -as they are the same. -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Fonts.html" accesskey="n" rel="next">Fonts</a>, Previous: <a href="Textures.html" accesskey="p" rel="prev">Textures</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Textures.html b/manuals/chickadee/Textures.html deleted file mode 100644 index 5b8e506..0000000 --- a/manuals/chickadee/Textures.html +++ /dev/null @@ -1,297 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Textures (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Textures (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Textures (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Graphics.html" rel="up" title="Graphics" /> -<link href="Sprites.html" rel="next" title="Sprites" /> -<link href="Colors.html" rel="prev" title="Colors" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Textures"></span><div class="header"> -<p> -Next: <a href="Sprites.html" accesskey="n" rel="next">Sprites</a>, Previous: <a href="Colors.html" accesskey="p" rel="prev">Colors</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Textures-1"></span><h4 class="subsection">5.3.2 Textures</h4> - -<p>Textures are essentially images: a 2D grid of color values. However, -this is a great simplification. Textures can be used to store any -kind of data that can be encoded into color channels. The -<code>(chickadee graphics texture)</code> module provides an interface for -working with texture objects. -</p> -<dl> -<dt id="index-load_002dimage">Procedure: <strong>load-image</strong> <em>file [#:min-filter nearest] [#:mag-filter nearest] [#:wrap-s repeat] [#:wrap-t repeat] [#:transparent-color]</em></dt> -<dd> -<p>Load the image data from <var>file</var> and return a new texture object. -</p> -<p><var>min-filter</var> and <var>mag-filter</var> describe the method that should -be used for minification and magnification when rendering, -respectively. Possible values are <code>nearest</code> and <code>linear</code>. -</p> -<p><var>wrap-s</var> and <var>wrap-t</var> describe how to interpret texture -coordinates that are greater than <code>1.0</code>. Possible values are -<code>repeat</code>, <code>mirrored-repeat</code>, <code>clamp</code>, -<code>clamp-to-border</code>, and <code>clamp-to-edge</code>. -</p> -<p>For color-keyed images (images where a specific color should be made -transparent), specify the appropriate <var>transparent-color</var>. -</p> -</dd></dl> - -<dl> -<dt id="index-texture_003f">Procedure: <strong>texture?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a texture. -</p></dd></dl> - -<dl> -<dt id="index-texture_002dregion_003f">Procedure: <strong>texture-region?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a texture region. -</p></dd></dl> - -<dl> -<dt id="index-texture_002dparent">Procedure: <strong>texture-parent</strong> <em>texture</em></dt> -<dd><p>If <var>texture</var> is a texture region, return the full texture that it -is based upon. Otherwise, return <code>#f</code>. -</p></dd></dl> - -<dl> -<dt id="index-texture_002dmin_002dfilter">Procedure: <strong>texture-min-filter</strong> <em>texture</em></dt> -<dd><p>Return the minification filter for <var>texture</var>, either -<code>nearest</code> or <code>linear</code>. -</p></dd></dl> - -<dl> -<dt id="index-texture_002dmag_002dfilter">Procedure: <strong>texture-mag-filter</strong> <em>texture</em></dt> -<dd><p>Return the magnification filter for <var>texture</var>, either -<code>nearest</code> or <code>linear</code>. -</p></dd></dl> - -<dl> -<dt id="index-texture_002dwrap_002ds">Procedure: <strong>texture-wrap-s</strong> <em>texture</em></dt> -<dd><p>Return the method used for wrapping texture coordinates along the X -axis for <var>texture</var>. -</p> -<p>Possible wrapping methods: -</p><ul> -<li> <code>repeat</code> -</li><li> <code>clamp</code> -</li><li> <code>clamp-to-border</code> -</li><li> <code>clamp-to-edge</code> -</li></ul> - -</dd></dl> - -<dl> -<dt id="index-texture_002dwrap_002dt">Procedure: <strong>texture-wrap-t</strong> <em>texture</em></dt> -<dd><p>Return the method used for wrapping texture coordinates along the Y -axis for <var>texture</var>. -</p></dd></dl> - -<dl> -<dt id="index-texture_002dwidth">Procedure: <strong>texture-width</strong> <em>texture</em></dt> -<dd><p>Return the width of <var>texture</var> in pixels. -</p></dd></dl> - -<dl> -<dt id="index-texture_002dheight">Procedure: <strong>texture-height</strong> <em>texture</em></dt> -<dd><p>Return the height of <var>texture</var> in pixels. -</p></dd></dl> - -<dl> -<dt id="index-current_002dtexture_002d0">Procedure: <strong>current-texture-0</strong></dt> -<dd><p>Return the current texture associated with texture unit 0 on the GPU. -</p></dd></dl> - -<dl> -<dt id="index-current_002dtexture_002d1">Procedure: <strong>current-texture-1</strong></dt> -<dd><p>Return the current texture associated with texture unit 1 on the GPU. -</p></dd></dl> - -<dl> -<dt id="index-current_002dtexture_002d2">Procedure: <strong>current-texture-2</strong></dt> -<dd><p>Return the current texture associated with texture unit 2 on the GPU. -</p></dd></dl> - -<dl> -<dt id="index-current_002dtexture_002d3">Procedure: <strong>current-texture-3</strong></dt> -<dd><p>Return the current texture associated with texture unit 3 on the GPU. -</p></dd></dl> - -<dl> -<dt id="index-current_002dtexture_002d4">Procedure: <strong>current-texture-4</strong></dt> -<dd><p>Return the current texture associated with texture unit 4 on the GPU. -</p></dd></dl> - -<dl> -<dt id="index-g_003atexture_002d0">Variable: <strong>g:texture-0</strong></dt> -<dd><p>Render state for texture unit 0 (see <a href="Rendering-Engine.html">Rendering Engine</a>.) -</p></dd></dl> - -<dl> -<dt id="index-g_003atexture_002d1">Variable: <strong>g:texture-1</strong></dt> -<dd><p>Render state for texture unit 1 (see <a href="Rendering-Engine.html">Rendering Engine</a>.) -</p></dd></dl> - -<dl> -<dt id="index-g_003atexture_002d2">Variable: <strong>g:texture-2</strong></dt> -<dd><p>Render state for texture unit 2 (see <a href="Rendering-Engine.html">Rendering Engine</a>.) -</p></dd></dl> - -<dl> -<dt id="index-g_003atexture_002d3">Variable: <strong>g:texture-3</strong></dt> -<dd><p>Render state for texture unit 3 (see <a href="Rendering-Engine.html">Rendering Engine</a>.) -</p></dd></dl> - -<dl> -<dt id="index-g_003atexture_002d4">Variable: <strong>g:texture-4</strong></dt> -<dd><p>Render state for texture unit 4 (see <a href="Rendering-Engine.html">Rendering Engine</a>.) -</p></dd></dl> - -<span id="Tile-Atlases"></span><h4 class="subsubsection">5.3.2.1 Tile Atlases</h4> - -<p>It is common practice to combine multiple bitmap images into a single -texture, known as a “tile atlas” or “tile set”, because it is more -efficient to render many regions of a large texture than it is to -render a bunch of small textures. Chickadee provides a tile atlas -data type for collecting texture regions into a single vector. -</p> -<dl> -<dt id="index-split_002dtexture">Procedure: <strong>split-texture</strong> <em>texture tile-width tile-height [#:margin 0] [#:spacing 0]</em></dt> -<dd> -<p>Return a new texture atlas that splits <var>texture</var> into a grid of -<var>tile-width</var> by <var>tile-height</var> rectangles. Optionally, each -tile may have <var>spacing</var> pixels of horizontal and vertical space -between surrounding tiles and the entire image may have <var>margin</var> -pixels of empty space around its border. -</p> -<p>This type of texture atlas layout is very common for 2D tile maps. -See <a href="Tile-Maps.html">Tile Maps</a> for more information. -</p></dd></dl> - -<dl> -<dt id="index-load_002dtileset">Procedure: <strong>load-tileset</strong> <em>file-name tile-width tile-height [#:margin 0] [#:spacing 0] [#:min-filter nearest] [#:mag-filter nearest] [#:wrap-s repeat] [#:wrap-t repeat] [#:transparent-color]</em></dt> -<dd> -<p>Return a new texture atlas that splits the texture loaded from the -file <var>file-name</var> into a grid of <var>tile-width</var> by -<var>tile-height</var> rectangles. See <code>load-image</code> and -<code>split-texture</code> for information about all keyword arguments. -</p></dd></dl> - -<dl> -<dt id="index-texture_002datlas_003f">Procedure: <strong>texture-atlas?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a texture atlas. -</p></dd></dl> - -<dl> -<dt id="index-texture_002datlas_002dtexture">Procedure: <strong>texture-atlas-texture</strong> <em>atlas</em></dt> -<dd><p>Return the texture that all texture regions in <var>atlas</var> have been created from. -</p></dd></dl> - -<dl> -<dt id="index-texture_002datlas_002dref">Procedure: <strong>texture-atlas-ref</strong> <em>atlas index</em></dt> -<dd><p>Return the texture region in <var>atlas</var> at <var>index</var>. -</p></dd></dl> - -<span id="Cube-Maps"></span><h4 class="subsubsection">5.3.2.2 Cube Maps</h4> - -<p>A cube map is a special type of texture composed of 6 images that can -be thought of as forming the 6 faces of a cube. See <a href="Skyboxes.html">Skyboxes</a> for a -practical use of cube maps. -</p> -<dl> -<dt id="index-load_002dcube_002dmap">Procedure: <strong>load-cube-map</strong> <em>#:right #:left #:top #:bottom #:front #:back [#:min-filter linear-mipmap-linear] [#:mag-filter linear]</em></dt> -<dd> -<p>Return a new cube map that uses the image data in the files -<var>right</var>, <var>left</var>, <var>top</var>, <var>bottom</var>, <var>front</var>, and -<var>back</var> for the 6 faces of the cube. -</p></dd></dl> - -<dl> -<dt id="index-cube_002dmap_003f">Procedure: <strong>cube-map?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a cube map. -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Sprites.html" accesskey="n" rel="next">Sprites</a>, Previous: <a href="Colors.html" accesskey="p" rel="prev">Colors</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/The-Environment.html b/manuals/chickadee/The-Environment.html deleted file mode 100644 index 3e08719..0000000 --- a/manuals/chickadee/The-Environment.html +++ /dev/null @@ -1,152 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>The Environment (The Chickadee Game Toolkit)</title> - -<meta name="description" content="The Environment (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="The Environment (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Audio.html" rel="up" title="Audio" /> -<link href="Scripting.html" rel="next" title="Scripting" /> -<link href="The-Listener.html" rel="prev" title="The Listener" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="The-Environment"></span><div class="header"> -<p> -Previous: <a href="The-Listener.html" accesskey="p" rel="prev">The Listener</a>, Up: <a href="Audio.html" accesskey="u" rel="up">Audio</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="The-Environment-1"></span><h4 class="subsection">5.4.4 The Environment</h4> - -<p>The environment defines global parameters that govern how sound is -processed within the 3D modeling space. -</p> -<dl> -<dt id="index-doppler_002dfactor">Procedure: <strong>doppler-factor</strong></dt> -<dd><p>Return the current doppler factor. -</p></dd></dl> - -<dl> -<dt id="index-speed_002dof_002dsound">Procedure: <strong>speed-of-sound</strong></dt> -<dd><p>Return the current speed of sound. -</p></dd></dl> - -<dl> -<dt id="index-distance_002dmodel">Procedure: <strong>distance-model</strong></dt> -<dd><p>Return the current distance model. -</p> -<p>Possible return values are: -</p> -<ul> -<li> <code>none</code> -</li><li> <code>inverse-distance</code> -</li><li> <code>inverse-distance-clamped</code> (the default) -</li><li> <code>linear-distance</code> -</li><li> <code>linear-distance-clamped</code> -</li><li> <code>exponent-distance</code> -</li><li> <code>exponent-distance-clamped</code> -</li></ul> - -</dd></dl> - -<dl> -<dt id="index-set_002ddoppler_002dfactor_0021">Procedure: <strong>set-doppler-factor!</strong> <em>doppler-factor</em></dt> -<dd><p>Change the doppler factor to <var>doppler-factor</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dspeed_002dof_002dsound_0021">Procedure: <strong>set-speed-of-sound!</strong> <em>speed-of-sound</em></dt> -<dd><p>Change the speed of sound to <var>speed-of-sound</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002ddistance_002dmodel_0021">Procedure: <strong>set-distance-model!</strong> <em>distance-model</em></dt> -<dd><p>Change the distance model to <var>distance-model</var>. Valid distance -models are: -</p> -<ul> -<li> <code>none</code> -</li><li> <code>inverse-distance</code> -</li><li> <code>inverse-distance-clamped</code> -</li><li> <code>linear-distance</code> -</li><li> <code>linear-distance-clamped</code> -</li><li> <code>exponent-distance</code> -</li><li> <code>exponent-distance-clamped</code> -</li></ul> - -</dd></dl> - - - - -</body> -</html> diff --git a/manuals/chickadee/The-Game-Loop.html b/manuals/chickadee/The-Game-Loop.html deleted file mode 100644 index 45a4d42..0000000 --- a/manuals/chickadee/The-Game-Loop.html +++ /dev/null @@ -1,420 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>The Game Loop (The Chickadee Game Toolkit)</title> - -<meta name="description" content="The Game Loop (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="The Game Loop (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Kernel.html" rel="up" title="Kernel" /> -<link href="Input-Devices.html" rel="next" title="Input Devices" /> -<link href="Kernel.html" rel="prev" title="Kernel" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="The-Game-Loop"></span><div class="header"> -<p> -Next: <a href="Input-Devices.html" accesskey="n" rel="next">Input Devices</a>, Up: <a href="Kernel.html" accesskey="u" rel="up">Kernel</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="The-Game-Loop-1"></span><h4 class="subsection">5.1.1 The Game Loop</h4> - -<p>At the very core of Chickadee there is an event loop. This loop, or -“kernel”, is responsible for ensuring that the game is updated at -the desired interval, handling input devices, rendering the current -state of the game world, and handling errors if they occur. The -kernel implements what is known as a “fixed timestep” game loop, -meaning that the game simulation will be advanced by a fixed interval -of time and will never vary from frame to frame, unlike some other -styles of game loops. The appropriately named <code>run-game</code> and -<code>abort-game</code> procedures are the entry and exit points to the -Chickadee game loop. -</p> -<p>If you are using <code>chickadee play</code> to launch your game, then -calling <code>run-game</code> is already taken care of for you. -</p> -<dl> -<dt id="index-run_002dgame">Procedure: <strong>run-game</strong> <em>[#:window-title "Chickadee!"] [#:window-width 640] [#:window-height 480] [#:window-fullscreen? <code>#f</code>] [#:window-resizable? <code>#f</code>] [#:update-hz 60] [#:clear-color] [#:load] [#:update] [#:draw] [#:quit] [#:key-press] [#:key-release] [#:text-input] [#:mouse-press] [#:mouse-release] [#:mouse-move] [#:controller-add] [#:controller-remove] [#:controller-press] [#:controller-release] [#:controller-move] [#:window-keyboard-enter] [#:window-keyboard-leave] [#:window-mouse-enter] [#:window-mouse-leave] [#:window-show] [#:window-hide] [#:window-minimize] [#:window-maximize] [#:window-move] [#:window-resize] [#:error]</em></dt> -<dd> -<p>Run the Chickadee game loop. -</p> -<p>A new graphical window will be opened with <var>window-width</var> x -<var>window-height</var> as its dimensions, <var>window-title</var> as its -title, and in fullscreen mode if <var>window-fullscreen?</var> is -<code>#t</code>. If <var>window-resizable?</var> is <code>#t</code> then the window -can be resized by the user. The screen color will be set to -<var>clear-color</var>, or a pleasant light blue, by default. -</p> -<ul> -<li> <var>load</var>: Called with zero arguments when the game window has opened -but before the game loop has started. Can be used to perform -initialization that requires an open window and OpenGL context such as -loading textures. - -</li><li> <var>update</var>: Called <var>update-hz</var> times per second with one -argument: The amount of time to advance the game simulation. - -</li><li> <var>draw</var>: Called each time a frame should be rendered with a single -argument known as the <code>alpha</code> value. See the documentation for -<code>run-game*</code> for an explanation of this value. - -</li><li> <var>quit</var>: Called with zero arguments when the user tries to close -the game window. The default behavior is to exit the game. - -</li><li> <var>key-press</var>: Called with four arguments when a key is pressed on -the keyboard: - -<ol> -<li> <var>key</var>: The symbolic name of the key that was pressed. For -example: <code>backspace</code>. - -</li><li> <var>modifiers</var>: A list of the symbolic names of modifier keys that -were being held down when the key was pressed. Possible values -include <code>ctrl</code>, <code>alt</code>, and <code>shift</code>. - -</li><li> <var>repeat?</var>: <code>#t</code> if this is a repeated press of the same key. - -</li></ol> - -</li><li> <var>key-release</var>: Called with three arguments when a key is released -on the keyboard: - -<ol> -<li> <var>key</var>: The symbolic name of the key that was released. - -</li><li> <var>modifiers</var>: A list of the symbolic names of modifier keys that -were being held down when the key was released. - -</li></ol> - -</li><li> <var>text-input</var>: Called with a single argument, a string of text, -when printable text is typed on the keyboard. - -</li><li> <var>mouse-press</var>: Called with four arguments when a mouse button is -pressed: -<ol> -<li> <var>button</var>: The symbolic name of the button that was pressed, such -as <code>left</code>, <code>middle</code>, or <code>right</code>. - -</li><li> <var>clicks</var>: The number of times the button has been clicked in a row. - -</li><li> <var>x</var>: The x coordinate of the mouse cursor. - -</li><li> <var>y</var>: The y coordinate of the mouse cursor. - -</li></ol> - -</li><li> <var>mouse-release</var>: Called with three arguments when a mouse button -is released: - -<ol> -<li> <var>button</var>: The symbolic name of the button that was released. - -</li><li> <var>x</var>: The x coordinate of the mouse cursor. - -</li><li> <var>y</var>: The y coordinate of the mouse cursor. - -</li></ol> - -</li><li> <var>mouse-move</var>: Called with five arguments when the mouse is moved: - -<ol> -<li> <var>x</var>: The x coordinate of the mouse cursor. - -</li><li> <var>y</var>: The y coordinate of the mouse cursor. - -</li><li> <var>dx</var>: The amount the mouse has moved along the x axis since the -last mouse move event. - -</li><li> <var>dy</var>: The amount the mouse has moved along the y axis since the -last mouse move event. - -</li><li> <var>buttons</var>: A list of the buttons that were pressed down when the -mouse was moved. - -</li></ol> - -</li><li> <var>mouse-wheel</var>: Called with two arguments when the mouse wheel is -scrolled: - -<ol> -<li> <var>x</var>: The scroll amount along the X axis. - -</li><li> <var>y</var>: The scroll amount along the Y axis. - -</li></ol> - -</li><li> <var>controller-add</var>: Called with a single argument, an SDL game -controller object, when a game controller is connected. - -</li><li> <var>controller-remove</var>: Called with a single argument, an SDL game -controller object, when a game controller is disconnected. - -</li><li> <var>controller-press</var>: Called with two arguments when a button on a -game controller is pressed: - -<ol> -<li> <var>controller</var>: The controller that triggered the event. - -</li><li> <var>button</var>: The symbolic name of the button that was pressed. -Possible buttons are: - -<ul> -<li> <code>a</code> -</li><li> <code>b</code> -</li><li> <code>x</code> -</li><li> <code>y</code> -</li><li> <code>back</code> -</li><li> <code>guide</code> -</li><li> <code>start</code> -</li><li> <code>left-stick</code> -</li><li> <code>right-stick</code> -</li><li> <code>left-shoulder</code> -</li><li> <code>right-shoulder</code> -</li><li> <code>dpad-up</code> -</li><li> <code>dpad-down</code> -</li><li> <code>dpad-left</code> -</li><li> <code>dpad-right</code> - -</li></ul> - -</li></ol> - -</li><li> <var>controller-release</var>: Called with two arguments when a button on a -game controller is released: - -<ol> -<li> <var>controller</var>: The controller that triggered the event. - -</li><li> <var>button</var>: The symbolic name of the button that was released. - -</li></ol> - -</li><li> <var>controller-move</var>: Called with three arguments when an analog -stick or trigger on a game controller is moved: - -<ol> -<li> <var>controller</var>: The controller that triggered the event. - -</li><li> <var>axis</var>: The symbolic name of the axis that was moved. Possible -values are: - -<ul> -<li> <code>left-x</code> -</li><li> <code>left-y</code> -</li><li> <code>right-x</code> -</li><li> <code>right-y</code> -</li><li> <code>trigger-left</code> -</li><li> <code>trigger-right</code> -</li></ul> - -</li></ol> - -</li><li> <var>window-keyboard-enter</var>: Called with zero arguments when the -window gains keyboard focus. - -</li><li> <var>window-keyboard-leave</var>: Called with zero arguments when the -window loses keyboard focus. - -</li><li> <var>window-mouse-enter</var>: Called with zero arguments when the window -gains mouse focus. - -</li><li> <var>window-mouse-leave</var>: Called with zero arguments when the window -loses mouse focus. - -</li><li> <var>window-show</var>: Called with zero arguments when the window is -shown after having been hidden. - -</li><li> <var>window-hide</var>: Called with zero arguments when the window is -hidden. - -</li><li> <var>window-minimize</var>: Called with zero arguments when the window is -minimized. - -</li><li> <var>window-maximize</var>: Called with zero arguments when the window is -maximized. - -</li><li> <var>window-move</var>: Called with two arguments when the window is moved -within the desktop environment. - -<ol> -<li> <var>x</var>: The x coordinate of the top-left corner of the window, in -pixels. - -</li><li> <var>y</var>: The y coordinate of the top-left corner of the window, in -pixels. - -</li></ol> - -<p>Desktop environments use the top-left corner as the origin rather than -the bottom-left like Chickadee does, hence the discrepancy here. -</p> -</li><li> <var>window-resize</var>: Called with zero arguments when the window is -resized. - -<ol> -<li> <var>width</var>: The new width in pixels. - -</li><li> <var>height</var>: The new height in pixels. - -</li></ol> - -</li><li> <var>error</var>: Called with two arguments when an error occurs: - -<ol> -<li> <var>exception</var>: The exception object. - -</li><li> <var>stack</var>: The call stack at the point of the exception. - -</li></ol> - -<p>If no error handler is specified, exceptions will simply be re-raised. -</p> -</li></ul> - -</dd></dl> - -<p>To stop the game loop, simply call <code>abort-game</code>. -</p> -<dl> -<dt id="index-abort_002dgame">Procedure: <strong>abort-game</strong></dt> -<dd><p>Stop the currently running Chickadee game loop. -</p></dd></dl> - -<p>The above explanation of the game loop was partially a lie. It’s true -that there is a game loop at the center of Chickadee, but -<code>run-game</code> is not it’s true entry point. There exists an even -lower level procedure, <code>run-game*</code>, in the <code>(chickadee -game-loop)</code> module that <code>run-game</code> uses under the hood. -</p> -<p>On its own, <code>run-game*</code> does not do very much at all. In order -to actually respond to input events, update game state, or render -output, the developer must provide an engine. <code>run-game</code> is such -an engine, and it’s likely all a developer will need. However, what -if a developer wanted to use all of the useful Chickadee features to -make a terminal roguelike game instead? Chickadee doesn’t come with a -terminal rendering engine, but the developer could write one without -having to write their own core game loop. -</p> -<dl> -<dt id="index-run_002dgame_002a">Procedure: <strong>run-game*</strong> <em>[#:init] [#:update] [#:render] [#:time] [#:error] [#:update-hz 60]</em></dt> -<dd> -<p>Start the game loop. This procedure will not return until -<code>abort-game</code> is called. -</p> -<p>The core game loop is generic and requires four additional procedures -to operate: -</p> -<ul> -<li> <var>init</var>: Called just before game loop is started. Use it to -perform game initialization. -</li><li> <var>update</var>: Called <var>update-hz</var> times per second to advance the -game simulation. This procedure is called with a single argument: The -amount of time that has passed since the last update, in milliseconds. -</li><li> <var>render</var>: Called each iteration of the loop to render the game to -the desired output device. This procedure is called with a single -argument: A value in the range [0, 1] which represents how much time -has past since the last game state update relative to the upcoming -game state update, as a percentage. Because the game state is updated -independent of rendering, it is often the case that rendering is -occuring between two updates. If the game is rendered as it was -during the last update, a strange side-effect will occur that makes -animation appear rough or “choppy”. To counter this, the -<var>alpha</var> value can be used to perfrom a linear interpolation of a -moving object between its current position and its previous position. -This odd trick has the pleasing result of making the animation look -smooth again, but requires keeping track of previous state. -</li><li> <var>time</var>: Called to get the current time in seconds. This procedure -is called with no arguments. -</li><li> <var>error</var>: Called when an error from the <var>update</var> or -<var>render</var> procedures reaches the game loop. This procedure is -called with three arguments: The call stack, the error key, and the -error arguments. If no error handler is provided, the default -behavior is to simply re-throw the error. -</li></ul> - -</dd></dl> - -<dl> -<dt id="index-elapsed_002dtime">Procedure: <strong>elapsed-time</strong></dt> -<dd><p>Return the current value of the system timer in seconds. -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Input-Devices.html" accesskey="n" rel="next">Input Devices</a>, Up: <a href="Kernel.html" accesskey="u" rel="up">Kernel</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/The-Listener.html b/manuals/chickadee/The-Listener.html deleted file mode 100644 index a6f5ab3..0000000 --- a/manuals/chickadee/The-Listener.html +++ /dev/null @@ -1,141 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>The Listener (The Chickadee Game Toolkit)</title> - -<meta name="description" content="The Listener (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="The Listener (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Audio.html" rel="up" title="Audio" /> -<link href="The-Environment.html" rel="next" title="The Environment" /> -<link href="Sources.html" rel="prev" title="Sources" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="The-Listener"></span><div class="header"> -<p> -Next: <a href="The-Environment.html" accesskey="n" rel="next">The Environment</a>, Previous: <a href="Sources.html" accesskey="p" rel="prev">Sources</a>, Up: <a href="Audio.html" accesskey="u" rel="up">Audio</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="The-Listener-1"></span><h4 class="subsection">5.4.3 The Listener</h4> - -<p>The listener is a collection of global state that represents the -player within the 3D sound model. For games that do not need 3D sound -modeling, manipulating the listener’s master volume is the only -interesting thing to do here. -</p> -<dl> -<dt id="index-listener_002dvolume">Procedure: <strong>listener-volume</strong></dt> -<dd><p>Return the current master volume of the listener. -</p></dd></dl> - -<dl> -<dt id="index-listener_002dposition">Procedure: <strong>listener-position</strong></dt> -<dd><p>Return the current position of the listener. -</p></dd></dl> - -<dl> -<dt id="index-listener_002dvelocity">Procedure: <strong>listener-velocity</strong></dt> -<dd><p>Return the current velocity of the listener. -</p></dd></dl> - -<dl> -<dt id="index-listener_002dorientation">Procedure: <strong>listener-orientation</strong></dt> -<dd><p>Return the current orientation of the listener. -</p></dd></dl> - -<dl> -<dt id="index-set_002dlistener_002dvolume_0021">Procedure: <strong>set-listener-volume!</strong> <em>volume</em></dt> -<dd><p>Set the listener’s master volume to <var>volume</var>, a value in the range [0, -1]. -</p></dd></dl> - -<dl> -<dt id="index-set_002dlistener_002dposition_0021">Procedure: <strong>set-listener-position!</strong> <em>position</em></dt> -<dd><p>Set the listener’s position to the 3D vector <var>position</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dlistener_002dvelocity_0021">Procedure: <strong>set-listener-velocity!</strong> <em>velocity</em></dt> -<dd><p>Set the listener’s velocity to the 3D vector <var>velocity</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dlistener_002dorientation_0021">Procedure: <strong>set-listener-orientation!</strong> <em>at up</em></dt> -<dd><p>Set the listener’s orientation to the 3D vectors <var>at</var> and -<var>up</var>. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/chickadee/Tile-Maps.html b/manuals/chickadee/Tile-Maps.html deleted file mode 100644 index c6d9339..0000000 --- a/manuals/chickadee/Tile-Maps.html +++ /dev/null @@ -1,366 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Tile Maps (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Tile Maps (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Tile Maps (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Graphics.html" rel="up" title="Graphics" /> -<link href="Models.html" rel="next" title="Models" /> -<link href="Particles.html" rel="prev" title="Particles" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Tile-Maps"></span><div class="header"> -<p> -Next: <a href="Models.html" accesskey="n" rel="next">Models</a>, Previous: <a href="Particles.html" accesskey="p" rel="prev">Particles</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Tile-Maps-1"></span><h4 class="subsection">5.3.7 Tile Maps</h4> - -<p>A tile map is a scene created by composing lots of small sprites, -called “tiles”, into a larger image. One program for editing such -maps is called <a href="http://mapeditor.org">Tiled</a>. Chickadee has native -support for loading and rendering Tiled maps in the <code>(chickadee -graphics tile-map)</code> module. -</p> -<dl> -<dt id="index-load_002dtile_002dmap">Procedure: <strong>load-tile-map</strong> <em>file-name [#:chunk-size]</em></dt> -<dd><p>Load the Tiled formatted map in <var>file-name</var> and return a new tile -map object. -</p></dd></dl> - -<dl> -<dt id="index-tile_002dmap_003f">Procedure: <strong>tile-map?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a tile map. -</p></dd></dl> - -<dl> -<dt id="index-tile_002dmap_002dorientation">Procedure: <strong>tile-map-orientation</strong> <em>tile-map</em></dt> -<dd><p>Return the orientation of <var>tile-map</var>. -</p></dd></dl> - -<dl> -<dt id="index-tile_002dmap_002dwidth">Procedure: <strong>tile-map-width</strong> <em>tile-map</em></dt> -<dd><p>Return the width of <var>tile-map</var> in tiles. -</p></dd></dl> - -<dl> -<dt id="index-tile_002dmap_002dheight">Procedure: <strong>tile-map-height</strong> <em>tile-map</em></dt> -<dd><p>Return the height of <var>tile-map</var> in tiles. -</p></dd></dl> - -<dl> -<dt id="index-tile_002dmap_002dtile_002dwidth">Procedure: <strong>tile-map-tile-width</strong> <em>tile-map</em></dt> -<dd><p>Return the width of tiles in <var>tile-map</var>. -</p></dd></dl> - -<dl> -<dt id="index-tile_002dmap_002dtile_002dheight">Procedure: <strong>tile-map-tile-height</strong> <em>tile-map</em></dt> -<dd><p>Return the height of tiles in <var>tile-map</var>. -</p></dd></dl> - -<dl> -<dt id="index-tile_002dmap_002dtilesets">Procedure: <strong>tile-map-tilesets</strong> <em>tile-map</em></dt> -<dd><p>Return the tilesets for <var>tile-map</var>. -</p></dd></dl> - -<dl> -<dt id="index-tile_002dmap_002dlayers">Procedure: <strong>tile-map-layers</strong> <em>tile-map</em></dt> -<dd><p>Return the layers of <var>tile-map</var>. -</p></dd></dl> - -<dl> -<dt id="index-tile_002dmap_002dproperties">Procedure: <strong>tile-map-properties</strong> <em>tile-map</em></dt> -<dd><p>Return the custom properties of <var>tile-map</var>. -</p></dd></dl> - -<dl> -<dt id="index-point_002d_003etile">Procedure: <strong>point->tile</strong> <em>tile-map x y</em></dt> -<dd><p>Translate the pixel coordinates (<var>x</var>, <var>y</var>) into tile -coordinates. -</p></dd></dl> - -<dl> -<dt id="index-draw_002dtile_002dmap">Procedure: <strong>draw-tile-map</strong> <em>tile-map [#:layers] [#:camera] [#:origin] [#:position] [#:scale] [#:rotation] [#:blend-mode] [#:tint] [#:time]</em></dt> -<dd> -<p>Draw the layers of <var>tile-map</var> as viewed from <var>camera</var>, a 2D -vector offset. By default, all layers are drawn. To draw a subset of -the available layers, pass a list of layer ids using the <var>layers</var> -keyword argument. -</p></dd></dl> - -<dl> -<dt id="index-tileset_003f">Procedure: <strong>tileset?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a tileset. -</p></dd></dl> - -<dl> -<dt id="index-tileset_002dname">Procedure: <strong>tileset-name</strong> <em>tileset</em></dt> -<dd><p>Return the name of <var>tileset</var>. -</p></dd></dl> - -<dl> -<dt id="index-tileset_002dfirst_002dgid">Procedure: <strong>tileset-first-gid</strong> <em>tileset</em></dt> -<dd><p>Return the starting GID of <var>tileset</var>. -</p></dd></dl> - -<dl> -<dt id="index-tileset_002dsize">Procedure: <strong>tileset-size</strong> <em>tileset</em></dt> -<dd><p>Return the number of tiles in <var>tileset</var>. -</p></dd></dl> - -<dl> -<dt id="index-tileset_002dtile_002dwidth">Procedure: <strong>tileset-tile-width</strong> <em>tileset</em></dt> -<dd><p>Return the width of tiles in <var>tileset</var>. -</p></dd></dl> - -<dl> -<dt id="index-tileset_002dtile_002dheight">Procedure: <strong>tileset-tile-height</strong> <em>tileset</em></dt> -<dd><p>Return the height of tiles in <var>tileset</var>. -</p></dd></dl> - -<dl> -<dt id="index-tileset_002datlas">Procedure: <strong>tileset-atlas</strong> <em>tileset</em></dt> -<dd><p>Return the texture atlas for <var>tileset</var>. -</p></dd></dl> - -<dl> -<dt id="index-tileset_002dtiles">Procedure: <strong>tileset-tiles</strong> <em>tileset</em></dt> -<dd><p>Return the tiles in <var>tileset</var>. -</p></dd></dl> - -<dl> -<dt id="index-tileset_002drows">Procedure: <strong>tileset-rows</strong> <em>tileset</em></dt> -<dd><p>Return the number of rows in <var>tileset</var>. -</p></dd></dl> - -<dl> -<dt id="index-tileset_002dcolumns">Procedure: <strong>tileset-columns</strong> <em>tileset</em></dt> -<dd><p>Return the number of columns in <var>tileset</var>. -</p></dd></dl> - -<dl> -<dt id="index-tileset_002dproperties">Procedure: <strong>tileset-properties</strong> <em>tileset</em></dt> -<dd><p>Return the custom properties of <var>tileset</var>. -</p></dd></dl> - -<dl> -<dt id="index-tile_003f">Procedure: <strong>tile?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a tile. -</p></dd></dl> - -<dl> -<dt id="index-tile_002did">Procedure: <strong>tile-id</strong> <em>tile</em></dt> -<dd><p>Return the ID of <var>tile</var>. -</p></dd></dl> - -<dl> -<dt id="index-tile_002danimation">Procedure: <strong>tile-animation</strong> <em>tile</em></dt> -<dd><p>Return the animation for <var>tile</var>. -</p></dd></dl> - -<dl> -<dt id="index-tile_002dproperties">Procedure: <strong>tile-properties</strong> <em>tile</em></dt> -<dd><p>Return the custom properties of <var>tile</var>. -</p></dd></dl> - -<dl> -<dt id="index-animation_003f">Procedure: <strong>animation?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is an animation. -</p></dd></dl> - -<dl> -<dt id="index-animation_002dframes">Procedure: <strong>animation-frames</strong> <em>animation</em></dt> -<dd><p>Return a vector of frames in <var>animation</var>. -</p></dd></dl> - -<dl> -<dt id="index-animation_002dduration">Procedure: <strong>animation-duration</strong> <em>animation</em></dt> -<dd><p>Return the duration of <var>animation</var>. -</p></dd></dl> - -<dl> -<dt id="index-animation_002dframe_003f">Procedure: <strong>animation-frame?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is an animation frame. -</p></dd></dl> - -<dl> -<dt id="index-animation_002dframe_002dtile">Procedure: <strong>animation-frame-tile</strong> <em>frame</em></dt> -<dd><p>Return the tile for <var>frame</var>. -</p></dd></dl> - -<dl> -<dt id="index-animation_002dframe_002dduration">Procedure: <strong>animation-frame-duration</strong> <em>frame</em></dt> -<dd><p>Return the duration of <var>frame</var>. -</p></dd></dl> - -<dl> -<dt id="index-tile_002dlayer_003f">Procedure: <strong>tile-layer?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a tile layer. -</p></dd></dl> - -<dl> -<dt id="index-tile_002dlayer_002dname">Procedure: <strong>tile-layer-name</strong> <em>layer</em></dt> -<dd><p>Return the name of <var>layer</var>. -</p></dd></dl> - -<dl> -<dt id="index-tile_002dlayer_002dwidth">Procedure: <strong>tile-layer-width</strong> <em>layer</em></dt> -<dd><p>Return the width in tiles of <var>layer</var>. -</p></dd></dl> - -<dl> -<dt id="index-tile_002dlayer_002dheight">Procedure: <strong>tile-layer-height</strong> <em>layer</em></dt> -<dd><p>Return the height in tiles of <var>layer</var>. -</p></dd></dl> - -<dl> -<dt id="index-tile_002dlayer_002dtiles">Procedure: <strong>tile-layer-tiles</strong> <em>layer</em></dt> -<dd><p>Return the tile data for <var>layer</var>. -</p></dd></dl> - -<dl> -<dt id="index-tile_002dlayer_002dproperties">Procedure: <strong>tile-layer-properties</strong> <em>layer</em></dt> -<dd><p>Return the custom properties of <var>layer</var>. -</p></dd></dl> - -<dl> -<dt id="index-object_002dlayer_003f">Procedure: <strong>object-layer?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is an object layer. -</p></dd></dl> - -<dl> -<dt id="index-object_002dlayer_002dname">Procedure: <strong>object-layer-name</strong> <em>layer</em></dt> -<dd><p>Return the name of <var>layer</var>. -</p></dd></dl> - -<dl> -<dt id="index-object_002dlayer_002dobjects">Procedure: <strong>object-layer-objects</strong> <em>layer</em></dt> -<dd><p>Return the objects for <var>layer</var>. -</p></dd></dl> - -<dl> -<dt id="index-object_002dlayer_002dproperties">Procedure: <strong>object-layer-properties</strong> <em>layer</em></dt> -<dd><p>Return the custom properties of <var>layer</var>. -</p></dd></dl> - -<dl> -<dt id="index-map_002dobject_003f">Procedure: <strong>map-object?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a map object. -</p></dd></dl> - -<dl> -<dt id="index-map_002dobject_002did">Procedure: <strong>map-object-id</strong> <em>obj</em></dt> -<dd><p>Return the ID of <var>obj</var>. -</p></dd></dl> - -<dl> -<dt id="index-map_002dobject_002dname">Procedure: <strong>map-object-name</strong> <em>obj</em></dt> -<dd><p>Return the name of <var>obj</var>. -</p></dd></dl> - -<dl> -<dt id="index-map_002dobject_002dtype">Procedure: <strong>map-object-type</strong> <em>obj</em></dt> -<dd><p>Return the type of <var>obj</var>. -</p></dd></dl> - -<dl> -<dt id="index-map_002dobject_002dshape">Procedure: <strong>map-object-shape</strong> <em>obj</em></dt> -<dd><p>Return the shape of <var>obj</var>. -</p></dd></dl> - -<dl> -<dt id="index-map_002dobject_002dproperties">Procedure: <strong>map-object-properties</strong> <em>obj</em></dt> -<dd><p>Return the custom properties of <var>obj</var>. -</p></dd></dl> - -<dl> -<dt id="index-polygon_003f">Procedure: <strong>polygon?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a polygon. -</p></dd></dl> - -<dl> -<dt id="index-polygon_002dpoints">Procedure: <strong>polygon-points</strong> <em>polygon</em></dt> -<dd><p>Return the list of points that form <var>polygon</var>. -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Models.html" accesskey="n" rel="next">Models</a>, Previous: <a href="Particles.html" accesskey="p" rel="prev">Particles</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Tweening.html b/manuals/chickadee/Tweening.html deleted file mode 100644 index b69b75e..0000000 --- a/manuals/chickadee/Tweening.html +++ /dev/null @@ -1,123 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Tweening (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Tweening (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Tweening (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Scripting.html" rel="up" title="Scripting" /> -<link href="Channels.html" rel="next" title="Channels" /> -<link href="Scripts.html" rel="prev" title="Scripts" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Tweening"></span><div class="header"> -<p> -Next: <a href="Channels.html" accesskey="n" rel="next">Channels</a>, Previous: <a href="Scripts.html" accesskey="p" rel="prev">Scripts</a>, Up: <a href="Scripting.html" accesskey="u" rel="up">Scripting</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Tweening-1"></span><h4 class="subsection">5.5.3 Tweening</h4> - -<p>Tweening is the process of transitioning something from an initial -state to a final state over a pre-determined period of time. In other -words, tweening is a way to create animation. The <code>tween</code> -procedure can be used within any script like so: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">x</span> <span class="syntax-symbol">0</span><span class="syntax-close">)</span> -<span class="syntax-open">(</span><span class="syntax-symbol">script</span> - <span class="syntax-comment">;; 0 to 100 in 60 ticks of the agenda. -</span> <span class="syntax-open">(</span><span class="syntax-symbol">tween</span> <span class="syntax-symbol">60</span> <span class="syntax-symbol">0</span> <span class="syntax-symbol">100</span> <span class="syntax-open">(</span><span class="syntax-special">lambda</span> <span class="syntax-open">(</span><span class="syntax-symbol">y</span><span class="syntax-close">)</span> <span class="syntax-open">(</span><span class="syntax-symbol">set!</span> <span class="syntax-symbol">x</span> <span class="syntax-symbol">y</span><span class="syntax-close">)</span><span class="syntax-close">)</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -</pre></div> - -<dl> -<dt id="index-tween">Procedure: <strong>tween</strong> <em>duration start end proc [#:step <code>1</code>] [#:ease <code>smoothstep</code>] #:interpolate <code>lerp</code>]</em></dt> -<dd><p>Transition a value from <var>start</var> to <var>end</var> over <var>duration</var>, -sending each succesive value to <var>proc</var>. <var>step</var> controls the -amount of time between each update of the animation. -</p> -<p>To control how the animation goes from the initial to final state, an -“easing” procedure may be specified. By default, the -<code>smoothstep</code> easing is used, which is a more pleasing default -than a simplistic linear function. See <a href="Easings.html">Easings</a> for a complete list -of available easing procedures. -</p> -<p>The <var>interpolate</var> procedure computes the values in between -<var>start</var> and <var>end</var>. By default, linear interpolation (“lerp” -for short) is used. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/chickadee/Vector-Paths.html b/manuals/chickadee/Vector-Paths.html deleted file mode 100644 index 81d6307..0000000 --- a/manuals/chickadee/Vector-Paths.html +++ /dev/null @@ -1,462 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Vector Paths (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Vector Paths (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Vector Paths (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Graphics.html" rel="up" title="Graphics" /> -<link href="Particles.html" rel="next" title="Particles" /> -<link href="Fonts.html" rel="prev" title="Fonts" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Vector-Paths"></span><div class="header"> -<p> -Next: <a href="Particles.html" accesskey="n" rel="next">Particles</a>, Previous: <a href="Fonts.html" accesskey="p" rel="prev">Fonts</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Vector-Paths-1"></span><h4 class="subsection">5.3.5 Vector Paths</h4> - -<p>The <code>(chickadee graphics path)</code> module can be used to draw lines, -curves, circles, rectangles, and more in a scalable, resolution -independent manner. It is <em>not</em> an SVG compliant renderer, nor -does it intend to be. However, those familiar with SVG and/or the -HTML5 Canvas API should find lots of similarities. -</p> -<p><em>This API is considered to be experimental and may change -substantially in future releases of Chickadee. There are many missing -features.</em> -</p> -<p>The first step to rendering vector graphics is to create a -<em>path</em>: A series of commands that can be thought of as moving a -pen around a piece of paper. A path can be either open or closed. A -closed path draws a straight line from the last point in the path to -the first. -</p> -<dl> -<dt id="index-path">Procedure: <strong>path</strong> <em>. commands</em></dt> -<dd><p>Return a new path that follows <var>commands</var>. -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-symbol">path</span> <span class="syntax-open">(</span><span class="syntax-symbol">move-to</span> <span class="syntax-open">(</span><span class="syntax-symbol">vec2</span> <span class="syntax-symbol">50.0</span> <span class="syntax-symbol">50.0</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">line-to</span> <span class="syntax-open">(</span><span class="syntax-symbol">vec2</span> <span class="syntax-symbol">500.0</span> <span class="syntax-symbol">50.0</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">line-to</span> <span class="syntax-open">(</span><span class="syntax-symbol">vec2</span> <span class="syntax-symbol">400.0</span> <span class="syntax-symbol">200.0</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">bezier-to</span> <span class="syntax-open">(</span><span class="syntax-symbol">vec2</span> <span class="syntax-symbol">500.0</span> <span class="syntax-symbol">250.0</span><span class="syntax-close">)</span> <span class="syntax-open">(</span><span class="syntax-symbol">vec2</span> <span class="syntax-symbol">380.0</span> <span class="syntax-symbol">300.0</span><span class="syntax-close">)</span> <span class="syntax-open">(</span><span class="syntax-symbol">vec2</span> <span class="syntax-symbol">400.0</span> <span class="syntax-symbol">400.0</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">line-to</span> <span class="syntax-open">(</span><span class="syntax-symbol">vec2</span> <span class="syntax-symbol">300.0</span> <span class="syntax-symbol">400.0</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">close-path</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -</pre></div> - -</dd></dl> - -<p>Available drawing commands: -</p> -<dl> -<dt id="index-move_002dto">Procedure: <strong>move-to</strong> <em>point</em></dt> -<dd><p>Pick up the pen and move it to <var>point</var>. -</p></dd></dl> - -<dl> -<dt id="index-line_002dto">Procedure: <strong>line-to</strong> <em>point</em></dt> -<dd><p>Draw a line from the current pen position to <var>point</var>. -</p></dd></dl> - -<dl> -<dt id="index-bezier_002dto">Procedure: <strong>bezier-to</strong> <em>control1 control2 point</em></dt> -<dd><p>Draw a cubic bezier curve from the current pen position to -<var>point</var>. The shape of the curve is determined by the two control -points: <var>control1</var> and <var>control2</var>. -</p></dd></dl> - -<dl> -<dt id="index-close_002dpath">Procedure: <strong>close-path</strong></dt> -<dd><p>Draw a straight line back to the first point drawn in the path. -</p></dd></dl> - -<dl> -<dt id="index-arc">Procedure: <strong>arc</strong> <em>center rx ry angle-start angle-end</em></dt> -<dd><p>Draw an elliptical arc spanning the angle range [<var>angle-start</var>, -<var>angle-end</var>], centered at <var>center</var> with radii <var>rx</var> and -<var>ry</var> (set both to the same value for a circular arc.) -</p></dd></dl> - -<dl> -<dt id="index-arc_002dto">Procedure: <strong>arc-to</strong> <em>c1 c2 radius</em></dt> -<dd><p>Draw a circular arc with radius <var>radius</var> that is tangential to the -line segment formed by the current pen position and <var>c1</var>, as well -as the line segment formed by <var>c1</var> and <var>c2</var>. The result is a -smooth corner. -</p></dd></dl> - -<p>Included are some helpful procedures for generating common types of -paths: -</p> -<dl> -<dt id="index-line">Procedure: <strong>line</strong> <em>start end</em></dt> -<dd><p>Return a path that draws a straight line from <var>start</var> to <var>end</var>. -</p></dd></dl> - -<dl> -<dt id="index-polyline">Procedure: <strong>polyline</strong> <em>. points</em></dt> -<dd><p>Return a path that draws a series of lines connecting <var>points</var>. -</p></dd></dl> - -<dl> -<dt id="index-bezier_002dpath-1">Procedure: <strong>bezier-path</strong> <em>p1 c1 c2 p2 . points</em></dt> -<dd><p>Return a path that draws a series of bezier points starting at -<var>p1</var>, moving to <var>p2</var> using control points <var>c1</var> and -<var>c2</var>, and proceeding to draw additional bezier curves as defined -by <var>points</var>. Each additional curve requires 3 additional -arguments: two control points and and an ending point. -</p></dd></dl> - -<dl> -<dt id="index-rectangle">Procedure: <strong>rectangle</strong> <em>bottom-left width height</em></dt> -<dd><p>Return a path that draws a rectangle whose bottom-left corner is at -<var>bottom-left</var> and whose size is defined by <var>width</var> and -<var>height</var>. -</p></dd></dl> - -<dl> -<dt id="index-square">Procedure: <strong>square</strong> <em>bottom-left size</em></dt> -<dd><p>Return a path draws a square whose bottom-left corner is at -<var>bottom-left</var> and whose size is defined by <var>size</var>. -</p></dd></dl> - -<dl> -<dt id="index-rounded_002drectangle">Procedure: <strong>rounded-rectangle</strong> <em>bottom-left width height [#:radius 4.0] [#:radius-bottom-left] [#:radius-bottom-right] [#:radius-top-left] [#:radius-top-right]</em></dt> -<dd> -<p>Return a path that draws a rectangle with rounded corners whose -bottom-left corner is at <var>bottom-left</var> and whose size is defined -by <var>width</var> and <var>height</var>. The argument <var>radius</var> is used to -define the corner radius for all corners. To use a different radius -value for a corner, use <var>radius-bottom-left</var>, -<var>radius-bottom-right</var>, <var>radius-top-left</var>, and/or -<var>radius-top-right</var>. -</p></dd></dl> - -<dl> -<dt id="index-regular_002dpolygon">Procedure: <strong>regular-polygon</strong> <em>center num-sides radius</em></dt> -<dd><p>Return a path that draws a regular polygon with <var>num-sides</var> sides -centered on the point <var>center</var> with each vertex <var>radius</var> units -away from the center. -</p></dd></dl> - -<dl> -<dt id="index-ellipse">Procedure: <strong>ellipse</strong> <em>center rx ry</em></dt> -<dd><p>Return a path that draws an ellipsed centered on the point -<var>center</var> with radii <var>rx</var> and <var>ry</var>. -</p></dd></dl> - -<dl> -<dt id="index-circle">Procedure: <strong>circle</strong> <em>center r</em></dt> -<dd><p>Return a path that draws a circle centered on the point <var>center</var> -with radius <var>r</var>. -</p></dd></dl> - -<p>With one or more paths created, a <em>painter</em> is needed to give the -path its style and placement in the final picture. Painters can be -combined together to form arbitrarily complex pictures. -</p> -<dl> -<dt id="index-stroke">Procedure: <strong>stroke</strong> <em>. paths</em></dt> -<dd><p>Apply a stroked drawing style to <var>paths</var>. -</p></dd></dl> - -<dl> -<dt id="index-fill">Procedure: <strong>fill</strong> <em>. paths</em></dt> -<dd><p>Apply a filled drawing style to <var>paths</var>. -</p></dd></dl> - -<dl> -<dt id="index-fill_002dand_002dstroke">Procedure: <strong>fill-and-stroke</strong> <em>. paths</em></dt> -<dd><p>Apply a filled and stroked drawing style to <var>paths</var>. -</p></dd></dl> - -<dl> -<dt id="index-with_002dstyle">Syntax: <strong>with-style</strong> <em>((style-name value) ...) painter</em></dt> -<dd><p>Apply all the given style settings to <var>painter</var>. -</p> -<p>Possible style attributes are: -</p> -<ul> -<li> <code>blend-mode</code> -</li><li> <code>fill-color</code> -</li><li> <code>stroke-color</code> -</li><li> <code>stroke-width</code> -</li><li> <code>stroke-feather</code> -</li><li> <code>stroke-cap</code> -</li></ul> - -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-symbol">with-style</span> <span class="syntax-open">(</span><span class="syntax-open">(</span><span class="syntax-symbol">stroke-color</span> <span class="syntax-symbol">green</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">stroke-width</span> <span class="syntax-symbol">4.0</span><span class="syntax-close">)</span><span class="syntax-close">)</span> - <span class="syntax-open">(</span><span class="syntax-symbol">stroke</span> <span class="syntax-open">(</span><span class="syntax-symbol">circle</span> <span class="syntax-open">(</span><span class="syntax-symbol">vec2</span> <span class="syntax-symbol">100.0</span> <span class="syntax-symbol">100.0</span><span class="syntax-close">)</span> <span class="syntax-symbol">50.0</span><span class="syntax-close">)</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -</pre></div> - -</dd></dl> - -<p>Fill colors may be either solid colors (see <a href="Colors.html">Colors</a>) or gradients. -For gradient fills, there are two styles: linear or radial. -</p> -<dl> -<dt id="index-linear_002dgradient">Procedure: <strong>linear-gradient</strong> <em>[#:origin (vec2 0 0)] [#:start-color white] [#:end-color black] [#:rotation 0] [#:offset 0] [#:length 100]</em></dt> -<dd> -<p>Return a new linear gradient that transitions from <var>start-color</var> -on the left to <var>end-color</var> on the right over <var>length</var> pixels. -<var>offset</var> may be used to push the gradient start point to the -right, creating a solid block of <var>start-color</var> on the right hand -side of the painter. The line’s direction may be changed by -specifying a <var>rotation</var> value. The starting point for the -gradient is determined by <var>origin</var> and defaults to the lower left -corner of the painter’s bounding box. -</p></dd></dl> - -<dl> -<dt id="index-radial_002dgradient">Procedure: <strong>radial-gradient</strong> <em>[#:origin (vec2 0 0)] [#:start-color white] [#:end-color black] [#:radius 50.0] [#:radius-x] [#:radius-y] [#:rotation 0] [#:offset 0]</em></dt> -<dd> -<p>Return a new radial gradient that transitions from <var>start-color</var> -at the point <var>origin</var> to <var>end-color</var> at <var>radius</var> pixels -away. <var>offset</var> specifies the distance from the origin where -<var>start-color</var> begins to transition. The default is to immediately -start transitioning. The default shape of this type of gradient is a -circle, but it can also be made elliptical by specifying different -<var>radius-x</var> and <var>radius-y</var> values. When the gradient shape is -elliptical, <var>rotation</var> can be used to rotate it. -</p></dd></dl> - -<dl> -<dt id="index-gradient_003f">Procedure: <strong>gradient?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> when <var>obj</var> is a gradient object. -</p></dd></dl> - -<p>Painters can also be transformed and combined to form new painters. -</p> -<dl> -<dt id="index-transform">Procedure: <strong>transform</strong> <em>matrix painter</em></dt> -<dd><p>Apply <var>matrix</var>, a 3x3 transformation matrix (see <a href="Matrices.html">Matrices</a>), to -<var>painter</var>. -</p></dd></dl> - -<dl> -<dt id="index-translate">Procedure: <strong>translate</strong> <em>v painter</em></dt> -<dd><p>Translate <var>painter</var> by the 2D vector <var>v</var>. -</p></dd></dl> - -<dl> -<dt id="index-rotate">Procedure: <strong>rotate</strong> <em>angle painter</em></dt> -<dd><p>Rotate <var>painter</var> by <var>angle</var> radians. -</p></dd></dl> - -<dl> -<dt id="index-scale">Procedure: <strong>scale</strong> <em>x painter</em></dt> -<dd><p>Scale <var>painter</var> by the scalar <var>x</var>. -</p></dd></dl> - -<dl> -<dt id="index-horizontal_002dflip">Procedure: <strong>horizontal-flip</strong> <em>painter</em></dt> -<dd><p>Flip <var>painter</var> horizontally. -</p></dd></dl> - -<dl> -<dt id="index-vertical_002dflip">Procedure: <strong>vertical-flip</strong> <em>painter</em></dt> -<dd><p>Flip <var>painter</var> vertically. -</p></dd></dl> - -<dl> -<dt id="index-pad">Procedure: <strong>pad</strong> <em>pad-x pad-y painter</em></dt> -<dd><p>Add <var>pad-x</var> and <var>pad-y</var> amount of empty space around -<var>painter</var>. -</p></dd></dl> - -<dl> -<dt id="index-superimpose">Procedure: <strong>superimpose</strong> <em>. painters</em></dt> -<dd><p>Stack <var>painters</var> on top of each other. -</p></dd></dl> - -<p>The next batch of procedures is taken straight out of the picture -language described in -<a href="https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book-Z-H-15.html#%_sec_2.2.4">Structure and Interpretation of Computer Programs</a> section 2.2.4. -</p> -<dl> -<dt id="index-beside">Procedure: <strong>beside</strong> <em>. painters</em></dt> -<dd><p>Place <var>painters</var> next to each other in a row. -</p></dd></dl> - -<dl> -<dt id="index-below">Procedure: <strong>below</strong> <em>. painters</em></dt> -<dd><p>Place <var>painters</var> next to each other in a column. -</p></dd></dl> - -<dl> -<dt id="index-right_002dsplit">Procedure: <strong>right-split</strong> <em>painter n</em></dt> -<dd><p>Subdivide <var>painter</var> into 3 sections, recursively, like so: -</p> -<pre class="verbatim">*----------------*----------------* -| | | -| | right-split | -| | n - 1 | -| | | -| painter *----------------* -| | | -| | right-split | -| | n - 1 | -| | | -*----------------*----------------* -</pre> -</dd></dl> - -<dl> -<dt id="index-up_002dsplit">Procedure: <strong>up-split</strong> <em>painter n</em></dt> -<dd><p>Subdivide <var>painter</var> into 3 sections, recursively, like so: -</p> -<pre class="verbatim">*----------------*----------------* -| | | -| up-split | up-split | -| n - 1 | n - 1 | -| | | -*----------------*----------------* -| | -| painter | -| | -| | -*----------------*----------------* -</pre> -</dd></dl> - -<dl> -<dt id="index-corner_002dsplit">Procedure: <strong>corner-split</strong> <em>painter n</em></dt> -<dd><p>Subdivide <var>painter</var> into 4 sections, recursively, like so: -</p> -<pre class="verbatim">*----------------*----------------* -| | | -| up-split | corner-split | -| n - 1 | n - 1 | -| | | -*----------------*----------------* -| | | -| painter | right-split | -| | n - 1 | -| | | -*----------------*----------------* -</pre> -</dd></dl> - - -<p>As in real life, a painter cannot paint anything without a canvas. -Once a painter has been associated with a canvas, it can finally be -rendered to the screen. -</p> -<dl> -<dt id="index-make_002dcanvas">Procedure: <strong>make-canvas</strong> <em>painter [#:matrix]</em></dt> -<dd><p>Return a new canvas that will <var>painter</var> will draw on. Optionally, -a 3x3 <var>matrix</var> may be specified to apply an arbitrary -transformation to the resulting image. -</p></dd></dl> - -<dl> -<dt id="index-make_002dempty_002dcanvas">Procedure: <strong>make-empty-canvas</strong> <em>[#:matrix]</em></dt> -<dd><p>Return a new canvas that no painter is using. Optionally, a 3x3 -<var>matrix</var> may be specified to apply an arbitrary transformation to -the image, should a painter later be associated with this canvas. -</p></dd></dl> - -<dl> -<dt id="index-canvas_003f">Procedure: <strong>canvas?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> is <var>obj</var> is a canvas. -</p></dd></dl> - -<dl> -<dt id="index-set_002dcanvas_002dpainter_0021">Procedure: <strong>set-canvas-painter!</strong> <em>canvas painter</em></dt> -<dd><p>Associate <var>painter</var> with <var>canvas</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dcanvas_002dmatrix_0021">Procedure: <strong>set-canvas-matrix!</strong> <em>canvas matrix</em></dt> -<dd><p>Set the 3x3 transformation matrix of <var>canvas</var> to <var>matrix</var>. -</p></dd></dl> - -<dl> -<dt id="index-draw_002dcanvas">Procedure: <strong>draw-canvas</strong> <em>canvas</em></dt> -<dd><p>Render <var>canvas</var> to the screen. -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Particles.html" accesskey="n" rel="next">Particles</a>, Previous: <a href="Fonts.html" accesskey="p" rel="prev">Fonts</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Vectors.html b/manuals/chickadee/Vectors.html deleted file mode 100644 index 8761fe9..0000000 --- a/manuals/chickadee/Vectors.html +++ /dev/null @@ -1,351 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Vectors (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Vectors (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Vectors (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Math.html" rel="up" title="Math" /> -<link href="Rectangles.html" rel="next" title="Rectangles" /> -<link href="Basics.html" rel="prev" title="Basics" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Vectors"></span><div class="header"> -<p> -Next: <a href="Rectangles.html" accesskey="n" rel="next">Rectangles</a>, Previous: <a href="Basics.html" accesskey="p" rel="prev">Basics</a>, Up: <a href="Math.html" accesskey="u" rel="up">Math</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Vectors-1"></span><h4 class="subsection">5.2.2 Vectors</h4> - -<p>Unlike Scheme’s vector data type, which is a sequence of arbitrary -Scheme objects, Chickadee’s <code>(chickadee math vector)</code> module -provides vectors in the linear algebra sense: Sequences of numbers -specialized for particular coordinate spaces. As of now, Chickadee -provides 2D and 3D vectors, with 4D vector support coming in a future -release. -</p> -<p>Here’s a quick example of adding two vectors: -</p> -<div class="lisp"> -<pre class="lisp"><span class="syntax-open">(</span><span class="syntax-special">define</span> <span class="syntax-symbol">v</span> <span class="syntax-open">(</span><span class="syntax-symbol">vec2+</span> <span class="syntax-open">(</span><span class="syntax-symbol">vec2</span> <span class="syntax-symbol">1</span> <span class="syntax-symbol">2</span><span class="syntax-close">)</span> <span class="syntax-open">(</span><span class="syntax-symbol">vec2</span> <span class="syntax-symbol">3</span> <span class="syntax-symbol">4</span><span class="syntax-close">)</span><span class="syntax-close">)</span><span class="syntax-close">)</span> -</pre></div> - -<p><em>A Note About Performance</em> -</p> -<p>A lot of time has been spent making Chickadee’s vector operations -perform relatively efficiently in critical code paths where excessive -garbage generation will cause major performance issues. The general -rule is that procedures ending with <code>!</code> perform an in-place -modification of one of the arguments in order to avoid allocating a -new vector. These procedures are also inlined by Guile’s compiler in -order to take advantage of optimizations relating to floating point -math operations. The downside is that since these are not pure -functions, they do not compose well and create more verbose code. -</p> -<span id="g_t2D-Vectors"></span><h4 class="subsubsection">5.2.2.1 2D Vectors</h4> - -<dl> -<dt id="index-vec2">Procedure: <strong>vec2</strong> <em>x y</em></dt> -<dd><p>Return a new 2D vector with coordinates (<var>x</var>, <var>y</var>). -</p></dd></dl> - -<dl> -<dt id="index-vec2_002fpolar">Procedure: <strong>vec2/polar</strong> <em>r theta</em></dt> -<dd><p>Return a new 2D vector containing the Cartesian representation of the -polar coordinate (<var>r</var>, <var>theta</var>). The angle <var>theta</var> is -measured in radians. -</p></dd></dl> - -<dl> -<dt id="index-vec2_003f">Procedure: <strong>vec2?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a 2D vector. -</p></dd></dl> - -<dl> -<dt id="index-vec2_002dx">Procedure: <strong>vec2-x</strong> <em>v</em></dt> -<dd><p>Return the X coordinate of the 2D vector <var>v</var>. -</p></dd></dl> - -<dl> -<dt id="index-vec2_002dy">Procedure: <strong>vec2-y</strong> <em>v</em></dt> -<dd><p>Return the Y coordinate of the 2D vector <var>v</var>. -</p></dd></dl> - -<dl> -<dt id="index-vec2_002dcopy">Procedure: <strong>vec2-copy</strong> <em>v</em></dt> -<dd><p>Return a fresh copy of the 2D vector <var>v</var>. -</p></dd></dl> - -<dl> -<dt id="index-vec2_002dmagnitude">Procedure: <strong>vec2-magnitude</strong> <em>v</em></dt> -<dd><p>Return the magnitude of the 2D vector <var>v</var>. -</p></dd></dl> - -<dl> -<dt id="index-vec2_002ddot">Procedure: <strong>vec2-dot</strong> <em>v1 v2</em></dt> -<dd><p>Return the dot product of the 2D vectors <var>v1</var> and <var>v2</var>. -</p></dd></dl> - -<dl> -<dt id="index-vec2_002dnormalize">Procedure: <strong>vec2-normalize</strong> <em>v</em></dt> -<dd><p>Return the normalized form of the 2D vector <var>v</var>. -</p></dd></dl> - -<dl> -<dt id="index-vec2_002b">Procedure: <strong>vec2+</strong> <em>v x</em></dt> -<dd><p>Add <var>x</var>, either a 2D vector or a scalar (i.e. a real number), to -the 2D vector <var>v</var> and return a new vector containing the sum. -</p></dd></dl> - -<dl> -<dt id="index-vec2_002d">Procedure: <strong>vec2-</strong> <em>v x</em></dt> -<dd><p>Subtract <var>x</var>, either a 2D vector or a scalar, from the 2D vector -<var>v</var> and return a new vector containing the difference. -</p></dd></dl> - -<dl> -<dt id="index-vec2_002a">Procedure: <strong>vec2*</strong> <em>v x</em></dt> -<dd><p>Multiply the 2D vector <var>v</var> by <var>x</var>, a 2D vector or a scalar, -and return a new vector containing the product. -</p></dd></dl> - -<dl> -<dt id="index-set_002dvec2_002dx_0021">Procedure: <strong>set-vec2-x!</strong> <em>v x</em></dt> -<dd><p>Set the X coordinate of the 2D vector <var>v</var> to <var>x</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dvec2_002dy_0021">Procedure: <strong>set-vec2-y!</strong> <em>v y</em></dt> -<dd><p>Set the Y coordinate of the 2D vector <var>v</var> to <var>y</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dvec2_0021">Procedure: <strong>set-vec2!</strong> <em>v x y</em></dt> -<dd><p>Set the X and Y coordinates of the 2D vector <var>v</var> to <var>x</var> and -<var>y</var>, respectively. -</p></dd></dl> - -<dl> -<dt id="index-vec2_002dcopy_0021">Procedure: <strong>vec2-copy!</strong> <em>source target</em></dt> -<dd><p>Copy the 2D vector <var>source</var> into the 2D vector <var>target</var>. -</p></dd></dl> - -<dl> -<dt id="index-vec2_002dadd_0021">Procedure: <strong>vec2-add!</strong> <em>v x</em></dt> -<dd><p>Perform an in-place modification of the 2D vector <var>v</var> by adding -<var>x</var>, a 2D vector or a scalar. -</p></dd></dl> - -<dl> -<dt id="index-vec2_002dsub_0021">Procedure: <strong>vec2-sub!</strong> <em>v x</em></dt> -<dd><p>Perform an in-place modification of the 2D vector <var>v</var> by -subtracting <var>x</var>, a 2D vector or a scalar. -</p></dd></dl> - -<dl> -<dt id="index-vec2_002dmult_0021">Procedure: <strong>vec2-mult!</strong> <em>v x</em></dt> -<dd><p>Perform an in-place modification of the 2D vector <var>v</var> by -multiplying it by <var>x</var>, a 2D vector or a scalar. -</p></dd></dl> - -<span id="g_t3D-Vectors"></span><h4 class="subsubsection">5.2.2.2 3D Vectors</h4> - -<dl> -<dt id="index-vec3">Procedure: <strong>vec3</strong> <em>x y</em></dt> -<dd><p>Return a new 2D vector with coordinates (<var>x</var>, <var>y</var>). -</p></dd></dl> - -<dl> -<dt id="index-vec3_003f">Procedure: <strong>vec3?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a 3D vector. -</p></dd></dl> - -<dl> -<dt id="index-vec3_002dx">Procedure: <strong>vec3-x</strong> <em>v</em></dt> -<dd><p>Return the X coordinate of the 3D vector <var>v</var>. -</p></dd></dl> - -<dl> -<dt id="index-vec3_002dy">Procedure: <strong>vec3-y</strong> <em>v</em></dt> -<dd><p>Return the Y coordinate of the 3D vector <var>v</var>. -</p></dd></dl> - -<dl> -<dt id="index-vec3_002dz">Procedure: <strong>vec3-z</strong> <em>v</em></dt> -<dd><p>Return the Z coordinate of the 3D vector <var>v</var>. -</p></dd></dl> - -<dl> -<dt id="index-vec3_002dcopy">Procedure: <strong>vec3-copy</strong> <em>v</em></dt> -<dd><p>Return a fresh copy of the 3D vector <var>v</var>. -</p></dd></dl> - -<dl> -<dt id="index-vec3_002dmagnitude">Procedure: <strong>vec3-magnitude</strong> <em>v</em></dt> -<dd><p>Return the magnitude of the 3D vector <var>v</var>. -</p></dd></dl> - -<dl> -<dt id="index-vec3_002ddot">Procedure: <strong>vec3-dot</strong> <em>v1 v2</em></dt> -<dd><p>Return the dot product of the 3D vectors <var>v1</var> and <var>v2</var>. -</p></dd></dl> - -<dl> -<dt id="index-vec3_002dcross">Procedure: <strong>vec3-cross</strong> <em>v1 v2</em></dt> -<dd><p>Return a new 3D vector containing the cross product of <var>v1</var> and -<var>v2</var>. -</p></dd></dl> - -<dl> -<dt id="index-vec3_002dnormalize">Procedure: <strong>vec3-normalize</strong> <em>v</em></dt> -<dd><p>Return the normalized form of the 3D vector <var>v</var>. -</p></dd></dl> - -<dl> -<dt id="index-vec3_002b">Procedure: <strong>vec3+</strong> <em>v x</em></dt> -<dd><p>Add <var>x</var>, either a 3D vector or a scalar (i.e. a real number), to -the 3D vector <var>v</var> and return a new vector containing the sum. -</p></dd></dl> - -<dl> -<dt id="index-vec3_002d">Procedure: <strong>vec3-</strong> <em>v x</em></dt> -<dd><p>Subtract <var>x</var>, either a 3D vector or a scalar, from the 3D vector -<var>v</var> and return a new vector containing the difference. -</p></dd></dl> - -<dl> -<dt id="index-vec3_002a">Procedure: <strong>vec3*</strong> <em>v x</em></dt> -<dd><p>Multiply the 3D vector <var>v</var> by <var>x</var>, a 3D vector or a scalar, -and return a new vector containing the product. -</p></dd></dl> - -<dl> -<dt id="index-set_002dvec3_002dx_0021">Procedure: <strong>set-vec3-x!</strong> <em>v x</em></dt> -<dd><p>Set the X coordinate of the 3D vector <var>v</var> to <var>x</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dvec3_002dy_0021">Procedure: <strong>set-vec3-y!</strong> <em>v y</em></dt> -<dd><p>Set the Y coordinate of the 3D vector <var>v</var> to <var>y</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dvec3_002dz_0021">Procedure: <strong>set-vec3-z!</strong> <em>v z</em></dt> -<dd><p>Set the Z coordinate of the 3D vector <var>v</var> to <var>z</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dvec3_0021">Procedure: <strong>set-vec3!</strong> <em>v x y z</em></dt> -<dd><p>Set the X, Y, and Z coordinates of the 3D vector <var>v</var> to <var>x</var>, -<var>y</var>, and <var>z</var>, respectively. -</p></dd></dl> - -<dl> -<dt id="index-vec3_002dcopy_0021">Procedure: <strong>vec3-copy!</strong> <em>source target</em></dt> -<dd><p>Copy the 3D vector <var>source</var> into the 3D vector <var>target</var>. -</p></dd></dl> - -<dl> -<dt id="index-vec3_002dadd_0021">Procedure: <strong>vec3-add!</strong> <em>v x</em></dt> -<dd><p>Perform an in-place modification of the 3D vector <var>v</var> by adding -<var>x</var>, a 3D vector or a scalar. -</p></dd></dl> - -<dl> -<dt id="index-vec3_002dsub_0021">Procedure: <strong>vec3-sub!</strong> <em>v x</em></dt> -<dd><p>Perform an in-place modification of the 3D vector <var>v</var> by -subtracting <var>x</var>, a 3D vector or a scalar. -</p></dd></dl> - -<dl> -<dt id="index-vec3_002dmult_0021">Procedure: <strong>vec3-mult!</strong> <em>v x</em></dt> -<dd><p>Perform an in-place modification of the 3D vector <var>v</var> by -multiplying it by <var>x</var>, a 3D vector or a scalar. -</p></dd></dl> - -<dl> -<dt id="index-vec3_002dcross_0021">Procedure: <strong>vec3-cross!</strong> <em>dest v1 v2</em></dt> -<dd><p>Compute the cross product of the 3D vectors <var>v1</var> and <var>v2</var> and -store the result in <var>dest</var>. -</p></dd></dl> - -<hr /> -<div class="header"> -<p> -Next: <a href="Rectangles.html" accesskey="n" rel="next">Rectangles</a>, Previous: <a href="Basics.html" accesskey="p" rel="prev">Basics</a>, Up: <a href="Math.html" accesskey="u" rel="up">Math</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/chickadee/Viewports.html b/manuals/chickadee/Viewports.html deleted file mode 100644 index c60adc3..0000000 --- a/manuals/chickadee/Viewports.html +++ /dev/null @@ -1,163 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Viewports (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Viewports (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Viewports (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Graphics.html" rel="up" title="Graphics" /> -<link href="Render-Settings.html" rel="next" title="Render Settings" /> -<link href="Framebuffers.html" rel="prev" title="Framebuffers" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Viewports"></span><div class="header"> -<p> -Next: <a href="Render-Settings.html" accesskey="n" rel="next">Render Settings</a>, Previous: <a href="Framebuffers.html" accesskey="p" rel="prev">Framebuffers</a>, Up: <a href="Graphics.html" accesskey="u" rel="up">Graphics</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Viewports-1"></span><h4 class="subsection">5.3.15 Viewports</h4> - -<p>A viewport represents a subset of the screen (or framebuffer). When -rendering a frame, the resulting image will only appear within that -viewport. These aren’t often needed, and Chickadee’s default viewport -occupies the entire screen, but there are certain situations where -they are useful. For example, a split-screen multiplayer game may -render to two different viewports, each occupying a different half of -the screen. -</p> -<p>The <code>(chickadee graphics viewport)</code> module provides the following -API: -</p> -<dl> -<dt id="index-make_002dviewport">Procedure: <strong>make-viewport</strong> <em>x y width height [#:clear-color] [#:clear-flags]</em></dt> -<dd> -<p>Create a viewport that covers an area of the window starting from -coordinates (<var>x</var>, <var>y</var>) and spanning <var>width</var> <code>x</code> -<var>height</var> pixels. Fill the viewport with <var>clear-color</var> when -clearing the screen. Clear the buffers denoted by the list of symbols -in <var>clear-flags</var>. -</p> -<p>Possible values for <var>clear-flags</var> are <var>color-buffer</var>, -<var>depth-buffer</var>, <var>accum-buffer</var>, and <var>stencil-buffer</var>. -</p></dd></dl> - -<dl> -<dt id="index-viewport_003f">Procedure: <strong>viewport?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a viewport. -</p></dd></dl> - -<dl> -<dt id="index-viewport_002dx">Procedure: <strong>viewport-x</strong> <em>viewport</em></dt> -<dd><p>Return the left edge of <var>viewport</var>. -</p></dd></dl> - -<dl> -<dt id="index-viewport_002dy">Procedure: <strong>viewport-y</strong> <em>viewport</em></dt> -<dd><p>Return the bottom edge of <var>viewport</var>. -</p></dd></dl> - -<dl> -<dt id="index-viewport_002dwidth">Procedure: <strong>viewport-width</strong> <em>viewport</em></dt> -<dd><p>Return the width of <var>viewport</var>. -</p></dd></dl> - -<dl> -<dt id="index-viewport_002dheight">Procedure: <strong>viewport-height</strong> <em>viewport</em></dt> -<dd><p>Return the height of <var>viewport</var>. -</p></dd></dl> - -<dl> -<dt id="index-viewport_002dclear_002dcolor">Procedure: <strong>viewport-clear-color</strong> <em>viewport</em></dt> -<dd><p>Return the clear color for <var>viewport</var>. -</p></dd></dl> - -<dl> -<dt id="index-viewport_002dclear_002dflags">Procedure: <strong>viewport-clear-flags</strong> <em>viewport</em></dt> -<dd><p>Return the list of clear flags for <var>viewport</var>. -</p></dd></dl> - -<dl> -<dt id="index-current_002dviewport">Procedure: <strong>current-viewport</strong></dt> -<dd><p>Return the current viewport. -</p></dd></dl> - -<dl> -<dt id="index-g_003aviewport">Variable: <strong>g:viewport</strong></dt> -<dd><p>Render state for viewports (see <a href="Rendering-Engine.html">Rendering Engine</a>.) -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/chickadee/Window-Manipulation.html b/manuals/chickadee/Window-Manipulation.html deleted file mode 100644 index 879c12c..0000000 --- a/manuals/chickadee/Window-Manipulation.html +++ /dev/null @@ -1,190 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Window Manipulation (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Window Manipulation (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Window Manipulation (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="index.html" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Kernel.html" rel="up" title="Kernel" /> -<link href="Math.html" rel="next" title="Math" /> -<link href="Input-Devices.html" rel="prev" title="Input Devices" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<span id="Window-Manipulation"></span><div class="header"> -<p> -Previous: <a href="Input-Devices.html" accesskey="p" rel="prev">Input Devices</a>, Up: <a href="Kernel.html" accesskey="u" rel="up">Kernel</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Window-Manipulation-1"></span><h4 class="subsection">5.1.3 Window Manipulation</h4> - -<dl> -<dt id="index-current_002dwindow">Procedure: <strong>current-window</strong></dt> -<dd><p>Return the currently active game window. -</p></dd></dl> - -<dl> -<dt id="index-window_003f">Procedure: <strong>window?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a window object. -</p></dd></dl> - -<dl> -<dt id="index-window_002dtitle">Procedure: <strong>window-title</strong> <em>window</em></dt> -<dd><p>Return the title of <var>window</var>. -</p></dd></dl> - -<dl> -<dt id="index-window_002dwidth">Procedure: <strong>window-width</strong> <em>window</em></dt> -<dd><p>Return the width of <var>window</var> in pixels. -</p></dd></dl> - -<dl> -<dt id="index-window_002dheight">Procedure: <strong>window-height</strong> <em>window</em></dt> -<dd><p>Return the height of <var>window</var> in pixels. -</p></dd></dl> - -<dl> -<dt id="index-window_002dx">Procedure: <strong>window-x</strong> <em>window</em></dt> -<dd><p>Retun the X coordinate of the upper-left corner of <var>window</var>. -</p></dd></dl> - -<dl> -<dt id="index-window_002dy">Procedure: <strong>window-y</strong> <em>window</em></dt> -<dd><p>Return the Y coordinate of the upper-left corner of <var>window</var>. -</p></dd></dl> - -<dl> -<dt id="index-hide_002dwindow_0021">Procedure: <strong>hide-window!</strong> <em>window</em></dt> -<dd><p>Hide <var>window</var>. -</p></dd></dl> - -<dl> -<dt id="index-show_002dwindow_0021">Procedure: <strong>show-window!</strong> <em>window</em></dt> -<dd><p>Show <var>window</var>. -</p></dd></dl> - -<dl> -<dt id="index-maximize_002dwindow_0021">Procedure: <strong>maximize-window!</strong> <em>window</em></dt> -<dd><p>Maximize <var>window</var>. -</p></dd></dl> - -<dl> -<dt id="index-minimize_002dwindow_0021">Procedure: <strong>minimize-window!</strong> <em>window</em></dt> -<dd><p>Minimize <var>window</var>. -</p></dd></dl> - -<dl> -<dt id="index-raise_002dwindow_0021">Procedure: <strong>raise-window!</strong> <em>window</em></dt> -<dd><p>Make <var>window</var> visible over all other windows. -</p></dd></dl> - -<dl> -<dt id="index-restore_002dwindow_0021">Procedure: <strong>restore-window!</strong> <em>window</em></dt> -<dd><p>Restore the size and position of a minimized or maximized -<var>window</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dwindow_002dborder_0021">Procedure: <strong>set-window-border!</strong> <em>window border?</em></dt> -<dd><p>Enable/disable the border around <var>window</var>. If <var>border?</var> is -<code>#f</code>, the border is disabled, otherwise it is enabled. -</p></dd></dl> - -<dl> -<dt id="index-set_002dwindow_002dtitle_0021">Procedure: <strong>set-window-title!</strong> <em>window title</em></dt> -<dd><p>Change the title of <var>window</var> to <var>title</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dwindow_002dsize_0021">Procedure: <strong>set-window-size!</strong> <em>window width height</em></dt> -<dd><p>Change the dimensions of <var>window</var> to <var>width</var> x <var>height</var> -pixels. -</p></dd></dl> - -<dl> -<dt id="index-set_002dwindow_002dposition_0021">Procedure: <strong>set-window-position!</strong> <em>window x y</em></dt> -<dd><p>Move the upper-left corner of <var>window</var> to pixel coordinates -(<var>x</var>, <var>y</var>). -</p></dd></dl> - -<dl> -<dt id="index-set_002dwindow_002dfullscreen_0021">Procedure: <strong>set-window-fullscreen!</strong> <em>window fullscreen?</em></dt> -<dd><p>Enable or disable fullscreen mode for <var>window</var>. If -<var>fullscreen?</var> is <code>#f</code>, fullscreen mode is disabled, otherwise -it is enabled. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/chickadee/index.html b/manuals/chickadee/index.html deleted file mode 100644 index 0d414d5..0000000 --- a/manuals/chickadee/index.html +++ /dev/null @@ -1,267 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2017-2023 David Thompson dthompson2@worcester.edu - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Chickadee: (chickadee). Game programming toolkit for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<title>Top (The Chickadee Game Toolkit)</title> - -<meta name="description" content="Top (The Chickadee Game Toolkit)" /> -<meta name="keywords" content="Top (The Chickadee Game Toolkit)" /> -<meta name="resource-type" content="document" /> -<meta name="distribution" content="global" /> -<meta name="Generator" content="makeinfo" /> -<link href="#Top" rel="start" title="Top" /> -<link href="Index.html" rel="index" title="Index" /> -<link href="#SEC_Contents" rel="contents" title="Table of Contents" /> -<link href="Installation.html" rel="next" title="Installation" /> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css" /> - - -</head> - -<body lang="en"> -<h1 class="settitle" align="center">The Chickadee Game Toolkit</h1> - - -<span id="SEC_Contents"></span> -<h2 class="contents-heading">Table of Contents</h2> - -<div class="contents"> - -<ul class="no-bullet"> - <li><a id="toc-Installation-1" href="Installation.html#Installation">1 Installation</a> - <ul class="no-bullet"> - <li><a id="toc-Requirements-1" href="Requirements.html#Requirements">1.1 Requirements</a></li> - </ul></li> - <li><a id="toc-Getting-Started-1" href="Getting-Started.html#Getting-Started">2 Getting Started</a></li> - <li><a id="toc-Command-Line-Interface-1" href="Command-Line-Interface.html#Command-Line-Interface">3 Command Line Interface</a> - <ul class="no-bullet"> - <li><a id="toc-Invoking-chickadee-play-1" href="Invoking-chickadee-play.html#Invoking-chickadee-play">3.1 Invoking <code>chickadee play</code></a></li> - <li><a id="toc-Invoking-chickadee-bundle-1" href="Invoking-chickadee-bundle.html#Invoking-chickadee-bundle">3.2 Invoking <code>chickadee bundle</code></a></li> - </ul></li> - <li><a id="toc-Live-Coding-1" href="Live-Coding.html#Live-Coding">4 Live Coding</a></li> - <li><a id="toc-API-Reference-1" href="API-Reference.html#API-Reference">5 API Reference</a> - <ul class="no-bullet"> - <li><a id="toc-Kernel-1" href="Kernel.html#Kernel">5.1 Kernel</a> - <ul class="no-bullet"> - <li><a id="toc-The-Game-Loop-1" href="The-Game-Loop.html#The-Game-Loop">5.1.1 The Game Loop</a></li> - <li><a id="toc-Input-Devices-1" href="Input-Devices.html#Input-Devices">5.1.2 Input Devices</a></li> - <li><a id="toc-Window-Manipulation-1" href="Window-Manipulation.html#Window-Manipulation">5.1.3 Window Manipulation</a></li> - </ul></li> - <li><a id="toc-Math-1" href="Math.html#Math">5.2 Math</a> - <ul class="no-bullet"> - <li><a id="toc-Basics-1" href="Basics.html#Basics">5.2.1 Basics</a></li> - <li><a id="toc-Vectors-1" href="Vectors.html#Vectors">5.2.2 Vectors</a> - <ul class="no-bullet"> - <li><a id="toc-2D-Vectors" href="Vectors.html#g_t2D-Vectors">5.2.2.1 2D Vectors</a></li> - <li><a id="toc-3D-Vectors" href="Vectors.html#g_t3D-Vectors">5.2.2.2 3D Vectors</a></li> - </ul></li> - <li><a id="toc-Rectangles-1" href="Rectangles.html#Rectangles">5.2.3 Rectangles</a></li> - <li><a id="toc-Matrices-1" href="Matrices.html#Matrices">5.2.4 Matrices</a> - <ul class="no-bullet"> - <li><a id="toc-3x3-Matrices" href="Matrices.html#g_t3x3-Matrices">5.2.4.1 3x3 Matrices</a></li> - <li><a id="toc-4x4-Matrices" href="Matrices.html#g_t4x4-Matrices">5.2.4.2 4x4 Matrices</a></li> - </ul></li> - <li><a id="toc-Quaternions-1" href="Quaternions.html#Quaternions">5.2.5 Quaternions</a></li> - <li><a id="toc-Easings-1" href="Easings.html#Easings">5.2.6 Easings</a></li> - <li><a id="toc-Bezier-Curves-1" href="Bezier-Curves.html#Bezier-Curves">5.2.7 Bezier Curves</a></li> - </ul></li> - <li><a id="toc-Graphics-1" href="Graphics.html#Graphics">5.3 Graphics</a> - <ul class="no-bullet"> - <li><a id="toc-Colors-1" href="Colors.html#Colors">5.3.1 Colors</a> - <ul class="no-bullet"> - <li><a id="toc-Stock-Colors" href="Colors.html#Stock-Colors">5.3.1.1 Stock Colors</a></li> - </ul></li> - <li><a id="toc-Textures-1" href="Textures.html#Textures">5.3.2 Textures</a> - <ul class="no-bullet"> - <li><a id="toc-Tile-Atlases" href="Textures.html#Tile-Atlases">5.3.2.1 Tile Atlases</a></li> - <li><a id="toc-Cube-Maps" href="Textures.html#Cube-Maps">5.3.2.2 Cube Maps</a></li> - </ul></li> - <li><a id="toc-Sprites-1" href="Sprites.html#Sprites">5.3.3 Sprites</a> - <ul class="no-bullet"> - <li><a id="toc-Sprite-Batches" href="Sprites.html#Sprite-Batches">5.3.3.1 Sprite Batches</a></li> - <li><a id="toc-9_002dPatches" href="Sprites.html#g_t9_002dPatches">5.3.3.2 9-Patches</a></li> - </ul></li> - <li><a id="toc-Fonts-1" href="Fonts.html#Fonts">5.3.4 Fonts</a></li> - <li><a id="toc-Vector-Paths-1" href="Vector-Paths.html#Vector-Paths">5.3.5 Vector Paths</a></li> - <li><a id="toc-Particles-1" href="Particles.html#Particles">5.3.6 Particles</a></li> - <li><a id="toc-Tile-Maps-1" href="Tile-Maps.html#Tile-Maps">5.3.7 Tile Maps</a></li> - <li><a id="toc-Models-1" href="Models.html#Models">5.3.8 Models</a></li> - <li><a id="toc-Lights-1" href="Lights.html#Lights">5.3.9 Lights</a></li> - <li><a id="toc-Skyboxes-1" href="Skyboxes.html#Skyboxes">5.3.10 Skyboxes</a></li> - <li><a id="toc-Meshes-1" href="Meshes.html#Meshes">5.3.11 Meshes</a> - <ul class="no-bullet"> - <li><a id="toc-Materials" href="Meshes.html#Materials">5.3.11.1 Materials</a></li> - <li><a id="toc-Blinn_002dPhong-Materials" href="Meshes.html#Blinn_002dPhong-Materials">5.3.11.2 Blinn-Phong Materials</a></li> - <li><a id="toc-PBR-Materials" href="Meshes.html#PBR-Materials">5.3.11.3 PBR Materials</a></li> - <li><a id="toc-Primitives-and-Meshes" href="Meshes.html#Primitives-and-Meshes">5.3.11.4 Primitives and Meshes</a></li> - </ul></li> - <li><a id="toc-Buffers-1" href="Buffers.html#Buffers">5.3.12 Buffers</a></li> - <li><a id="toc-Shaders-1" href="Shaders.html#Shaders">5.3.13 Shaders</a> - <ul class="no-bullet"> - <li><a id="toc-Attributes" href="Shaders.html#Attributes">5.3.13.1 Attributes</a></li> - <li><a id="toc-Uniforms" href="Shaders.html#Uniforms">5.3.13.2 Uniforms</a></li> - <li><a id="toc-User_002dDefined-Shader-Types" href="Shaders.html#User_002dDefined-Shader-Types">5.3.13.3 User-Defined Shader Types</a></li> - </ul></li> - <li><a id="toc-Framebuffers-1" href="Framebuffers.html#Framebuffers">5.3.14 Framebuffers</a></li> - <li><a id="toc-Viewports-1" href="Viewports.html#Viewports">5.3.15 Viewports</a></li> - <li><a id="toc-Render-Settings-1" href="Render-Settings.html#Render-Settings">5.3.16 Render Settings</a> - <ul class="no-bullet"> - <li><a id="toc-Blending" href="Render-Settings.html#Blending">5.3.16.1 Blending</a></li> - <li><a id="toc-Polygon-Modes-and-Culling" href="Render-Settings.html#Polygon-Modes-and-Culling">5.3.16.2 Polygon Modes and Culling</a></li> - <li><a id="toc-Depth-Testing" href="Render-Settings.html#Depth-Testing">5.3.16.3 Depth Testing</a></li> - <li><a id="toc-Stencil-Testing" href="Render-Settings.html#Stencil-Testing">5.3.16.4 Stencil Testing</a></li> - <li><a id="toc-Multisample-Antialiasing" href="Render-Settings.html#Multisample-Antialiasing">5.3.16.5 Multisample Antialiasing</a></li> - </ul></li> - <li><a id="toc-Rendering-Engine-1" href="Rendering-Engine.html#Rendering-Engine">5.3.17 Rendering Engine</a> - <ul class="no-bullet"> - <li><a id="toc-Render-States" href="Rendering-Engine.html#Render-States">5.3.17.1 Render States</a></li> - <li><a id="toc-Rendering" href="Rendering-Engine.html#Rendering">5.3.17.2 Rendering</a></li> - </ul></li> - </ul></li> - <li><a id="toc-Audio-1" href="Audio.html#Audio">5.4 Audio</a> - <ul class="no-bullet"> - <li><a id="toc-Audio-Files-1" href="Audio-Files.html#Audio-Files">5.4.1 Audio Files</a></li> - <li><a id="toc-Sources-1" href="Sources.html#Sources">5.4.2 Sources</a></li> - <li><a id="toc-The-Listener-1" href="The-Listener.html#The-Listener">5.4.3 The Listener</a></li> - <li><a id="toc-The-Environment-1" href="The-Environment.html#The-Environment">5.4.4 The Environment</a></li> - </ul></li> - <li><a id="toc-Scripting-1" href="Scripting.html#Scripting">5.5 Scripting</a> - <ul class="no-bullet"> - <li><a id="toc-Agendas-1" href="Agendas.html#Agendas">5.5.1 Agendas</a></li> - <li><a id="toc-Scripts-1" href="Scripts.html#Scripts">5.5.2 Scripts</a></li> - <li><a id="toc-Tweening-1" href="Tweening.html#Tweening">5.5.3 Tweening</a></li> - <li><a id="toc-Channels-1" href="Channels.html#Channels">5.5.4 Channels</a></li> - </ul></li> - <li><a id="toc-Data-Structures-1" href="Data-Structures.html#Data-Structures">5.6 Data Structures</a> - <ul class="no-bullet"> - <li><a id="toc-Array-Lists-1" href="Array-Lists.html#Array-Lists">5.6.1 Array Lists</a></li> - <li><a id="toc-Queues-1" href="Queues.html#Queues">5.6.2 Queues</a></li> - <li><a id="toc-Heaps-1" href="Heaps.html#Heaps">5.6.3 Heaps</a></li> - <li><a id="toc-Quadtrees-1" href="Quadtrees.html#Quadtrees">5.6.4 Quadtrees</a></li> - <li><a id="toc-Grids-1" href="Grids.html#Grids">5.6.5 Grids</a></li> - <li><a id="toc-Path-Finding-1" href="Path-Finding.html#Path-Finding">5.6.6 Path Finding</a></li> - </ul></li> - </ul></li> - <li><a id="toc-Copying-This-Manual-1" href="Copying-This-Manual.html#Copying-This-Manual">Appendix A Copying This Manual</a> - <ul class="no-bullet"> - <li><a id="toc-Apache-2_002e0-License-1" href="Apache-2_002e0-License.html#Apache-2_002e0-License">A.1 Apache 2.0 License</a></li> - </ul></li> - <li><a id="toc-Index-1" href="Index.html#Index" rel="index">Index</a></li> -</ul> -</div> - - -<span id="Top"></span><div class="header"> -<p> -Next: <a href="Installation.html" accesskey="n" rel="next">Installation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr /> -<span id="Chickadee"></span><h1 class="top">Chickadee</h1> - -<p>Copyright © 2017-2023 David Thompson <a href="mailto:dthompson2@worcester.edu">dthompson2@worcester.edu</a> -</p> -<blockquote> -<p>Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled “GNU -Free Documentation License”. -</p> -<p>A copy of the license is also available from the Free Software -Foundation Web site at <a href="http://www.gnu.org/licenses/fdl.html">http://www.gnu.org/licenses/fdl.html</a>. -</p> -</blockquote> - - -<p>The document was typeset with -<a href="http://www.texinfo.org/">GNU Texinfo</a>. -</p> - -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Installation.html" accesskey="1">Installation</a></td><td> </td><td align="left" valign="top">Installing Chickadee. -</td></tr> -<tr><td align="left" valign="top">• <a href="Getting-Started.html" accesskey="2">Getting Started</a></td><td> </td><td align="left" valign="top">Writing your first Chickadee program. -</td></tr> -<tr><td align="left" valign="top">• <a href="Command-Line-Interface.html" accesskey="3">Command Line Interface</a></td><td> </td><td align="left" valign="top">Run Chickadee programs from the terminal. -</td></tr> -<tr><td align="left" valign="top">• <a href="Live-Coding.html" accesskey="4">Live Coding</a></td><td> </td><td align="left" valign="top">Tips for building games from the REPL. -</td></tr> -<tr><td align="left" valign="top">• <a href="API-Reference.html" accesskey="5">API Reference</a></td><td> </td><td align="left" valign="top">Chickadee API reference. -</td></tr> -<tr><td align="left" valign="top">• <a href="Copying-This-Manual.html" accesskey="6">Copying This Manual</a></td><td> </td><td align="left" valign="top"> -</td></tr> -<tr><td align="left" valign="top">• <a href="Index.html" rel="index" accesskey="7">Index</a></td><td> </td><td align="left" valign="top"> -</td></tr> -</table> - - -<hr /> -<div class="header"> -<p> -Next: <a href="Installation.html" accesskey="n" rel="next">Installation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/guile-sdl2/API-Reference.html b/manuals/guile-sdl2/API-Reference.html deleted file mode 100644 index 26f284b..0000000 --- a/manuals/guile-sdl2/API-Reference.html +++ /dev/null @@ -1,121 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>API Reference (Guile-SDL2)</title> - -<meta name="description" content="API Reference (Guile-SDL2)"> -<meta name="keywords" content="API Reference (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="index.html" rel="up" title="Top"> -<link href="Basics.html" rel="next" title="Basics"> -<link href="Requirements.html" rel="prev" title="Requirements"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="API-Reference"></span><div class="header"> -<p> -Next: <a href="Contributing.html" accesskey="n" rel="next">Contributing</a>, Previous: <a href="Installation.html" accesskey="p" rel="prev">Installation</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="API-Reference-1"></span><h2 class="chapter">3 API Reference</h2> - -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Basics.html" accesskey="1">Basics</a></td><td> </td><td align="left" valign="top">Initialization and other basic things. -</td></tr> -<tr><td align="left" valign="top">• <a href="Window-Management.html" accesskey="2">Window Management</a></td><td> </td><td align="left" valign="top">Working with the window system. -</td></tr> -<tr><td align="left" valign="top">• <a href="Input.html" accesskey="3">Input</a></td><td> </td><td align="left" valign="top">Keyboard, mouse, joystick input. -</td></tr> -<tr><td align="left" valign="top">• <a href="Events.html" accesskey="4">Events</a></td><td> </td><td align="left" valign="top">Asynchronous event handling. -</td></tr> -<tr><td align="left" valign="top">• <a href="Rects.html" accesskey="5">Rects</a></td><td> </td><td align="left" valign="top">2D rectangles. -</td></tr> -<tr><td align="left" valign="top">• <a href="Surfaces.html" accesskey="6">Surfaces</a></td><td> </td><td align="left" valign="top">Software rendering. -</td></tr> -<tr><td align="left" valign="top">• <a href="Rendering.html" accesskey="7">Rendering</a></td><td> </td><td align="left" valign="top">Hardware accelerated rendering. -</td></tr> -<tr><td align="left" valign="top">• <a href="Blend-Modes.html" accesskey="8">Blend Modes</a></td><td> </td><td align="left" valign="top">Color blending. -</td></tr> -<tr><td align="left" valign="top">• <a href="Images.html" accesskey="9">Images</a></td><td> </td><td align="left" valign="top">Loading and saving images. -</td></tr> -<tr><td align="left" valign="top">• <a href="Sound.html">Sound</a></td><td> </td><td align="left" valign="top">Sound effects and music. -</td></tr> -<tr><td align="left" valign="top">• <a href="Fonts.html">Fonts</a></td><td> </td><td align="left" valign="top">Truetype and bitmap font rendering. -</td></tr> -<tr><td align="left" valign="top">• <a href="Hints.html">Hints</a></td><td> </td><td align="left" valign="top">Getting and setting configuration hints. -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Basics.html b/manuals/guile-sdl2/Basics.html deleted file mode 100644 index abd0f03..0000000 --- a/manuals/guile-sdl2/Basics.html +++ /dev/null @@ -1,137 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Basics (Guile-SDL2)</title> - -<meta name="description" content="Basics (Guile-SDL2)"> -<meta name="keywords" content="Basics (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="API-Reference.html" rel="up" title="API Reference"> -<link href="Window-Management.html" rel="next" title="Window Management"> -<link href="API-Reference.html" rel="prev" title="API Reference"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Basics"></span><div class="header"> -<p> -Next: <a href="Window-Management.html" accesskey="n" rel="next">Window Management</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Basics-1"></span><h3 class="section">3.1 Basics</h3> - -<div class="example"> -<pre class="example">(use-modules (sdl2)) -</pre></div> - -<dl> -<dt id="index-sdl_002dinit">Procedure: <strong>sdl-init</strong> <em>[<var>subsystems</var>]</em></dt> -<dd><p>Initialize the SDL library. This must be called before using any -other SDL procedure. -</p> -<p><var>subsystems</var> is an optional list of symbols that specifies the -subsystems to initialize. All subsystems are initialized by default. -The possible flags are <code>timer</code>, <code>audio</code>, <code>video</code>, -<code>haptic</code>, <code>game-controller</code>, and <code>events</code>. -</p></dd></dl> - -<dl> -<dt id="index-sdl_002dquit">Procedure: <strong>sdl-quit</strong></dt> -<dd><p>Quit all activated SDL subsystems. This procedure should be called -upon all exit conditions. -</p></dd></dl> - -<dl> -<dt id="index-sdl_002dversion">Procedure: <strong>sdl-version</strong></dt> -<dd><p>Return a three element list containing the major, minor, and patch -version of the linked SDL library. -</p></dd></dl> - -<dl> -<dt id="index-sdl_002dticks">Procedure: <strong>sdl-ticks</strong></dt> -<dd><p>Return the number of milliseconds since the SDL library was -initialized. -</p></dd></dl> - -<dl> -<dt id="index-sdl_002dperformance_002dcounter">Procedure: <strong>sdl-performance-counter</strong></dt> -<dd><p>Return the current value of the high resolution counter. -</p></dd></dl> - -<dl> -<dt id="index-sdl_002dperformance_002dfrequency">Procedure: <strong>sdl-performance-frequency</strong></dt> -<dd><p>Return the count per second of the high resolution counter. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Blend-Modes.html b/manuals/guile-sdl2/Blend-Modes.html deleted file mode 100644 index 55363a4..0000000 --- a/manuals/guile-sdl2/Blend-Modes.html +++ /dev/null @@ -1,203 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Blend Modes (Guile-SDL2)</title> - -<meta name="description" content="Blend Modes (Guile-SDL2)"> -<meta name="keywords" content="Blend Modes (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="API-Reference.html" rel="up" title="API Reference"> -<link href="Images.html" rel="next" title="Images"> -<link href="Rendering.html" rel="prev" title="Rendering"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Blend-Modes"></span><div class="header"> -<p> -Next: <a href="Images.html" accesskey="n" rel="next">Images</a>, Previous: <a href="Rendering.html" accesskey="p" rel="prev">Rendering</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Blend-Modes-1"></span><h3 class="section">3.8 Blend Modes</h3> - -<div class="example"> -<pre class="example">(use-modules (sdl2 blend-mode)) -</pre></div> - -<p>SDL2 provides several of the most commonly used blend modes: -</p> -<dl> -<dt id="index-none">Variable: <strong>none</strong></dt> -<dd><p>No blending. -</p></dd></dl> - -<dl> -<dt id="index-blend">Variable: <strong>blend</strong></dt> -<dd><p>Alpha blending. -</p></dd></dl> - -<dl> -<dt id="index-add">Variable: <strong>add</strong></dt> -<dd><p>Additive blending. -</p></dd></dl> - -<dl> -<dt id="index-mul">Variable: <strong>mul</strong></dt> -<dd><p>Multiplicative blending. -</p></dd></dl> - -<dl> -<dt id="index-mod">Variable: <strong>mod</strong></dt> -<dd><p>Color modulation. -</p></dd></dl> - -<p>Custom blend modes can be created using the <code>make-blend-mode</code> -procedure. -</p> -<dl> -<dt id="index-make_002dblend_002dmode">Procedure: <strong>make-blend-mode</strong> <em>src-color-factor dst-color-factor color-operation src-alpha-factor dst-alpha-factor alpha-operation</em></dt> -<dd><p>Return a new custom blend mode for renderers. -</p> -<p><var>src-color-factor</var> applies to the red, green, and blue components -of the source pixels. -</p> -<p><var>dst-color-factor</var> applies to the red, green, and blue components of the -destination pixels. -</p> -<p><var>color-operation</var> specifies how to combine the red, green, and blue -components of the source and destination pixels. -</p> -<p><var>src-alpha-factor</var> applies to the alpha component of the source pixels. -</p> -<p><var>dst-alpha-factor</var> applies to the alpha component of the destination -pixels. -</p> -<p><var>alpha-operation</var> specifies how to combine the alpha component of the -source and destination pixels. -</p> -<p>Possible values for factors are <code>zero</code>, <code>one</code>, -<code>src-color</code>, <code>one-minus-src-color</code>, <code>src-alpha</code>, -<code>one-minus-src-alpha</code>, <code>dst-color</code>, -<code>one-minus-dst-color</code>, <code>dst-alpha</code>, and <code>one-minus-dst -alpha</code>. -</p> -<p>Possible values for operations are <code>add</code>, <code>subtract</code>, -<code>rev-subtract</code>, <code>minimum</code>, and <code>maximum</code>. -</p></dd></dl> - -<dl> -<dt id="index-blend_002dmode_003f">Procedure: <strong>blend-mode?</strong> <em>obj</em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a blend mode object. -</p></dd></dl> - -<dl> -<dt id="index-blend_002dmode_002dsrc_002dcolor_002dfactor">Procedure: <strong>blend-mode-src-color-factor</strong> <em>blend-mode</em></dt> -<dd><p>Return the source red, green, and blue channel blend factor for -<var>blend-mode</var>. -</p></dd></dl> - -<dl> -<dt id="index-blend_002dmode_002ddst_002dcolor_002dfactor">Procedure: <strong>blend-mode-dst-color-factor</strong> <em>blend-mode</em></dt> -<dd><p>Return the destination red, green, and blue channel blend factor for -<var>blend-mode</var>. -</p></dd></dl> - -<dl> -<dt id="index-blend_002dmode_002dcolor_002doperation">Procedure: <strong>blend-mode-color-operation</strong> <em>blend-mode</em></dt> -<dd><p>Return the red, green, and blue channel blend operation for -<var>blend-mode</var>. -</p></dd></dl> - -<dl> -<dt id="index-blend_002dmode_002dsrc_002dalpha_002dfactor">Procedure: <strong>blend-mode-src-alpha-factor</strong> <em>blend-mode</em></dt> -<dd><p>Return the source alpha channel blend factor for <var>blend-mode</var>. -</p></dd></dl> - -<dl> -<dt id="index-blend_002dmode_002ddst_002dalpha_002dfactor">Procedure: <strong>blend-mode-dst-alpha-factor</strong> <em>blend-mode</em></dt> -<dd><p>Return the destination alpha channel blend factor for -<var>blend-mode</var>. -</p></dd></dl> - -<dl> -<dt id="index-blend_002dmode_002dalpha_002doperation">Procedure: <strong>blend-mode-alpha-operation</strong> <em>blend-mode</em></dt> -<dd><p>Return the alpha channel blend operation for <var>blend-mode</var>. -</p></dd></dl> - -<hr> -<div class="header"> -<p> -Next: <a href="Images.html" accesskey="n" rel="next">Images</a>, Previous: <a href="Rendering.html" accesskey="p" rel="prev">Rendering</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Chat.html b/manuals/guile-sdl2/Chat.html deleted file mode 100644 index 1b59200..0000000 --- a/manuals/guile-sdl2/Chat.html +++ /dev/null @@ -1,98 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Chat (Guile-SDL2)</title> - -<meta name="description" content="Chat (Guile-SDL2)"> -<meta name="keywords" content="Chat (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Contributing.html" rel="up" title="Contributing"> -<link href="Copying-This-Manual.html" rel="next" title="Copying This Manual"> -<link href="Submitting-Patches.html" rel="prev" title="Submitting Patches"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Chat"></span><div class="header"> -<p> -Previous: <a href="Submitting-Patches.html" accesskey="p" rel="prev">Submitting Patches</a>, Up: <a href="Contributing.html" accesskey="u" rel="up">Contributing</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Chat-1"></span><h3 class="section">4.3 Chat</h3> - -<p>The maintainer of this library hangs out in the <code>#guile</code> channel -on <a href="irc.libera.chat">irc.libera.chat</a>, so help and general discussion may be found -there. -</p> - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Contributing.html b/manuals/guile-sdl2/Contributing.html deleted file mode 100644 index 150d8f3..0000000 --- a/manuals/guile-sdl2/Contributing.html +++ /dev/null @@ -1,103 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Contributing (Guile-SDL2)</title> - -<meta name="description" content="Contributing (Guile-SDL2)"> -<meta name="keywords" content="Contributing (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="index.html" rel="up" title="Top"> -<link href="Getting-the-Source.html" rel="next" title="Getting the Source"> -<link href="Hints.html" rel="prev" title="Hints"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Contributing"></span><div class="header"> -<p> -Next: <a href="Copying-This-Manual.html" accesskey="n" rel="next">Copying This Manual</a>, Previous: <a href="API-Reference.html" accesskey="p" rel="prev">API Reference</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Contributing-1"></span><h2 class="chapter">4 Contributing</h2> - -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Getting-the-Source.html" accesskey="1">Getting the Source</a></td><td> </td><td align="left" valign="top">Getting good with Git. -</td></tr> -<tr><td align="left" valign="top">• <a href="Submitting-Patches.html" accesskey="2">Submitting Patches</a></td><td> </td><td align="left" valign="top">Patches welcome! -</td></tr> -<tr><td align="left" valign="top">• <a href="Chat.html" accesskey="3">Chat</a></td><td> </td><td align="left" valign="top">Let’s talk! -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Copying-This-Manual.html b/manuals/guile-sdl2/Copying-This-Manual.html deleted file mode 100644 index 2c856f9..0000000 --- a/manuals/guile-sdl2/Copying-This-Manual.html +++ /dev/null @@ -1,99 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Copying This Manual (Guile-SDL2)</title> - -<meta name="description" content="Copying This Manual (Guile-SDL2)"> -<meta name="keywords" content="Copying This Manual (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="index.html" rel="up" title="Top"> -<link href="GNU-Free-Documentation-License.html" rel="next" title="GNU Free Documentation License"> -<link href="Chat.html" rel="prev" title="Chat"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Copying-This-Manual"></span><div class="header"> -<p> -Next: <a href="Index.html" accesskey="n" rel="next">Index</a>, Previous: <a href="Contributing.html" accesskey="p" rel="prev">Contributing</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Copying-This-Manual-1"></span><h2 class="appendix">Appendix A Copying This Manual</h2> - -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="GNU-Free-Documentation-License.html" accesskey="1">GNU Free Documentation License</a></td><td> </td><td align="left" valign="top">License for copying this manual. -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Events.html b/manuals/guile-sdl2/Events.html deleted file mode 100644 index 562554e..0000000 --- a/manuals/guile-sdl2/Events.html +++ /dev/null @@ -1,572 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Events (Guile-SDL2)</title> - -<meta name="description" content="Events (Guile-SDL2)"> -<meta name="keywords" content="Events (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="API-Reference.html" rel="up" title="API Reference"> -<link href="Rects.html" rel="next" title="Rects"> -<link href="Game-Controllers.html" rel="prev" title="Game Controllers"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Events"></span><div class="header"> -<p> -Next: <a href="Rects.html" accesskey="n" rel="next">Rects</a>, Previous: <a href="Input.html" accesskey="p" rel="prev">Input</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Events-1"></span><h3 class="section">3.4 Events</h3> - -<div class="example"> -<pre class="example">(use-modules (sdl2 events)) -</pre></div> - -<dl> -<dt id="index-make_002dquit_002devent">Procedure: <strong>make-quit-event</strong> <em>timestamp</em></dt> -</dl> - -<dl> -<dt id="index-quit_002devent_003f">Procedure: <strong>quit-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a quit event. -</p></dd></dl> - -<dl> -<dt id="index-quit_002devent_002dtimestamp">Procedure: <strong>quit-event-timestamp</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-make_002dwindow_002devent">Procedure: <strong>make-window-event</strong> <em>timestamp window-id type vector</em></dt> -</dl> - -<dl> -<dt id="index-window_002devent_003f">Procedure: <strong>window-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a window event. -</p></dd></dl> - -<dl> -<dt id="index-window_002dshown_002devent_003f">Procedure: <strong>window-shown-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a window shown event. -</p></dd></dl> - -<dl> -<dt id="index-window_002dhidden_002devent_003f">Procedure: <strong>window-hidden-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a window hidden event. -</p></dd></dl> - -<dl> -<dt id="index-window_002dexposed_002devent_003f">Procedure: <strong>window-exposed-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a window exposed event. -</p></dd></dl> - -<dl> -<dt id="index-window_002dmoved_002devent_003f">Procedure: <strong>window-moved-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a window moved event. -</p></dd></dl> - -<dl> -<dt id="index-window_002dresized_002devent_003f">Procedure: <strong>window-resized-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a window resized event. -</p></dd></dl> - -<dl> -<dt id="index-window_002dsize_002dchanged_002devent_003f">Procedure: <strong>window-size-changed-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a window size changed event. -</p></dd></dl> - -<dl> -<dt id="index-window_002dminimized_002devent_003f">Procedure: <strong>window-minimized-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a window minimized event. -</p></dd></dl> - -<dl> -<dt id="index-window_002dmaximized_002devent_003f">Procedure: <strong>window-maximized-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a window maximized event. -</p></dd></dl> - -<dl> -<dt id="index-window_002drestored_002devent_003f">Procedure: <strong>window-restored-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a window restored event. -</p></dd></dl> - -<dl> -<dt id="index-window_002denter_002devent_003f">Procedure: <strong>window-enter-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a window enter event. -</p></dd></dl> - -<dl> -<dt id="index-window_002dleave_002devent_003f">Procedure: <strong>window-leave-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a window leave event. -</p></dd></dl> - -<dl> -<dt id="index-window_002dfocus_002dgained_002devent_003f">Procedure: <strong>window-focus-gained-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a window focus gained event. -</p></dd></dl> - -<dl> -<dt id="index-window_002dfocus_002dlost_002devent_003f">Procedure: <strong>window-focus-lost-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a window focus lost event. -</p></dd></dl> - -<dl> -<dt id="index-window_002dclosed_002devent_003f">Procedure: <strong>window-closed-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a window closed event. -</p></dd></dl> - -<dl> -<dt id="index-window_002devent_002dtimestamp">Procedure: <strong>window-event-timestamp</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-window_002devent_002dwindow_002did">Procedure: <strong>window-event-window-id</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-window_002devent_002dtype">Procedure: <strong>window-event-type</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-window_002devent_002dvector">Procedure: <strong>window-event-vector</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-make_002dkeyboard_002devent">Procedure: <strong>make-keyboard-event</strong> <em>timestamp window-id pressed? repeat? key scancode modifiers</em></dt> -</dl> - -<dl> -<dt id="index-keyboard_002devent_003f">Procedure: <strong>keyboard-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a keyboard event. -</p></dd></dl> - -<dl> -<dt id="index-keyboard_002ddown_002devent_003f">Procedure: <strong>keyboard-down-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a key press event. -</p></dd></dl> - -<dl> -<dt id="index-keyboard_002dup_002devent_003f">Procedure: <strong>keyboard-up-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a key release event. -</p></dd></dl> - -<dl> -<dt id="index-keyboard_002devent_002dtimestamp">Procedure: <strong>keyboard-event-timestamp</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-keyboard_002devent_002dwindow_002did">Procedure: <strong>keyboard-event-window-id</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-keyboard_002devent_002dpressed_003f">Procedure: <strong>keyboard-event-pressed?</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-keyboard_002devent_002drepeat_003f">Procedure: <strong>keyboard-event-repeat?</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-keyboard_002devent_002dkey">Procedure: <strong>keyboard-event-key</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-keyboard_002devent_002dscancode">Procedure: <strong>keyboard-event-scancode</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-keyboard_002devent_002dmodifiers">Procedure: <strong>keyboard-event-modifiers</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-make_002dtext_002dinput_002devent">Procedure: <strong>make-text-input-event</strong> <em>timestamp window-id text</em></dt> -</dl> - -<dl> -<dt id="index-text_002dinput_002devent_003f">Procedure: <strong>text-input-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a text input event. -</p></dd></dl> - -<dl> -<dt id="index-text_002dinput_002devent_002dtimestamp">Procedure: <strong>text-input-event-timestamp</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-text_002dinput_002devent_002dwindow_002did">Procedure: <strong>text-input-event-window-id</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-text_002dinput_002devent_002dtext">Procedure: <strong>text-input-event-text</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-make_002dmouse_002dbutton_002devent">Procedure: <strong>make-mouse-button-event</strong> <em>timestamp window-id which button pressed? clicks x y</em></dt> -</dl> - -<dl> -<dt id="index-mouse_002dbutton_002devent_003f">Procedure: <strong>mouse-button-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a mouse button event. -</p></dd></dl> - -<dl> -<dt id="index-mouse_002dbutton_002ddown_002devent_003f">Procedure: <strong>mouse-button-down-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a mouse button down event. -</p></dd></dl> - -<dl> -<dt id="index-mouse_002dbutton_002dup_002devent_003f">Procedure: <strong>mouse-button-up-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a mouse button up event. -</p></dd></dl> - -<dl> -<dt id="index-mouse_002dbutton_002devent_002dtimestamp">Procedure: <strong>mouse-button-event-timestamp</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-mouse_002dbutton_002devent_002dwindow_002did">Procedure: <strong>mouse-button-event-window-id</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-mouse_002dbutton_002devent_002dwhich">Procedure: <strong>mouse-button-event-which</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-mouse_002dbutton_002devent_002dbutton">Procedure: <strong>mouse-button-event-button</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-mouse_002dbutton_002devent_002dpressed_003f">Procedure: <strong>mouse-button-event-pressed?</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-mouse_002dbutton_002devent_002dclicks">Procedure: <strong>mouse-button-event-clicks</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-mouse_002dbutton_002devent_002dx">Procedure: <strong>mouse-button-event-x</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-mouse_002dbutton_002devent_002dy">Procedure: <strong>mouse-button-event-y</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-make_002dmouse_002dmotion_002devent">Procedure: <strong>make-mouse-motion-event</strong> <em>timestamp window-id which buttons x y x-rel y-rel</em></dt> -</dl> - -<dl> -<dt id="index-mouse_002dmotion_002devent_003f">Procedure: <strong>mouse-motion-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a mouse motion event. -</p></dd></dl> - -<dl> -<dt id="index-mouse_002dmotion_002devent_002dtimestamp">Procedure: <strong>mouse-motion-event-timestamp</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-mouse_002dmotion_002devent_002dwindow_002did">Procedure: <strong>mouse-motion-event-window-id</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-mouse_002dmotion_002devent_002dwhich">Procedure: <strong>mouse-motion-event-which</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-mouse_002dmotion_002devent_002dbuttons">Procedure: <strong>mouse-motion-event-buttons</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-mouse_002dmotion_002devent_002dx">Procedure: <strong>mouse-motion-event-x</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-mouse_002dmotion_002devent_002dy">Procedure: <strong>mouse-motion-event-y</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-mouse_002dmotion_002devent_002dx_002drel">Procedure: <strong>mouse-motion-event-x-rel</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-mouse_002dmotion_002devent_002dy_002drel">Procedure: <strong>mouse-motion-event-y-rel</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-make_002djoystick_002daxis_002devent">Procedure: <strong>make-joystick-axis-event</strong> <em>timestamp which axis value</em></dt> -</dl> - -<dl> -<dt id="index-joystick_002daxis_002devent_003f">Procedure: <strong>joystick-axis-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a joystick axis event. -</p></dd></dl> - -<dl> -<dt id="index-joystick_002daxis_002devent_002dtimestamp">Procedure: <strong>joystick-axis-event-timestamp</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-joystick_002daxis_002devent_002dwhich">Procedure: <strong>joystick-axis-event-which</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-joystick_002daxis_002devent_002dbutton">Procedure: <strong>joystick-axis-event-button</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-joystick_002daxis_002devent_002dpressed_003f">Procedure: <strong>joystick-axis-event-pressed?</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-make_002djoystick_002dball_002devent">Procedure: <strong>make-joystick-ball-event</strong> <em>timestamp which ball x-rel y-rel</em></dt> -</dl> - -<dl> -<dt id="index-joystick_002dball_002devent_003f">Procedure: <strong>joystick-ball-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a joystick ball event. -</p></dd></dl> - -<dl> -<dt id="index-joystick_002dball_002devent_002dtimestamp">Procedure: <strong>joystick-ball-event-timestamp</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-joystick_002dball_002devent_002dwhich">Procedure: <strong>joystick-ball-event-which</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-joystick_002dball_002devent_002dball">Procedure: <strong>joystick-ball-event-ball</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-joystick_002dball_002devent_002dx_002drel">Procedure: <strong>joystick-ball-event-x-rel</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-joystick_002dball_002devent_002dy_002drel">Procedure: <strong>joystick-ball-event-y-rel</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-make_002djoystick_002dhat_002devent">Procedure: <strong>make-joystick-hat-event</strong> <em>timestamp which hat value</em></dt> -</dl> - -<dl> -<dt id="index-joystick_002dhat_002devent_003f">Procedure: <strong>joystick-hat-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a joystick hat event. -</p></dd></dl> - -<dl> -<dt id="index-joystick_002dhat_002devent_002dtimestamp">Procedure: <strong>joystick-hat-event-timestamp</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-joystick_002dhat_002devent_002dwhich">Procedure: <strong>joystick-hat-event-which</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-joystick_002dhat_002devent_002dhat">Procedure: <strong>joystick-hat-event-hat</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-joystick_002dhat_002devent_002dvalue">Procedure: <strong>joystick-hat-event-value</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-make_002djoystick_002ddevice_002devent">Procedure: <strong>make-joystick-device-event</strong> <em>timestamp which action</em></dt> -</dl> - -<dl> -<dt id="index-joystick_002ddevice_002devent_003f">Procedure: <strong>joystick-device-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a joystick device event. -</p></dd></dl> - -<dl> -<dt id="index-joystick_002ddevice_002devent_002dtimestamp">Procedure: <strong>joystick-device-event-timestamp</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-joystick_002ddevice_002devent_002dwhich">Procedure: <strong>joystick-device-event-which</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-joystick_002ddevice_002devent_002daction">Procedure: <strong>joystick-device-event-action</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-make_002dcontroller_002daxis_002devent">Procedure: <strong>make-controller-axis-event</strong> <em>timestamp which axis value</em></dt> -</dl> - -<dl> -<dt id="index-controller_002daxis_002devent_003f">Procedure: <strong>controller-axis-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>e</var> is a game controller axis event. -</p></dd></dl> - -<dl> -<dt id="index-controller_002daxis_002devent_002dtimestamp">Procedure: <strong>controller-axis-event-timestamp</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-controller_002daxis_002devent_002dwhich">Procedure: <strong>controller-axis-event-which</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-controller_002daxis_002devent_002daxis">Procedure: <strong>controller-axis-event-axis</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-controller_002daxis_002devent_002dvalue">Procedure: <strong>controller-axis-event-value</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-make_002dcontroller_002dbutton_002devent">Procedure: <strong>make-controller-button-event</strong> <em>timestamp which button pressed?</em></dt> -</dl> - -<dl> -<dt id="index-controller_002dbutton_002devent_003f">Procedure: <strong>controller-button-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>event</var> is a game controller button event. -</p></dd></dl> - -<dl> -<dt id="index-controller_002dbutton_002ddown_002devent_003f">Procedure: <strong>controller-button-down-event?</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-controller_002dbutton_002dup_002devent_003f">Procedure: <strong>controller-button-up-event?</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-controller_002dbutton_002devent_002dtimestamp">Procedure: <strong>controller-button-event-timestamp</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-controller_002dbutton_002devent_002dwhich">Procedure: <strong>controller-button-event-which</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-controller_002dbutton_002devent_002dbutton">Procedure: <strong>controller-button-event-button</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-controller_002dbutton_002devent_002dpressed_003f">Procedure: <strong>controller-button-event-pressed?</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-make_002dcontroller_002ddevice_002devent">Procedure: <strong>make-controller-device-event</strong> <em>timestamp which action</em></dt> -</dl> - -<dl> -<dt id="index-controller_002ddevice_002devent_003f">Procedure: <strong>controller-device-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>event</var> is a game controller device event. -</p></dd></dl> - -<dl> -<dt id="index-controller_002dadded_002devent_003f">Procedure: <strong>controller-added-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>event</var> is a game controller device event with the -’added’ action. -</p></dd></dl> - -<dl> -<dt id="index-controller_002dremoved_002devent_003f">Procedure: <strong>controller-removed-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>event</var> is a game controller device event with the -’removed’ action. -</p></dd></dl> - -<dl> -<dt id="index-controller_002dremapped_002devent_003f">Procedure: <strong>controller-remapped-event?</strong> <em>e</em></dt> -<dd><p>Return <code>#t</code> if <var>event</var> is a game controller device event with the -’remapped’ action. -</p></dd></dl> - -<dl> -<dt id="index-controller_002ddevice_002devent_002dtimestamp">Procedure: <strong>controller-device-event-timestamp</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-controller_002ddevice_002devent_002dwhich">Procedure: <strong>controller-device-event-which</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-controller_002ddevice_002devent_002daction">Procedure: <strong>controller-device-event-action</strong> <em>e</em></dt> -</dl> - -<dl> -<dt id="index-poll_002devent">Procedure: <strong>poll-event</strong></dt> -</dl> - -<hr> -<div class="header"> -<p> -Next: <a href="Rects.html" accesskey="n" rel="next">Rects</a>, Previous: <a href="Input.html" accesskey="p" rel="prev">Input</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Fonts.html b/manuals/guile-sdl2/Fonts.html deleted file mode 100644 index 890440f..0000000 --- a/manuals/guile-sdl2/Fonts.html +++ /dev/null @@ -1,210 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Fonts (Guile-SDL2)</title> - -<meta name="description" content="Fonts (Guile-SDL2)"> -<meta name="keywords" content="Fonts (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="API-Reference.html" rel="up" title="API Reference"> -<link href="Hints.html" rel="next" title="Hints"> -<link href="Sound.html" rel="prev" title="Sound"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Fonts"></span><div class="header"> -<p> -Next: <a href="Hints.html" accesskey="n" rel="next">Hints</a>, Previous: <a href="Sound.html" accesskey="p" rel="prev">Sound</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Fonts-1"></span><h3 class="section">3.11 Fonts</h3> - -<div class="example"> -<pre class="example">(use-modules (sdl2 ttf)) -</pre></div> - -<dl> -<dt id="index-ttf_002dinit">Procedure: <strong>ttf-init</strong></dt> -<dd><p>Initialize the TTF system. -</p></dd></dl> - -<dl> -<dt id="index-ttf_002dquit">Procedure: <strong>ttf-quit</strong></dt> -<dd><p>Shut down and clean up the TTF system. -</p></dd></dl> - -<dl> -<dt id="index-load_002dfont">Procedure: <strong>load-font</strong> <em>file point-size</em></dt> -<dd><p>Load TTF font from <var>file</var> and return a new font object whose glyph size is -<var>point-size</var>. -</p></dd></dl> - -<dl> -<dt id="index-delete_002dfont_0021">Procedure: <strong>delete-font!</strong> <em>font</em></dt> -<dd><p>Delete the memory allocated for <var>font</var>. -</p></dd></dl> - -<dl> -<dt id="index-font_002dheight">Procedure: <strong>font-height</strong> <em>font</em></dt> -<dd><p>Return the maximum height of <var>font</var>. -</p></dd></dl> - -<dl> -<dt id="index-font_002dascent">Procedure: <strong>font-ascent</strong> <em>font</em></dt> -<dd><p>Return the maximum pixel ascent of all glyphs in <var>font</var>. This can -also be interpreted as the distance from the top of the font to the -baseline. -</p></dd></dl> - -<dl> -<dt id="index-font_002ddescent">Procedure: <strong>font-descent</strong> <em>font</em></dt> -<dd><p>Return the maximum pixel descent of all glyphs in <var>font</var>. This -can also be interpreted as the distance from the baseline to the -bottom of the font. -</p></dd></dl> - -<dl> -<dt id="index-font_002dline_002dskip">Procedure: <strong>font-line-skip</strong> <em>font</em></dt> -<dd><p>Return the recommended pixel height of a line of text using -<var>font</var>. -</p></dd></dl> - -<dl> -<dt id="index-font_002dsize_002dtext">Procedure: <strong>font-size-text</strong> <em>font text</em></dt> -<dd><p>Return 2 values for the resulting surface size of the string -<var>text</var> using <var>font</var>. -</p></dd></dl> - -<dl> -<dt id="index-font_002dglyph_002dindex">Procedure: <strong>font-glyph-index</strong> <em>font char</em></dt> -<dd><p>Return the index of the glyph for <var>char</var> in <var>font</var>, or -<code>#f</code> if <var>char</var> is not present. -</p></dd></dl> - -<dl> -<dt id="index-font_002dglyph_002dmetrics">Procedure: <strong>font-glyph-metrics</strong> <em>font char</em></dt> -<dd><p>Return values for the metrics of <var>char</var> in <var>font</var>: min x, max -x, min y, max y, and advance. -</p></dd></dl> - -<dl> -<dt id="index-font">font-style: <strong>font</strong></dt> -<dd><p>Return the rendering style of <var>font</var> as a list that may contain -any of the following symbols: -</p> -<ul> -<li> <code>bold</code> -</li><li> <code>italic</code> -</li><li> <code>underline</code> -</li><li> <code>strikethrough</code> -</li></ul> - -<p>The empty list is returned if none of the above styles are applied. -</p></dd></dl> - -<dl> -<dt id="index-font-1">font-set-style!: <strong>font</strong> <em>style</em></dt> -<dd><p>Set the rendering style of <var>font</var> to <var>style</var>, a list that may -contain any of the following symbols: -</p> -<ul> -<li> <code>bold</code> -</li><li> <code>italic</code> -</li><li> <code>underline</code> -</li><li> <code>strikethrough</code> -</li></ul> - -<p>The empty list means that none of the above stylings will be used. -</p></dd></dl> - -<dl> -<dt id="index-render_002dfont_002dsolid">Procedure: <strong>render-font-solid</strong> <em>font text color</em></dt> -<dd><p>Render <var>text</var>, a UTF-8 encoded string, using <var>font</var> and <var>color</var>, the -foreground color, and return a surface containing the results. -</p></dd></dl> - -<dl> -<dt id="index-render_002dfont_002dblended">Procedure: <strong>render-font-blended</strong> <em>font text color</em></dt> -<dd><p>Render <var>text</var>, a UTF-8 encoded string, using <var>font</var> and <var>color</var>, the -foreground color, and return a high-quality alpha-blended surface containing the -results. -</p></dd></dl> - -<hr> -<div class="header"> -<p> -Next: <a href="Hints.html" accesskey="n" rel="next">Hints</a>, Previous: <a href="Sound.html" accesskey="p" rel="prev">Sound</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/guile-sdl2/GNU-Free-Documentation-License.html b/manuals/guile-sdl2/GNU-Free-Documentation-License.html deleted file mode 100644 index fcbbf5c..0000000 --- a/manuals/guile-sdl2/GNU-Free-Documentation-License.html +++ /dev/null @@ -1,566 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>GNU Free Documentation License (Guile-SDL2)</title> - -<meta name="description" content="GNU Free Documentation License (Guile-SDL2)"> -<meta name="keywords" content="GNU Free Documentation License (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Copying-This-Manual.html" rel="up" title="Copying This Manual"> -<link href="Index.html" rel="next" title="Index"> -<link href="Copying-This-Manual.html" rel="prev" title="Copying This Manual"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="GNU-Free-Documentation-License"></span><div class="header"> -<p> -Up: <a href="Copying-This-Manual.html" accesskey="u" rel="up">Copying This Manual</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="GNU-Free-Documentation-License-1"></span><h3 class="section">A.1 GNU Free Documentation License</h3> -<div align="center">Version 1.3, 3 November 2008 -</div> - -<div class="display"> -<pre class="display">Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. -<a href="http://fsf.org/">http://fsf.org/</a> - -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. -</pre></div> - -<ol start="0"> -<li> PREAMBLE - -<p>The purpose of this License is to make a manual, textbook, or other -functional and useful document <em>free</em> in the sense of freedom: to -assure everyone the effective freedom to copy and redistribute it, -with or without modifying it, either commercially or noncommercially. -Secondarily, this License preserves for the author and publisher a way -to get credit for their work, while not being considered responsible -for modifications made by others. -</p> -<p>This License is a kind of “copyleft”, which means that derivative -works of the document must themselves be free in the same sense. It -complements the GNU General Public License, which is a copyleft -license designed for free software. -</p> -<p>We have designed this License in order to use it for manuals for free -software, because free software needs free documentation: a free -program should come with manuals providing the same freedoms that the -software does. But this License is not limited to software manuals; -it can be used for any textual work, regardless of subject matter or -whether it is published as a printed book. We recommend this License -principally for works whose purpose is instruction or reference. -</p> -</li><li> APPLICABILITY AND DEFINITIONS - -<p>This License applies to any manual or other work, in any medium, that -contains a notice placed by the copyright holder saying it can be -distributed under the terms of this License. Such a notice grants a -world-wide, royalty-free license, unlimited in duration, to use that -work under the conditions stated herein. The “Document”, below, -refers to any such manual or work. Any member of the public is a -licensee, and is addressed as “you”. You accept the license if you -copy, modify or distribute the work in a way requiring permission -under copyright law. -</p> -<p>A “Modified Version” of the Document means any work containing the -Document or a portion of it, either copied verbatim, or with -modifications and/or translated into another language. -</p> -<p>A “Secondary Section” is a named appendix or a front-matter section -of the Document that deals exclusively with the relationship of the -publishers or authors of the Document to the Document’s overall -subject (or to related matters) and contains nothing that could fall -directly within that overall subject. (Thus, if the Document is in -part a textbook of mathematics, a Secondary Section may not explain -any mathematics.) The relationship could be a matter of historical -connection with the subject or with related matters, or of legal, -commercial, philosophical, ethical or political position regarding -them. -</p> -<p>The “Invariant Sections” are certain Secondary Sections whose titles -are designated, as being those of Invariant Sections, in the notice -that says that the Document is released under this License. If a -section does not fit the above definition of Secondary then it is not -allowed to be designated as Invariant. The Document may contain zero -Invariant Sections. If the Document does not identify any Invariant -Sections then there are none. -</p> -<p>The “Cover Texts” are certain short passages of text that are listed, -as Front-Cover Texts or Back-Cover Texts, in the notice that says that -the Document is released under this License. A Front-Cover Text may -be at most 5 words, and a Back-Cover Text may be at most 25 words. -</p> -<p>A “Transparent” copy of the Document means a machine-readable copy, -represented in a format whose specification is available to the -general public, that is suitable for revising the document -straightforwardly with generic text editors or (for images composed of -pixels) generic paint programs or (for drawings) some widely available -drawing editor, and that is suitable for input to text formatters or -for automatic translation to a variety of formats suitable for input -to text formatters. A copy made in an otherwise Transparent file -format whose markup, or absence of markup, has been arranged to thwart -or discourage subsequent modification by readers is not Transparent. -An image format is not Transparent if used for any substantial amount -of text. A copy that is not “Transparent” is called “Opaque”. -</p> -<p>Examples of suitable formats for Transparent copies include plain -ASCII without markup, Texinfo input format, LaTeX input -format, SGML or XML using a publicly available -DTD, and standard-conforming simple HTML, -PostScript or PDF designed for human modification. Examples -of transparent image formats include PNG, XCF and -JPG. Opaque formats include proprietary formats that can be -read and edited only by proprietary word processors, SGML or -XML for which the DTD and/or processing tools are -not generally available, and the machine-generated HTML, -PostScript or PDF produced by some word processors for -output purposes only. -</p> -<p>The “Title Page” means, for a printed book, the title page itself, -plus such following pages as are needed to hold, legibly, the material -this License requires to appear in the title page. For works in -formats which do not have any title page as such, “Title Page” means -the text near the most prominent appearance of the work’s title, -preceding the beginning of the body of the text. -</p> -<p>The “publisher” means any person or entity that distributes copies -of the Document to the public. -</p> -<p>A section “Entitled XYZ” means a named subunit of the Document whose -title either is precisely XYZ or contains XYZ in parentheses following -text that translates XYZ in another language. (Here XYZ stands for a -specific section name mentioned below, such as “Acknowledgements”, -“Dedications”, “Endorsements”, or “History”.) To “Preserve the Title” -of such a section when you modify the Document means that it remains a -section “Entitled XYZ” according to this definition. -</p> -<p>The Document may include Warranty Disclaimers next to the notice which -states that this License applies to the Document. These Warranty -Disclaimers are considered to be included by reference in this -License, but only as regards disclaiming warranties: any other -implication that these Warranty Disclaimers may have is void and has -no effect on the meaning of this License. -</p> -</li><li> VERBATIM COPYING - -<p>You may copy and distribute the Document in any medium, either -commercially or noncommercially, provided that this License, the -copyright notices, and the license notice saying this License applies -to the Document are reproduced in all copies, and that you add no other -conditions whatsoever to those of this License. You may not use -technical measures to obstruct or control the reading or further -copying of the copies you make or distribute. However, you may accept -compensation in exchange for copies. If you distribute a large enough -number of copies you must also follow the conditions in section 3. -</p> -<p>You may also lend copies, under the same conditions stated above, and -you may publicly display copies. -</p> -</li><li> COPYING IN QUANTITY - -<p>If you publish printed copies (or copies in media that commonly have -printed covers) of the Document, numbering more than 100, and the -Document’s license notice requires Cover Texts, you must enclose the -copies in covers that carry, clearly and legibly, all these Cover -Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on -the back cover. Both covers must also clearly and legibly identify -you as the publisher of these copies. The front cover must present -the full title with all words of the title equally prominent and -visible. You may add other material on the covers in addition. -Copying with changes limited to the covers, as long as they preserve -the title of the Document and satisfy these conditions, can be treated -as verbatim copying in other respects. -</p> -<p>If the required texts for either cover are too voluminous to fit -legibly, you should put the first ones listed (as many as fit -reasonably) on the actual cover, and continue the rest onto adjacent -pages. -</p> -<p>If you publish or distribute Opaque copies of the Document numbering -more than 100, you must either include a machine-readable Transparent -copy along with each Opaque copy, or state in or with each Opaque copy -a computer-network location from which the general network-using -public has access to download using public-standard network protocols -a complete Transparent copy of the Document, free of added material. -If you use the latter option, you must take reasonably prudent steps, -when you begin distribution of Opaque copies in quantity, to ensure -that this Transparent copy will remain thus accessible at the stated -location until at least one year after the last time you distribute an -Opaque copy (directly or through your agents or retailers) of that -edition to the public. -</p> -<p>It is requested, but not required, that you contact the authors of the -Document well before redistributing any large number of copies, to give -them a chance to provide you with an updated version of the Document. -</p> -</li><li> MODIFICATIONS - -<p>You may copy and distribute a Modified Version of the Document under -the conditions of sections 2 and 3 above, provided that you release -the Modified Version under precisely this License, with the Modified -Version filling the role of the Document, thus licensing distribution -and modification of the Modified Version to whoever possesses a copy -of it. In addition, you must do these things in the Modified Version: -</p> -<ol type="A" start="1"> -<li> Use in the Title Page (and on the covers, if any) a title distinct -from that of the Document, and from those of previous versions -(which should, if there were any, be listed in the History section -of the Document). You may use the same title as a previous version -if the original publisher of that version gives permission. - -</li><li> List on the Title Page, as authors, one or more persons or entities -responsible for authorship of the modifications in the Modified -Version, together with at least five of the principal authors of the -Document (all of its principal authors, if it has fewer than five), -unless they release you from this requirement. - -</li><li> State on the Title page the name of the publisher of the -Modified Version, as the publisher. - -</li><li> Preserve all the copyright notices of the Document. - -</li><li> Add an appropriate copyright notice for your modifications -adjacent to the other copyright notices. - -</li><li> Include, immediately after the copyright notices, a license notice -giving the public permission to use the Modified Version under the -terms of this License, in the form shown in the Addendum below. - -</li><li> Preserve in that license notice the full lists of Invariant Sections -and required Cover Texts given in the Document’s license notice. - -</li><li> Include an unaltered copy of this License. - -</li><li> Preserve the section Entitled “History”, Preserve its Title, and add -to it an item stating at least the title, year, new authors, and -publisher of the Modified Version as given on the Title Page. If -there is no section Entitled “History” in the Document, create one -stating the title, year, authors, and publisher of the Document as -given on its Title Page, then add an item describing the Modified -Version as stated in the previous sentence. - -</li><li> Preserve the network location, if any, given in the Document for -public access to a Transparent copy of the Document, and likewise -the network locations given in the Document for previous versions -it was based on. These may be placed in the “History” section. -You may omit a network location for a work that was published at -least four years before the Document itself, or if the original -publisher of the version it refers to gives permission. - -</li><li> For any section Entitled “Acknowledgements” or “Dedications”, Preserve -the Title of the section, and preserve in the section all the -substance and tone of each of the contributor acknowledgements and/or -dedications given therein. - -</li><li> Preserve all the Invariant Sections of the Document, -unaltered in their text and in their titles. Section numbers -or the equivalent are not considered part of the section titles. - -</li><li> Delete any section Entitled “Endorsements”. Such a section -may not be included in the Modified Version. - -</li><li> Do not retitle any existing section to be Entitled “Endorsements” or -to conflict in title with any Invariant Section. - -</li><li> Preserve any Warranty Disclaimers. -</li></ol> - -<p>If the Modified Version includes new front-matter sections or -appendices that qualify as Secondary Sections and contain no material -copied from the Document, you may at your option designate some or all -of these sections as invariant. To do this, add their titles to the -list of Invariant Sections in the Modified Version’s license notice. -These titles must be distinct from any other section titles. -</p> -<p>You may add a section Entitled “Endorsements”, provided it contains -nothing but endorsements of your Modified Version by various -parties—for example, statements of peer review or that the text has -been approved by an organization as the authoritative definition of a -standard. -</p> -<p>You may add a passage of up to five words as a Front-Cover Text, and a -passage of up to 25 words as a Back-Cover Text, to the end of the list -of Cover Texts in the Modified Version. Only one passage of -Front-Cover Text and one of Back-Cover Text may be added by (or -through arrangements made by) any one entity. If the Document already -includes a cover text for the same cover, previously added by you or -by arrangement made by the same entity you are acting on behalf of, -you may not add another; but you may replace the old one, on explicit -permission from the previous publisher that added the old one. -</p> -<p>The author(s) and publisher(s) of the Document do not by this License -give permission to use their names for publicity for or to assert or -imply endorsement of any Modified Version. -</p> -</li><li> COMBINING DOCUMENTS - -<p>You may combine the Document with other documents released under this -License, under the terms defined in section 4 above for modified -versions, provided that you include in the combination all of the -Invariant Sections of all of the original documents, unmodified, and -list them all as Invariant Sections of your combined work in its -license notice, and that you preserve all their Warranty Disclaimers. -</p> -<p>The combined work need only contain one copy of this License, and -multiple identical Invariant Sections may be replaced with a single -copy. If there are multiple Invariant Sections with the same name but -different contents, make the title of each such section unique by -adding at the end of it, in parentheses, the name of the original -author or publisher of that section if known, or else a unique number. -Make the same adjustment to the section titles in the list of -Invariant Sections in the license notice of the combined work. -</p> -<p>In the combination, you must combine any sections Entitled “History” -in the various original documents, forming one section Entitled -“History”; likewise combine any sections Entitled “Acknowledgements”, -and any sections Entitled “Dedications”. You must delete all -sections Entitled “Endorsements.” -</p> -</li><li> COLLECTIONS OF DOCUMENTS - -<p>You may make a collection consisting of the Document and other documents -released under this License, and replace the individual copies of this -License in the various documents with a single copy that is included in -the collection, provided that you follow the rules of this License for -verbatim copying of each of the documents in all other respects. -</p> -<p>You may extract a single document from such a collection, and distribute -it individually under this License, provided you insert a copy of this -License into the extracted document, and follow this License in all -other respects regarding verbatim copying of that document. -</p> -</li><li> AGGREGATION WITH INDEPENDENT WORKS - -<p>A compilation of the Document or its derivatives with other separate -and independent documents or works, in or on a volume of a storage or -distribution medium, is called an “aggregate” if the copyright -resulting from the compilation is not used to limit the legal rights -of the compilation’s users beyond what the individual works permit. -When the Document is included in an aggregate, this License does not -apply to the other works in the aggregate which are not themselves -derivative works of the Document. -</p> -<p>If the Cover Text requirement of section 3 is applicable to these -copies of the Document, then if the Document is less than one half of -the entire aggregate, the Document’s Cover Texts may be placed on -covers that bracket the Document within the aggregate, or the -electronic equivalent of covers if the Document is in electronic form. -Otherwise they must appear on printed covers that bracket the whole -aggregate. -</p> -</li><li> TRANSLATION - -<p>Translation is considered a kind of modification, so you may -distribute translations of the Document under the terms of section 4. -Replacing Invariant Sections with translations requires special -permission from their copyright holders, but you may include -translations of some or all Invariant Sections in addition to the -original versions of these Invariant Sections. You may include a -translation of this License, and all the license notices in the -Document, and any Warranty Disclaimers, provided that you also include -the original English version of this License and the original versions -of those notices and disclaimers. In case of a disagreement between -the translation and the original version of this License or a notice -or disclaimer, the original version will prevail. -</p> -<p>If a section in the Document is Entitled “Acknowledgements”, -“Dedications”, or “History”, the requirement (section 4) to Preserve -its Title (section 1) will typically require changing the actual -title. -</p> -</li><li> TERMINATION - -<p>You may not copy, modify, sublicense, or distribute the Document -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense, or distribute it is void, and -will automatically terminate your rights under this License. -</p> -<p>However, if you cease all violation of this License, then your license -from a particular copyright holder is reinstated (a) provisionally, -unless and until the copyright holder explicitly and finally -terminates your license, and (b) permanently, if the copyright holder -fails to notify you of the violation by some reasonable means prior to -60 days after the cessation. -</p> -<p>Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. -</p> -<p>Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, receipt of a copy of some or all of the same material does -not give you any rights to use it. -</p> -</li><li> FUTURE REVISIONS OF THIS LICENSE - -<p>The Free Software Foundation may publish new, revised versions -of the GNU Free Documentation License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. See -<a href="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</a>. -</p> -<p>Each version of the License is given a distinguishing version number. -If the Document specifies that a particular numbered version of this -License “or any later version” applies to it, you have the option of -following the terms and conditions either of that specified version or -of any later version that has been published (not as a draft) by the -Free Software Foundation. If the Document does not specify a version -number of this License, you may choose any version ever published (not -as a draft) by the Free Software Foundation. If the Document -specifies that a proxy can decide which future versions of this -License can be used, that proxy’s public statement of acceptance of a -version permanently authorizes you to choose that version for the -Document. -</p> -</li><li> RELICENSING - -<p>“Massive Multiauthor Collaboration Site” (or “MMC Site”) means any -World Wide Web server that publishes copyrightable works and also -provides prominent facilities for anybody to edit those works. A -public wiki that anybody can edit is an example of such a server. A -“Massive Multiauthor Collaboration” (or “MMC”) contained in the -site means any set of copyrightable works thus published on the MMC -site. -</p> -<p>“CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0 -license published by Creative Commons Corporation, a not-for-profit -corporation with a principal place of business in San Francisco, -California, as well as future copyleft versions of that license -published by that same organization. -</p> -<p>“Incorporate” means to publish or republish a Document, in whole or -in part, as part of another Document. -</p> -<p>An MMC is “eligible for relicensing” if it is licensed under this -License, and if all works that were first published under this License -somewhere other than this MMC, and subsequently incorporated in whole -or in part into the MMC, (1) had no cover texts or invariant sections, -and (2) were thus incorporated prior to November 1, 2008. -</p> -<p>The operator of an MMC Site may republish an MMC contained in the site -under CC-BY-SA on the same site at any time before August 1, 2009, -provided the MMC is eligible for relicensing. -</p> -</li></ol> - -<span id="ADDENDUM_003a-How-to-use-this-License-for-your-documents"></span><h3 class="heading">ADDENDUM: How to use this License for your documents</h3> - -<p>To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and -license notices just after the title page: -</p> -<div class="example"> -<pre class="example"> Copyright (C) <var>year</var> <var>your name</var>. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.3 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover - Texts. A copy of the license is included in the section entitled ``GNU - Free Documentation License''. -</pre></div> - -<p>If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, -replace the “with…Texts.” line with this: -</p> -<div class="example"> -<pre class="example"> with the Invariant Sections being <var>list their titles</var>, with - the Front-Cover Texts being <var>list</var>, and with the Back-Cover Texts - being <var>list</var>. -</pre></div> - -<p>If you have Invariant Sections without Cover Texts, or some other -combination of the three, merge those two alternatives to suit the -situation. -</p> -<p>If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of -free software license, such as the GNU General Public License, -to permit their use in free software. -</p> - -<hr> -<div class="header"> -<p> -Up: <a href="Copying-This-Manual.html" accesskey="u" rel="up">Copying This Manual</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Game-Controllers.html b/manuals/guile-sdl2/Game-Controllers.html deleted file mode 100644 index 0a1df88..0000000 --- a/manuals/guile-sdl2/Game-Controllers.html +++ /dev/null @@ -1,183 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Game Controllers (Guile-SDL2)</title> - -<meta name="description" content="Game Controllers (Guile-SDL2)"> -<meta name="keywords" content="Game Controllers (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Input.html" rel="up" title="Input"> -<link href="Events.html" rel="next" title="Events"> -<link href="Joysticks.html" rel="prev" title="Joysticks"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Game-Controllers"></span><div class="header"> -<p> -Previous: <a href="Joysticks.html" accesskey="p" rel="prev">Joysticks</a>, Up: <a href="Input.html" accesskey="u" rel="up">Input</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Game-Controllers-1"></span><h4 class="subsection">3.3.4 Game Controllers</h4> - -<div class="example"> -<pre class="example">(use-modules (sdl2 input game-controller)) -</pre></div> - -<dl> -<dt id="index-load_002dgame_002dcontroller_002dmappings_0021">Procedure: <strong>load-game-controller-mappings!</strong> <em>file</em></dt> -<dd><p>Load game controller mapping from <var>file</var> and return the number of -mappings added this way. -</p> -<p>See <a href="https://raw.github.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt">https://raw.github.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt</a> -for a community maintained controller mapping file. -</p></dd></dl> - -<dl> -<dt id="index-open_002dgame_002dcontroller">Procedure: <strong>open-game-controller</strong> <em>joystick-index</em></dt> -<dd><p>Return a game controller object for the physical joystick device associated -with the <var>joystick-index</var>. -</p></dd></dl> - -<dl> -<dt id="index-close_002dgame_002dcontroller">Procedure: <strong>close-game-controller</strong> <em>controller</em></dt> -<dd><p>Close <var>controller</var>. -</p></dd></dl> - -<dl> -<dt id="index-game_002dcontroller_003f">Procedure: <strong>game-controller?</strong> <em>controller</em></dt> -<dd><p>Close <var>controller</var>. -</p></dd></dl> - -<dl> -<dt id="index-game_002dcontroller_002dattached_003f">Procedure: <strong>game-controller-attached?</strong> <em>controller</em></dt> -<dd><p>Return <code>#t</code> if <var>controller</var> is currently in use. -</p></dd></dl> - -<dl> -<dt id="index-game_002dcontroller_002djoystick">Procedure: <strong>game-controller-joystick</strong> <em>controller</em></dt> -<dd><p>Return the underlying joystick object associated with <var>controller</var>. -</p></dd></dl> - -<dl> -<dt id="index-game_002dcontroller_002dname">Procedure: <strong>game-controller-name</strong> <em>controller</em></dt> -<dd><p>Return the human readable name for <var>controller</var>. -</p></dd></dl> - -<dl> -<dt id="index-game_002dcontroller_002daxis">Procedure: <strong>game-controller-axis</strong> <em>controller axis</em></dt> -<dd><p>Return a number in the range [-32768, 32767] representing the -current state of <var>axis</var> on <var>controller</var>. -</p> -<p><var>axis</var> may be one of the following symbols: -</p><ul> -<li> <code>left-x</code> -</li><li> <code>left-y</code> -</li><li> <code>right-x</code> -</li><li> <code>right-y</code> -</li><li> <code>trigger-left</code> -</li><li> <code>trigger-right</code> -</li></ul> -</dd></dl> - -<dl> -<dt id="index-game_002dcontroller_002dbutton_002dpressed_003f">Procedure: <strong>game-controller-button-pressed?</strong> <em>controller button</em></dt> -<dd><p>Return <code>#t</code> if <var>button</var> is pressed on <var>controller</var>. -</p> -<p><var>button</var> may be one of the following symbols: -</p><ul> -<li> <code>a</code> -</li><li> <code>b</code> -</li><li> <code>x</code> -</li><li> <code>y</code> -</li><li> <code>back</code> -</li><li> <code>guide</code> -</li><li> <code>start</code> -</li><li> <code>left-stick</code> -</li><li> <code>right-stick</code> -</li><li> <code>left-shoulder</code> -</li><li> <code>right-shoulder</code> -</li><li> <code>dpad-up</code> -</li><li> <code>dpad-down</code> -</li><li> <code>dpad-left</code> -</li><li> <code>dpad-right</code> -</li></ul> -</dd></dl> - -<dl> -<dt id="index-game_002dcontroller_002dindex_003f">Procedure: <strong>game-controller-index?</strong> <em>joystick-index</em></dt> -<dd><p>Return <code>#t</code> if <var>joystick-index</var> is a valid game controller index. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Getting-the-Source.html b/manuals/guile-sdl2/Getting-the-Source.html deleted file mode 100644 index 73501f5..0000000 --- a/manuals/guile-sdl2/Getting-the-Source.html +++ /dev/null @@ -1,116 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Getting the Source (Guile-SDL2)</title> - -<meta name="description" content="Getting the Source (Guile-SDL2)"> -<meta name="keywords" content="Getting the Source (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Contributing.html" rel="up" title="Contributing"> -<link href="Submitting-Patches.html" rel="next" title="Submitting Patches"> -<link href="Contributing.html" rel="prev" title="Contributing"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Getting-the-Source"></span><div class="header"> -<p> -Next: <a href="Submitting-Patches.html" accesskey="n" rel="next">Submitting Patches</a>, Up: <a href="Contributing.html" accesskey="u" rel="up">Contributing</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Getting-the-Source-1"></span><h3 class="section">4.1 Getting the Source</h3> - -<p>Guile-SDL2 is developed using the Git version control system. The -repository can be cloned with the following command: -</p> -<div class="example"> -<pre class="example">git clone https://git.dthompson.us/guile-sdl2.git -</pre></div> - -<p>To build the source code from a Git checkout, run the following: -</p> -<div class="example"> -<pre class="example">./bootstrap -./configure -make -</pre></div> - -<p>To start a Guile REPL with a pre-configured load path for using -Guile-SDL2, use the <code>pre-inst-env</code> script: -</p> -<div class="example"> -<pre class="example">./pre-inst-env guile -</pre></div> - - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Hints.html b/manuals/guile-sdl2/Hints.html deleted file mode 100644 index 433ff00..0000000 --- a/manuals/guile-sdl2/Hints.html +++ /dev/null @@ -1,116 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Hints (Guile-SDL2)</title> - -<meta name="description" content="Hints (Guile-SDL2)"> -<meta name="keywords" content="Hints (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="API-Reference.html" rel="up" title="API Reference"> -<link href="Contributing.html" rel="next" title="Contributing"> -<link href="Fonts.html" rel="prev" title="Fonts"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Hints"></span><div class="header"> -<p> -Previous: <a href="Fonts.html" accesskey="p" rel="prev">Fonts</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Hints-1"></span><h3 class="section">3.12 Hints</h3> - -<div class="example"> -<pre class="example">(use-modules (sdl2 hints)) -</pre></div> - -<dl> -<dt id="index-get_002dhint">Procedure: <strong>get-hint</strong> <em>hint</em></dt> -<dd><p>Get the string value of <var>hint</var> or <code>#f</code> if if <var>hint</var> is unset. -</p></dd></dl> - -<dl> -<dt id="index-set_002dhint_0021">Procedure: <strong>set-hint!</strong> <em>hint value [priority]</em></dt> -<dd><p>Set <var>hint</var> to <var>value</var> at priority level <var>priority</var>. -<var>priority</var> can be one of the symbols <code>default</code>, <code>normal</code> or -<code>override</code> and defaults to <code>normal</code>. -<var>value</var> will automatically be converted to a string if it is a boolean -or a number. -</p></dd></dl> - -<p>Inside SDL2, the macro <code>SDL_HINT_SOME_HINT</code> corresponds to the -environment variable <code>SDL_SOME_HINT</code>. In Guile-SDL2, this hint would be -represented by the symbol <code>some-symbol.</code> -</p> - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Images.html b/manuals/guile-sdl2/Images.html deleted file mode 100644 index b4de67a..0000000 --- a/manuals/guile-sdl2/Images.html +++ /dev/null @@ -1,118 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Images (Guile-SDL2)</title> - -<meta name="description" content="Images (Guile-SDL2)"> -<meta name="keywords" content="Images (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="API-Reference.html" rel="up" title="API Reference"> -<link href="Sound.html" rel="next" title="Sound"> -<link href="Blend-Modes.html" rel="prev" title="Blend Modes"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Images"></span><div class="header"> -<p> -Next: <a href="Sound.html" accesskey="n" rel="next">Sound</a>, Previous: <a href="Blend-Modes.html" accesskey="p" rel="prev">Blend Modes</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Images-1"></span><h3 class="section">3.9 Images</h3> - -<div class="example"> -<pre class="example">(use-modules (sdl2 image)) -</pre></div> - -<dl> -<dt id="index-image_002dinit">Procedure: <strong>image-init</strong></dt> -<dd><p>Initialize dynamically loaded image libraries. -</p></dd></dl> - -<dl> -<dt id="index-image_002dquit">Procedure: <strong>image-quit</strong></dt> -<dd><p>Clean up dynamically loaded image libraries. -</p></dd></dl> - -<dl> -<dt id="index-load_002dimage">Procedure: <strong>load-image</strong> <em>file</em></dt> -<dd><p>Load the image in <var>file</var> and return an SDL surface. -</p></dd></dl> - -<dl> -<dt id="index-save_002dpng">Procedure: <strong>save-png</strong> <em>surface file</em></dt> -<dd><p>Save <var>surface</var> to <var>file</var> as a PNG formatted image. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Index.html b/manuals/guile-sdl2/Index.html deleted file mode 100644 index c827b2a..0000000 --- a/manuals/guile-sdl2/Index.html +++ /dev/null @@ -1,557 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Index (Guile-SDL2)</title> - -<meta name="description" content="Index (Guile-SDL2)"> -<meta name="keywords" content="Index (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="index.html" rel="up" title="Top"> -<link href="GNU-Free-Documentation-License.html" rel="prev" title="GNU Free Documentation License"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Index"></span><div class="header"> -<p> -Previous: <a href="Copying-This-Manual.html" accesskey="p" rel="prev">Copying This Manual</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Index-1"></span><h2 class="unnumbered">Index</h2> - -<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Index_fn_symbol-1"><b>%</b></a> - -<br> -<a class="summary-letter" href="#Index_fn_letter-A"><b>A</b></a> - -<a class="summary-letter" href="#Index_fn_letter-B"><b>B</b></a> - -<a class="summary-letter" href="#Index_fn_letter-C"><b>C</b></a> - -<a class="summary-letter" href="#Index_fn_letter-D"><b>D</b></a> - -<a class="summary-letter" href="#Index_fn_letter-F"><b>F</b></a> - -<a class="summary-letter" href="#Index_fn_letter-G"><b>G</b></a> - -<a class="summary-letter" href="#Index_fn_letter-H"><b>H</b></a> - -<a class="summary-letter" href="#Index_fn_letter-I"><b>I</b></a> - -<a class="summary-letter" href="#Index_fn_letter-J"><b>J</b></a> - -<a class="summary-letter" href="#Index_fn_letter-K"><b>K</b></a> - -<a class="summary-letter" href="#Index_fn_letter-L"><b>L</b></a> - -<a class="summary-letter" href="#Index_fn_letter-M"><b>M</b></a> - -<a class="summary-letter" href="#Index_fn_letter-N"><b>N</b></a> - -<a class="summary-letter" href="#Index_fn_letter-O"><b>O</b></a> - -<a class="summary-letter" href="#Index_fn_letter-P"><b>P</b></a> - -<a class="summary-letter" href="#Index_fn_letter-Q"><b>Q</b></a> - -<a class="summary-letter" href="#Index_fn_letter-R"><b>R</b></a> - -<a class="summary-letter" href="#Index_fn_letter-S"><b>S</b></a> - -<a class="summary-letter" href="#Index_fn_letter-T"><b>T</b></a> - -<a class="summary-letter" href="#Index_fn_letter-U"><b>U</b></a> - -<a class="summary-letter" href="#Index_fn_letter-W"><b>W</b></a> - -</td></tr></table> -<table class="index-fn" border="0"> -<tr><td></td><th align="left">Index Entry</th><td> </td><th align="left"> Section</th></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Index_fn_symbol-1">%</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-_0025default_002dchunk_002dsize"><code>%default-chunk-size</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-_0025default_002dformat"><code>%default-format</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-_0025default_002dfrequency"><code>%default-frequency</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Index_fn_letter-A">A</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Blend-Modes.html#index-add"><code>add</code></a>:</td><td> </td><td valign="top"><a href="Blend-Modes.html">Blend Modes</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Index_fn_letter-B">B</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Blend-Modes.html#index-blend"><code>blend</code></a>:</td><td> </td><td valign="top"><a href="Blend-Modes.html">Blend Modes</a></td></tr> -<tr><td></td><td valign="top"><a href="Blend-Modes.html#index-blend_002dmode_002dalpha_002doperation"><code>blend-mode-alpha-operation</code></a>:</td><td> </td><td valign="top"><a href="Blend-Modes.html">Blend Modes</a></td></tr> -<tr><td></td><td valign="top"><a href="Blend-Modes.html#index-blend_002dmode_002dcolor_002doperation"><code>blend-mode-color-operation</code></a>:</td><td> </td><td valign="top"><a href="Blend-Modes.html">Blend Modes</a></td></tr> -<tr><td></td><td valign="top"><a href="Blend-Modes.html#index-blend_002dmode_002ddst_002dalpha_002dfactor"><code>blend-mode-dst-alpha-factor</code></a>:</td><td> </td><td valign="top"><a href="Blend-Modes.html">Blend Modes</a></td></tr> -<tr><td></td><td valign="top"><a href="Blend-Modes.html#index-blend_002dmode_002ddst_002dcolor_002dfactor"><code>blend-mode-dst-color-factor</code></a>:</td><td> </td><td valign="top"><a href="Blend-Modes.html">Blend Modes</a></td></tr> -<tr><td></td><td valign="top"><a href="Blend-Modes.html#index-blend_002dmode_002dsrc_002dalpha_002dfactor"><code>blend-mode-src-alpha-factor</code></a>:</td><td> </td><td valign="top"><a href="Blend-Modes.html">Blend Modes</a></td></tr> -<tr><td></td><td valign="top"><a href="Blend-Modes.html#index-blend_002dmode_002dsrc_002dcolor_002dfactor"><code>blend-mode-src-color-factor</code></a>:</td><td> </td><td valign="top"><a href="Blend-Modes.html">Blend Modes</a></td></tr> -<tr><td></td><td valign="top"><a href="Blend-Modes.html#index-blend_002dmode_003f"><code>blend-mode?</code></a>:</td><td> </td><td valign="top"><a href="Blend-Modes.html">Blend Modes</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-blit_002dscaled"><code>blit-scaled</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-blit_002dsurface"><code>blit-surface</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-bytevector_002d_003esurface"><code>bytevector->surface</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Index_fn_letter-C">C</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="OpenGL.html#index-call_002dwith_002dgl_002dcontext"><code>call-with-gl-context</code></a>:</td><td> </td><td valign="top"><a href="OpenGL.html">OpenGL</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-call_002dwith_002drenderer"><code>call-with-renderer</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-call_002dwith_002dsurface"><code>call-with-surface</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-call_002dwith_002dwindow"><code>call-with-window</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-channel_002dpaused_003f"><code>channel-paused?</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-channel_002dplaying_003f"><code>channel-playing?</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-chunk_003f"><code>chunk?</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-clear_002drenderer"><code>clear-renderer</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-close_002daudio"><code>close-audio</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Game-Controllers.html#index-close_002dgame_002dcontroller"><code>close-game-controller</code></a>:</td><td> </td><td valign="top"><a href="Game-Controllers.html">Game Controllers</a></td></tr> -<tr><td></td><td valign="top"><a href="Joysticks.html#index-close_002djoystick"><code>close-joystick</code></a>:</td><td> </td><td valign="top"><a href="Joysticks.html">Joysticks</a></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-close_002dwindow_0021"><code>close-window!</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-color_002da"><code>color-a</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-color_002db"><code>color-b</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-color_002dg"><code>color-g</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-color_002dr"><code>color-r</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-color_003f"><code>color?</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-controller_002dadded_002devent_003f"><code>controller-added-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-controller_002daxis_002devent_002daxis"><code>controller-axis-event-axis</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-controller_002daxis_002devent_002dtimestamp"><code>controller-axis-event-timestamp</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-controller_002daxis_002devent_002dvalue"><code>controller-axis-event-value</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-controller_002daxis_002devent_002dwhich"><code>controller-axis-event-which</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-controller_002daxis_002devent_003f"><code>controller-axis-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-controller_002dbutton_002ddown_002devent_003f"><code>controller-button-down-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-controller_002dbutton_002devent_002dbutton"><code>controller-button-event-button</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-controller_002dbutton_002devent_002dpressed_003f"><code>controller-button-event-pressed?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-controller_002dbutton_002devent_002dtimestamp"><code>controller-button-event-timestamp</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-controller_002dbutton_002devent_002dwhich"><code>controller-button-event-which</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-controller_002dbutton_002devent_003f"><code>controller-button-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-controller_002dbutton_002dup_002devent_003f"><code>controller-button-up-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-controller_002ddevice_002devent_002daction"><code>controller-device-event-action</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-controller_002ddevice_002devent_002dtimestamp"><code>controller-device-event-timestamp</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-controller_002ddevice_002devent_002dwhich"><code>controller-device-event-which</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-controller_002ddevice_002devent_003f"><code>controller-device-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-controller_002dremapped_002devent_003f"><code>controller-remapped-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-controller_002dremoved_002devent_003f"><code>controller-removed-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-convert_002dsurface_002dformat"><code>convert-surface-format</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Index_fn_letter-D">D</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-delete_002dchunk_0021"><code>delete-chunk!</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Mouse.html#index-delete_002dcursor_0021"><code>delete-cursor!</code></a>:</td><td> </td><td valign="top"><a href="Mouse.html">Mouse</a></td></tr> -<tr><td></td><td valign="top"><a href="Fonts.html#index-delete_002dfont_0021"><code>delete-font!</code></a>:</td><td> </td><td valign="top"><a href="Fonts.html">Fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="OpenGL.html#index-delete_002dgl_002dcontext_0021"><code>delete-gl-context!</code></a>:</td><td> </td><td valign="top"><a href="OpenGL.html">OpenGL</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-delete_002dmusic_0021"><code>delete-music!</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-delete_002drenderer_0021"><code>delete-renderer!</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-delete_002dsurface_0021"><code>delete-surface!</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-delete_002dtexture_0021"><code>delete-texture!</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-draw_002dline"><code>draw-line</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-draw_002dlines"><code>draw-lines</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-draw_002dpoint"><code>draw-point</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-draw_002dpoints"><code>draw-points</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-draw_002drect"><code>draw-rect</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-draw_002drects"><code>draw-rects</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Index_fn_letter-F">F</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-fill_002drect"><code>fill-rect</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-fill_002drect-1"><code>fill-rect</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-fill_002drects"><code>fill-rects</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Fonts.html#index-font"><code>font</code></a>:</td><td> </td><td valign="top"><a href="Fonts.html">Fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="Fonts.html#index-font-1"><code>font</code></a>:</td><td> </td><td valign="top"><a href="Fonts.html">Fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="Fonts.html#index-font_002dascent"><code>font-ascent</code></a>:</td><td> </td><td valign="top"><a href="Fonts.html">Fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="Fonts.html#index-font_002ddescent"><code>font-descent</code></a>:</td><td> </td><td valign="top"><a href="Fonts.html">Fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="Fonts.html#index-font_002dglyph_002dindex"><code>font-glyph-index</code></a>:</td><td> </td><td valign="top"><a href="Fonts.html">Fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="Fonts.html#index-font_002dglyph_002dmetrics"><code>font-glyph-metrics</code></a>:</td><td> </td><td valign="top"><a href="Fonts.html">Fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="Fonts.html#index-font_002dheight"><code>font-height</code></a>:</td><td> </td><td valign="top"><a href="Fonts.html">Fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="Fonts.html#index-font_002dline_002dskip"><code>font-line-skip</code></a>:</td><td> </td><td valign="top"><a href="Fonts.html">Fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="Fonts.html#index-font_002dsize_002dtext"><code>font-size-text</code></a>:</td><td> </td><td valign="top"><a href="Fonts.html">Fonts</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Index_fn_letter-G">G</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Game-Controllers.html#index-game_002dcontroller_002dattached_003f"><code>game-controller-attached?</code></a>:</td><td> </td><td valign="top"><a href="Game-Controllers.html">Game Controllers</a></td></tr> -<tr><td></td><td valign="top"><a href="Game-Controllers.html#index-game_002dcontroller_002daxis"><code>game-controller-axis</code></a>:</td><td> </td><td valign="top"><a href="Game-Controllers.html">Game Controllers</a></td></tr> -<tr><td></td><td valign="top"><a href="Game-Controllers.html#index-game_002dcontroller_002dbutton_002dpressed_003f"><code>game-controller-button-pressed?</code></a>:</td><td> </td><td valign="top"><a href="Game-Controllers.html">Game Controllers</a></td></tr> -<tr><td></td><td valign="top"><a href="Game-Controllers.html#index-game_002dcontroller_002dindex_003f"><code>game-controller-index?</code></a>:</td><td> </td><td valign="top"><a href="Game-Controllers.html">Game Controllers</a></td></tr> -<tr><td></td><td valign="top"><a href="Game-Controllers.html#index-game_002dcontroller_002djoystick"><code>game-controller-joystick</code></a>:</td><td> </td><td valign="top"><a href="Game-Controllers.html">Game Controllers</a></td></tr> -<tr><td></td><td valign="top"><a href="Game-Controllers.html#index-game_002dcontroller_002dname"><code>game-controller-name</code></a>:</td><td> </td><td valign="top"><a href="Game-Controllers.html">Game Controllers</a></td></tr> -<tr><td></td><td valign="top"><a href="Game-Controllers.html#index-game_002dcontroller_003f"><code>game-controller?</code></a>:</td><td> </td><td valign="top"><a href="Game-Controllers.html">Game Controllers</a></td></tr> -<tr><td></td><td valign="top"><a href="Mouse.html#index-get_002dcursor"><code>get-cursor</code></a>:</td><td> </td><td valign="top"><a href="Mouse.html">Mouse</a></td></tr> -<tr><td></td><td valign="top"><a href="Hints.html#index-get_002dhint"><code>get-hint</code></a>:</td><td> </td><td valign="top"><a href="Hints.html">Hints</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Index_fn_letter-H">H</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-hide_002dwindow_0021"><code>hide-window!</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Index_fn_letter-I">I</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-id_002d_003ewindow"><code>id->window</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="Images.html#index-image_002dinit"><code>image-init</code></a>:</td><td> </td><td valign="top"><a href="Images.html">Images</a></td></tr> -<tr><td></td><td valign="top"><a href="Images.html#index-image_002dquit"><code>image-quit</code></a>:</td><td> </td><td valign="top"><a href="Images.html">Images</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Index_fn_letter-J">J</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-joystick_002daxis_002devent_002dbutton"><code>joystick-axis-event-button</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-joystick_002daxis_002devent_002dpressed_003f"><code>joystick-axis-event-pressed?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-joystick_002daxis_002devent_002dtimestamp"><code>joystick-axis-event-timestamp</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-joystick_002daxis_002devent_002dwhich"><code>joystick-axis-event-which</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-joystick_002daxis_002devent_003f"><code>joystick-axis-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-joystick_002dball_002devent_002dball"><code>joystick-ball-event-ball</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-joystick_002dball_002devent_002dtimestamp"><code>joystick-ball-event-timestamp</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-joystick_002dball_002devent_002dwhich"><code>joystick-ball-event-which</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-joystick_002dball_002devent_002dx_002drel"><code>joystick-ball-event-x-rel</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-joystick_002dball_002devent_002dy_002drel"><code>joystick-ball-event-y-rel</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-joystick_002dball_002devent_003f"><code>joystick-ball-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-joystick_002ddevice_002devent_002daction"><code>joystick-device-event-action</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-joystick_002ddevice_002devent_002dtimestamp"><code>joystick-device-event-timestamp</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-joystick_002ddevice_002devent_002dwhich"><code>joystick-device-event-which</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-joystick_002ddevice_002devent_003f"><code>joystick-device-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-joystick_002dhat_002devent_002dhat"><code>joystick-hat-event-hat</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-joystick_002dhat_002devent_002dtimestamp"><code>joystick-hat-event-timestamp</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-joystick_002dhat_002devent_002dvalue"><code>joystick-hat-event-value</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-joystick_002dhat_002devent_002dwhich"><code>joystick-hat-event-which</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-joystick_002dhat_002devent_003f"><code>joystick-hat-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Joysticks.html#index-joystick_002dinstance_002did"><code>joystick-instance-id</code></a>:</td><td> </td><td valign="top"><a href="Joysticks.html">Joysticks</a></td></tr> -<tr><td></td><td valign="top"><a href="Joysticks.html#index-joystick_002dnum_002daxes"><code>joystick-num-axes</code></a>:</td><td> </td><td valign="top"><a href="Joysticks.html">Joysticks</a></td></tr> -<tr><td></td><td valign="top"><a href="Joysticks.html#index-joystick_002dnum_002dballs"><code>joystick-num-balls</code></a>:</td><td> </td><td valign="top"><a href="Joysticks.html">Joysticks</a></td></tr> -<tr><td></td><td valign="top"><a href="Joysticks.html#index-joystick_002dnum_002dbuttons"><code>joystick-num-buttons</code></a>:</td><td> </td><td valign="top"><a href="Joysticks.html">Joysticks</a></td></tr> -<tr><td></td><td valign="top"><a href="Joysticks.html#index-joystick_002dnum_002dhats"><code>joystick-num-hats</code></a>:</td><td> </td><td valign="top"><a href="Joysticks.html">Joysticks</a></td></tr> -<tr><td></td><td valign="top"><a href="Joysticks.html#index-joystick_002dpower_002dlevel"><code>joystick-power-level</code></a>:</td><td> </td><td valign="top"><a href="Joysticks.html">Joysticks</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Index_fn_letter-K">K</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Keyboard.html#index-key_002dpressed_003f"><code>key-pressed?</code></a>:</td><td> </td><td valign="top"><a href="Keyboard.html">Keyboard</a></td></tr> -<tr><td></td><td valign="top"><a href="Keyboard.html#index-key_002dreleased_003f"><code>key-released?</code></a>:</td><td> </td><td valign="top"><a href="Keyboard.html">Keyboard</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-keyboard_002ddown_002devent_003f"><code>keyboard-down-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-keyboard_002devent_002dkey"><code>keyboard-event-key</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-keyboard_002devent_002dmodifiers"><code>keyboard-event-modifiers</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-keyboard_002devent_002dpressed_003f"><code>keyboard-event-pressed?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-keyboard_002devent_002drepeat_003f"><code>keyboard-event-repeat?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-keyboard_002devent_002dscancode"><code>keyboard-event-scancode</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-keyboard_002devent_002dtimestamp"><code>keyboard-event-timestamp</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-keyboard_002devent_002dwindow_002did"><code>keyboard-event-window-id</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-keyboard_002devent_003f"><code>keyboard-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-keyboard_002dup_002devent_003f"><code>keyboard-up-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Index_fn_letter-L">L</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-load_002dbmp"><code>load-bmp</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-load_002dchunk"><code>load-chunk</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Fonts.html#index-load_002dfont"><code>load-font</code></a>:</td><td> </td><td valign="top"><a href="Fonts.html">Fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="Game-Controllers.html#index-load_002dgame_002dcontroller_002dmappings_0021"><code>load-game-controller-mappings!</code></a>:</td><td> </td><td valign="top"><a href="Game-Controllers.html">Game Controllers</a></td></tr> -<tr><td></td><td valign="top"><a href="Images.html#index-load_002dimage"><code>load-image</code></a>:</td><td> </td><td valign="top"><a href="Images.html">Images</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-load_002dmusic"><code>load-music</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Index_fn_letter-M">M</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Blend-Modes.html#index-make_002dblend_002dmode"><code>make-blend-mode</code></a>:</td><td> </td><td valign="top"><a href="Blend-Modes.html">Blend Modes</a></td></tr> -<tr><td></td><td valign="top"><a href="Mouse.html#index-make_002dcolor_002dcursor"><code>make-color-cursor</code></a>:</td><td> </td><td valign="top"><a href="Mouse.html">Mouse</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-make_002dcontroller_002daxis_002devent"><code>make-controller-axis-event</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-make_002dcontroller_002dbutton_002devent"><code>make-controller-button-event</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-make_002dcontroller_002ddevice_002devent"><code>make-controller-device-event</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="OpenGL.html#index-make_002dgl_002dcontext"><code>make-gl-context</code></a>:</td><td> </td><td valign="top"><a href="OpenGL.html">OpenGL</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-make_002djoystick_002daxis_002devent"><code>make-joystick-axis-event</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-make_002djoystick_002dball_002devent"><code>make-joystick-ball-event</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-make_002djoystick_002ddevice_002devent"><code>make-joystick-device-event</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-make_002djoystick_002dhat_002devent"><code>make-joystick-hat-event</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-make_002dkeyboard_002devent"><code>make-keyboard-event</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-make_002dmouse_002dbutton_002devent"><code>make-mouse-button-event</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-make_002dmouse_002dmotion_002devent"><code>make-mouse-motion-event</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-make_002dquit_002devent"><code>make-quit-event</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Rects.html#index-make_002drect"><code>make-rect</code></a>:</td><td> </td><td valign="top"><a href="Rects.html">Rects</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-make_002drenderer"><code>make-renderer</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-make_002drgb_002dsurface"><code>make-rgb-surface</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Mouse.html#index-make_002dsystem_002dcursor"><code>make-system-cursor</code></a>:</td><td> </td><td valign="top"><a href="Mouse.html">Mouse</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-make_002dtext_002dinput_002devent"><code>make-text-input-event</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-make_002dtexture"><code>make-texture</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-make_002dwindow"><code>make-window</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-make_002dwindow_002devent"><code>make-window-event</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-maximize_002dwindow_0021"><code>maximize-window!</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-minimize_002dwindow_0021"><code>minimize-window!</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-mixer_002dinit"><code>mixer-init</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-mixer_002dquit"><code>mixer-quit</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Blend-Modes.html#index-mod"><code>mod</code></a>:</td><td> </td><td valign="top"><a href="Blend-Modes.html">Blend Modes</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-mouse_002dbutton_002ddown_002devent_003f"><code>mouse-button-down-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-mouse_002dbutton_002devent_002dbutton"><code>mouse-button-event-button</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-mouse_002dbutton_002devent_002dclicks"><code>mouse-button-event-clicks</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-mouse_002dbutton_002devent_002dpressed_003f"><code>mouse-button-event-pressed?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-mouse_002dbutton_002devent_002dtimestamp"><code>mouse-button-event-timestamp</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-mouse_002dbutton_002devent_002dwhich"><code>mouse-button-event-which</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-mouse_002dbutton_002devent_002dwindow_002did"><code>mouse-button-event-window-id</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-mouse_002dbutton_002devent_002dx"><code>mouse-button-event-x</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-mouse_002dbutton_002devent_002dy"><code>mouse-button-event-y</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-mouse_002dbutton_002devent_003f"><code>mouse-button-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Mouse.html#index-mouse_002dbutton_002dpressed_003f"><code>mouse-button-pressed?</code></a>:</td><td> </td><td valign="top"><a href="Mouse.html">Mouse</a></td></tr> -<tr><td></td><td valign="top"><a href="Mouse.html#index-mouse_002dbutton_002dreleased_003f"><code>mouse-button-released?</code></a>:</td><td> </td><td valign="top"><a href="Mouse.html">Mouse</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-mouse_002dbutton_002dup_002devent_003f"><code>mouse-button-up-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-mouse_002dmotion_002devent_002dbuttons"><code>mouse-motion-event-buttons</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-mouse_002dmotion_002devent_002dtimestamp"><code>mouse-motion-event-timestamp</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-mouse_002dmotion_002devent_002dwhich"><code>mouse-motion-event-which</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-mouse_002dmotion_002devent_002dwindow_002did"><code>mouse-motion-event-window-id</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-mouse_002dmotion_002devent_002dx"><code>mouse-motion-event-x</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-mouse_002dmotion_002devent_002dx_002drel"><code>mouse-motion-event-x-rel</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-mouse_002dmotion_002devent_002dy"><code>mouse-motion-event-y</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-mouse_002dmotion_002devent_002dy_002drel"><code>mouse-motion-event-y-rel</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-mouse_002dmotion_002devent_003f"><code>mouse-motion-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Mouse.html#index-mouse_002dx"><code>mouse-x</code></a>:</td><td> </td><td valign="top"><a href="Mouse.html">Mouse</a></td></tr> -<tr><td></td><td valign="top"><a href="Mouse.html#index-mouse_002dy"><code>mouse-y</code></a>:</td><td> </td><td valign="top"><a href="Mouse.html">Mouse</a></td></tr> -<tr><td></td><td valign="top"><a href="Blend-Modes.html#index-mul"><code>mul</code></a>:</td><td> </td><td valign="top"><a href="Blend-Modes.html">Blend Modes</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-music_002dpaused_003f"><code>music-paused?</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-music_002dplaying_003f"><code>music-playing?</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-music_002dvolume"><code>music-volume</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-music_003f"><code>music?</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Index_fn_letter-N">N</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Blend-Modes.html#index-none"><code>none</code></a>:</td><td> </td><td valign="top"><a href="Blend-Modes.html">Blend Modes</a></td></tr> -<tr><td></td><td valign="top"><a href="Joysticks.html#index-num_002djoysticks"><code>num-joysticks</code></a>:</td><td> </td><td valign="top"><a href="Joysticks.html">Joysticks</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Index_fn_letter-O">O</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-open_002daudio"><code>open-audio</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Game-Controllers.html#index-open_002dgame_002dcontroller"><code>open-game-controller</code></a>:</td><td> </td><td valign="top"><a href="Game-Controllers.html">Game Controllers</a></td></tr> -<tr><td></td><td valign="top"><a href="Joysticks.html#index-open_002djoystick"><code>open-joystick</code></a>:</td><td> </td><td valign="top"><a href="Joysticks.html">Joysticks</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Index_fn_letter-P">P</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-palette_002dcolors"><code>palette-colors</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-palette_002dlength"><code>palette-length</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-palette_003f"><code>palette?</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-pause_002dchannel_0021"><code>pause-channel!</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-pause_002dmusic_0021"><code>pause-music!</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-paused_002dchannels_002dcount"><code>paused-channels-count</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-pixel_002dformat_002dalpha_002dmask"><code>pixel-format-alpha-mask</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-pixel_002dformat_002dbits_002dper_002dpixel"><code>pixel-format-bits-per-pixel</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-pixel_002dformat_002dblue_002dmask"><code>pixel-format-blue-mask</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-pixel_002dformat_002dbytes_002dper_002dpixel"><code>pixel-format-bytes-per-pixel</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-pixel_002dformat_002dgreen_002dmask"><code>pixel-format-green-mask</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-pixel_002dformat_002dname"><code>pixel-format-name</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-pixel_002dformat_002dpalette"><code>pixel-format-palette</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-pixel_002dformat_002dred_002dmask"><code>pixel-format-red-mask</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-pixel_002dformat_003f"><code>pixel-format?</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-play_002dchunk_0021"><code>play-chunk!</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-play_002dmusic_0021"><code>play-music!</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-playing_002dchannels_002dcount"><code>playing-channels-count</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-poll_002devent"><code>poll-event</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-present_002drenderer"><code>present-renderer</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Index_fn_letter-Q">Q</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-query_002dtexture"><code>query-texture</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-quit_002devent_002dtimestamp"><code>quit-event-timestamp</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-quit_002devent_003f"><code>quit-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Index_fn_letter-R">R</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-raise_002dwindow_0021"><code>raise-window!</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="Rects.html#index-rect_002dheight"><code>rect-height</code></a>:</td><td> </td><td valign="top"><a href="Rects.html">Rects</a></td></tr> -<tr><td></td><td valign="top"><a href="Rects.html#index-rect_002dwidth"><code>rect-width</code></a>:</td><td> </td><td valign="top"><a href="Rects.html">Rects</a></td></tr> -<tr><td></td><td valign="top"><a href="Rects.html#index-rect_002dx"><code>rect-x</code></a>:</td><td> </td><td valign="top"><a href="Rects.html">Rects</a></td></tr> -<tr><td></td><td valign="top"><a href="Rects.html#index-rect_002dy"><code>rect-y</code></a>:</td><td> </td><td valign="top"><a href="Rects.html">Rects</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-render_002dcopy"><code>render-copy</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Fonts.html#index-render_002dfont_002dblended"><code>render-font-blended</code></a>:</td><td> </td><td valign="top"><a href="Fonts.html">Fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="Fonts.html#index-render_002dfont_002dsolid"><code>render-font-solid</code></a>:</td><td> </td><td valign="top"><a href="Fonts.html">Fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-renderer_002dinteger_002dscale"><code>renderer-integer-scale</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-renderer_002dlogical_002dsize"><code>renderer-logical-size</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-renderer_002dscale"><code>renderer-scale</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-renderer_002dtarget"><code>renderer-target</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-renderer_002dviewport"><code>renderer-viewport</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-renderer_003f"><code>renderer?</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-restore_002dwindow_0021"><code>restore-window!</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-resume_002dchannel_0021"><code>resume-channel!</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-resume_002dmusic_0021"><code>resume-music!</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-rewind_002dmusic_0021"><code>rewind-music!</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Index_fn_letter-S">S</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Images.html#index-save_002dpng"><code>save-png</code></a>:</td><td> </td><td valign="top"><a href="Images.html">Images</a></td></tr> -<tr><td></td><td valign="top"><a href="Basics.html#index-sdl_002dinit"><code>sdl-init</code></a>:</td><td> </td><td valign="top"><a href="Basics.html">Basics</a></td></tr> -<tr><td></td><td valign="top"><a href="Basics.html#index-sdl_002dperformance_002dcounter"><code>sdl-performance-counter</code></a>:</td><td> </td><td valign="top"><a href="Basics.html">Basics</a></td></tr> -<tr><td></td><td valign="top"><a href="Basics.html#index-sdl_002dperformance_002dfrequency"><code>sdl-performance-frequency</code></a>:</td><td> </td><td valign="top"><a href="Basics.html">Basics</a></td></tr> -<tr><td></td><td valign="top"><a href="Basics.html#index-sdl_002dquit"><code>sdl-quit</code></a>:</td><td> </td><td valign="top"><a href="Basics.html">Basics</a></td></tr> -<tr><td></td><td valign="top"><a href="Basics.html#index-sdl_002dticks"><code>sdl-ticks</code></a>:</td><td> </td><td valign="top"><a href="Basics.html">Basics</a></td></tr> -<tr><td></td><td valign="top"><a href="Basics.html#index-sdl_002dversion"><code>sdl-version</code></a>:</td><td> </td><td valign="top"><a href="Basics.html">Basics</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-set_002dchannel_002dvolume_0021"><code>set-channel-volume!</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-set_002dchunk_002dvolume_0021"><code>set-chunk-volume!</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Mouse.html#index-set_002dcursor_0021"><code>set-cursor!</code></a>:</td><td> </td><td valign="top"><a href="Mouse.html">Mouse</a></td></tr> -<tr><td></td><td valign="top"><a href="OpenGL.html#index-set_002dgl_002dattribute_0021"><code>set-gl-attribute!</code></a>:</td><td> </td><td valign="top"><a href="OpenGL.html">OpenGL</a></td></tr> -<tr><td></td><td valign="top"><a href="OpenGL.html#index-set_002dgl_002dswap_002dinterval_0021"><code>set-gl-swap-interval!</code></a>:</td><td> </td><td valign="top"><a href="OpenGL.html">OpenGL</a></td></tr> -<tr><td></td><td valign="top"><a href="Hints.html#index-set_002dhint_0021"><code>set-hint!</code></a>:</td><td> </td><td valign="top"><a href="Hints.html">Hints</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-set_002dmusic_002dvolume_0021"><code>set-music-volume!</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Rects.html#index-set_002drect_002dheight_0021"><code>set-rect-height!</code></a>:</td><td> </td><td valign="top"><a href="Rects.html">Rects</a></td></tr> -<tr><td></td><td valign="top"><a href="Rects.html#index-set_002drect_002dwidth_0021"><code>set-rect-width!</code></a>:</td><td> </td><td valign="top"><a href="Rects.html">Rects</a></td></tr> -<tr><td></td><td valign="top"><a href="Rects.html#index-set_002drect_002dx_0021"><code>set-rect-x!</code></a>:</td><td> </td><td valign="top"><a href="Rects.html">Rects</a></td></tr> -<tr><td></td><td valign="top"><a href="Rects.html#index-set_002drect_002dy_0021"><code>set-rect-y!</code></a>:</td><td> </td><td valign="top"><a href="Rects.html">Rects</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-set_002drenderer_002ddraw_002dblend_002dmode_0021"><code>set-renderer-draw-blend-mode!</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-set_002drenderer_002ddraw_002dcolor_0021"><code>set-renderer-draw-color!</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-set_002drenderer_002dinteger_002dscale_0021"><code>set-renderer-integer-scale!</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-set_002drenderer_002dlogical_002dsize_0021"><code>set-renderer-logical-size!</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-set_002drenderer_002dscale_0021"><code>set-renderer-scale!</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-set_002drenderer_002dtarget_0021"><code>set-renderer-target!</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-set_002drenderer_002dviewport_0021"><code>set-renderer-viewport!</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-set_002dtexture_002dalpha_002dmod_0021"><code>set-texture-alpha-mod!</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-set_002dtexture_002dblend_002dmode_0021"><code>set-texture-blend-mode!</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-set_002dtexture_002dcolor_002dmod_0021"><code>set-texture-color-mod!</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-set_002dwindow_002dborder_0021"><code>set-window-border!</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-set_002dwindow_002dfullscreen_0021"><code>set-window-fullscreen!</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-set_002dwindow_002dicon_0021"><code>set-window-icon!</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-set_002dwindow_002dmaximum_002dsize_0021"><code>set-window-maximum-size!</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-set_002dwindow_002dminimum_002dsize_0021"><code>set-window-minimum-size!</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-set_002dwindow_002dposition_0021"><code>set-window-position!</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-set_002dwindow_002dresizable_0021"><code>set-window-resizable!</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-set_002dwindow_002dsize_0021"><code>set-window-size!</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-set_002dwindow_002dtitle_0021"><code>set-window-title!</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-show_002dwindow_0021"><code>show-window!</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-stop_002dchannel_0021"><code>stop-channel!</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Sound.html#index-stop_002dmusic_0021"><code>stop-music!</code></a>:</td><td> </td><td valign="top"><a href="Sound.html">Sound</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-surface_002d_003etexture"><code>surface->texture</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-surface_002dheight"><code>surface-height</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-surface_002dpitch"><code>surface-pitch</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-surface_002dpixel_002dformat"><code>surface-pixel-format</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-surface_002dpixels"><code>surface-pixels</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="Surfaces.html#index-surface_002dwidth"><code>surface-width</code></a>:</td><td> </td><td valign="top"><a href="Surfaces.html">Surfaces</a></td></tr> -<tr><td></td><td valign="top"><a href="OpenGL.html#index-swap_002dgl_002dwindow"><code>swap-gl-window</code></a>:</td><td> </td><td valign="top"><a href="OpenGL.html">OpenGL</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Index_fn_letter-T">T</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-text_002dinput_002devent_002dtext"><code>text-input-event-text</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-text_002dinput_002devent_002dtimestamp"><code>text-input-event-timestamp</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-text_002dinput_002devent_002dwindow_002did"><code>text-input-event-window-id</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-text_002dinput_002devent_003f"><code>text-input-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-texture_002dalpha_002dmod"><code>texture-alpha-mod</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-texture_002dcolor_002dmod"><code>texture-color-mod</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td></td><td valign="top"><a href="Fonts.html#index-ttf_002dinit"><code>ttf-init</code></a>:</td><td> </td><td valign="top"><a href="Fonts.html">Fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="Fonts.html#index-ttf_002dquit"><code>ttf-quit</code></a>:</td><td> </td><td valign="top"><a href="Fonts.html">Fonts</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Index_fn_letter-U">U</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Rendering.html#index-update_002dtexture"><code>update-texture</code></a>:</td><td> </td><td valign="top"><a href="Rendering.html">Rendering</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Index_fn_letter-W">W</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-window_002dclosed_002devent_003f"><code>window-closed-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-window_002denter_002devent_003f"><code>window-enter-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-window_002devent_002dtimestamp"><code>window-event-timestamp</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-window_002devent_002dtype"><code>window-event-type</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-window_002devent_002dvector"><code>window-event-vector</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-window_002devent_002dwindow_002did"><code>window-event-window-id</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-window_002devent_003f"><code>window-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-window_002dexposed_002devent_003f"><code>window-exposed-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-window_002dfocus_002dgained_002devent_003f"><code>window-focus-gained-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-window_002dfocus_002dlost_002devent_003f"><code>window-focus-lost-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-window_002dhidden_002devent_003f"><code>window-hidden-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-window_002did"><code>window-id</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-window_002dleave_002devent_003f"><code>window-leave-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-window_002dmaximized_002devent_003f"><code>window-maximized-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-window_002dmaximum_002dsize"><code>window-maximum-size</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-window_002dminimized_002devent_003f"><code>window-minimized-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-window_002dminimum_002dsize"><code>window-minimum-size</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-window_002dmoved_002devent_003f"><code>window-moved-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-window_002dposition"><code>window-position</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-window_002dresized_002devent_003f"><code>window-resized-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-window_002drestored_002devent_003f"><code>window-restored-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-window_002dshown_002devent_003f"><code>window-shown-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-window_002dsize"><code>window-size</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="Events.html#index-window_002dsize_002dchanged_002devent_003f"><code>window-size-changed-event?</code></a>:</td><td> </td><td valign="top"><a href="Events.html">Events</a></td></tr> -<tr><td></td><td valign="top"><a href="Windows.html#index-window_002dtitle"><code>window-title</code></a>:</td><td> </td><td valign="top"><a href="Windows.html">Windows</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -</table> -<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Index_fn_symbol-1"><b>%</b></a> - -<br> -<a class="summary-letter" href="#Index_fn_letter-A"><b>A</b></a> - -<a class="summary-letter" href="#Index_fn_letter-B"><b>B</b></a> - -<a class="summary-letter" href="#Index_fn_letter-C"><b>C</b></a> - -<a class="summary-letter" href="#Index_fn_letter-D"><b>D</b></a> - -<a class="summary-letter" href="#Index_fn_letter-F"><b>F</b></a> - -<a class="summary-letter" href="#Index_fn_letter-G"><b>G</b></a> - -<a class="summary-letter" href="#Index_fn_letter-H"><b>H</b></a> - -<a class="summary-letter" href="#Index_fn_letter-I"><b>I</b></a> - -<a class="summary-letter" href="#Index_fn_letter-J"><b>J</b></a> - -<a class="summary-letter" href="#Index_fn_letter-K"><b>K</b></a> - -<a class="summary-letter" href="#Index_fn_letter-L"><b>L</b></a> - -<a class="summary-letter" href="#Index_fn_letter-M"><b>M</b></a> - -<a class="summary-letter" href="#Index_fn_letter-N"><b>N</b></a> - -<a class="summary-letter" href="#Index_fn_letter-O"><b>O</b></a> - -<a class="summary-letter" href="#Index_fn_letter-P"><b>P</b></a> - -<a class="summary-letter" href="#Index_fn_letter-Q"><b>Q</b></a> - -<a class="summary-letter" href="#Index_fn_letter-R"><b>R</b></a> - -<a class="summary-letter" href="#Index_fn_letter-S"><b>S</b></a> - -<a class="summary-letter" href="#Index_fn_letter-T"><b>T</b></a> - -<a class="summary-letter" href="#Index_fn_letter-U"><b>U</b></a> - -<a class="summary-letter" href="#Index_fn_letter-W"><b>W</b></a> - -</td></tr></table> - -<hr> -<div class="header"> -<p> -Previous: <a href="Copying-This-Manual.html" accesskey="p" rel="prev">Copying This Manual</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Input.html b/manuals/guile-sdl2/Input.html deleted file mode 100644 index b522019..0000000 --- a/manuals/guile-sdl2/Input.html +++ /dev/null @@ -1,105 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Input (Guile-SDL2)</title> - -<meta name="description" content="Input (Guile-SDL2)"> -<meta name="keywords" content="Input (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="API-Reference.html" rel="up" title="API Reference"> -<link href="Keyboard.html" rel="next" title="Keyboard"> -<link href="OpenGL.html" rel="prev" title="OpenGL"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Input"></span><div class="header"> -<p> -Next: <a href="Events.html" accesskey="n" rel="next">Events</a>, Previous: <a href="Window-Management.html" accesskey="p" rel="prev">Window Management</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Input-1"></span><h3 class="section">3.3 Input</h3> - -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Keyboard.html" accesskey="1">Keyboard</a></td><td> </td><td align="left" valign="top">Keyboard input. -</td></tr> -<tr><td align="left" valign="top">• <a href="Mouse.html" accesskey="2">Mouse</a></td><td> </td><td align="left" valign="top">Mouse input. -</td></tr> -<tr><td align="left" valign="top">• <a href="Joysticks.html" accesskey="3">Joysticks</a></td><td> </td><td align="left" valign="top">Joystick input. -</td></tr> -<tr><td align="left" valign="top">• <a href="Game-Controllers.html" accesskey="4">Game Controllers</a></td><td> </td><td align="left" valign="top">Game controller input. -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Installation.html b/manuals/guile-sdl2/Installation.html deleted file mode 100644 index 836209c..0000000 --- a/manuals/guile-sdl2/Installation.html +++ /dev/null @@ -1,107 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Installation (Guile-SDL2)</title> - -<meta name="description" content="Installation (Guile-SDL2)"> -<meta name="keywords" content="Installation (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="index.html" rel="up" title="Top"> -<link href="Requirements.html" rel="next" title="Requirements"> -<link href="Introduction.html" rel="prev" title="Introduction"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Installation"></span><div class="header"> -<p> -Next: <a href="API-Reference.html" accesskey="n" rel="next">API Reference</a>, Previous: <a href="Introduction.html" accesskey="p" rel="prev">Introduction</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Installation-1"></span><h2 class="chapter">2 Installation</h2> - -<p>Guile-SDL2 is available for download from its website at -<a href="dthompson.us/projects/guile-sdl2.html">dthompson.us/projects/guile-sdl2.html</a>. This section describes -the software requirements of Guile-SDL2, as well as how to install it. -</p> -<p>The build procedure for Guile-SDL2 is the same as for GNU software -packages, and is not covered here. Please see the files -<samp>README.org</samp> and <samp>INSTALL.org</samp> for additional details. -</p> -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Requirements.html" accesskey="1">Requirements</a></td><td> </td><td align="left" valign="top">Software needed to build and run Guile-SDL2. -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Introduction.html b/manuals/guile-sdl2/Introduction.html deleted file mode 100644 index 5282c17..0000000 --- a/manuals/guile-sdl2/Introduction.html +++ /dev/null @@ -1,111 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Introduction (Guile-SDL2)</title> - -<meta name="description" content="Introduction (Guile-SDL2)"> -<meta name="keywords" content="Introduction (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="index.html" rel="up" title="Top"> -<link href="Installation.html" rel="next" title="Installation"> -<link href="index.html" rel="prev" title="Top"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Introduction"></span><div class="header"> -<p> -Next: <a href="Installation.html" accesskey="n" rel="next">Installation</a>, Previous: <a href="index.html" accesskey="p" rel="prev">Top</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Introduction-1"></span><h2 class="chapter">1 Introduction</h2> - -<p>Guile-SDL2 provides both low-level and high-level Guile Scheme -bindings to the Simple DirectMedia Layer version 2.0 C library. The -bindings are written in pure Scheme by using Guile’s foreign function -interface. In addition to the SDL2 core library, bindings are also -provided for the SDL2_image, SDL2_mixer, and SDL2_ttf add-on -libraries. -</p> -<p>While Guile-SDL2 does provide direct, low-level bindings for the SDL2 -C API, its main feature is exposing high-level interfaces that Scheme -programmers will find comfortable to use, hiding away the ugly, -foreign C details. This manual will cover only the high-level API. -see <a href="API-Reference.html">API Reference</a> -</p> -<p>As of this writing, the bindings are useful, but <em>incomplete</em>. -If you find an SDL2 feature that you cannot use with Guile-SDL2, let -us know and maybe send a patch! see <a href="Contributing.html">Contributing</a> -</p> - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Joysticks.html b/manuals/guile-sdl2/Joysticks.html deleted file mode 100644 index 2c9bcd8..0000000 --- a/manuals/guile-sdl2/Joysticks.html +++ /dev/null @@ -1,146 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Joysticks (Guile-SDL2)</title> - -<meta name="description" content="Joysticks (Guile-SDL2)"> -<meta name="keywords" content="Joysticks (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Input.html" rel="up" title="Input"> -<link href="Game-Controllers.html" rel="next" title="Game Controllers"> -<link href="Mouse.html" rel="prev" title="Mouse"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Joysticks"></span><div class="header"> -<p> -Next: <a href="Game-Controllers.html" accesskey="n" rel="next">Game Controllers</a>, Previous: <a href="Mouse.html" accesskey="p" rel="prev">Mouse</a>, Up: <a href="Input.html" accesskey="u" rel="up">Input</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Joysticks-1"></span><h4 class="subsection">3.3.3 Joysticks</h4> - -<div class="example"> -<pre class="example">(use-modules (sdl2 input joystick)) -</pre></div> - -<dl> -<dt id="index-num_002djoysticks">Procedure: <strong>num-joysticks</strong></dt> -<dd><p>Return the current number of connected joystick devices. -</p></dd></dl> - -<dl> -<dt id="index-open_002djoystick">Procedure: <strong>open-joystick</strong> <em>device-index</em></dt> -<dd><p>Return a joystick object for the physical joystick device associated -with <var>device-index</var>. -</p></dd></dl> - -<dl> -<dt id="index-close_002djoystick">Procedure: <strong>close-joystick</strong> <em>joystick</em></dt> -<dd><p>Close <var>joystick</var>. -</p></dd></dl> - -<dl> -<dt id="index-joystick_002dinstance_002did">Procedure: <strong>joystick-instance-id</strong> <em>joystick</em></dt> -<dd><p>Return the instance id of <var>joystick</var>. -</p></dd></dl> - -<dl> -<dt id="index-joystick_002dpower_002dlevel">Procedure: <strong>joystick-power-level</strong> <em>joystick</em></dt> -<dd><p>Return the symbolic battery power level for <var>joystick</var>, either -<code>unknown</code>, <code>empty</code>, <code>low</code>, <code>medium</code>, <code>full</code>, -or <code>wired</code>. -</p></dd></dl> - -<dl> -<dt id="index-joystick_002dnum_002daxes">Procedure: <strong>joystick-num-axes</strong> <em>joystick</em></dt> -<dd><p>Return the number of axes for <var>joystick</var>. -</p></dd></dl> - -<dl> -<dt id="index-joystick_002dnum_002dballs">Procedure: <strong>joystick-num-balls</strong> <em>joystick</em></dt> -<dd><p>Return the number of balls for <var>joystick</var>. -</p></dd></dl> - -<dl> -<dt id="index-joystick_002dnum_002dbuttons">Procedure: <strong>joystick-num-buttons</strong> <em>joystick</em></dt> -<dd><p>Return the number of buttons for <var>joystick</var>. -</p></dd></dl> - -<dl> -<dt id="index-joystick_002dnum_002dhats">Procedure: <strong>joystick-num-hats</strong> <em>joystick</em></dt> -<dd><p>Return the number of hats for <var>joystick</var>. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Keyboard.html b/manuals/guile-sdl2/Keyboard.html deleted file mode 100644 index 60f3e61..0000000 --- a/manuals/guile-sdl2/Keyboard.html +++ /dev/null @@ -1,108 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Keyboard (Guile-SDL2)</title> - -<meta name="description" content="Keyboard (Guile-SDL2)"> -<meta name="keywords" content="Keyboard (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Input.html" rel="up" title="Input"> -<link href="Mouse.html" rel="next" title="Mouse"> -<link href="Input.html" rel="prev" title="Input"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Keyboard"></span><div class="header"> -<p> -Next: <a href="Mouse.html" accesskey="n" rel="next">Mouse</a>, Up: <a href="Input.html" accesskey="u" rel="up">Input</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Keyboard-1"></span><h4 class="subsection">3.3.1 Keyboard</h4> - -<div class="example"> -<pre class="example">(use-modules (sdl2 input keyboard)) -</pre></div> - -<dl> -<dt id="index-key_002dpressed_003f">Procedure: <strong>key-pressed?</strong> <em>key</em></dt> -<dd><p>Return <code>#t</code> if <var>key</var> is currently being pressed. -</p></dd></dl> - -<dl> -<dt id="index-key_002dreleased_003f">Procedure: <strong>key-released?</strong> <em>key</em></dt> -<dd><p>Return <code>#t</code> is <var>key</var> is not currently being pressed. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Mouse.html b/manuals/guile-sdl2/Mouse.html deleted file mode 100644 index f8dc136..0000000 --- a/manuals/guile-sdl2/Mouse.html +++ /dev/null @@ -1,164 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Mouse (Guile-SDL2)</title> - -<meta name="description" content="Mouse (Guile-SDL2)"> -<meta name="keywords" content="Mouse (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Input.html" rel="up" title="Input"> -<link href="Joysticks.html" rel="next" title="Joysticks"> -<link href="Keyboard.html" rel="prev" title="Keyboard"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Mouse"></span><div class="header"> -<p> -Next: <a href="Joysticks.html" accesskey="n" rel="next">Joysticks</a>, Previous: <a href="Keyboard.html" accesskey="p" rel="prev">Keyboard</a>, Up: <a href="Input.html" accesskey="u" rel="up">Input</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Mouse-1"></span><h4 class="subsection">3.3.2 Mouse</h4> - -<div class="example"> -<pre class="example">(use-modules (sdl2 input mouse)) -</pre></div> - -<dl> -<dt id="index-mouse_002dx">Procedure: <strong>mouse-x</strong></dt> -<dd><p>Return the x coordinate of the mouse cursor. -</p></dd></dl> - -<dl> -<dt id="index-mouse_002dy">Procedure: <strong>mouse-y</strong></dt> -<dd><p>Return the y coordinate of the mouse cursor. -</p></dd></dl> - -<dl> -<dt id="index-mouse_002dbutton_002dpressed_003f">Procedure: <strong>mouse-button-pressed?</strong> <em>button</em></dt> -<dd><p>Return <code>#t</code> if <var>button</var> is currently being pressed. -</p></dd></dl> - -<dl> -<dt id="index-mouse_002dbutton_002dreleased_003f">Procedure: <strong>mouse-button-released?</strong> <em>button</em></dt> -<dd><p>Return <code>#t</code> if <var>button</var> is not currently being pressed. -</p></dd></dl> - -<dl> -<dt id="index-make_002dsystem_002dcursor">Procedure: <strong>make-system-cursor</strong> <em>cursor-type</em></dt> -<dd><p>Create a new cursor from the system’s available set, chosen by -<var>cursor-type</var>. The possible values for <var>cursor-type</var> are: -</p> -<ul> -<li> <code>arrow</code> -</li><li> <code>crosshair</code> -</li><li> <code>hand</code> -</li><li> <code>i-beam</code> -</li><li> <code>size-north-south</code> -</li><li> <code>size-northwest-southeast</code> -</li><li> <code>size-northeast-southwest</code> -</li><li> <code>size-west-east</code> -</li><li> <code>size-all</code> -</li><li> <code>no</code> -</li><li> <code>wait</code> -</li><li> <code>wait-arrow</code> -</li></ul> - -</dd></dl> - -<dl> -<dt id="index-make_002dcolor_002dcursor">Procedure: <strong>make-color-cursor</strong> <em>surface hot-x hot-y</em></dt> -<dd><p>Create a new cursor from a surface and the given hotspot coordinates -(<var>hot-x</var>, <var>hot-y</var>). -</p></dd></dl> - -<dl> -<dt id="index-get_002dcursor">Procedure: <strong>get-cursor</strong></dt> -<dd><p>Return the cursor currently in use. The returned cursor object is -internally managed and it’s not necessary to call -<code>delete-cursor!</code> for it. -</p></dd></dl> - -<dl> -<dt id="index-set_002dcursor_0021">Procedure: <strong>set-cursor!</strong> <em>cursor</em></dt> -<dd><p>Set the current cursor to <var>cursor</var>. If <var>cursor</var> is <code>#f</code>, -the system default cursor is restored. -</p></dd></dl> - -<dl> -<dt id="index-delete_002dcursor_0021">Procedure: <strong>delete-cursor!</strong> <em>cursor</em></dt> -<dd><p>Free the memory used by <var>cursor</var>. Be careful! -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/guile-sdl2/OpenGL.html b/manuals/guile-sdl2/OpenGL.html deleted file mode 100644 index 5a288d7..0000000 --- a/manuals/guile-sdl2/OpenGL.html +++ /dev/null @@ -1,165 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>OpenGL (Guile-SDL2)</title> - -<meta name="description" content="OpenGL (Guile-SDL2)"> -<meta name="keywords" content="OpenGL (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Window-Management.html" rel="up" title="Window Management"> -<link href="Input.html" rel="next" title="Input"> -<link href="Windows.html" rel="prev" title="Windows"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="OpenGL"></span><div class="header"> -<p> -Previous: <a href="Windows.html" accesskey="p" rel="prev">Windows</a>, Up: <a href="Window-Management.html" accesskey="u" rel="up">Window Management</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="OpenGL-1"></span><h4 class="subsection">3.2.2 OpenGL</h4> - -<dl> -<dt id="index-make_002dgl_002dcontext">Procedure: <strong>make-gl-context</strong> <em>window</em></dt> -<dd><p>Create an OpenGL context for <var>window</var>. -</p></dd></dl> - -<dl> -<dt id="index-delete_002dgl_002dcontext_0021">Procedure: <strong>delete-gl-context!</strong> <em>context</em></dt> -<dd><p>Delete <var>context</var>, an OpenGL context object. -</p></dd></dl> - -<dl> -<dt id="index-call_002dwith_002dgl_002dcontext">Procedure: <strong>call-with-gl-context</strong> <em>window proc</em></dt> -<dd><p>Call <var>proc</var> with a new OpenGL context created for <var>window</var>, and -close the context when <var>proc</var> returns or otherwise exits. -</p></dd></dl> - -<dl> -<dt id="index-swap_002dgl_002dwindow">Procedure: <strong>swap-gl-window</strong> <em>window</em></dt> -<dd><p>Update <var>window</var> with OpenGL rendering. -</p></dd></dl> - -<dl> -<dt id="index-set_002dgl_002dattribute_0021">Procedure: <strong>set-gl-attribute!</strong> <em>attr value</em></dt> -<dd><p>Set the OpenGL attribute represented by the symbol <var>attr</var> to -<var>value</var>. Possible values for <var>attr</var> are: -</p> -<ul> -<li> <code>red-size</code> -</li><li> <code>green-size</code> -</li><li> <code>blue-size</code> -</li><li> <code>alpha-size</code> -</li><li> <code>buffer-size</code> -</li><li> <code>double-buffer</code> -</li><li> <code>depth-size</code> -</li><li> <code>stencil-size</code> -</li><li> <code>accum-red-size</code> -</li><li> <code>accum-green-size</code> -</li><li> <code>accum-blue-size</code> -</li><li> <code>stereo</code> -</li><li> <code>multisample-buffers</code> -</li><li> <code>multisample-samples</code> -</li><li> <code>retained-backing</code> -</li><li> <code>context-major-version</code> -</li><li> <code>context-minor-version</code> -</li><li> <code>context-egl</code> -</li><li> <code>context-flags</code> -</li><li> <code>context-profile-mask</code> -</li><li> <code>share-with-current-context</code> -</li><li> <code>framebuffer-srgb-capable</code> -</li></ul> - -</dd></dl> - -<dl> -<dt id="index-set_002dgl_002dswap_002dinterval_0021">Procedure: <strong>set-gl-swap-interval!</strong> <em>interval</em></dt> -<dd><p>Set the framebuffer swap interval for the current OpenGL context to the -type indicated by the symbol <var>interval</var>. Possible values of -<var>interval</var> are: -</p> -<ul> -<li> <code>immediate</code>, for immediate updates -</li><li> <code>vsync</code>, for updates synchronized with the screen’s vertical retrace -</li><li> <code>late-swap-tear</code>, for late swap tearing -</li></ul> - -<p>Late swap tearing works the same as vsync, but if the vertical retrace -has been missed for a given frame, buffers are swapped immediately, -which might be less jarring for the user during occasional framerate -drops. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Rects.html b/manuals/guile-sdl2/Rects.html deleted file mode 100644 index df6e017..0000000 --- a/manuals/guile-sdl2/Rects.html +++ /dev/null @@ -1,144 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Rects (Guile-SDL2)</title> - -<meta name="description" content="Rects (Guile-SDL2)"> -<meta name="keywords" content="Rects (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="API-Reference.html" rel="up" title="API Reference"> -<link href="Surfaces.html" rel="next" title="Surfaces"> -<link href="Events.html" rel="prev" title="Events"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Rects"></span><div class="header"> -<p> -Next: <a href="Surfaces.html" accesskey="n" rel="next">Surfaces</a>, Previous: <a href="Events.html" accesskey="p" rel="prev">Events</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Rects-1"></span><h3 class="section">3.5 Rects</h3> - -<div class="example"> -<pre class="example">(use-modules (sdl2 rect)) -</pre></div> - -<dl> -<dt id="index-make_002drect">Procedure: <strong>make-rect</strong> <em><var>x</var> <var>y</var> <var>width</var> <var>height</var></em></dt> -<dd><p>Return a new rectangle whose upper-left corner is at (<var>x</var>, -<var>y</var>) and is <var>width</var> pixels wide and <var>height</var> pixels high. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dx">Procedure: <strong>rect-x</strong> <em>rect</em></dt> -<dd><p>Return the X coordinate of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dy">Procedure: <strong>rect-y</strong> <em>rect</em></dt> -<dd><p>Return the Y coordinate of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dwidth">Procedure: <strong>rect-width</strong> <em>rect</em></dt> -<dd><p>Return the width of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt id="index-rect_002dheight">Procedure: <strong>rect-height</strong> <em>rect</em></dt> -<dd><p>Return the height of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002drect_002dx_0021">Procedure: <strong>set-rect-x!</strong> <em>rect x</em></dt> -<dd><p>Set the x coordinate of <var>rect</var> to <var>x</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002drect_002dy_0021">Procedure: <strong>set-rect-y!</strong> <em>rect y</em></dt> -<dd><p>Set the y coordinate of <var>rect</var> to <var>y</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002drect_002dwidth_0021">Procedure: <strong>set-rect-width!</strong> <em>rect w</em></dt> -<dd><p>Set the width of <var>rect</var> to <var>w</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002drect_002dheight_0021">Procedure: <strong>set-rect-height!</strong> <em>rect h</em></dt> -<dd><p>Set the height of <var>rect</var> to <var>h</var>. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Rendering.html b/manuals/guile-sdl2/Rendering.html deleted file mode 100644 index 1d78865..0000000 --- a/manuals/guile-sdl2/Rendering.html +++ /dev/null @@ -1,336 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Rendering (Guile-SDL2)</title> - -<meta name="description" content="Rendering (Guile-SDL2)"> -<meta name="keywords" content="Rendering (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="API-Reference.html" rel="up" title="API Reference"> -<link href="Blend-Modes.html" rel="next" title="Blend Modes"> -<link href="Surfaces.html" rel="prev" title="Surfaces"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Rendering"></span><div class="header"> -<p> -Next: <a href="Blend-Modes.html" accesskey="n" rel="next">Blend Modes</a>, Previous: <a href="Surfaces.html" accesskey="p" rel="prev">Surfaces</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Rendering-1"></span><h3 class="section">3.7 Rendering</h3> - -<div class="example"> -<pre class="example">(use-modules (sdl2 render)) -</pre></div> - -<dl> -<dt id="index-make_002drenderer">Procedure: <strong>make-renderer</strong> <em>window [#:optional flags='(accelerated vsync)]</em></dt> -<dd><p>Return a new renderer for <var>window</var> created with the options specified -in <var>flags</var>, a list of symbols. The valid symbols that may appear in -<var>flags</var> are: -</p> -<ul> -<li> software, to use a software renderer fallback -</li><li> accelerated, to use hardware acceleration -</li><li> vsync, to synchronize rendering with the monitor’s refresh rate -</li><li> texture, for render to texture support -</li></ul> -</dd></dl> - -<dl> -<dt id="index-renderer_003f">Procedure: <strong>renderer?</strong> <em>r</em></dt> -<dd><p>Return <code>#t</code> if <var>r</var> is a renderer. -</p></dd></dl> - -<dl> -<dt id="index-delete_002drenderer_0021">Procedure: <strong>delete-renderer!</strong> <em>renderer</em></dt> -<dd><p>Delete the rendering context <var>renderer</var>. -</p></dd></dl> - -<dl> -<dt id="index-call_002dwith_002drenderer">Procedure: <strong>call-with-renderer</strong> <em>renderer proc</em></dt> -<dd><p>Call <var>proc</var>, passing it <var>renderer</var> and closing <var>renderer</var> upon exit -of <var>proc</var>. -</p></dd></dl> - -<dl> -<dt id="index-clear_002drenderer">Procedure: <strong>clear-renderer</strong> <em>renderer</em></dt> -<dd><p>Clear the rendering target <var>renderer</var> with the current drawing color. -</p></dd></dl> - -<dl> -<dt id="index-present_002drenderer">Procedure: <strong>present-renderer</strong> <em>renderer</em></dt> -<dd><p>Display <var>renderer</var>. -</p></dd></dl> - -<dl> -<dt id="index-renderer_002dinteger_002dscale">Procedure: <strong>renderer-integer-scale</strong> <em>renderer</em></dt> -<dd><p>Returns <code>#t</code> if <var>renderer</var> currently uses integer scaling and -<code>#f</code> otherwise. Integer scaling can be used together with -logical size to effectively restrict the drawing region to an area -even if the window is larger than that. -</p></dd></dl> - -<dl> -<dt id="index-set_002drenderer_002dinteger_002dscale_0021">Procedure: <strong>set-renderer-integer-scale!</strong> <em>renderer enable?</em></dt> -<dd><p>If <var>enable?</var> is <code>#t</code>, enable integer scaling, otherwise -disable it. -</p></dd></dl> - -<dl> -<dt id="index-renderer_002dlogical_002dsize">Procedure: <strong>renderer-logical-size</strong> <em>renderer</em></dt> -<dd><p>Return the current logical size used by <var>renderer</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002drenderer_002dlogical_002dsize_0021">Procedure: <strong>set-renderer-logical-size!</strong> <em>renderer width height</em></dt> -<dd><p>Set the logical size of <var>renderer</var> to <var>width</var> x <var>height</var>. -</p></dd></dl> - -<dl> -<dt id="index-renderer_002dscale">Procedure: <strong>renderer-scale</strong> <em>renderer</em></dt> -<dd><p>Return the scaling factors <code>(X Y)</code> used by <var>renderer</var> to -scale coordinates. -</p></dd></dl> - -<dl> -<dt id="index-set_002drenderer_002dscale_0021">Procedure: <strong>set-renderer-scale!</strong> <em>renderer scale-x scale-y</em></dt> -<dd><p>Set the factors by which <var>renderer</var> scales coordinates according -to the scaling factors <var>scale-x</var> and <var>scale-y</var>. -</p></dd></dl> - -<dl> -<dt id="index-renderer_002dviewport">Procedure: <strong>renderer-viewport</strong> <em>renderer</em></dt> -<dd><p>Return the rectangle that <var>renderer</var> currently draws on. If the -entire region is used, all values of that rectangle will be 0. -</p></dd></dl> - -<dl> -<dt id="index-set_002drenderer_002dviewport_0021">Procedure: <strong>set-renderer-viewport!</strong> <em>renderer rect</em></dt> -<dd><p>Set the drawing area for <var>renderer</var> to <var>rect</var>. -</p></dd></dl> - -<dl> -<dt id="index-render_002dcopy">Procedure: <strong>render-copy</strong> <em>renderer texture [#:angle 0] [#:srcrect] [#:dstrect] [#:center]</em></dt> -<dd><p>Copy <var>texture</var> to the rendering target of <var>renderer</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002drenderer_002ddraw_002dcolor_0021">Procedure: <strong>set-renderer-draw-color!</strong> <em>renderer r g b a</em></dt> -<dd><p>Set color of <var>renderer</var> to the 32-bit color defined by the 8-bit -color channels <var>r</var>, <var>g</var>, <var>b</var>, <var>a</var>. Each color channel -value is in the range [0, 255]. -</p></dd></dl> - -<dl> -<dt id="index-set_002drenderer_002ddraw_002dblend_002dmode_0021">Procedure: <strong>set-renderer-draw-blend-mode!</strong> <em>renderer blend-mode</em></dt> -<dd><p>Set blend mode of <var>renderer</var> to <var>blend-mode</var>. See <a href="Blend-Modes.html">Blend Modes</a> for more information. -</p></dd></dl> - -<dl> -<dt id="index-set_002drenderer_002dtarget_0021">Procedure: <strong>set-renderer-target!</strong> <em>renderer texture</em></dt> -<dd><p>Sets the render target for <var>renderer</var> to <var>texture</var>, making all -comming draw requests redirect to <var>texture</var>. -</p> -<p>Pass <code>#f</code> to reset it to the default target. -</p></dd></dl> - -<dl> -<dt id="index-renderer_002dtarget">Procedure: <strong>renderer-target</strong> <em>renderer</em></dt> -<dd><p>Returns the current render target of <var>renderer</var> or <code>#f</code> if -it’s a texture. -</p></dd></dl> - -<dl> -<dt id="index-draw_002dline">Procedure: <strong>draw-line</strong> <em>renderer x1 y1 x2 y2</em></dt> -<dd><p>Draw a line from (<var>x1</var>, <var>y1</var>) to (<var>x2</var>, <var>y2</var>) on the -current rendering target of <var>renderer</var>. -</p></dd></dl> - -<dl> -<dt id="index-draw_002dlines">Procedure: <strong>draw-lines</strong> <em>renderer points</em></dt> -<dd><p>Draw a series of connected lines from <var>points</var> on the current -rendering target of <var>renderer</var>. Optionally, for best performance, -<var>points</var> may instead be a bytevector packed with signed 32 bit -integers, 2 per point (x and y). -</p></dd></dl> - -<dl> -<dt id="index-draw_002dpoint">Procedure: <strong>draw-point</strong> <em>renderer x y</em></dt> -<dd><p>Draw a point at (<var>x</var>, <var>y</var>) on the current rendering target -of <var>renderer</var>. -</p></dd></dl> - -<dl> -<dt id="index-draw_002dpoints">Procedure: <strong>draw-points</strong> <em>renderer points</em></dt> -<dd><p>Draw a multiple points from <var>points</var> on the current rendering -target of <var>renderer</var>. Optionally, for best performance, -<var>points</var> may instead be a bytevector packed with signed 32 bit -integers, 2 per point (x and y). -</p></dd></dl> - -<dl> -<dt id="index-draw_002drect">Procedure: <strong>draw-rect</strong> <em>renderer rectangle</em></dt> -<dd><p>Draw the outline of <var>rectangle</var> onto renderer. -</p></dd></dl> - -<dl> -<dt id="index-draw_002drects">Procedure: <strong>draw-rects</strong> <em>renderer rects</em></dt> -<dd><p>Draw the outline of all rects in the list <var>rects</var> onto -<var>renderer</var>. Optionally, for best performance, <var>rects</var> may -instead be a bytevector packed with signed 32 bit integers, 4 per rect -(x, y, width, height). -</p></dd></dl> - -<dl> -<dt id="index-fill_002drect-1">Procedure: <strong>fill-rect</strong> <em>renderer rectangle</em></dt> -<dd><p>Fill <var>rectangle</var> onto <var>renderer</var>. -</p></dd></dl> - -<dl> -<dt id="index-fill_002drects">Procedure: <strong>fill-rects</strong> <em>renderer rects</em></dt> -<dd><p>Fill the list <var>rects</var> onto <var>renderer</var>. Optionally, for best -performance, <var>rects</var> may instead be a bytevector packed with -signed 32 bit integers, 4 per rect (x, y, width, height). -</p></dd></dl> - -<dl> -<dt id="index-make_002dtexture">Procedure: <strong>make-texture</strong> <em>renderer format access width height</em></dt> -<dd><p>Returns a new texture for <var>renderer</var> with pixel <var>format</var>. -<var>access</var> is one of the symbols: -</p> -<ul> -<li> static, changes rarely, not lockable -</li><li> streaming, changes frequently, lockable -</li><li> target, can be used as a render target -requires that renderer was created with the <code>texture</code> flag. -</li></ul> -</dd></dl> - -<dl> -<dt id="index-query_002dtexture">Procedure: <strong>query-texture</strong> <em>texture</em></dt> -<dd><p>Return 4 values for the format, access, width and height of a texture. -</p></dd></dl> - -<dl> -<dt id="index-surface_002d_003etexture">Procedure: <strong>surface->texture</strong> <em>renderer surface</em></dt> -<dd><p>Convert <var>surface</var> to a texture suitable for <var>renderer</var>. -</p></dd></dl> - -<dl> -<dt id="index-delete_002dtexture_0021">Procedure: <strong>delete-texture!</strong> <em>texture</em></dt> -<dd><p>Free the memory used by <var>texture</var>. -</p></dd></dl> - -<dl> -<dt id="index-update_002dtexture">Procedure: <strong>update-texture</strong> <em>texture rect pixels pitch</em></dt> -<dd><p>Update the subsection of <var>texture</var> defined by <var>rect</var> with new -pixel data in the <var>pixels</var> bytevector. <var>pitch</var> represents the -number of bytes in a row of pixel data, including any padding between -rows. This is a fairly slow process: Better to use the lock/unlock -mechanism in streaming textures. -</p></dd></dl> - -<dl> -<dt id="index-texture_002dcolor_002dmod">Procedure: <strong>texture-color-mod</strong> <em>texture</em></dt> -<dd><p>Get color mod of <var>texture</var> as a list of the integers. -</p></dd></dl> - -<dl> -<dt id="index-texture_002dalpha_002dmod">Procedure: <strong>texture-alpha-mod</strong> <em>texture</em></dt> -<dd><p>Get alpha mod of <var>texture</var> as a single integer. -</p></dd></dl> - -<dl> -<dt id="index-set_002dtexture_002dcolor_002dmod_0021">Procedure: <strong>set-texture-color-mod!</strong> <em>texture r g b</em></dt> -<dd><p>Set the color mod of <var>texture</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dtexture_002dalpha_002dmod_0021">Procedure: <strong>set-texture-alpha-mod!</strong> <em>texture a</em></dt> -<dd><p>Set the alpha mod of <var>texture</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dtexture_002dblend_002dmode_0021">Procedure: <strong>set-texture-blend-mode!</strong> <em>texture blend-mode</em></dt> -<dd><p>Set the blend of <var>texture</var> to <var>blend-mode</var>. See <a href="Blend-Modes.html">Blend Modes</a> for more information. -</p></dd></dl> - -<hr> -<div class="header"> -<p> -Next: <a href="Blend-Modes.html" accesskey="n" rel="next">Blend Modes</a>, Previous: <a href="Surfaces.html" accesskey="p" rel="prev">Surfaces</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Requirements.html b/manuals/guile-sdl2/Requirements.html deleted file mode 100644 index cc0e7b8..0000000 --- a/manuals/guile-sdl2/Requirements.html +++ /dev/null @@ -1,109 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Requirements (Guile-SDL2)</title> - -<meta name="description" content="Requirements (Guile-SDL2)"> -<meta name="keywords" content="Requirements (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Installation.html" rel="up" title="Installation"> -<link href="API-Reference.html" rel="next" title="API Reference"> -<link href="Installation.html" rel="prev" title="Installation"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Requirements"></span><div class="header"> -<p> -Up: <a href="Installation.html" accesskey="u" rel="up">Installation</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Requirements-1"></span><h3 class="section">2.1 Requirements</h3> - -<p>Guile-SDL2 depends on the following packages: -</p> -<ul> -<li> <a href="https://gnu.org/software/guile">GNU Guile</a>, version 2.0.11 or later; -</li><li> <a href="https://libsdl.org">SDL2</a>, version 2.0.0 or later; -</li></ul> - -<p>Guile-SDL2 has the following optional dependencies: -</p> -<ul> -<li> <a href="https://www.libsdl.org/projects/SDL_image">SDL2_image</a>, version 2.0.0 or later; -</li><li> <a href="https://www.libsdl.org/projects/SDL_mixer">SDL2_mixer</a>, version 2.0.0 or later; -</li><li> <a href="https://www.libsdl.org/projects/SDL_ttf">SDL2_ttf</a>, version 2.0.0 or later; -</li></ul> - - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Sound.html b/manuals/guile-sdl2/Sound.html deleted file mode 100644 index 6dab26a..0000000 --- a/manuals/guile-sdl2/Sound.html +++ /dev/null @@ -1,303 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Sound (Guile-SDL2)</title> - -<meta name="description" content="Sound (Guile-SDL2)"> -<meta name="keywords" content="Sound (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="API-Reference.html" rel="up" title="API Reference"> -<link href="Fonts.html" rel="next" title="Fonts"> -<link href="Images.html" rel="prev" title="Images"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Sound"></span><div class="header"> -<p> -Next: <a href="Fonts.html" accesskey="n" rel="next">Fonts</a>, Previous: <a href="Images.html" accesskey="p" rel="prev">Images</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Sound-1"></span><h3 class="section">3.10 Sound</h3> - -<div class="example"> -<pre class="example">(use-modules (sdl2 mixer)) -</pre></div> - -<dl> -<dt id="index-_0025default_002dfrequency">Scheme Variable: <strong>%default-frequency</strong></dt> -</dl> - -<dl> -<dt id="index-_0025default_002dformat">Scheme Variable: <strong>%default-format</strong></dt> -</dl> - -<dl> -<dt id="index-_0025default_002dchunk_002dsize">Scheme Variable: <strong>%default-chunk-size</strong></dt> -</dl> - -<dl> -<dt id="index-mixer_002dinit">Procedure: <strong>mixer-init</strong> <em>[#:optional formats='(flac mod modplug mp3 ogg fluidsynth)]</em></dt> -<dd><p>Initialize mixer library with support for <var>formats</var>, a list of -symbols representing audio file formats. Possible formats are: -</p> -<ul> -<li> flac -</li><li> mod -</li><li> modplug -</li><li> mp3 -</li><li> ogg -</li><li> fluidsynth -</li></ul> -</dd></dl> - -<dl> -<dt id="index-mixer_002dquit">Procedure: <strong>mixer-quit</strong></dt> -<dd><p>Shutdown mixer library. -</p></dd></dl> - -<dl> -<dt id="index-open_002daudio">Procedure: <strong>open-audio</strong> <em>[#:frequency=%default-frequency] [#:format=%default-format] [#:stereo?=#t] [#:chunk-size=%default-chunk-size]</em></dt> -<dd><p>Initialize the mixer API. <var>frequency</var> specificies the sample rate in -hertz. When <var>stereo?</var> is <code>#t</code>, two output channels are used, otherwise -mono output is used instead. <var>chunk-size</var> specifies the number of bytes -used per output sample. <var>format</var> is a symbol that specifies the output -sample format. Possible values are: -</p> -<ul> -<li> u8 -</li><li> s8 -</li><li> u16lsb -</li><li> s16lsb -</li><li> u16msb -</li><li> s16msb -</li><li> u16 -</li><li> s16 -</li><li> s32lsb -</li><li> s32msb -</li><li> s32 -</li><li> f32lsb -</li><li> f32msb -</li><li> f32 -</li></ul> -</dd></dl> - -<dl> -<dt id="index-close_002daudio">Procedure: <strong>close-audio</strong></dt> -<dd><p>Shut down the mixer API. -</p></dd></dl> - -<dl> -<dt id="index-chunk_003f">Procedure: <strong>chunk?</strong> <em>c</em></dt> -<dd><p>Return <code>#t</code> if <var>c</var> is a chunk. -</p></dd></dl> - -<dl> -<dt id="index-load_002dchunk">Procedure: <strong>load-chunk</strong> <em>file</em></dt> -<dd><p>Load the audio data in <var>file</var> and return an audio chunk. -</p></dd></dl> - -<dl> -<dt id="index-delete_002dchunk_0021">Procedure: <strong>delete-chunk!</strong> <em>chunk</em></dt> -<dd><p>Free the memory used for <var>chunk</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dchunk_002dvolume_0021">Procedure: <strong>set-chunk-volume!</strong> <em>chunk volume</em></dt> -<dd><p>Set the loudness of <var>chunk</var> to <var>volume</var>, an integer in the range -[0,128]. Return the previous chunk volume setting. -</p></dd></dl> - -<dl> -<dt id="index-play_002dchunk_0021">Procedure: <strong>play-chunk!</strong> <em>chunk [#:loops=0] [#:channel]</em></dt> -<dd><p>Play <var>chunk</var> on <var>channel</var>, an integer channel identifier or <code>#f</code> -to use the first unreserved audio channel. <var>chunk</var> will play <var>loops</var> + -1 times. Return the channel identifier that <var>chunk</var> is played on. -</p></dd></dl> - -<dl> -<dt id="index-set_002dchannel_002dvolume_0021">Procedure: <strong>set-channel-volume!</strong> <em>channel volume</em></dt> -<dd><p>Set the loudness of <var>channel</var>, an integer channel identifier or <code>#f</code> -for all channels, to <var>volume</var>, an integer in the range [0,128]. Return -the previous volume of <var>channel</var>, or the average of all channels if -<var>channel</var> is <code>#f</code>. -</p></dd></dl> - -<dl> -<dt id="index-pause_002dchannel_0021">Procedure: <strong>pause-channel!</strong> <em>channel</em></dt> -<dd><p>Pause playback on <var>channel</var>, an integer channel identifier, or <code>#f</code> to -pause all channels. -</p></dd></dl> - -<dl> -<dt id="index-resume_002dchannel_0021">Procedure: <strong>resume-channel!</strong> <em>channel</em></dt> -<dd><p>Resume playback on <var>channel</var>, an integer channel identifier, or <code>#f</code> to -resume all channels. -</p></dd></dl> - -<dl> -<dt id="index-stop_002dchannel_0021">Procedure: <strong>stop-channel!</strong> <em>channel</em></dt> -<dd><p>Halt playback on <var>channel</var>, an integer channel identifier, or <code>#f</code> to -halt all channels. -</p></dd></dl> - -<dl> -<dt id="index-channel_002dplaying_003f">Procedure: <strong>channel-playing?</strong> <em>channel</em></dt> -<dd><p>Return <code>#t</code> if <var>channel</var> is playing. -</p></dd></dl> - -<dl> -<dt id="index-playing_002dchannels_002dcount">Procedure: <strong>playing-channels-count</strong></dt> -<dd><p>Return the number of channels currently playing. -</p></dd></dl> - -<dl> -<dt id="index-channel_002dpaused_003f">Procedure: <strong>channel-paused?</strong> <em>channel</em></dt> -<dd><p>Return <code>#t</code> if <var>channel</var> is paused. -</p></dd></dl> - -<dl> -<dt id="index-paused_002dchannels_002dcount">Procedure: <strong>paused-channels-count</strong></dt> -<dd><p>Return the number of channels that are paused. -</p></dd></dl> - -<dl> -<dt id="index-music_003f">Procedure: <strong>music?</strong> <em>m</em></dt> -<dd><p>Return <code>#t</code> if <var>m</var> is music. -</p></dd></dl> - -<dl> -<dt id="index-load_002dmusic">Procedure: <strong>load-music</strong> <em>file</em></dt> -<dd><p>Load music from <var>file</var>. -</p></dd></dl> - -<dl> -<dt id="index-delete_002dmusic_0021">Procedure: <strong>delete-music!</strong> <em>music</em></dt> -<dd><p>Delete the memory used for <var>music</var>. -</p></dd></dl> - -<dl> -<dt id="index-play_002dmusic_0021">Procedure: <strong>play-music!</strong> <em>music [#:optional loops=1]</em></dt> -<dd><p>Play <var>music</var>, repeated <var>loops</var> times. <var>loops</var> may be <code>#f</code>, in -which case the music loops indefinitely. -</p></dd></dl> - -<dl> -<dt id="index-set_002dmusic_002dvolume_0021">Procedure: <strong>set-music-volume!</strong> <em>volume</em></dt> -<dd><p>Set music loudness to <var>volume</var>, an integer in the range [0,128]. Return the -previous volume. -</p></dd></dl> - -<dl> -<dt id="index-music_002dvolume">Procedure: <strong>music-volume</strong></dt> -<dd><p>Return the music volume. -</p></dd></dl> - -<dl> -<dt id="index-pause_002dmusic_0021">Procedure: <strong>pause-music!</strong></dt> -<dd><p>Puase the music. -</p></dd></dl> - -<dl> -<dt id="index-resume_002dmusic_0021">Procedure: <strong>resume-music!</strong></dt> -<dd><p>Resume music playback. -</p></dd></dl> - -<dl> -<dt id="index-rewind_002dmusic_0021">Procedure: <strong>rewind-music!</strong></dt> -<dd><p>Start music playback from the beginning. Rewinding is only supported for MOD, -OGG, MP3, and native MIDI music. -</p></dd></dl> - -<dl> -<dt id="index-stop_002dmusic_0021">Procedure: <strong>stop-music!</strong></dt> -<dd><p>Halt music playback. -</p></dd></dl> - -<dl> -<dt id="index-music_002dplaying_003f">Procedure: <strong>music-playing?</strong></dt> -<dd><p>Return <code>#t</code> if music is currently playing. -</p></dd></dl> - -<dl> -<dt id="index-music_002dpaused_003f">Procedure: <strong>music-paused?</strong></dt> -<dd><p>Return <code>#t</code> if music is currently paused. -</p></dd></dl> - -<hr> -<div class="header"> -<p> -Next: <a href="Fonts.html" accesskey="n" rel="next">Fonts</a>, Previous: <a href="Images.html" accesskey="p" rel="prev">Images</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Submitting-Patches.html b/manuals/guile-sdl2/Submitting-Patches.html deleted file mode 100644 index 2c048e5..0000000 --- a/manuals/guile-sdl2/Submitting-Patches.html +++ /dev/null @@ -1,97 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Submitting Patches (Guile-SDL2)</title> - -<meta name="description" content="Submitting Patches (Guile-SDL2)"> -<meta name="keywords" content="Submitting Patches (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Contributing.html" rel="up" title="Contributing"> -<link href="Chat.html" rel="next" title="Chat"> -<link href="Getting-the-Source.html" rel="prev" title="Getting the Source"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Submitting-Patches"></span><div class="header"> -<p> -Next: <a href="Chat.html" accesskey="n" rel="next">Chat</a>, Previous: <a href="Getting-the-Source.html" accesskey="p" rel="prev">Getting the Source</a>, Up: <a href="Contributing.html" accesskey="u" rel="up">Contributing</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Submitting-Patches-1"></span><h3 class="section">4.2 Submitting Patches</h3> - -<p>Patches generated by <code>git format-patch</code> may be sent to -<a href="mailto:davet@gnu.org">davet@gnu.org</a>. Thanks in advance! -</p> - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Surfaces.html b/manuals/guile-sdl2/Surfaces.html deleted file mode 100644 index 9597c80..0000000 --- a/manuals/guile-sdl2/Surfaces.html +++ /dev/null @@ -1,307 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Surfaces (Guile-SDL2)</title> - -<meta name="description" content="Surfaces (Guile-SDL2)"> -<meta name="keywords" content="Surfaces (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="API-Reference.html" rel="up" title="API Reference"> -<link href="Rendering.html" rel="next" title="Rendering"> -<link href="Rects.html" rel="prev" title="Rects"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Surfaces"></span><div class="header"> -<p> -Next: <a href="Rendering.html" accesskey="n" rel="next">Rendering</a>, Previous: <a href="Rects.html" accesskey="p" rel="prev">Rects</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Surfaces-1"></span><h3 class="section">3.6 Surfaces</h3> - -<div class="example"> -<pre class="example">(use-modules (sdl2 surface)) -</pre></div> - -<dl> -<dt id="index-color_003f">Procedure: <strong>color?</strong> <em>c</em></dt> -<dd><p>Return <code>#t</code> if <var>c</var> is a color. -</p></dd></dl> - -<dl> -<dt id="index-color_002dr">Procedure: <strong>color-r</strong> <em>c</em></dt> -</dl> - -<dl> -<dt id="index-color_002dg">Procedure: <strong>color-g</strong> <em>c</em></dt> -</dl> - -<dl> -<dt id="index-color_002db">Procedure: <strong>color-b</strong> <em>c</em></dt> -</dl> - -<dl> -<dt id="index-color_002da">Procedure: <strong>color-a</strong> <em>c</em></dt> -</dl> - -<dl> -<dt id="index-palette_003f">Procedure: <strong>palette?</strong> <em>p</em></dt> -<dd><p>Return <code>#t</code> if <var>p</var> is a palette. -</p></dd></dl> - -<dl> -<dt id="index-palette_002dlength">Procedure: <strong>palette-length</strong> <em>palette</em></dt> -<dd><p>Return the number of colors in <var>palette</var>. -</p></dd></dl> - -<dl> -<dt id="index-palette_002dcolors">Procedure: <strong>palette-colors</strong> <em>palette</em></dt> -<dd><p>Return the colors in <var>palette</var>. -</p></dd></dl> - -<dl> -<dt id="index-pixel_002dformat_003f">Procedure: <strong>pixel-format?</strong> <em>pf</em></dt> -<dd><p>Return <code>#t</code> if <var>pf</var> is a pixel format. -</p></dd></dl> - -<dl> -<dt id="index-pixel_002dformat_002dname">Procedure: <strong>pixel-format-name</strong> <em>pf</em></dt> -<dd><p>Return the symbolic name of the pixel format <var>pf</var>. -</p></dd></dl> - -<dl> -<dt id="index-pixel_002dformat_002dpalette">Procedure: <strong>pixel-format-palette</strong> <em>pf</em></dt> -<dd><p>Return the palette for the pixel format <var>pf</var>. -</p></dd></dl> - -<dl> -<dt id="index-pixel_002dformat_002dbits_002dper_002dpixel">Procedure: <strong>pixel-format-bits-per-pixel</strong> <em>pf</em></dt> -<dd><p>Return the number of bits per pixel for the pixel format <var>pf</var>. -</p></dd></dl> - -<dl> -<dt id="index-pixel_002dformat_002dbytes_002dper_002dpixel">Procedure: <strong>pixel-format-bytes-per-pixel</strong> <em>pf</em></dt> -<dd><p>Return the number of bytes per pixel for the pixel format <var>pf</var>. -</p></dd></dl> - -<dl> -<dt id="index-pixel_002dformat_002dred_002dmask">Procedure: <strong>pixel-format-red-mask</strong> <em>pf</em></dt> -<dd><p>Return the bitmask for the red component of a pixel in the pixel format -<var>pf</var>. -</p></dd></dl> - -<dl> -<dt id="index-pixel_002dformat_002dgreen_002dmask">Procedure: <strong>pixel-format-green-mask</strong> <em>pf</em></dt> -<dd><p>Return the bitmask for the green component of a pixel in the pixel format -<var>pf</var>. -</p></dd></dl> - -<dl> -<dt id="index-pixel_002dformat_002dblue_002dmask">Procedure: <strong>pixel-format-blue-mask</strong> <em>pf</em></dt> -<dd><p>Return the bitmask for the blue component of a pixel in the pixel format -<var>pf</var>. -</p></dd></dl> - -<dl> -<dt id="index-pixel_002dformat_002dalpha_002dmask">Procedure: <strong>pixel-format-alpha-mask</strong> <em>pf</em></dt> -<dd><p>Return the bitmask for the alpha component of a pixel in the pixel format -<var>pf</var>. -</p></dd></dl> - -<dl> -<dt id="index-make_002drgb_002dsurface">Procedure: <strong>make-rgb-surface</strong> <em>width height depth</em></dt> -<dd><p>Create a new SDL surface with the dimensions <var>width</var> and <var>height</var> and -<var>depth</var> bits per pixel. -</p></dd></dl> - -<dl> -<dt id="index-bytevector_002d_003esurface">Procedure: <strong>bytevector->surface</strong> <em>bv width height depth pitch</em></dt> -<dd><p>Convert <var>bv</var>, a bytevector of pixel data with dimensions -<var>width</var>x<var>height</var>, to an SDL surface. Each pixel is <var>depth</var> bits in -size, and each row of pixels is <var>pitch</var> bytes in size. -</p></dd></dl> - -<dl> -<dt id="index-delete_002dsurface_0021">Procedure: <strong>delete-surface!</strong> <em>surface</em></dt> -<dd><p>Free the memory used by <var>surface</var>. -</p></dd></dl> - -<dl> -<dt id="index-call_002dwith_002dsurface">Procedure: <strong>call-with-surface</strong> <em>surface proc</em></dt> -<dd><p>Call <var>proc</var>, passing it <var>surface</var> and deleting <var>surface</var> upon exit -of <var>proc</var>. -</p></dd></dl> - -<dl> -<dt id="index-load_002dbmp">Procedure: <strong>load-bmp</strong> <em>file</em></dt> -<dd><p>Create a new surface from the bitmap data in <var>file</var>. -</p></dd></dl> - -<dl> -<dt id="index-surface_002dwidth">Procedure: <strong>surface-width</strong> <em>surface</em></dt> -<dd><p>Return the width of <var>surface</var> in pixels. -</p></dd></dl> - -<dl> -<dt id="index-surface_002dheight">Procedure: <strong>surface-height</strong> <em>surface</em></dt> -<dd><p>Return the height of <var>surface</var> in pixels. -</p></dd></dl> - -<dl> -<dt id="index-surface_002dpitch">Procedure: <strong>surface-pitch</strong> <em>surface</em></dt> -<dd><p>Return the length of a row of pixels in <var>surface</var> in bytes. -</p></dd></dl> - -<dl> -<dt id="index-surface_002dpixels">Procedure: <strong>surface-pixels</strong> <em>surface</em></dt> -<dd><p>Return a bytevector containing the raw pixel data in <var>surface</var>. -</p></dd></dl> - -<dl> -<dt id="index-surface_002dpixel_002dformat">Procedure: <strong>surface-pixel-format</strong> <em>surface</em></dt> -<dd><p>Return the pixel format for <var>surface</var>. -</p></dd></dl> - -<dl> -<dt id="index-convert_002dsurface_002dformat">Procedure: <strong>convert-surface-format</strong> <em>surface format</em></dt> -<dd><p>Convert the pixels in <var>surface</var> to <var>format</var>, a symbol representing a -specific pixel format, and return a new surface object. -</p> -<p>Valid format types are: -</p> -<ul> -<li> <code>index1lsb</code> -</li><li> <code>index1msb</code> -</li><li> <code>index4lsb</code> -</li><li> <code>index4msb</code> -</li><li> <code>index8</code> -</li><li> <code>rgb332</code> -</li><li> <code>rgb444</code> -</li><li> <code>rgb555</code> -</li><li> <code>bgr555</code> -</li><li> <code>argb4444</code> -</li><li> <code>rgba4444</code> -</li><li> <code>abgr4444</code> -</li><li> <code>bgra4444</code> -</li><li> <code>argb1555</code> -</li><li> <code>rgba5551</code> -</li><li> <code>abgr1555</code> -</li><li> <code>bgra5551</code> -</li><li> <code>rgb565</code> -</li><li> <code>bgr565</code> -</li><li> <code>rgb24</code> -</li><li> <code>bgr24</code> -</li><li> <code>rgb888</code> -</li><li> <code>rgbx8888</code> -</li><li> <code>bgr888</code> -</li><li> <code>bgrx8888</code> -</li><li> <code>argb8888</code> -</li><li> <code>rgba8888</code> -</li><li> <code>abgr8888</code> -</li><li> <code>bgra8888</code> -</li><li> <code>argb2101010</code> -</li><li> <code>yv12</code> -</li><li> <code>iyuv</code> -</li><li> <code>yuy2</code> -</li><li> <code>uyvy</code> -</li><li> <code>yvyu</code> -</li></ul> -</dd></dl> - -<dl> -<dt id="index-blit_002dsurface">Procedure: <strong>blit-surface</strong> <em><var>src</var> <var>src-rect</var> <var>dst</var> <var>dst-rect</var></em></dt> -<dd><p>Blit the rectangle <var>src-rect</var> from the surface <var>src</var> to -<var>dst-rect</var> of the surface <var>dst</var>. -</p></dd></dl> - -<dl> -<dt id="index-blit_002dscaled">Procedure: <strong>blit-scaled</strong> <em><var>src</var> <var>src-rect</var> <var>dst</var> <var>dst-rect</var></em></dt> -<dd><p>Blit the rectangle <var>src-rect</var> from the surface <var>src</var> to -<var>dst-rect</var> of the surface <var>dst</var>, scaling the source to fit the -destination. -</p></dd></dl> - -<dl> -<dt id="index-fill_002drect">Procedure: <strong>fill-rect</strong> <em><var>dst</var> <var>rect</var> <var>color</var></em></dt> -<dd><p>Fill <var>rect</var> with <var>color</var>, a 32-bit color encoded as an integer -value, in the surface <var>dst</var>. -</p></dd></dl> - -<hr> -<div class="header"> -<p> -Next: <a href="Rendering.html" accesskey="n" rel="next">Rendering</a>, Previous: <a href="Rects.html" accesskey="p" rel="prev">Rects</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Window-Management.html b/manuals/guile-sdl2/Window-Management.html deleted file mode 100644 index e175e18..0000000 --- a/manuals/guile-sdl2/Window-Management.html +++ /dev/null @@ -1,105 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Window Management (Guile-SDL2)</title> - -<meta name="description" content="Window Management (Guile-SDL2)"> -<meta name="keywords" content="Window Management (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="API-Reference.html" rel="up" title="API Reference"> -<link href="Windows.html" rel="next" title="Windows"> -<link href="Basics.html" rel="prev" title="Basics"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Window-Management"></span><div class="header"> -<p> -Next: <a href="Input.html" accesskey="n" rel="next">Input</a>, Previous: <a href="Basics.html" accesskey="p" rel="prev">Basics</a>, Up: <a href="API-Reference.html" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Window-Management-1"></span><h3 class="section">3.2 Window Management</h3> - -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Windows.html" accesskey="1">Windows</a></td><td> </td><td align="left" valign="top">Window manipulation. -</td></tr> -<tr><td align="left" valign="top">• <a href="OpenGL.html" accesskey="2">OpenGL</a></td><td> </td><td align="left" valign="top">OpenGL contexts. -</td></tr> -</table> - -<div class="example"> -<pre class="example">(use-modules (sdl2 video)) -</pre></div> - - - - -</body> -</html> diff --git a/manuals/guile-sdl2/Windows.html b/manuals/guile-sdl2/Windows.html deleted file mode 100644 index 3353d31..0000000 --- a/manuals/guile-sdl2/Windows.html +++ /dev/null @@ -1,243 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Windows (Guile-SDL2)</title> - -<meta name="description" content="Windows (Guile-SDL2)"> -<meta name="keywords" content="Windows (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Window-Management.html" rel="up" title="Window Management"> -<link href="OpenGL.html" rel="next" title="OpenGL"> -<link href="Window-Management.html" rel="prev" title="Window Management"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Windows"></span><div class="header"> -<p> -Next: <a href="OpenGL.html" accesskey="n" rel="next">OpenGL</a>, Up: <a href="Window-Management.html" accesskey="u" rel="up">Window Management</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Windows-1"></span><h4 class="subsection">3.2.1 Windows</h4> - -<dl> -<dt id="index-make_002dwindow">Procedure: <strong>make-window</strong> <em>[#:title "Guile SDL2 Window"] [#:position (#f #f)] [#:size (640 480)] [#:maximize? #f] [#:minimize? #f] [#:opengl? #f] [#:border? #t] [#:fullscreen? #f] [#:fullscreen-desktop? #f] [#:grab-input? #f] [#:high-dpi? #f]</em></dt> -<dd><p>Create a new window named <var>title</var> with dimensions <var>size</var> located -at <var>position</var> on the display. <var>position</var> and <var>size</var> are -two-element lists in the form <code>(x y)</code>, where each coordinate is -measured in pixels. In the case of <var>position</var>, a coordinate may use -the special symbol <var>center</var> to indicate that the window should be -centered on that axis, or <code>#f</code> to indicate that it does not matter -where the window is located on that axis. -</p></dd></dl> - -<dl> -<dt id="index-close_002dwindow_0021">Procedure: <strong>close-window!</strong> <em>window</em></dt> -<dd><p>Close <var>window</var>. -</p></dd></dl> - -<dl> -<dt id="index-call_002dwith_002dwindow">Procedure: <strong>call-with-window</strong> <em>window proc</em></dt> -<dd><p>Call <var>proc</var> with <var>window</var>, an SDL window object, and close it -when <var>proc</var> returns or otherwise exits. -</p></dd></dl> - -<dl> -<dt id="index-window_002dtitle">Procedure: <strong>window-title</strong> <em>window</em></dt> -<dd><p>Return the title for <var>window</var>. -</p></dd></dl> - -<dl> -<dt id="index-window_002dsize">Procedure: <strong>window-size</strong> <em>window</em></dt> -<dd><p>Return 2 values for the dimensions of <var>window</var>. -</p></dd></dl> - -<dl> -<dt id="index-window_002dminimum_002dsize">Procedure: <strong>window-minimum-size</strong> <em>window</em></dt> -<dd><p>Return 2 values for the minimal dimensions that <var>window</var> can be. -Note that SDL does not always enforce this restriction, so you might -end up with a window size that is actually smaller than the value -returned by this procedure. -</p></dd></dl> - -<dl> -<dt id="index-window_002dmaximum_002dsize">Procedure: <strong>window-maximum-size</strong> <em>window</em></dt> -<dd><p>Return 2 values for the maximum dimensions that <var>window</var> can be. -</p></dd></dl> - -<dl> -<dt id="index-window_002dposition">Procedure: <strong>window-position</strong> <em>window</em></dt> -<dd><p>Return 2 values for the position of <var>window</var> on the display. -</p></dd></dl> - -<dl> -<dt id="index-window_002did">Procedure: <strong>window-id</strong> <em>window</em></dt> -<dd><p>Return the numeric ID of <var>window</var>. -</p></dd></dl> - -<dl> -<dt id="index-id_002d_003ewindow">Procedure: <strong>id->window</strong> <em>id</em></dt> -<dd><p>Return the window corresponding to <var>ID</var>, a positive integer, or -<code>#f</code> if there is no such window. -</p></dd></dl> - -<dl> -<dt id="index-hide_002dwindow_0021">Procedure: <strong>hide-window!</strong> <em>window</em></dt> -<dd><p>Hide <var>window</var>. -</p></dd></dl> - -<dl> -<dt id="index-show_002dwindow_0021">Procedure: <strong>show-window!</strong> <em>window</em></dt> -<dd><p>Show <var>window</var> and focus on it. -</p></dd></dl> - -<dl> -<dt id="index-maximize_002dwindow_0021">Procedure: <strong>maximize-window!</strong> <em>window</em></dt> -<dd><p>Make <var>window</var> as large as possible. -</p></dd></dl> - -<dl> -<dt id="index-minimize_002dwindow_0021">Procedure: <strong>minimize-window!</strong> <em>window</em></dt> -<dd><p>Shrink <var>window</var> to an iconic representation. -</p></dd></dl> - -<dl> -<dt id="index-raise_002dwindow_0021">Procedure: <strong>raise-window!</strong> <em>window</em></dt> -<dd><p>Raise <var>window</var> above all other windows and set input focus. -</p></dd></dl> - -<dl> -<dt id="index-restore_002dwindow_0021">Procedure: <strong>restore-window!</strong> <em>window</em></dt> -<dd><p>Restore the size and position of a minimized or maximized <var>window</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dwindow_002dborder_0021">Procedure: <strong>set-window-border!</strong> <em>window border?</em></dt> -<dd><p>When <var>border?</var>, draw the usual border around <var>window</var>, otherwise -remove the border. -</p></dd></dl> - -<dl> -<dt id="index-set_002dwindow_002dtitle_0021">Procedure: <strong>set-window-title!</strong> <em>window title</em></dt> -<dd><p>Set the title of <var>window</var> to the string <var>title</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dwindow_002dicon_0021">Procedure: <strong>set-window-icon!</strong> <em>window icon</em></dt> -<dd><p>Set the icon of <var>window</var> to the surface <var>icon</var>. -</p></dd></dl> - -<dl> -<dt id="index-set_002dwindow_002dposition_0021">Procedure: <strong>set-window-position!</strong> <em>window x y</em></dt> -<dd><p>Set the position of <var>window</var> to (<var>x</var>, <var>y</var>). -</p></dd></dl> - -<dl> -<dt id="index-set_002dwindow_002dsize_0021">Procedure: <strong>set-window-size!</strong> <em>window width height</em></dt> -<dd><p>Set the dimensions of <var>window</var> to <var>width</var> x <var>height</var> -pixels. -</p></dd></dl> - -<dl> -<dt id="index-set_002dwindow_002dminimum_002dsize_0021">Procedure: <strong>set-window-minimum-size!</strong> <em>window width height</em></dt> -<dd><p>Set the minimum dimensions of <var>window</var> to <var>width</var> x -<var>height</var> pixels. -</p></dd></dl> - -<dl> -<dt id="index-set_002dwindow_002dmaximum_002dsize_0021">Procedure: <strong>set-window-maximum-size!</strong> <em>window width height</em></dt> -<dd><p>Set the maximum dimensions of <var>window</var> to <var>width</var> x -<var>height</var> pixels. -</p></dd></dl> - -<dl> -<dt id="index-set_002dwindow_002dresizable_0021">Procedure: <strong>set-window-resizable!</strong> <em>window resizable?</em></dt> -<dd><p>If <var>resizable</var> is <code>#t</code>, allow <var>window</var> to be resized, -otherwise disable resizing. -</p></dd></dl> - -<dl> -<dt id="index-set_002dwindow_002dfullscreen_0021">Procedure: <strong>set-window-fullscreen!</strong> <em>window fullscreen? [#:desktop?]</em></dt> -<dd><p>Toggle fullscreen mode on/off for <var>window</var>. If <var>fullscreen?</var>, -fullscreen mode is activated, otherwise it is deactivated. If -<var>fullscreen?</var> and <var>desktop?</var>, a special "fake" fullscreen mode -is used that takes the size of the desktop. -</p></dd></dl> - -<hr> -<div class="header"> -<p> -Next: <a href="OpenGL.html" accesskey="n" rel="next">OpenGL</a>, Up: <a href="Window-Management.html" accesskey="u" rel="up">Window Management</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/guile-sdl2/index.html b/manuals/guile-sdl2/index.html deleted file mode 100644 index 224dd42..0000000 --- a/manuals/guile-sdl2/index.html +++ /dev/null @@ -1,190 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2016, 2017, 2018, 2019 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -* Guile-SDL2: (guile-sdl2). SDL2 bindings for Guile. - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Top (Guile-SDL2)</title> - -<meta name="description" content="Top (Guile-SDL2)"> -<meta name="keywords" content="Top (Guile-SDL2)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="#Top" rel="start" title="Top"> -<link href="Index.html" rel="index" title="Index"> -<link href="#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Introduction.html" rel="next" title="Introduction"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<h1 class="settitle" align="center">Guile-SDL2</h1> - - - -<span id="SEC_Contents"></span> -<h2 class="contents-heading">Table of Contents</h2> - -<div class="contents"> - -<ul class="no-bullet"> - <li><a id="toc-Introduction-1" href="Introduction.html#Introduction">1 Introduction</a></li> - <li><a id="toc-Installation-1" href="Installation.html#Installation">2 Installation</a> - <ul class="no-bullet"> - <li><a id="toc-Requirements-1" href="Requirements.html#Requirements">2.1 Requirements</a></li> - </ul></li> - <li><a id="toc-API-Reference-1" href="API-Reference.html#API-Reference">3 API Reference</a> - <ul class="no-bullet"> - <li><a id="toc-Basics-1" href="Basics.html#Basics">3.1 Basics</a></li> - <li><a id="toc-Window-Management-1" href="Window-Management.html#Window-Management">3.2 Window Management</a> - <ul class="no-bullet"> - <li><a id="toc-Windows-1" href="Windows.html#Windows">3.2.1 Windows</a></li> - <li><a id="toc-OpenGL-1" href="OpenGL.html#OpenGL">3.2.2 OpenGL</a></li> - </ul></li> - <li><a id="toc-Input-1" href="Input.html#Input">3.3 Input</a> - <ul class="no-bullet"> - <li><a id="toc-Keyboard-1" href="Keyboard.html#Keyboard">3.3.1 Keyboard</a></li> - <li><a id="toc-Mouse-1" href="Mouse.html#Mouse">3.3.2 Mouse</a></li> - <li><a id="toc-Joysticks-1" href="Joysticks.html#Joysticks">3.3.3 Joysticks</a></li> - <li><a id="toc-Game-Controllers-1" href="Game-Controllers.html#Game-Controllers">3.3.4 Game Controllers</a></li> - </ul></li> - <li><a id="toc-Events-1" href="Events.html#Events">3.4 Events</a></li> - <li><a id="toc-Rects-1" href="Rects.html#Rects">3.5 Rects</a></li> - <li><a id="toc-Surfaces-1" href="Surfaces.html#Surfaces">3.6 Surfaces</a></li> - <li><a id="toc-Rendering-1" href="Rendering.html#Rendering">3.7 Rendering</a></li> - <li><a id="toc-Blend-Modes-1" href="Blend-Modes.html#Blend-Modes">3.8 Blend Modes</a></li> - <li><a id="toc-Images-1" href="Images.html#Images">3.9 Images</a></li> - <li><a id="toc-Sound-1" href="Sound.html#Sound">3.10 Sound</a></li> - <li><a id="toc-Fonts-1" href="Fonts.html#Fonts">3.11 Fonts</a></li> - <li><a id="toc-Hints-1" href="Hints.html#Hints">3.12 Hints</a></li> - </ul></li> - <li><a id="toc-Contributing-1" href="Contributing.html#Contributing">4 Contributing</a> - <ul class="no-bullet"> - <li><a id="toc-Getting-the-Source-1" href="Getting-the-Source.html#Getting-the-Source">4.1 Getting the Source</a></li> - <li><a id="toc-Submitting-Patches-1" href="Submitting-Patches.html#Submitting-Patches">4.2 Submitting Patches</a></li> - <li><a id="toc-Chat-1" href="Chat.html#Chat">4.3 Chat</a></li> - </ul></li> - <li><a id="toc-Copying-This-Manual-1" href="Copying-This-Manual.html#Copying-This-Manual">Appendix A Copying This Manual</a> - <ul class="no-bullet"> - <li><a id="toc-GNU-Free-Documentation-License-1" href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">A.1 GNU Free Documentation License</a></li> - </ul></li> - <li><a id="toc-Index-1" href="Index.html#Index" rel="index">Index</a></li> -</ul> -</div> - - -<span id="Top"></span><div class="header"> -<p> -Next: <a href="Introduction.html" accesskey="n" rel="next">Introduction</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Guile_002dSDL2"></span><h1 class="top">Guile-SDL2</h1> - -<p>Copyright © 2016, 2017, 2018, 2019 David Thompson <a href="mailto:davet@gnu.org">davet@gnu.org</a> -</p> -<blockquote> -<p>Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled “GNU -Free Documentation License”. -</p> -<p>A copy of the license is also available from the Free Software -Foundation Web site at <a href="http://www.gnu.org/licenses/fdl.html">http://www.gnu.org/licenses/fdl.html</a>. -</p> -</blockquote> - - -<p>The document was typeset with -<a href="http://www.texinfo.org/">GNU Texinfo</a>. -</p> - -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Introduction.html" accesskey="1">Introduction</a></td><td> </td><td align="left" valign="top">About Guile-SDL2. -</td></tr> -<tr><td align="left" valign="top">• <a href="Installation.html" accesskey="2">Installation</a></td><td> </td><td align="left" valign="top">Installing Guile-SDL2. -</td></tr> -<tr><td align="left" valign="top">• <a href="API-Reference.html" accesskey="3">API Reference</a></td><td> </td><td align="left" valign="top">High-level Scheme interfaces to SDL2. -</td></tr> -<tr><td align="left" valign="top">• <a href="Contributing.html" accesskey="4">Contributing</a></td><td> </td><td align="left" valign="top">Guidelines for hacking Guile-SDL2. -</td></tr> -<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment"> - -</pre></th></tr><tr><td align="left" valign="top">• <a href="Copying-This-Manual.html" accesskey="5">Copying This Manual</a></td><td> </td><td align="left" valign="top">The GNU Free Documentation License and you! -</td></tr> -<tr><td align="left" valign="top">• <a href="Index.html" rel="index" accesskey="6">Index</a></td><td> </td><td align="left" valign="top"> -</td></tr> -</table> - - -<hr> -<div class="header"> -<p> -Next: <a href="Introduction.html" accesskey="n" rel="next">Introduction</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/haunt/Assets.html b/manuals/haunt/Assets.html deleted file mode 100644 index e0d30fd..0000000 --- a/manuals/haunt/Assets.html +++ /dev/null @@ -1,127 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Assets (Haunt Reference Manual)</title> - -<meta name="description" content="Assets (Haunt Reference Manual)"> -<meta name="keywords" content="Assets (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Programming-Interface.html" rel="up" title="Programming Interface"> -<link href="Builders.html" rel="next" title="Builders"> -<link href="Pages.html" rel="prev" title="Pages"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Assets"></span><div class="header"> -<p> -Next: <a href="Builders.html" accesskey="n" rel="next">Builders</a>, Previous: <a href="Pages.html" accesskey="p" rel="prev">Pages</a>, Up: <a href="Programming-Interface.html" accesskey="u" rel="up">Programming Interface</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Assets-1"></span><h3 class="section">5.5 Assets</h3> - -<div class="example"> -<pre class="example">(use-modules (haunt asset)) -</pre></div> - -<p>Assets represent files on disk that should be copied verbatim to a -site’s output directory. Common types of assets include CSS, -JavaScript, images, and fonts. -</p> -<dl> -<dt id="index-make_002dasset">Scheme Procedure: <strong>make-asset</strong> <em><var>source</var> <var>target</var></em></dt> -<dd><p>Create a new asset object. The <var>source</var> and <var>target</var> -arguments are file names that are relative to a site source and target -directory, respectively (see <a href="Sites.html">Sites</a>). -</p></dd></dl> - -<dl> -<dt id="index-asset_003f">Scheme Procedure: <strong>asset?</strong> <em><var>object</var></em></dt> -<dd><p>Return <code>#t</code> if <var>object</var> is an asset object. -</p></dd></dl> - -<dl> -<dt id="index-asset_002dsource">Scheme Procedure: <strong>asset-source</strong> <em><var>asset</var></em></dt> -<dd><p>Return the source file name for <var>asset</var>. -</p></dd></dl> - -<dl> -<dt id="index-asset_002dtarget">Scheme Procedure: <strong>asset-target</strong> <em><var>asset</var></em></dt> -<dd><p>Return the target file name for <var>asset</var>. -</p></dd></dl> - -<dl> -<dt id="index-install_002dasset">Scheme Procedure: <strong>install-asset</strong> <em><var>asset</var> <var>prefix</var></em></dt> -<dd><p>Install the source file of <var>asset</var> into the target directory -within <var>prefix</var>. -</p></dd></dl> - -<dl> -<dt id="index-directory_002dassets">Scheme Procedure: <strong>directory-assets</strong> <em><var>directory</var> <var>keep?</var> <var>dest</var></em></dt> -<dd><p>Create a list of asset objects to be stored within <var>dest</var> for all -files in <var>directory</var> that match <var>keep?</var>, recursively. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/haunt/Atom.html b/manuals/haunt/Atom.html deleted file mode 100644 index fa6fc99..0000000 --- a/manuals/haunt/Atom.html +++ /dev/null @@ -1,142 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Atom (Haunt Reference Manual)</title> - -<meta name="description" content="Atom (Haunt Reference Manual)"> -<meta name="keywords" content="Atom (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Builders.html" rel="up" title="Builders"> -<link href="Contributing.html" rel="next" title="Contributing"> -<link href="Blog.html" rel="prev" title="Blog"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Atom"></span><div class="header"> -<p> -Previous: <a href="Blog.html" accesskey="p" rel="prev">Blog</a>, Up: <a href="Builders.html" accesskey="u" rel="up">Builders</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Atom-1"></span><h4 class="subsection">5.6.3 Atom</h4> - -<div class="example"> -<pre class="example">(use-modules (haunt builder atom)) -</pre></div> - -<dl> -<dt id="index-atom_002dfeed">Scheme Procedure: <strong>atom-feed</strong> <em>[#:file-name #:subtitle #:filter #:max-entries #:blog-prefix]</em></dt> -<dd><p>Return a builder procedure that renders a site’s posts as an Atom -feed. All arguments are optional: -</p> -<dl compact="compact"> -<dt><var>file-name:</var></dt> -<dd><p>The page file name. The default is <samp>feed.xml</samp>. -</p> -</dd> -<dt><var>subtitle</var></dt> -<dd><p>The feed subtitle. The default is “Recent Posts”. -</p> -</dd> -<dt><var>filter</var></dt> -<dd><p>The procedure called to manipulate the posts list before rendering. -The default is to keep all posts and sort them in reverse -chronological order. -</p> -</dd> -<dt><var>max-entries</var></dt> -<dd><p>The maximum number of posts to render in the feed. The default is 20. -</p></dd> -</dl> - -</dd></dl> - -<dl> -<dt id="index-atom_002dfeeds_002dby_002dtag">Scheme Procedure: <strong>atom-feeds-by-tag</strong> <em>[#:prefix #:filter #:max-entries #:blog-prefix]</em></dt> -<dd><p>Return a builder procedure that renders an atom feed for every tag -used in a post. All arguments are optional: -</p> -<dl compact="compact"> -<dt><var>prefix</var></dt> -<dd><p>The directory in which to write the feeds. The default is -<samp>feeds/tags</samp>. -</p> -</dd> -<dt><var>filter</var></dt> -<dd><p>The procedure called to manipulate the posts list before rendering. -The default is to keep all posts and sort them in reverse -chronological order. -</p> -</dd> -<dt><var>max-entries</var></dt> -<dd><p>The maximum number of posts to render in each feed. The default is -20. -</p> -</dd> -</dl> - -</dd></dl> - - - - -</body> -</html> diff --git a/manuals/haunt/Blog.html b/manuals/haunt/Blog.html deleted file mode 100644 index 79fe339..0000000 --- a/manuals/haunt/Blog.html +++ /dev/null @@ -1,157 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Blog (Haunt Reference Manual)</title> - -<meta name="description" content="Blog (Haunt Reference Manual)"> -<meta name="keywords" content="Blog (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Builders.html" rel="up" title="Builders"> -<link href="Atom.html" rel="next" title="Atom"> -<link href="Static-Assets.html" rel="prev" title="Static Assets"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Blog"></span><div class="header"> -<p> -Next: <a href="Atom.html" accesskey="n" rel="next">Atom</a>, Previous: <a href="Static-Assets.html" accesskey="p" rel="prev">Static Assets</a>, Up: <a href="Builders.html" accesskey="u" rel="up">Builders</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Blog-1"></span><h4 class="subsection">5.6.2 Blog</h4> - -<div class="example"> -<pre class="example">(use-modules (haunt builder blog)) -</pre></div> - -<dl> -<dt id="index-theme">Scheme Procedure: <strong>theme</strong> <em>[#:name #:layout #:post-template #:collection-template]</em></dt> -<dd><p>Create a new theme named <var>name</var>. -</p> -<p>The procedure <var>layout</var> accepts three arguments: a site, a page -title string, and an SXML tree. Its purpose is to wrap the contents -of a post with the theme’s header/footer and return the complete SXML -tree for a web page. -</p> -<p>The procedure <var>post-template</var> accepts a single argument: a post. -Its purpose is to return an SXML tree containing the contents of the -post, applying any desired post-processing operations. The values -returned from this procedure will be wrapped in the theme’s layout. -</p> -<p>The procedure <var>collection-template</var> accepts four arguments: a -site, a title string, a list of posts, and a URL prefix string. Its -purpose is to return an SXML tree containing the body of the -collection page. The values returned from this procedure will be -wrapped in the theme’s layout. -</p></dd></dl> - -<dl> -<dt id="index-theme_003f">Scheme Procedure: <strong>theme?</strong> <em><var>object</var></em></dt> -<dd><p>Return <code>#t</code> if <var>object</var> is a theme object. -</p></dd></dl> - -<dl> -<dt id="index-blog">Scheme Procedure: <strong>blog</strong> <em>[#:theme #:prefix #:collections]</em></dt> -<dd><p>Create a builder procedure that transforms a list of posts into pages -decorated by <var>theme</var>, a theme object, whose URLs start with -<var>prefix</var>. -</p> -<p>Additionally, this builder creates pages that aggregate previews of -many posts corresponding to what is specified in the list -<var>collections</var>. Each collection is a three element list in the -form <code>(title file-name filter)</code>. -</p> -<dl compact="compact"> -<dt><var>title</var></dt> -<dd><p>The human readable name of the collection. -</p> -</dd> -<dt><var>file-name</var></dt> -<dd><p>The HTML file that will contain the rendered collection. -</p> -</dd> -<dt><var>filter</var></dt> -<dd><p>A procedure that accepts a list of posts as its only argument and -returns a new list of posts. The filter procedure is used to remove -and/or sort the posts into the desired form for the collection. For -example, a filter could sort posts in reverse chronological order or -select all posts that are written by a particular author. -</p> -</dd> -</dl> - -<p>By default, a single collection is created that lists posts in reverse -chronological order and writes to <samp>index.html</samp>. -</p> -<p>The default theme is intended only for testing purposes. -</p> -</dd></dl> - -<hr> -<div class="header"> -<p> -Next: <a href="Atom.html" accesskey="n" rel="next">Atom</a>, Previous: <a href="Static-Assets.html" accesskey="p" rel="prev">Static Assets</a>, Up: <a href="Builders.html" accesskey="u" rel="up">Builders</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/haunt/Builders.html b/manuals/haunt/Builders.html deleted file mode 100644 index 562d8da..0000000 --- a/manuals/haunt/Builders.html +++ /dev/null @@ -1,101 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Builders (Haunt Reference Manual)</title> - -<meta name="description" content="Builders (Haunt Reference Manual)"> -<meta name="keywords" content="Builders (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Programming-Interface.html" rel="up" title="Programming Interface"> -<link href="Static-Assets.html" rel="next" title="Static Assets"> -<link href="Assets.html" rel="prev" title="Assets"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Builders"></span><div class="header"> -<p> -Previous: <a href="Assets.html" accesskey="p" rel="prev">Assets</a>, Up: <a href="Programming-Interface.html" accesskey="u" rel="up">Programming Interface</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Builders-1"></span><h3 class="section">5.6 Builders</h3> - -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Static-Assets.html" accesskey="1">Static Assets</a></td><td> </td><td align="left" valign="top">Images, CSS, JavaScript, etc. -</td></tr> -<tr><td align="left" valign="top">• <a href="Blog.html" accesskey="2">Blog</a></td><td> </td><td align="left" valign="top">Dear diary... -</td></tr> -<tr><td align="left" valign="top">• <a href="Atom.html" accesskey="3">Atom</a></td><td> </td><td align="left" valign="top">Atom feeds. -</td></tr> -</table> - -<p>Builders are procedures that return one or more page objects -(see <a href="Pages.html">Pages</a>) when applied. A builder accepts two arguments: A site -(see <a href="Sites.html">Sites</a>) and a list of posts (see <a href="Posts.html">Posts</a>). -</p> -<p>Haunt comes with a few convenient builders to help users who want to -create a simple blog with an Atom feed. -</p> - - - -</body> -</html> diff --git a/manuals/haunt/Building.html b/manuals/haunt/Building.html deleted file mode 100644 index 8581ac2..0000000 --- a/manuals/haunt/Building.html +++ /dev/null @@ -1,114 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Building (Haunt Reference Manual)</title> - -<meta name="description" content="Building (Haunt Reference Manual)"> -<meta name="keywords" content="Building (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Installation.html" rel="up" title="Installation"> -<link href="Tutorial.html" rel="next" title="Tutorial"> -<link href="Requirements.html" rel="prev" title="Requirements"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Building"></span><div class="header"> -<p> -Previous: <a href="Requirements.html" accesskey="p" rel="prev">Requirements</a>, Up: <a href="Installation.html" accesskey="u" rel="up">Installation</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Building-1"></span><h3 class="section">2.3 Building</h3> - -<p>Haunt uses the standard GNU build system, so the basic installation -procedure looks like this: -</p> -<div class="example"> -<pre class="example">./configure -make -make install -</pre></div> - -<p>This will install Haunt to <samp>/usr/local/</samp>. This is not part of -the default load path for GNU Guile if you installed it from your -distribution’s package manager (<samp>/usr</samp> is.) You may choose to -change the prefix to your GNU Guile’s location with <code>./configure ---prefix=/usr</code> or add <samp>/usr/local/</samp> to GNU Guile’s load path in -your shell environment like this (replacing 3.0 with your GNU Guile -version): -</p> -<div class="example"> -<pre class="example">export GUILE_LOAD_PATH="/usr/local/share/guile/site/3.0\ -${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH" - -export GUILE_LOAD_COMPILED_PATH="/usr/local/lib/guile/3.0/site-ccache\ -${GUILE_LOAD_COMPILED_PATH:+:}$GUILE_COMPILED_LOAD_PATH" -</pre></div> - -<p>(see <a href="https://www.gnu.org/software/guile/manual/html_node/Environment-Variables.html#Environment-Variables">Environment Variables</a> in <cite>GNU -Guile Reference Manual</cite> for more details on <code>GUILE_LOAD_PATH</code> and -<code>GUILE_LOAD_COMPILED_PATH</code>.) -</p> - - - -</body> -</html> diff --git a/manuals/haunt/Command_002dline-Interface.html b/manuals/haunt/Command_002dline-Interface.html deleted file mode 100644 index ea13478..0000000 --- a/manuals/haunt/Command_002dline-Interface.html +++ /dev/null @@ -1,99 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Command-line Interface (Haunt Reference Manual)</title> - -<meta name="description" content="Command-line Interface (Haunt Reference Manual)"> -<meta name="keywords" content="Command-line Interface (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="index.html" rel="up" title="Top"> -<link href="Invoking-haunt-build.html" rel="next" title="Invoking haunt build"> -<link href="Tutorial.html" rel="prev" title="Tutorial"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Command_002dline-Interface"></span><div class="header"> -<p> -Next: <a href="Programming-Interface.html" accesskey="n" rel="next">Programming Interface</a>, Previous: <a href="Tutorial.html" accesskey="p" rel="prev">Tutorial</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Command_002dline-Interface-1"></span><h2 class="chapter">4 Command-line Interface</h2> - -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Invoking-haunt-build.html" accesskey="1">Invoking haunt build</a></td><td> </td><td align="left" valign="top">Build the website. -</td></tr> -<tr><td align="left" valign="top">• <a href="Invoking-haunt-serve.html" accesskey="2">Invoking haunt serve</a></td><td> </td><td align="left" valign="top">Serve the website over HTTP. -</td></tr> -</table> - -<p>The Haunt command-line interface is composed of many subcommands. The -general syntax for all Haunt commands is: -</p> -<div class="example"> -<pre class="example">haunt <var>subcommand</var> <var>options</var>… -</pre></div> - - - - -</body> -</html> diff --git a/manuals/haunt/CommonMark.html b/manuals/haunt/CommonMark.html deleted file mode 100644 index 4331f28..0000000 --- a/manuals/haunt/CommonMark.html +++ /dev/null @@ -1,112 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>CommonMark (Haunt Reference Manual)</title> - -<meta name="description" content="CommonMark (Haunt Reference Manual)"> -<meta name="keywords" content="CommonMark (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Readers.html" rel="up" title="Readers"> -<link href="Pages.html" rel="next" title="Pages"> -<link href="Skribe.html" rel="prev" title="Skribe"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="CommonMark"></span><div class="header"> -<p> -Previous: <a href="Skribe.html" accesskey="p" rel="prev">Skribe</a>, Up: <a href="Readers.html" accesskey="u" rel="up">Readers</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="CommonMark-1"></span><h4 class="subsection">5.3.4 CommonMark</h4> -<div class="example"> -<pre class="example">(use-modules (haunt reader commonmark)) -</pre></div> - -<dl> -<dt id="index-commonmark_002dreader">Scheme Procedure: <strong>commonmark-reader</strong></dt> -<dd><p>A reader for posts written in CommonMark, a fully specified variant of -Markdown. Metadata is encoded as <code>key: value</code> pairs, one per line, -at the beginning of the file. A line with the <code>---</code> sentinel marks -the end of the metadata section and the rest of the file is encoded as HTML. -</p> -<p>Example: -</p> -<div class="example"> -<pre class="example">title: Hello, CommonMark! -date: 2016-08-20 12:00 -tags: markdown, commonmark ---- - -## This is a CommonMark post - -CommonMark is a **strongly** defined, *highly* compatible -specification of Markdown, learn more about CommomMark -[here](http://commonmark.org/). -</pre></div> - -</dd></dl> - - - - -</body> -</html> diff --git a/manuals/haunt/Concept-Index.html b/manuals/haunt/Concept-Index.html deleted file mode 100644 index 5935f83..0000000 --- a/manuals/haunt/Concept-Index.html +++ /dev/null @@ -1,85 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Concept Index (Haunt Reference Manual)</title> - -<meta name="description" content="Concept Index (Haunt Reference Manual)"> -<meta name="keywords" content="Concept Index (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="#Concept-Index" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="index.html" rel="up" title="Top"> -<link href="Programming-Index.html" rel="next" title="Programming Index"> -<link href="GNU-Free-Documentation-License.html" rel="prev" title="GNU Free Documentation License"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Concept-Index"></span><div class="header"> -<p> -Next: <a href="Programming-Index.html" accesskey="n" rel="next">Programming Index</a>, Previous: <a href="GNU-Free-Documentation-License.html" accesskey="p" rel="prev">GNU Free Documentation License</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Concept-Index-1"></span><h2 class="unnumbered">Concept Index</h2> - - - - -</body> -</html> diff --git a/manuals/haunt/Contributing.html b/manuals/haunt/Contributing.html deleted file mode 100644 index 174165e..0000000 --- a/manuals/haunt/Contributing.html +++ /dev/null @@ -1,87 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Contributing (Haunt Reference Manual)</title> - -<meta name="description" content="Contributing (Haunt Reference Manual)"> -<meta name="keywords" content="Contributing (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="index.html" rel="up" title="Top"> -<link href="GNU-Free-Documentation-License.html" rel="next" title="GNU Free Documentation License"> -<link href="Atom.html" rel="prev" title="Atom"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Contributing"></span><div class="header"> -<p> -Next: <a href="GNU-Free-Documentation-License.html" accesskey="n" rel="next">GNU Free Documentation License</a>, Previous: <a href="Programming-Interface.html" accesskey="p" rel="prev">Programming Interface</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Contributing-1"></span><h2 class="chapter">6 Contributing</h2> - -<p>Send patches and bug reports to <a href="mailto:davet@gnu.org">davet@gnu.org</a>. -</p> - - - -</body> -</html> diff --git a/manuals/haunt/Downloading.html b/manuals/haunt/Downloading.html deleted file mode 100644 index 8387828..0000000 --- a/manuals/haunt/Downloading.html +++ /dev/null @@ -1,89 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Downloading (Haunt Reference Manual)</title> - -<meta name="description" content="Downloading (Haunt Reference Manual)"> -<meta name="keywords" content="Downloading (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Installation.html" rel="up" title="Installation"> -<link href="Requirements.html" rel="next" title="Requirements"> -<link href="Installation.html" rel="prev" title="Installation"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Downloading"></span><div class="header"> -<p> -Next: <a href="Requirements.html" accesskey="n" rel="next">Requirements</a>, Up: <a href="Installation.html" accesskey="u" rel="up">Installation</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Downloading-1"></span><h3 class="section">2.1 Downloading</h3> - -<p>Official Haunt source code release tarballs can be found under Releases -in <a href="https://dthompson.us/projects/haunt.html">Haunt’s website</a>, -along with their associated checksums. -</p> - - - -</body> -</html> diff --git a/manuals/haunt/GNU-Free-Documentation-License.html b/manuals/haunt/GNU-Free-Documentation-License.html deleted file mode 100644 index 0ca03c0..0000000 --- a/manuals/haunt/GNU-Free-Documentation-License.html +++ /dev/null @@ -1,558 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>GNU Free Documentation License (Haunt Reference Manual)</title> - -<meta name="description" content="GNU Free Documentation License (Haunt Reference Manual)"> -<meta name="keywords" content="GNU Free Documentation License (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="index.html" rel="up" title="Top"> -<link href="Concept-Index.html" rel="next" title="Concept Index"> -<link href="Contributing.html" rel="prev" title="Contributing"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="GNU-Free-Documentation-License"></span><div class="header"> -<p> -Next: <a href="Concept-Index.html" accesskey="n" rel="next">Concept Index</a>, Previous: <a href="Contributing.html" accesskey="p" rel="prev">Contributing</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="GNU-Free-Documentation-License-1"></span><h2 class="appendix">Appendix A GNU Free Documentation License</h2> - -<div align="center">Version 1.3, 3 November 2008 -</div> - -<div class="display"> -<pre class="display">Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. -<a href="http://fsf.org/">http://fsf.org/</a> - -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. -</pre></div> - -<ol start="0"> -<li> PREAMBLE - -<p>The purpose of this License is to make a manual, textbook, or other -functional and useful document <em>free</em> in the sense of freedom: to -assure everyone the effective freedom to copy and redistribute it, -with or without modifying it, either commercially or noncommercially. -Secondarily, this License preserves for the author and publisher a way -to get credit for their work, while not being considered responsible -for modifications made by others. -</p> -<p>This License is a kind of “copyleft”, which means that derivative -works of the document must themselves be free in the same sense. It -complements the GNU General Public License, which is a copyleft -license designed for free software. -</p> -<p>We have designed this License in order to use it for manuals for free -software, because free software needs free documentation: a free -program should come with manuals providing the same freedoms that the -software does. But this License is not limited to software manuals; -it can be used for any textual work, regardless of subject matter or -whether it is published as a printed book. We recommend this License -principally for works whose purpose is instruction or reference. -</p> -</li><li> APPLICABILITY AND DEFINITIONS - -<p>This License applies to any manual or other work, in any medium, that -contains a notice placed by the copyright holder saying it can be -distributed under the terms of this License. Such a notice grants a -world-wide, royalty-free license, unlimited in duration, to use that -work under the conditions stated herein. The “Document”, below, -refers to any such manual or work. Any member of the public is a -licensee, and is addressed as “you”. You accept the license if you -copy, modify or distribute the work in a way requiring permission -under copyright law. -</p> -<p>A “Modified Version” of the Document means any work containing the -Document or a portion of it, either copied verbatim, or with -modifications and/or translated into another language. -</p> -<p>A “Secondary Section” is a named appendix or a front-matter section -of the Document that deals exclusively with the relationship of the -publishers or authors of the Document to the Document’s overall -subject (or to related matters) and contains nothing that could fall -directly within that overall subject. (Thus, if the Document is in -part a textbook of mathematics, a Secondary Section may not explain -any mathematics.) The relationship could be a matter of historical -connection with the subject or with related matters, or of legal, -commercial, philosophical, ethical or political position regarding -them. -</p> -<p>The “Invariant Sections” are certain Secondary Sections whose titles -are designated, as being those of Invariant Sections, in the notice -that says that the Document is released under this License. If a -section does not fit the above definition of Secondary then it is not -allowed to be designated as Invariant. The Document may contain zero -Invariant Sections. If the Document does not identify any Invariant -Sections then there are none. -</p> -<p>The “Cover Texts” are certain short passages of text that are listed, -as Front-Cover Texts or Back-Cover Texts, in the notice that says that -the Document is released under this License. A Front-Cover Text may -be at most 5 words, and a Back-Cover Text may be at most 25 words. -</p> -<p>A “Transparent” copy of the Document means a machine-readable copy, -represented in a format whose specification is available to the -general public, that is suitable for revising the document -straightforwardly with generic text editors or (for images composed of -pixels) generic paint programs or (for drawings) some widely available -drawing editor, and that is suitable for input to text formatters or -for automatic translation to a variety of formats suitable for input -to text formatters. A copy made in an otherwise Transparent file -format whose markup, or absence of markup, has been arranged to thwart -or discourage subsequent modification by readers is not Transparent. -An image format is not Transparent if used for any substantial amount -of text. A copy that is not “Transparent” is called “Opaque”. -</p> -<p>Examples of suitable formats for Transparent copies include plain -ASCII without markup, Texinfo input format, LaTeX input -format, SGML or XML using a publicly available -DTD, and standard-conforming simple HTML, -PostScript or PDF designed for human modification. Examples -of transparent image formats include PNG, XCF and -JPG. Opaque formats include proprietary formats that can be -read and edited only by proprietary word processors, SGML or -XML for which the DTD and/or processing tools are -not generally available, and the machine-generated HTML, -PostScript or PDF produced by some word processors for -output purposes only. -</p> -<p>The “Title Page” means, for a printed book, the title page itself, -plus such following pages as are needed to hold, legibly, the material -this License requires to appear in the title page. For works in -formats which do not have any title page as such, “Title Page” means -the text near the most prominent appearance of the work’s title, -preceding the beginning of the body of the text. -</p> -<p>The “publisher” means any person or entity that distributes copies -of the Document to the public. -</p> -<p>A section “Entitled XYZ” means a named subunit of the Document whose -title either is precisely XYZ or contains XYZ in parentheses following -text that translates XYZ in another language. (Here XYZ stands for a -specific section name mentioned below, such as “Acknowledgements”, -“Dedications”, “Endorsements”, or “History”.) To “Preserve the Title” -of such a section when you modify the Document means that it remains a -section “Entitled XYZ” according to this definition. -</p> -<p>The Document may include Warranty Disclaimers next to the notice which -states that this License applies to the Document. These Warranty -Disclaimers are considered to be included by reference in this -License, but only as regards disclaiming warranties: any other -implication that these Warranty Disclaimers may have is void and has -no effect on the meaning of this License. -</p> -</li><li> VERBATIM COPYING - -<p>You may copy and distribute the Document in any medium, either -commercially or noncommercially, provided that this License, the -copyright notices, and the license notice saying this License applies -to the Document are reproduced in all copies, and that you add no other -conditions whatsoever to those of this License. You may not use -technical measures to obstruct or control the reading or further -copying of the copies you make or distribute. However, you may accept -compensation in exchange for copies. If you distribute a large enough -number of copies you must also follow the conditions in section 3. -</p> -<p>You may also lend copies, under the same conditions stated above, and -you may publicly display copies. -</p> -</li><li> COPYING IN QUANTITY - -<p>If you publish printed copies (or copies in media that commonly have -printed covers) of the Document, numbering more than 100, and the -Document’s license notice requires Cover Texts, you must enclose the -copies in covers that carry, clearly and legibly, all these Cover -Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on -the back cover. Both covers must also clearly and legibly identify -you as the publisher of these copies. The front cover must present -the full title with all words of the title equally prominent and -visible. You may add other material on the covers in addition. -Copying with changes limited to the covers, as long as they preserve -the title of the Document and satisfy these conditions, can be treated -as verbatim copying in other respects. -</p> -<p>If the required texts for either cover are too voluminous to fit -legibly, you should put the first ones listed (as many as fit -reasonably) on the actual cover, and continue the rest onto adjacent -pages. -</p> -<p>If you publish or distribute Opaque copies of the Document numbering -more than 100, you must either include a machine-readable Transparent -copy along with each Opaque copy, or state in or with each Opaque copy -a computer-network location from which the general network-using -public has access to download using public-standard network protocols -a complete Transparent copy of the Document, free of added material. -If you use the latter option, you must take reasonably prudent steps, -when you begin distribution of Opaque copies in quantity, to ensure -that this Transparent copy will remain thus accessible at the stated -location until at least one year after the last time you distribute an -Opaque copy (directly or through your agents or retailers) of that -edition to the public. -</p> -<p>It is requested, but not required, that you contact the authors of the -Document well before redistributing any large number of copies, to give -them a chance to provide you with an updated version of the Document. -</p> -</li><li> MODIFICATIONS - -<p>You may copy and distribute a Modified Version of the Document under -the conditions of sections 2 and 3 above, provided that you release -the Modified Version under precisely this License, with the Modified -Version filling the role of the Document, thus licensing distribution -and modification of the Modified Version to whoever possesses a copy -of it. In addition, you must do these things in the Modified Version: -</p> -<ol type="A" start="1"> -<li> Use in the Title Page (and on the covers, if any) a title distinct -from that of the Document, and from those of previous versions -(which should, if there were any, be listed in the History section -of the Document). You may use the same title as a previous version -if the original publisher of that version gives permission. - -</li><li> List on the Title Page, as authors, one or more persons or entities -responsible for authorship of the modifications in the Modified -Version, together with at least five of the principal authors of the -Document (all of its principal authors, if it has fewer than five), -unless they release you from this requirement. - -</li><li> State on the Title page the name of the publisher of the -Modified Version, as the publisher. - -</li><li> Preserve all the copyright notices of the Document. - -</li><li> Add an appropriate copyright notice for your modifications -adjacent to the other copyright notices. - -</li><li> Include, immediately after the copyright notices, a license notice -giving the public permission to use the Modified Version under the -terms of this License, in the form shown in the Addendum below. - -</li><li> Preserve in that license notice the full lists of Invariant Sections -and required Cover Texts given in the Document’s license notice. - -</li><li> Include an unaltered copy of this License. - -</li><li> Preserve the section Entitled “History”, Preserve its Title, and add -to it an item stating at least the title, year, new authors, and -publisher of the Modified Version as given on the Title Page. If -there is no section Entitled “History” in the Document, create one -stating the title, year, authors, and publisher of the Document as -given on its Title Page, then add an item describing the Modified -Version as stated in the previous sentence. - -</li><li> Preserve the network location, if any, given in the Document for -public access to a Transparent copy of the Document, and likewise -the network locations given in the Document for previous versions -it was based on. These may be placed in the “History” section. -You may omit a network location for a work that was published at -least four years before the Document itself, or if the original -publisher of the version it refers to gives permission. - -</li><li> For any section Entitled “Acknowledgements” or “Dedications”, Preserve -the Title of the section, and preserve in the section all the -substance and tone of each of the contributor acknowledgements and/or -dedications given therein. - -</li><li> Preserve all the Invariant Sections of the Document, -unaltered in their text and in their titles. Section numbers -or the equivalent are not considered part of the section titles. - -</li><li> Delete any section Entitled “Endorsements”. Such a section -may not be included in the Modified Version. - -</li><li> Do not retitle any existing section to be Entitled “Endorsements” or -to conflict in title with any Invariant Section. - -</li><li> Preserve any Warranty Disclaimers. -</li></ol> - -<p>If the Modified Version includes new front-matter sections or -appendices that qualify as Secondary Sections and contain no material -copied from the Document, you may at your option designate some or all -of these sections as invariant. To do this, add their titles to the -list of Invariant Sections in the Modified Version’s license notice. -These titles must be distinct from any other section titles. -</p> -<p>You may add a section Entitled “Endorsements”, provided it contains -nothing but endorsements of your Modified Version by various -parties—for example, statements of peer review or that the text has -been approved by an organization as the authoritative definition of a -standard. -</p> -<p>You may add a passage of up to five words as a Front-Cover Text, and a -passage of up to 25 words as a Back-Cover Text, to the end of the list -of Cover Texts in the Modified Version. Only one passage of -Front-Cover Text and one of Back-Cover Text may be added by (or -through arrangements made by) any one entity. If the Document already -includes a cover text for the same cover, previously added by you or -by arrangement made by the same entity you are acting on behalf of, -you may not add another; but you may replace the old one, on explicit -permission from the previous publisher that added the old one. -</p> -<p>The author(s) and publisher(s) of the Document do not by this License -give permission to use their names for publicity for or to assert or -imply endorsement of any Modified Version. -</p> -</li><li> COMBINING DOCUMENTS - -<p>You may combine the Document with other documents released under this -License, under the terms defined in section 4 above for modified -versions, provided that you include in the combination all of the -Invariant Sections of all of the original documents, unmodified, and -list them all as Invariant Sections of your combined work in its -license notice, and that you preserve all their Warranty Disclaimers. -</p> -<p>The combined work need only contain one copy of this License, and -multiple identical Invariant Sections may be replaced with a single -copy. If there are multiple Invariant Sections with the same name but -different contents, make the title of each such section unique by -adding at the end of it, in parentheses, the name of the original -author or publisher of that section if known, or else a unique number. -Make the same adjustment to the section titles in the list of -Invariant Sections in the license notice of the combined work. -</p> -<p>In the combination, you must combine any sections Entitled “History” -in the various original documents, forming one section Entitled -“History”; likewise combine any sections Entitled “Acknowledgements”, -and any sections Entitled “Dedications”. You must delete all -sections Entitled “Endorsements.” -</p> -</li><li> COLLECTIONS OF DOCUMENTS - -<p>You may make a collection consisting of the Document and other documents -released under this License, and replace the individual copies of this -License in the various documents with a single copy that is included in -the collection, provided that you follow the rules of this License for -verbatim copying of each of the documents in all other respects. -</p> -<p>You may extract a single document from such a collection, and distribute -it individually under this License, provided you insert a copy of this -License into the extracted document, and follow this License in all -other respects regarding verbatim copying of that document. -</p> -</li><li> AGGREGATION WITH INDEPENDENT WORKS - -<p>A compilation of the Document or its derivatives with other separate -and independent documents or works, in or on a volume of a storage or -distribution medium, is called an “aggregate” if the copyright -resulting from the compilation is not used to limit the legal rights -of the compilation’s users beyond what the individual works permit. -When the Document is included in an aggregate, this License does not -apply to the other works in the aggregate which are not themselves -derivative works of the Document. -</p> -<p>If the Cover Text requirement of section 3 is applicable to these -copies of the Document, then if the Document is less than one half of -the entire aggregate, the Document’s Cover Texts may be placed on -covers that bracket the Document within the aggregate, or the -electronic equivalent of covers if the Document is in electronic form. -Otherwise they must appear on printed covers that bracket the whole -aggregate. -</p> -</li><li> TRANSLATION - -<p>Translation is considered a kind of modification, so you may -distribute translations of the Document under the terms of section 4. -Replacing Invariant Sections with translations requires special -permission from their copyright holders, but you may include -translations of some or all Invariant Sections in addition to the -original versions of these Invariant Sections. You may include a -translation of this License, and all the license notices in the -Document, and any Warranty Disclaimers, provided that you also include -the original English version of this License and the original versions -of those notices and disclaimers. In case of a disagreement between -the translation and the original version of this License or a notice -or disclaimer, the original version will prevail. -</p> -<p>If a section in the Document is Entitled “Acknowledgements”, -“Dedications”, or “History”, the requirement (section 4) to Preserve -its Title (section 1) will typically require changing the actual -title. -</p> -</li><li> TERMINATION - -<p>You may not copy, modify, sublicense, or distribute the Document -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense, or distribute it is void, and -will automatically terminate your rights under this License. -</p> -<p>However, if you cease all violation of this License, then your license -from a particular copyright holder is reinstated (a) provisionally, -unless and until the copyright holder explicitly and finally -terminates your license, and (b) permanently, if the copyright holder -fails to notify you of the violation by some reasonable means prior to -60 days after the cessation. -</p> -<p>Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. -</p> -<p>Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, receipt of a copy of some or all of the same material does -not give you any rights to use it. -</p> -</li><li> FUTURE REVISIONS OF THIS LICENSE - -<p>The Free Software Foundation may publish new, revised versions -of the GNU Free Documentation License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. See -<a href="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</a>. -</p> -<p>Each version of the License is given a distinguishing version number. -If the Document specifies that a particular numbered version of this -License “or any later version” applies to it, you have the option of -following the terms and conditions either of that specified version or -of any later version that has been published (not as a draft) by the -Free Software Foundation. If the Document does not specify a version -number of this License, you may choose any version ever published (not -as a draft) by the Free Software Foundation. If the Document -specifies that a proxy can decide which future versions of this -License can be used, that proxy’s public statement of acceptance of a -version permanently authorizes you to choose that version for the -Document. -</p> -</li><li> RELICENSING - -<p>“Massive Multiauthor Collaboration Site” (or “MMC Site”) means any -World Wide Web server that publishes copyrightable works and also -provides prominent facilities for anybody to edit those works. A -public wiki that anybody can edit is an example of such a server. A -“Massive Multiauthor Collaboration” (or “MMC”) contained in the -site means any set of copyrightable works thus published on the MMC -site. -</p> -<p>“CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0 -license published by Creative Commons Corporation, a not-for-profit -corporation with a principal place of business in San Francisco, -California, as well as future copyleft versions of that license -published by that same organization. -</p> -<p>“Incorporate” means to publish or republish a Document, in whole or -in part, as part of another Document. -</p> -<p>An MMC is “eligible for relicensing” if it is licensed under this -License, and if all works that were first published under this License -somewhere other than this MMC, and subsequently incorporated in whole -or in part into the MMC, (1) had no cover texts or invariant sections, -and (2) were thus incorporated prior to November 1, 2008. -</p> -<p>The operator of an MMC Site may republish an MMC contained in the site -under CC-BY-SA on the same site at any time before August 1, 2009, -provided the MMC is eligible for relicensing. -</p> -</li></ol> - -<span id="ADDENDUM_003a-How-to-use-this-License-for-your-documents"></span><h3 class="heading">ADDENDUM: How to use this License for your documents</h3> - -<p>To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and -license notices just after the title page: -</p> -<div class="example"> -<pre class="example"> Copyright (C) <var>year</var> <var>your name</var>. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.3 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover - Texts. A copy of the license is included in the section entitled ``GNU - Free Documentation License''. -</pre></div> - -<p>If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, -replace the “with…Texts.” line with this: -</p> -<div class="example"> -<pre class="example"> with the Invariant Sections being <var>list their titles</var>, with - the Front-Cover Texts being <var>list</var>, and with the Back-Cover Texts - being <var>list</var>. -</pre></div> - -<p>If you have Invariant Sections without Cover Texts, or some other -combination of the three, merge those two alternatives to suit the -situation. -</p> -<p>If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of -free software license, such as the GNU General Public License, -to permit their use in free software. -</p> - -<hr> -<div class="header"> -<p> -Next: <a href="Concept-Index.html" accesskey="n" rel="next">Concept Index</a>, Previous: <a href="Contributing.html" accesskey="p" rel="prev">Contributing</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/haunt/Installation.html b/manuals/haunt/Installation.html deleted file mode 100644 index ca4514e..0000000 --- a/manuals/haunt/Installation.html +++ /dev/null @@ -1,94 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Installation (Haunt Reference Manual)</title> - -<meta name="description" content="Installation (Haunt Reference Manual)"> -<meta name="keywords" content="Installation (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="index.html" rel="up" title="Top"> -<link href="Downloading.html" rel="next" title="Downloading"> -<link href="Introduction.html" rel="prev" title="Introduction"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Installation"></span><div class="header"> -<p> -Next: <a href="Tutorial.html" accesskey="n" rel="next">Tutorial</a>, Previous: <a href="Introduction.html" accesskey="p" rel="prev">Introduction</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Installation-1"></span><h2 class="chapter">2 Installation</h2> - -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Downloading.html" accesskey="1">Downloading</a></td><td> </td><td align="left" valign="top">Downloading the source code. -</td></tr> -<tr><td align="left" valign="top">• <a href="Requirements.html" accesskey="2">Requirements</a></td><td> </td><td align="left" valign="top">Software needed to build and run Haunt. -</td></tr> -<tr><td align="left" valign="top">• <a href="Building.html" accesskey="3">Building</a></td><td> </td><td align="left" valign="top">Building from source code. -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/haunt/Introduction.html b/manuals/haunt/Introduction.html deleted file mode 100644 index 5a5f6b9..0000000 --- a/manuals/haunt/Introduction.html +++ /dev/null @@ -1,149 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Introduction (Haunt Reference Manual)</title> - -<meta name="description" content="Introduction (Haunt Reference Manual)"> -<meta name="keywords" content="Introduction (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="index.html" rel="up" title="Top"> -<link href="Installation.html" rel="next" title="Installation"> -<link href="index.html" rel="prev" title="Top"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Introduction"></span><div class="header"> -<p> -Next: <a href="Installation.html" accesskey="n" rel="next">Installation</a>, Previous: <a href="index.html" accesskey="p" rel="prev">Top</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Introduction-1"></span><h2 class="chapter">1 Introduction</h2> - -<p>Haunt is a hackable static site generator written in Guile Scheme. A -static site generator assists an author with generating the HTML pages -that they publish on the web. Unlike “content management systems” -such as Wordpress or Drupal, static site generators are not dynamic -web applications (complete with a relational database) that build -pages on-the-fly. Instead, web pages are built in advance, on the -author’s computer, and copied to a web server when it is time to -publish changes. The consequence of this design is that the web -server no longer needs to run a complex, potentially insecure web -application that connects to a database to retrieve data. Static -files can be served easily by any generic web server. Since there is -no web application or database server to deal with, static websites -are easier to maintain, more secure, and resistant to high web traffic -(“slashdotting.”) Furthermore, the entire website is stored in -plain text, which allows the files to be version-controlled rather -than kept in a relational database with no concept of history that -needs to be backed up regularly. -</p> -<p>At the time that Haunt was conceived, there existed literally hundreds -of other static site generators. Why add another one? Haunt -differentiates itself from most other static site generators in that -it aspires to the Emacs philosophy of “practical software freedom.” -Not only is the source code available under a Free Software license, -as most static site generators are, it is designed to be easily hacked -and extended without altering the core source code. Haunt -purposefully blurs the line between document and program, author and -programmer, by embracing the notion of data as code. A Haunt-based -website is not simply data, but a computer program. This design -strategy encourages authors to automate repetitive tasks and empowers -them to extend the software with their own ideas. -</p> -<p>To make such a system work well, a general-purpose, extensible -programming language is needed. A traditional configuration file -format simply will not do. The programming language that we feel is -best suited to this task is Scheme, a clean and elegant dialect of -Lisp. We believe that by giving authors the full expressive power of -Scheme, they will be able to produce better websites and make better -use of their time than with less programmable systems and less capable -programming languages. Authors should feel empowered to hack the -system to make it do what they want rather than what some programmer -decided they should want. And perhaps most importantly, building -websites with Haunt should be <em>fun</em>. -</p> -<p>Websites written in Haunt are described as purely functional programs -that accept “posts”, text documents containing arbitrary metadata, -as input and transform them into complete HTML pages using Scheme -procedures. Haunt has no opinion about what markup language authors -should use to write their posts and will happily work with any format -for which a “reader” procedure exists. Likewise, Haunt also has no -opinion about how authors should structure their sites, but has sane -defaults. Currently, there exist helpful “builder” procedures that -do common tasks such as generating a blog or Atom feed. While the -built-in features may be enough for some, they surely will not be -enough for all. Haunt’s Scheme API empowers authors to easily tweak -existing components, write replacements, or add entirely new features -that do things no else has thought to do yet. -</p> -<p>Happy haunting! -</p> -<hr> -<div class="header"> -<p> -Next: <a href="Installation.html" accesskey="n" rel="next">Installation</a>, Previous: <a href="index.html" accesskey="p" rel="prev">Top</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/haunt/Invoking-haunt-build.html b/manuals/haunt/Invoking-haunt-build.html deleted file mode 100644 index 22b1452..0000000 --- a/manuals/haunt/Invoking-haunt-build.html +++ /dev/null @@ -1,104 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Invoking haunt build (Haunt Reference Manual)</title> - -<meta name="description" content="Invoking haunt build (Haunt Reference Manual)"> -<meta name="keywords" content="Invoking haunt build (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Command_002dline-Interface.html" rel="up" title="Command-line Interface"> -<link href="Invoking-haunt-serve.html" rel="next" title="Invoking haunt serve"> -<link href="Command_002dline-Interface.html" rel="prev" title="Command-line Interface"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Invoking-haunt-build"></span><div class="header"> -<p> -Next: <a href="Invoking-haunt-serve.html" accesskey="n" rel="next">Invoking haunt serve</a>, Up: <a href="Command_002dline-Interface.html" accesskey="u" rel="up">Command-line Interface</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Invoking-haunt-build-1"></span><h3 class="section">4.1 Invoking <code>haunt build</code></h3> - -<p>The <code>haunt build</code> command realizes a Haunt site configuration -file by compiling web pages and copying static assets to the output -directory. For details on how to configure a Haunt site, -see <a href="Sites.html">Sites</a>. -</p> -<p>Example: -</p> -<div class="example"> -<pre class="example">haunt build --config=haunt.scm -</pre></div> - -<dl compact="compact"> -<dt><code>--config=<var>configuration-file</var></code></dt> -<dt><code>-c <var>configuration-file</var></code></dt> -<dd><p>Load the Haunt site declaration from <var>configuration-file</var>. -</p> -</dd> -</dl> - - - - -</body> -</html> diff --git a/manuals/haunt/Invoking-haunt-serve.html b/manuals/haunt/Invoking-haunt-serve.html deleted file mode 100644 index b57c405..0000000 --- a/manuals/haunt/Invoking-haunt-serve.html +++ /dev/null @@ -1,119 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Invoking haunt serve (Haunt Reference Manual)</title> - -<meta name="description" content="Invoking haunt serve (Haunt Reference Manual)"> -<meta name="keywords" content="Invoking haunt serve (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Command_002dline-Interface.html" rel="up" title="Command-line Interface"> -<link href="Programming-Interface.html" rel="next" title="Programming Interface"> -<link href="Invoking-haunt-build.html" rel="prev" title="Invoking haunt build"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Invoking-haunt-serve"></span><div class="header"> -<p> -Previous: <a href="Invoking-haunt-build.html" accesskey="p" rel="prev">Invoking haunt build</a>, Up: <a href="Command_002dline-Interface.html" accesskey="u" rel="up">Command-line Interface</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Invoking-haunt-serve-1"></span><h3 class="section">4.2 Invoking <code>haunt serve</code></h3> - -<p>The <code>haunt serve</code> command allows one to quickly view a local -preview of the generated website before publishing the finished -product to a remote web server. When <code>haunt serve</code> runs, a -local HTTP server is spawned. Visit the server using a web browser to -inspect the results of the build. By default, the web server listens -on port 8080, so the URL to visit would be -<a href="http://localhost:8080">http://localhost:8080</a>. -</p> -<p>While developing, it is common to rebuild the site frequently to view -the results of incremental changes. Rather than manually running -<code>haunt build</code> (<a href="Invoking-haunt-build.html">Invoking haunt build</a>) each time changes -are made, the <code>--watch</code> flag can be used to automatically rebuild -the site when a source file changes on disk. -</p> -<dl compact="compact"> -<dt><code>--config=<var>configuration-file</var></code></dt> -<dt><code>-c <var>configuration-file</var></code></dt> -<dd><p>Load the Haunt site declaration from <var>configuration-file</var>. -</p> -</dd> -<dt><code>--port=<var>port</var></code></dt> -<dt><code>-p <var>port</var></code></dt> -<dd> -<p>Listen for HTTP requests on <var>port</var>. -</p> -</dd> -<dt><code>--watch</code></dt> -<dt><code>-w</code></dt> -<dd> -<p>Automatically rebuild the site when source files change. -</p> -</dd> -</dl> - - - - -</body> -</html> diff --git a/manuals/haunt/Pages.html b/manuals/haunt/Pages.html deleted file mode 100644 index c577804..0000000 --- a/manuals/haunt/Pages.html +++ /dev/null @@ -1,126 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Pages (Haunt Reference Manual)</title> - -<meta name="description" content="Pages (Haunt Reference Manual)"> -<meta name="keywords" content="Pages (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Programming-Interface.html" rel="up" title="Programming Interface"> -<link href="Assets.html" rel="next" title="Assets"> -<link href="CommonMark.html" rel="prev" title="CommonMark"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Pages"></span><div class="header"> -<p> -Next: <a href="Assets.html" accesskey="n" rel="next">Assets</a>, Previous: <a href="Readers.html" accesskey="p" rel="prev">Readers</a>, Up: <a href="Programming-Interface.html" accesskey="u" rel="up">Programming Interface</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Pages-1"></span><h3 class="section">5.4 Pages</h3> - -<div class="example"> -<pre class="example">(use-modules (haunt page)) -</pre></div> - -<p>Page objects represent files that have yet to be written to disk. -Their contents may be any arbitrary object that their writer procedure -knows how to serialize. In practice, pages are almost always written -to disk as HTML or XML. -</p> -<dl> -<dt id="index-make_002dpage">Scheme Procedure: <strong>make-page</strong> <em><var>file-name</var> <var>contents</var> <var>writer</var></em></dt> -<dd><p>Create a new page object. The string <var>file-name</var> specifies where -the page should be written to in the file system. The procedure -<var>writer</var> is responsible for serializing <var>contents</var>. -</p></dd></dl> - -<dl> -<dt id="index-page_003f">Scheme Procedure: <strong>page?</strong> <em><var>object</var></em></dt> -<dd><p>Return <code>#t</code> if <var>object</var> is a page object. -</p></dd></dl> - -<dl> -<dt id="index-page_002dfile_002dname">Scheme Procedure: <strong>page-file-name</strong> <em><var>page</var></em></dt> -<dd><p>Return the file name string for <var>page</var>. -</p></dd></dl> - -<dl> -<dt id="index-page_002dcontents">Scheme Procedure: <strong>page-contents</strong> <em><var>page</var></em></dt> -<dd><p>Return the contents of <var>page</var>. -</p></dd></dl> - -<dl> -<dt id="index-page_002dwriter">Scheme Procedure: <strong>page-writer</strong> <em><var>page</var></em></dt> -<dd><p>Return the writer procedure <var>page</var>. -</p></dd></dl> - -<dl> -<dt id="index-write_002dpage">Scheme Procedure: <strong>write-page</strong> <em><var>page</var> <var>output-directory</var></em></dt> -<dd><p>Write <var>page</var> to <var>output-directory</var>. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/haunt/Posts.html b/manuals/haunt/Posts.html deleted file mode 100644 index 13727cb..0000000 --- a/manuals/haunt/Posts.html +++ /dev/null @@ -1,163 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Posts (Haunt Reference Manual)</title> - -<meta name="description" content="Posts (Haunt Reference Manual)"> -<meta name="keywords" content="Posts (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Programming-Interface.html" rel="up" title="Programming Interface"> -<link href="Readers.html" rel="next" title="Readers"> -<link href="Sites.html" rel="prev" title="Sites"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Posts"></span><div class="header"> -<p> -Next: <a href="Readers.html" accesskey="n" rel="next">Readers</a>, Previous: <a href="Sites.html" accesskey="p" rel="prev">Sites</a>, Up: <a href="Programming-Interface.html" accesskey="u" rel="up">Programming Interface</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Posts-1"></span><h3 class="section">5.2 Posts</h3> - -<div class="example"> -<pre class="example">(use-modules (haunt post)) -</pre></div> - -<p>Posts represent the articles that are kept in a site’s post directory -and written in a markup format that Haunt can -understand. see <a href="Readers.html">Readers</a>) for how files on disk can be transformed -into posts. -</p> -<dl> -<dt id="index-make_002dpost">Scheme Procedure: <strong>make-post</strong> <em><var>file-name</var> <var>metadata</var> <var>sxml</var></em></dt> -<dd><p>Create a new post object that represents the contents of the file -<var>file-name</var>. The body of the post, <var>sxml</var>, is represented as -an SXML tree (see <a href="https://www.gnu.org/software/guile/manual/html_node/SXML.html#SXML">SXML</a> in <cite>GNU Guile Reference Manual</cite>) -and the metadata is an association list (see <a href="https://www.gnu.org/software/guile/manual/html_node/Association-Lists.html#Association-Lists">Association Lists</a> in <cite>GNU Guile Reference Manual</cite>) of arbitrary -key/value pairs. -</p></dd></dl> - -<dl> -<dt id="index-post_003f">Scheme Procedure: <strong>post?</strong> <em><var>object</var></em></dt> -<dd><p>Return <code>#t</code> if <var>object</var> is a post. -</p></dd></dl> - -<dl> -<dt id="index-post_002dfile_002dname">Scheme Procedure: <strong>post-file-name</strong> <em><var>post</var></em></dt> -<dd><p>Return the file name for <var>post</var>. -</p></dd></dl> - -<dl> -<dt id="index-post_002dmetadata">Scheme Procedure: <strong>post-metadata</strong> <em><var>post</var></em></dt> -<dd><p>Return the metadata association list for <var>post</var>. -</p></dd></dl> - -<dl> -<dt id="index-post_002dsxml">Scheme Procedure: <strong>post-sxml</strong> <em><var>post</var></em></dt> -<dd><p>Return the SXML tree for <var>post</var>. -</p></dd></dl> - -<dl> -<dt id="index-post_002dref">Scheme Procedure: <strong>post-ref</strong> <em><var>post</var> <var>key</var></em></dt> -<dd><p>Return the metadata value corresponding to <var>key</var> within -<var>post</var>. -</p></dd></dl> - -<dl> -<dt id="index-post_002dslug">Scheme Procedure: <strong>post-slug</strong> <em><var>post</var></em></dt> -<dd><p>Transform the title of <var>post</var> into a URL slug suitable for the -file name of a web page. -</p></dd></dl> - -<dl> -<dt id="index-_0025default_002ddate">Scheme Variable: <strong>%default-date</strong></dt> -<dd><p>The default date of a post when no other date is specified in the -metadata association list. -</p></dd></dl> - -<dl> -<dt id="index-post_002ddate">Scheme Procedure: <strong>post-date</strong> <em><var>post</var></em></dt> -<dd><p>Return the date for <var>post</var>, or <code>%default-date</code> if no date is -specified. -</p></dd></dl> - -<dl> -<dt id="index-posts_002freverse_002dchronological">Scheme Procedure: <strong>posts/reverse-chronological</strong> <em><var>posts</var></em></dt> -<dd><p>Sort <var>posts</var>, a list of posts, in reverse chronological order. -</p></dd></dl> - -<dl> -<dt id="index-posts_002fgroup_002dby_002dtag">Scheme Procedure: <strong>posts/group-by-tag</strong> <em><var>posts</var></em></dt> -<dd><p>Create an association list of tags mapped to the posts in the list -<var>posts</var> that used them. -</p></dd></dl> - -<hr> -<div class="header"> -<p> -Next: <a href="Readers.html" accesskey="n" rel="next">Readers</a>, Previous: <a href="Sites.html" accesskey="p" rel="prev">Sites</a>, Up: <a href="Programming-Interface.html" accesskey="u" rel="up">Programming Interface</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/haunt/Programming-Index.html b/manuals/haunt/Programming-Index.html deleted file mode 100644 index 745a4ea..0000000 --- a/manuals/haunt/Programming-Index.html +++ /dev/null @@ -1,227 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Programming Index (Haunt Reference Manual)</title> - -<meta name="description" content="Programming Index (Haunt Reference Manual)"> -<meta name="keywords" content="Programming Index (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="index.html" rel="up" title="Top"> -<link href="Concept-Index.html" rel="prev" title="Concept Index"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Programming-Index"></span><div class="header"> -<p> -Previous: <a href="Concept-Index.html" accesskey="p" rel="prev">Concept Index</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Programming-Index-1"></span><h2 class="unnumbered">Programming Index</h2> -<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Programming-Index_fn_symbol-1"><b>%</b></a> - -<br> -<a class="summary-letter" href="#Programming-Index_fn_letter-A"><b>A</b></a> - -<a class="summary-letter" href="#Programming-Index_fn_letter-B"><b>B</b></a> - -<a class="summary-letter" href="#Programming-Index_fn_letter-C"><b>C</b></a> - -<a class="summary-letter" href="#Programming-Index_fn_letter-D"><b>D</b></a> - -<a class="summary-letter" href="#Programming-Index_fn_letter-H"><b>H</b></a> - -<a class="summary-letter" href="#Programming-Index_fn_letter-I"><b>I</b></a> - -<a class="summary-letter" href="#Programming-Index_fn_letter-M"><b>M</b></a> - -<a class="summary-letter" href="#Programming-Index_fn_letter-P"><b>P</b></a> - -<a class="summary-letter" href="#Programming-Index_fn_letter-R"><b>R</b></a> - -<a class="summary-letter" href="#Programming-Index_fn_letter-S"><b>S</b></a> - -<a class="summary-letter" href="#Programming-Index_fn_letter-T"><b>T</b></a> - -<a class="summary-letter" href="#Programming-Index_fn_letter-W"><b>W</b></a> - -</td></tr></table> -<table class="index-fn" border="0"> -<tr><td></td><th align="left">Index Entry</th><td> </td><th align="left"> Section</th></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Programming-Index_fn_symbol-1">%</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Posts.html#index-_0025default_002ddate"><code>%default-date</code></a>:</td><td> </td><td valign="top"><a href="Posts.html">Posts</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Programming-Index_fn_letter-A">A</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Assets.html#index-asset_002dsource"><code>asset-source</code></a>:</td><td> </td><td valign="top"><a href="Assets.html">Assets</a></td></tr> -<tr><td></td><td valign="top"><a href="Assets.html#index-asset_002dtarget"><code>asset-target</code></a>:</td><td> </td><td valign="top"><a href="Assets.html">Assets</a></td></tr> -<tr><td></td><td valign="top"><a href="Assets.html#index-asset_003f"><code>asset?</code></a>:</td><td> </td><td valign="top"><a href="Assets.html">Assets</a></td></tr> -<tr><td></td><td valign="top"><a href="Atom.html#index-atom_002dfeed"><code>atom-feed</code></a>:</td><td> </td><td valign="top"><a href="Atom.html">Atom</a></td></tr> -<tr><td></td><td valign="top"><a href="Atom.html#index-atom_002dfeeds_002dby_002dtag"><code>atom-feeds-by-tag</code></a>:</td><td> </td><td valign="top"><a href="Atom.html">Atom</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Programming-Index_fn_letter-B">B</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Blog.html#index-blog"><code>blog</code></a>:</td><td> </td><td valign="top"><a href="Blog.html">Blog</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Programming-Index_fn_letter-C">C</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="CommonMark.html#index-commonmark_002dreader"><code>commonmark-reader</code></a>:</td><td> </td><td valign="top"><a href="CommonMark.html">CommonMark</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Programming-Index_fn_letter-D">D</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Assets.html#index-directory_002dassets"><code>directory-assets</code></a>:</td><td> </td><td valign="top"><a href="Assets.html">Assets</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Programming-Index_fn_letter-H">H</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Reader.html#index-html_002dreader"><code>html-reader</code></a>:</td><td> </td><td valign="top"><a href="Reader.html">Reader</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Programming-Index_fn_letter-I">I</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Assets.html#index-install_002dasset"><code>install-asset</code></a>:</td><td> </td><td valign="top"><a href="Assets.html">Assets</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Programming-Index_fn_letter-M">M</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Assets.html#index-make_002dasset"><code>make-asset</code></a>:</td><td> </td><td valign="top"><a href="Assets.html">Assets</a></td></tr> -<tr><td></td><td valign="top"><a href="Reader.html#index-make_002dfile_002dextension_002dmatcher"><code>make-file-extension-matcher</code></a>:</td><td> </td><td valign="top"><a href="Reader.html">Reader</a></td></tr> -<tr><td></td><td valign="top"><a href="Pages.html#index-make_002dpage"><code>make-page</code></a>:</td><td> </td><td valign="top"><a href="Pages.html">Pages</a></td></tr> -<tr><td></td><td valign="top"><a href="Posts.html#index-make_002dpost"><code>make-post</code></a>:</td><td> </td><td valign="top"><a href="Posts.html">Posts</a></td></tr> -<tr><td></td><td valign="top"><a href="Reader.html#index-make_002dreader"><code>make-reader</code></a>:</td><td> </td><td valign="top"><a href="Reader.html">Reader</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Programming-Index_fn_letter-P">P</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Pages.html#index-page_002dcontents"><code>page-contents</code></a>:</td><td> </td><td valign="top"><a href="Pages.html">Pages</a></td></tr> -<tr><td></td><td valign="top"><a href="Pages.html#index-page_002dfile_002dname"><code>page-file-name</code></a>:</td><td> </td><td valign="top"><a href="Pages.html">Pages</a></td></tr> -<tr><td></td><td valign="top"><a href="Pages.html#index-page_002dwriter"><code>page-writer</code></a>:</td><td> </td><td valign="top"><a href="Pages.html">Pages</a></td></tr> -<tr><td></td><td valign="top"><a href="Pages.html#index-page_003f"><code>page?</code></a>:</td><td> </td><td valign="top"><a href="Pages.html">Pages</a></td></tr> -<tr><td></td><td valign="top"><a href="Posts.html#index-post_002ddate"><code>post-date</code></a>:</td><td> </td><td valign="top"><a href="Posts.html">Posts</a></td></tr> -<tr><td></td><td valign="top"><a href="Posts.html#index-post_002dfile_002dname"><code>post-file-name</code></a>:</td><td> </td><td valign="top"><a href="Posts.html">Posts</a></td></tr> -<tr><td></td><td valign="top"><a href="Posts.html#index-post_002dmetadata"><code>post-metadata</code></a>:</td><td> </td><td valign="top"><a href="Posts.html">Posts</a></td></tr> -<tr><td></td><td valign="top"><a href="Posts.html#index-post_002dref"><code>post-ref</code></a>:</td><td> </td><td valign="top"><a href="Posts.html">Posts</a></td></tr> -<tr><td></td><td valign="top"><a href="Posts.html#index-post_002dslug"><code>post-slug</code></a>:</td><td> </td><td valign="top"><a href="Posts.html">Posts</a></td></tr> -<tr><td></td><td valign="top"><a href="Posts.html#index-post_002dsxml"><code>post-sxml</code></a>:</td><td> </td><td valign="top"><a href="Posts.html">Posts</a></td></tr> -<tr><td></td><td valign="top"><a href="Posts.html#index-post_003f"><code>post?</code></a>:</td><td> </td><td valign="top"><a href="Posts.html">Posts</a></td></tr> -<tr><td></td><td valign="top"><a href="Posts.html#index-posts_002fgroup_002dby_002dtag"><code>posts/group-by-tag</code></a>:</td><td> </td><td valign="top"><a href="Posts.html">Posts</a></td></tr> -<tr><td></td><td valign="top"><a href="Posts.html#index-posts_002freverse_002dchronological"><code>posts/reverse-chronological</code></a>:</td><td> </td><td valign="top"><a href="Posts.html">Posts</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Programming-Index_fn_letter-R">R</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Reader.html#index-read_002dpost"><code>read-post</code></a>:</td><td> </td><td valign="top"><a href="Reader.html">Reader</a></td></tr> -<tr><td></td><td valign="top"><a href="Reader.html#index-read_002dposts"><code>read-posts</code></a>:</td><td> </td><td valign="top"><a href="Reader.html">Reader</a></td></tr> -<tr><td></td><td valign="top"><a href="Reader.html#index-reader_002dmatch_003f"><code>reader-match?</code></a>:</td><td> </td><td valign="top"><a href="Reader.html">Reader</a></td></tr> -<tr><td></td><td valign="top"><a href="Reader.html#index-reader_002dmatcher"><code>reader-matcher</code></a>:</td><td> </td><td valign="top"><a href="Reader.html">Reader</a></td></tr> -<tr><td></td><td valign="top"><a href="Reader.html#index-reader_002dproc"><code>reader-proc</code></a>:</td><td> </td><td valign="top"><a href="Reader.html">Reader</a></td></tr> -<tr><td></td><td valign="top"><a href="Reader.html#index-reader_003f"><code>reader?</code></a>:</td><td> </td><td valign="top"><a href="Reader.html">Reader</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Programming-Index_fn_letter-S">S</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Sites.html#index-site"><code>site</code></a>:</td><td> </td><td valign="top"><a href="Sites.html">Sites</a></td></tr> -<tr><td></td><td valign="top"><a href="Sites.html#index-site_002dbuild_002ddirectory"><code>site-build-directory</code></a>:</td><td> </td><td valign="top"><a href="Sites.html">Sites</a></td></tr> -<tr><td></td><td valign="top"><a href="Sites.html#index-site_002dbuilders"><code>site-builders</code></a>:</td><td> </td><td valign="top"><a href="Sites.html">Sites</a></td></tr> -<tr><td></td><td valign="top"><a href="Sites.html#index-site_002ddomain"><code>site-domain</code></a>:</td><td> </td><td valign="top"><a href="Sites.html">Sites</a></td></tr> -<tr><td></td><td valign="top"><a href="Sites.html#index-site_002dfile_002dfilter"><code>site-file-filter</code></a>:</td><td> </td><td valign="top"><a href="Sites.html">Sites</a></td></tr> -<tr><td></td><td valign="top"><a href="Sites.html#index-site_002dmake_002dslug"><code>site-make-slug</code></a>:</td><td> </td><td valign="top"><a href="Sites.html">Sites</a></td></tr> -<tr><td></td><td valign="top"><a href="Sites.html#index-site_002dposts_002ddirectory"><code>site-posts-directory</code></a>:</td><td> </td><td valign="top"><a href="Sites.html">Sites</a></td></tr> -<tr><td></td><td valign="top"><a href="Sites.html#index-site_002dreaders"><code>site-readers</code></a>:</td><td> </td><td valign="top"><a href="Sites.html">Sites</a></td></tr> -<tr><td></td><td valign="top"><a href="Sites.html#index-site_002dtitle"><code>site-title</code></a>:</td><td> </td><td valign="top"><a href="Sites.html">Sites</a></td></tr> -<tr><td></td><td valign="top"><a href="Sites.html#index-site_003f"><code>site?</code></a>:</td><td> </td><td valign="top"><a href="Sites.html">Sites</a></td></tr> -<tr><td></td><td valign="top"><a href="Skribe.html#index-skribe_002dreader"><code>skribe-reader</code></a>:</td><td> </td><td valign="top"><a href="Skribe.html">Skribe</a></td></tr> -<tr><td></td><td valign="top"><a href="Static-Assets.html#index-static_002ddirectory"><code>static-directory</code></a>:</td><td> </td><td valign="top"><a href="Static-Assets.html">Static Assets</a></td></tr> -<tr><td></td><td valign="top"><a href="Reader.html#index-sxml_002dreader"><code>sxml-reader</code></a>:</td><td> </td><td valign="top"><a href="Reader.html">Reader</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Programming-Index_fn_letter-T">T</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Texinfo.html#index-texinfo_002dreader"><code>texinfo-reader</code></a>:</td><td> </td><td valign="top"><a href="Texinfo.html">Texinfo</a></td></tr> -<tr><td></td><td valign="top"><a href="Blog.html#index-theme"><code>theme</code></a>:</td><td> </td><td valign="top"><a href="Blog.html">Blog</a></td></tr> -<tr><td></td><td valign="top"><a href="Blog.html#index-theme_003f"><code>theme?</code></a>:</td><td> </td><td valign="top"><a href="Blog.html">Blog</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th id="Programming-Index_fn_letter-W">W</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Pages.html#index-write_002dpage"><code>write-page</code></a>:</td><td> </td><td valign="top"><a href="Pages.html">Pages</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -</table> -<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Programming-Index_fn_symbol-1"><b>%</b></a> - -<br> -<a class="summary-letter" href="#Programming-Index_fn_letter-A"><b>A</b></a> - -<a class="summary-letter" href="#Programming-Index_fn_letter-B"><b>B</b></a> - -<a class="summary-letter" href="#Programming-Index_fn_letter-C"><b>C</b></a> - -<a class="summary-letter" href="#Programming-Index_fn_letter-D"><b>D</b></a> - -<a class="summary-letter" href="#Programming-Index_fn_letter-H"><b>H</b></a> - -<a class="summary-letter" href="#Programming-Index_fn_letter-I"><b>I</b></a> - -<a class="summary-letter" href="#Programming-Index_fn_letter-M"><b>M</b></a> - -<a class="summary-letter" href="#Programming-Index_fn_letter-P"><b>P</b></a> - -<a class="summary-letter" href="#Programming-Index_fn_letter-R"><b>R</b></a> - -<a class="summary-letter" href="#Programming-Index_fn_letter-S"><b>S</b></a> - -<a class="summary-letter" href="#Programming-Index_fn_letter-T"><b>T</b></a> - -<a class="summary-letter" href="#Programming-Index_fn_letter-W"><b>W</b></a> - -</td></tr></table> - -<hr> -<div class="header"> -<p> -Previous: <a href="Concept-Index.html" accesskey="p" rel="prev">Concept Index</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/haunt/Programming-Interface.html b/manuals/haunt/Programming-Interface.html deleted file mode 100644 index 883e7cf..0000000 --- a/manuals/haunt/Programming-Interface.html +++ /dev/null @@ -1,103 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Programming Interface (Haunt Reference Manual)</title> - -<meta name="description" content="Programming Interface (Haunt Reference Manual)"> -<meta name="keywords" content="Programming Interface (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="index.html" rel="up" title="Top"> -<link href="Sites.html" rel="next" title="Sites"> -<link href="Invoking-haunt-serve.html" rel="prev" title="Invoking haunt serve"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Programming-Interface"></span><div class="header"> -<p> -Next: <a href="Contributing.html" accesskey="n" rel="next">Contributing</a>, Previous: <a href="Command_002dline-Interface.html" accesskey="p" rel="prev">Command-line Interface</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Programming-Interface-1"></span><h2 class="chapter">5 Programming Interface</h2> - -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Sites.html" accesskey="1">Sites</a></td><td> </td><td align="left" valign="top">Description of the site and how to build it. -</td></tr> -<tr><td align="left" valign="top">• <a href="Posts.html" accesskey="2">Posts</a></td><td> </td><td align="left" valign="top">Articles, prose, blog posts, etc. -</td></tr> -<tr><td align="left" valign="top">• <a href="Readers.html" accesskey="3">Readers</a></td><td> </td><td align="left" valign="top">Post interpreters. -</td></tr> -<tr><td align="left" valign="top">• <a href="Pages.html" accesskey="4">Pages</a></td><td> </td><td align="left" valign="top">HTML/XML pages. -</td></tr> -<tr><td align="left" valign="top">• <a href="Assets.html" accesskey="5">Assets</a></td><td> </td><td align="left" valign="top">Images, stylesheets, etc. -</td></tr> -<tr><td align="left" valign="top">• <a href="Builders.html" accesskey="6">Builders</a></td><td> </td><td align="left" valign="top">Web page builders. -</td></tr> -</table> - -<p>Haunt is a fully-programmable system composed of several Guile Scheme -modules. This section documents the public API. -</p> - - - -</body> -</html> diff --git a/manuals/haunt/Reader.html b/manuals/haunt/Reader.html deleted file mode 100644 index 0839710..0000000 --- a/manuals/haunt/Reader.html +++ /dev/null @@ -1,191 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Reader (Haunt Reference Manual)</title> - -<meta name="description" content="Reader (Haunt Reference Manual)"> -<meta name="keywords" content="Reader (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Readers.html" rel="up" title="Readers"> -<link href="Texinfo.html" rel="next" title="Texinfo"> -<link href="Readers.html" rel="prev" title="Readers"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Reader"></span><div class="header"> -<p> -Next: <a href="Texinfo.html" accesskey="n" rel="next">Texinfo</a>, Up: <a href="Readers.html" accesskey="u" rel="up">Readers</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Reader-1"></span><h4 class="subsection">5.3.1 Reader</h4> -<div class="example"> -<pre class="example">(use-modules (haunt reader)) -</pre></div> - -<p>The purpose of a reader is to translate the markup within a post file -into an SXML tree representing the HTML structure and associate some -metadata with it. -</p> -<dl> -<dt id="index-make_002dreader">Scheme Procedure: <strong>make-reader</strong> <em><var>matcher</var> <var>proc</var></em></dt> -<dd><p>Create a new reader. The reader is to be activated when -<var>matcher</var>, a procedure that accepts a file name as its only -argument, returns <code>#t</code>. When a post file matches, the procedure -<var>proc</var>, which also accepts a file name as its only argument, reads -the contents and returns a post object (see <a href="Posts.html">Posts</a>). -</p></dd></dl> - -<dl> -<dt id="index-reader_003f">Scheme Procedure: <strong>reader?</strong> <em><var>object</var></em></dt> -<dd><p>Return <code>#t</code> if <var>object</var> is a reader. -</p></dd></dl> - -<dl> -<dt id="index-reader_002dmatcher">Scheme Procedure: <strong>reader-matcher</strong> <em><var>reader</var></em></dt> -<dd><p>Return the match procedure for <var>reader</var>. -</p></dd></dl> - -<dl> -<dt id="index-reader_002dproc">Scheme Procedure: <strong>reader-proc</strong> <em><var>reader</var></em></dt> -<dd><p>Return the read procedure for <var>reader</var>. -</p></dd></dl> - -<dl> -<dt id="index-reader_002dmatch_003f">Scheme Procedure: <strong>reader-match?</strong> <em><var>reader</var> <var>file-name</var></em></dt> -<dd><p>Return <code>#t</code> if <var>file-name</var> is a file supported by -<var>reader</var>. -</p></dd></dl> - -<dl> -<dt id="index-read_002dpost">Scheme Procedure: <strong>read-post</strong> <em><var>reader</var> <var>file-name</var> [<var>default-metadata</var>]</em></dt> -<dd><p>Read a post object from <var>file-name</var> using <var>reader</var>, merging -its metadata with <var>default-metadata</var>, or the empty list if not -specified. -</p></dd></dl> - -<dl> -<dt id="index-read_002dposts">Scheme Procedure: <strong>read-posts</strong> <em><var>directory</var> <var>keep?</var> <var>readers</var> [<var>default-metadata</var>]</em></dt> -<dd><p>Read all of the files in <var>directory</var> that match <var>keep?</var> as -post objects. The <var>readers</var> list must contain a matching reader -for every post. -</p></dd></dl> - -<dl> -<dt id="index-make_002dfile_002dextension_002dmatcher">Scheme Procedure: <strong>make-file-extension-matcher</strong> <em><var>ext</var></em></dt> -<dd><p>Create a procedure that returns <code>#t</code> when a file name ends with -“.ext”. -</p></dd></dl> - -<dl> -<dt id="index-sxml_002dreader">Scheme Procedure: <strong>sxml-reader</strong></dt> -<dd><p>A basic reader for posts written as Scheme code that evaluates to an -an association list. The special key <code>content</code> contains the post -body as an SXML tree. -</p> -<p>Example: -</p> -<div class="example"> -<pre class="example">(use-modules (haunt utils)) - -`((title . "Hello, world!") - (date . ,(string->date* "2015-04-10 23:00")) - (tags "foo" "bar") - (summary . "Just a test") - (content - ((h2 "Hello!") - (p "This is Haunt. A static site generator for GNU Guile.")))) -</pre></div> - -</dd></dl> - -<dl> -<dt id="index-html_002dreader">Scheme Procedure: <strong>html-reader</strong></dt> -<dd><p>A basic reader for posts written in plain ol’ HTML. Metadata is -encoded as the <code>key: value</code> pairs, one per line, at the beginning -of the file. A line with the <code>---</code> sentinel marks the end of the -metadata section and the rest of the file is encoded as HTML. -</p> -<p>Example: -</p> -<div class="example"> -<pre class="example">title: A Foo Walks Into a Bar -date: 2015-04-11 20:00 -tags: bar ---- -<p> - This is an example using raw HTML, because Guile doesn't have a - Markdown parser. -</p> -</pre></div> - -</dd></dl> - -<hr> -<div class="header"> -<p> -Next: <a href="Texinfo.html" accesskey="n" rel="next">Texinfo</a>, Up: <a href="Readers.html" accesskey="u" rel="up">Readers</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/haunt/Readers.html b/manuals/haunt/Readers.html deleted file mode 100644 index f8e525b..0000000 --- a/manuals/haunt/Readers.html +++ /dev/null @@ -1,96 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Readers (Haunt Reference Manual)</title> - -<meta name="description" content="Readers (Haunt Reference Manual)"> -<meta name="keywords" content="Readers (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Programming-Interface.html" rel="up" title="Programming Interface"> -<link href="Reader.html" rel="next" title="Reader"> -<link href="Posts.html" rel="prev" title="Posts"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Readers"></span><div class="header"> -<p> -Next: <a href="Pages.html" accesskey="n" rel="next">Pages</a>, Previous: <a href="Posts.html" accesskey="p" rel="prev">Posts</a>, Up: <a href="Programming-Interface.html" accesskey="u" rel="up">Programming Interface</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Readers-1"></span><h3 class="section">5.3 Readers</h3> - -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Reader.html" accesskey="1">Reader</a></td><td> </td><td align="left" valign="top">Reader interface and basic readers -</td></tr> -<tr><td align="left" valign="top">• <a href="Texinfo.html" accesskey="2">Texinfo</a></td><td> </td><td align="left" valign="top">Texinfo reader -</td></tr> -<tr><td align="left" valign="top">• <a href="Skribe.html" accesskey="3">Skribe</a></td><td> </td><td align="left" valign="top">Skribe reader -</td></tr> -<tr><td align="left" valign="top">• <a href="CommonMark.html" accesskey="4">CommonMark</a></td><td> </td><td align="left" valign="top">CommonMark reader -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/haunt/Requirements.html b/manuals/haunt/Requirements.html deleted file mode 100644 index cc7a5c0..0000000 --- a/manuals/haunt/Requirements.html +++ /dev/null @@ -1,101 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Requirements (Haunt Reference Manual)</title> - -<meta name="description" content="Requirements (Haunt Reference Manual)"> -<meta name="keywords" content="Requirements (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Installation.html" rel="up" title="Installation"> -<link href="Building.html" rel="next" title="Building"> -<link href="Downloading.html" rel="prev" title="Downloading"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Requirements"></span><div class="header"> -<p> -Next: <a href="Building.html" accesskey="n" rel="next">Building</a>, Previous: <a href="Downloading.html" accesskey="p" rel="prev">Downloading</a>, Up: <a href="Installation.html" accesskey="u" rel="up">Installation</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Requirements-1"></span><h3 class="section">2.2 Requirements</h3> - -<p>Haunt depends on the following packages: -</p> -<ul> -<li> <a href="https://gnu.org/software/guile">GNU Guile</a> version 2.0.11 or -later -</li></ul> - -<p>The following dependencies are optional: -</p> -<ul> -<li> <a href="http://www.nongnu.org/guile-reader/">Guile-Reader</a> version 0.6 or -later (for Skribe support) -</li><li> <a href="https://github.com/OrangeShark/guile-commonmark">guile-commonmark</a> -version 0.1 or later (for CommonMark support) -</li></ul> - - - - -</body> -</html> diff --git a/manuals/haunt/Sites.html b/manuals/haunt/Sites.html deleted file mode 100644 index eae011f..0000000 --- a/manuals/haunt/Sites.html +++ /dev/null @@ -1,188 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Sites (Haunt Reference Manual)</title> - -<meta name="description" content="Sites (Haunt Reference Manual)"> -<meta name="keywords" content="Sites (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Programming-Interface.html" rel="up" title="Programming Interface"> -<link href="Posts.html" rel="next" title="Posts"> -<link href="Programming-Interface.html" rel="prev" title="Programming Interface"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Sites"></span><div class="header"> -<p> -Next: <a href="Posts.html" accesskey="n" rel="next">Posts</a>, Up: <a href="Programming-Interface.html" accesskey="u" rel="up">Programming Interface</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Sites-1"></span><h3 class="section">5.1 Sites</h3> - -<div class="example"> -<pre class="example">(use-modules (haunt site)) -</pre></div> - -<p>A site object defines all of the properties for a Haunt website: The -site name, domain name, where blog posts are found, what post formats -are understood, which procedures are used to build the site, where the -output files are written to, etc. -</p> -<dl> -<dt id="index-site">Scheme Procedure: <strong>site</strong> <em>[#:title "This Place is Haunted"] [#:domain "example.com"] [#:posts-directory "posts"] [#:file-filter <code>default-file-filter</code>] [#:build-directory "site"] [#:default-metadata '()] [#:make-slug <code>post-slug</code>] [#:readers '()] [#:builders '()]</em></dt> -<dd><p>Create a new site object. All arguments are optional: -</p> -<dl compact="compact"> -<dt><var>title</var></dt> -<dd><p>The name of the site. -</p> -</dd> -<dt><var>posts-directory</var></dt> -<dd><p>The directory where posts are found. -</p> -</dd> -<dt><var>file-filter</var></dt> -<dd><p>A predicate procedure that returns <code>#f</code> when a post file should -be ignored, and <code>#t</code> otherwise. Emacs temporary files are -ignored by default. -</p> -</dd> -<dt><var>build-directory</var></dt> -<dd><p>The directory that generated pages are stored in. -</p> -</dd> -<dt><var>default-metadata</var></dt> -<dd><p>An alist of arbitrary default metadata for posts whose keys are -symbols. -</p> -</dd> -<dt><var>make-slug</var></dt> -<dd><p>A procedure generating a file name slug from a post. -</p> -</dd> -<dt><var>readers</var></dt> -<dd><p>A list of reader objects for processing posts. -</p> -</dd> -<dt><var>builders</var></dt> -<dd><p>A list of procedures for building pages from posts. -</p> -</dd> -</dl> - -</dd></dl> - -<dl> -<dt id="index-site_003f">Scheme Procedure: <strong>site?</strong> <em><var>obj</var></em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a site object. -</p></dd></dl> - -<dl> -<dt id="index-site_002dtitle">Scheme Procedure: <strong>site-title</strong> <em><var>site</var></em></dt> -<dd><p>Return the title of <var>site</var>. -</p></dd></dl> - -<dl> -<dt id="index-site_002ddomain">Scheme Procedure: <strong>site-domain</strong> <em><var>site</var></em></dt> -<dd><p>Return the domain of <var>site</var>. -</p></dd></dl> - -<dl> -<dt id="index-site_002dposts_002ddirectory">Scheme Procedure: <strong>site-posts-directory</strong> <em><var>site</var></em></dt> -<dd><p>Return the posts directory for <var>site</var>. -</p></dd></dl> - -<dl> -<dt id="index-site_002dfile_002dfilter">Scheme Procedure: <strong>site-file-filter</strong> <em><var>site</var></em></dt> -<dd><p>Return the file filter procedure for <var>site</var>. -</p></dd></dl> - -<dl> -<dt id="index-site_002dbuild_002ddirectory">Scheme Procedure: <strong>site-build-directory</strong> <em><var>site</var></em></dt> -<dd><p>Return the build directory of <var>site</var>. -</p></dd></dl> - -<dl> -<dt id="index-site_002dmake_002dslug">Scheme Procedure: <strong>site-make-slug</strong> <em><var>site</var></em></dt> -<dd><p>Return the slug constructor for <var>site</var>. -</p></dd></dl> - -<dl> -<dt id="index-site_002dreaders">Scheme Procedure: <strong>site-readers</strong> <em><var>site</var></em></dt> -<dd><p>Return the list of reader procedures for <var>site</var>. -</p></dd></dl> - -<dl> -<dt id="index-site_002dbuilders">Scheme Procedure: <strong>site-builders</strong> <em><var>site</var></em></dt> -<dd><p>Return the list of builder procedures for <var>site</var>. -</p></dd></dl> - -<hr> -<div class="header"> -<p> -Next: <a href="Posts.html" accesskey="n" rel="next">Posts</a>, Up: <a href="Programming-Interface.html" accesskey="u" rel="up">Programming Interface</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/haunt/Skribe.html b/manuals/haunt/Skribe.html deleted file mode 100644 index 28e7e0f..0000000 --- a/manuals/haunt/Skribe.html +++ /dev/null @@ -1,116 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Skribe (Haunt Reference Manual)</title> - -<meta name="description" content="Skribe (Haunt Reference Manual)"> -<meta name="keywords" content="Skribe (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Readers.html" rel="up" title="Readers"> -<link href="CommonMark.html" rel="next" title="CommonMark"> -<link href="Texinfo.html" rel="prev" title="Texinfo"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Skribe"></span><div class="header"> -<p> -Next: <a href="CommonMark.html" accesskey="n" rel="next">CommonMark</a>, Previous: <a href="Texinfo.html" accesskey="p" rel="prev">Texinfo</a>, Up: <a href="Readers.html" accesskey="u" rel="up">Readers</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Skribe-1"></span><h4 class="subsection">5.3.3 Skribe</h4> -<div class="example"> -<pre class="example">(use-modules (haunt reader skribe)) -</pre></div> - -<dl> -<dt id="index-skribe_002dreader">Scheme Procedure: <strong>skribe-reader</strong></dt> -<dd><p>A reader for posts written in Skribe, a markup language with the full power -of Scheme. Skribe posts are created with the <code>post</code> expression with -metadata encoded as <code>:key expression</code> pairs at the beginning of the -<code>post</code> expression. After the metadata section, the rest of the <code>post</code> -expression is encoded as HTML. -</p> -<p>Example: -</p> -<div class="example"> -<pre class="example">(post - :title "Hello, Skribe!" - :date (make-date* 2016 08 20 12 00) - :tags '("skribe" "foo" "baz") - - (h2 [This is a Skribe post]) - - (p [Skribe is a ,(em [really]) cool document authoring format - that provides all the power of Scheme whilst giving the user - a means to write literal text without stuffing it into a - string literal. If this sort of thing suits you, be sure to - check out ,(anchor "Skribilo" - "http://www.nongnu.org/skribilo/"), too.])) -</pre></div> - -</dd></dl> - - - - -</body> -</html> diff --git a/manuals/haunt/Static-Assets.html b/manuals/haunt/Static-Assets.html deleted file mode 100644 index 6c46db8..0000000 --- a/manuals/haunt/Static-Assets.html +++ /dev/null @@ -1,98 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Static Assets (Haunt Reference Manual)</title> - -<meta name="description" content="Static Assets (Haunt Reference Manual)"> -<meta name="keywords" content="Static Assets (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Builders.html" rel="up" title="Builders"> -<link href="Blog.html" rel="next" title="Blog"> -<link href="Builders.html" rel="prev" title="Builders"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Static-Assets"></span><div class="header"> -<p> -Next: <a href="Blog.html" accesskey="n" rel="next">Blog</a>, Up: <a href="Builders.html" accesskey="u" rel="up">Builders</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Static-Assets-1"></span><h4 class="subsection">5.6.1 Static Assets</h4> - -<div class="example"> -<pre class="example">(use-modules (haunt builder assets)) -</pre></div> - -<dl> -<dt id="index-static_002ddirectory">Scheme Procedure: <strong>static-directory</strong> <em><var>directory</var> [<var>dest</var> <var>directory</var>]</em></dt> -<dd> -<p>Create a builder procedure that recursively copies all of the files in -<var>directory</var>, a file names relative to a site’s source directory, -and copies them into <var>dest</var>, a prefix relative to a site’s target -output directory. By default, <var>dest</var> is <var>directory</var>. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/haunt/Texinfo.html b/manuals/haunt/Texinfo.html deleted file mode 100644 index 0f9f555..0000000 --- a/manuals/haunt/Texinfo.html +++ /dev/null @@ -1,113 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Texinfo (Haunt Reference Manual)</title> - -<meta name="description" content="Texinfo (Haunt Reference Manual)"> -<meta name="keywords" content="Texinfo (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Readers.html" rel="up" title="Readers"> -<link href="Skribe.html" rel="next" title="Skribe"> -<link href="Reader.html" rel="prev" title="Reader"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Texinfo"></span><div class="header"> -<p> -Next: <a href="Skribe.html" accesskey="n" rel="next">Skribe</a>, Previous: <a href="Reader.html" accesskey="p" rel="prev">Reader</a>, Up: <a href="Readers.html" accesskey="u" rel="up">Readers</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Texinfo-1"></span><h4 class="subsection">5.3.2 Texinfo</h4> -<div class="example"> -<pre class="example">(use-modules (haunt reader texinfo)) -</pre></div> - -<dl> -<dt id="index-texinfo_002dreader">Scheme Procedure: <strong>texinfo-reader</strong></dt> -<dd><p>A reader for posts written in texinfo, the official documentation format -of the GNU project. Metadata is encoded as <code>key: value</code> pairs, one -per line, at the beginning of the file. A line with the <code>---</code> -sentinel marks the end of the metadata section and the rest of the file -is encoded as HTML. -</p> -<p>Example: -</p> -<div class="example"> -<pre class="example">title: Hello, Texi! -date: 2016-08-20 12:00 -tags: texinfo, foo ---- - -@emph{Texinfo} is the official documentation format of the -@url{http://www.gnu.org/, GNU project}. It was invented by Richard -Stallman and Bob Chassell many years ago, loosely based on Brian -Reid's Scribe and other formatting languages of the time. It is -used by many non-GNU projects as well. -</pre></div> - -</dd></dl> - - - - -</body> -</html> diff --git a/manuals/haunt/Tutorial.html b/manuals/haunt/Tutorial.html deleted file mode 100644 index c47dbf1..0000000 --- a/manuals/haunt/Tutorial.html +++ /dev/null @@ -1,181 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Tutorial (Haunt Reference Manual)</title> - -<meta name="description" content="Tutorial (Haunt Reference Manual)"> -<meta name="keywords" content="Tutorial (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="index.html" rel="up" title="Top"> -<link href="Command_002dline-Interface.html" rel="next" title="Command-line Interface"> -<link href="Building.html" rel="prev" title="Building"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Tutorial"></span><div class="header"> -<p> -Next: <a href="Command_002dline-Interface.html" accesskey="n" rel="next">Command-line Interface</a>, Previous: <a href="Installation.html" accesskey="p" rel="prev">Installation</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Tutorial-1"></span><h2 class="chapter">3 Tutorial</h2> - -<p>The goal of this tutorial is to quickly create a barebones blog with -Haunt in order to demonstrate the basic workflow and key concepts. -</p> -<p>First, create a directory for the new site: -</p> -<div class="example"> -<pre class="example">mkdir haunt-tutorial -cd haunt-tutorial -</pre></div> - -<p>Next, create the site configuration file <samp>haunt.scm</samp>. This is -where all of the code for building the website will go. -</p> -<p>Here’s what a simple Haunt configuration looks like: -</p> -<div class="example"> -<pre class="example">(use-modules (haunt asset) - (haunt site) - (haunt builder blog) - (haunt builder atom) - (haunt reader skribe)) - -(site #:title "My First Haunt Site" - #:domain "example.com" - #:default-metadata - '((author . "Eva Luator") - (email . "eva@example.com")) - #:readers (list skribe-reader) - #:builders (list (blog) - (atom-feed) - (atom-feeds-by-tag))) -</pre></div> - -<p>Haunt represents the full configuration of the website using the -<code>site</code> procedure. Site objects specify things like the site -title, the default metadata to use for posts, which markup formats are -supported, and which builders are used to generate web pages. -</p> -<p>With the above code saved into the <samp>haunt.scm</samp> file, the next -step is to create a <samp>posts</samp> directory and populate it with -articles to publish. Put the text below into a file named -<samp>posts/hello.skr</samp>: -</p> -<div class="example"> -<pre class="example">(post - :title "Hello, World!" - :date (make-date* 2015 10 15) - :tags '("hello") - - (h1 [Hello, World!]) - - (p [This is my very first Skribe document!])) -</pre></div> - -<p>This is a -<a href="http://www.nongnu.org/skribilo/doc/user-3.html#skribe-syntax">Skribe</a> document. Skribe is one of the built-in languages that Haunt -knows how to work with. It’s basically Scheme, but with support for -writing literal text without quoting it all by enclosing it in square -brackets. The code above defines a post named “Hello, World!” with -a publishing date of 2015-10-15, whose contents are just a single -heading and a paragraph. -</p> -<p>To build the site, run <code>haunt build</code> to compile all of the -HTML pages. To view the results, run <code>haunt serve</code> and visit -<a href="http://localhost:8080">http://localhost:8080</a> in a web browser. <code>haunt serve</code> -is a handy utility that serves the contents of the website using -Guile’s built-in HTTP server. Since the blog builder was specified in -<samp>haunt.scm</samp>, the default index page is a simple listing of all -posts, which for now is a single post. Clicking on the post title -will display a page with only that post’s contents. -</p> -<p>In addition to the basic blog builder, the <samp>haunt.scm</samp> file -specifies two additional builders for Atom feeds. The -<code>atom-feed</code> builder creates a feed of all posts located at -<a href="http://localhost:8080/feed.xml">http://localhost:8080/feed.xml</a>. The <code>atom-feeds-by-tag</code> -builder creates one feed for each unique tag specified in the post -metadata. There’s only one tag right now, “hello”, and its feed is -located at <a href="http://localhost/feeds/tags/hello.xml">http://localhost/feeds/tags/hello.xml</a>. -</p> -<p>Tweaking a post, rebuilding the site, and viewing the results in a web -browser is the typical Haunt workflow. However, having to run -<code>haunt build</code> every after each edit is tedious. To address -this, run <code>haunt serve --watch</code>. The Haunt web server, in -addition to serving web pages, will now watch for changes to important -files and automatically rebuild the site when they are edited. This -streamlines the workflow into an edit, save, view loop. -</p> -<p>Now that we’ve introduced the basic utilities and concepts, continue -reading this manual to learn more about Haunt’s command-line and -programming interfaces. -</p> -<hr> -<div class="header"> -<p> -Next: <a href="Command_002dline-Interface.html" accesskey="n" rel="next">Command-line Interface</a>, Previous: <a href="Installation.html" accesskey="p" rel="prev">Installation</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/haunt/index.html b/manuals/haunt/index.html deleted file mode 100644 index 679d20c..0000000 --- a/manuals/haunt/index.html +++ /dev/null @@ -1,165 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Top (Haunt Reference Manual)</title> - -<meta name="description" content="Top (Haunt Reference Manual)"> -<meta name="keywords" content="Top (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="#Top" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Introduction.html" rel="next" title="Introduction"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<h1 class="settitle" align="center">Haunt Reference Manual</h1> - - - - - -<span id="SEC_Contents"></span> -<h2 class="contents-heading">Table of Contents</h2> - -<div class="contents"> - -<ul class="no-bullet"> - <li><a id="toc-Introduction-1" href="Introduction.html#Introduction">1 Introduction</a></li> - <li><a id="toc-Installation-1" href="Installation.html#Installation">2 Installation</a> - <ul class="no-bullet"> - <li><a id="toc-Downloading-1" href="Downloading.html#Downloading">2.1 Downloading</a></li> - <li><a id="toc-Requirements-1" href="Requirements.html#Requirements">2.2 Requirements</a></li> - <li><a id="toc-Building-1" href="Building.html#Building">2.3 Building</a></li> - </ul></li> - <li><a id="toc-Tutorial-1" href="Tutorial.html#Tutorial">3 Tutorial</a></li> - <li><a id="toc-Command_002dline-Interface-1" href="Command_002dline-Interface.html#Command_002dline-Interface">4 Command-line Interface</a> - <ul class="no-bullet"> - <li><a id="toc-Invoking-haunt-build-1" href="Invoking-haunt-build.html#Invoking-haunt-build">4.1 Invoking <code>haunt build</code></a></li> - <li><a id="toc-Invoking-haunt-serve-1" href="Invoking-haunt-serve.html#Invoking-haunt-serve">4.2 Invoking <code>haunt serve</code></a></li> - </ul></li> - <li><a id="toc-Programming-Interface-1" href="Programming-Interface.html#Programming-Interface">5 Programming Interface</a> - <ul class="no-bullet"> - <li><a id="toc-Sites-1" href="Sites.html#Sites">5.1 Sites</a></li> - <li><a id="toc-Posts-1" href="Posts.html#Posts">5.2 Posts</a></li> - <li><a id="toc-Readers-1" href="Readers.html#Readers">5.3 Readers</a> - <ul class="no-bullet"> - <li><a id="toc-Reader-1" href="Reader.html#Reader">5.3.1 Reader</a></li> - <li><a id="toc-Texinfo-1" href="Texinfo.html#Texinfo">5.3.2 Texinfo</a></li> - <li><a id="toc-Skribe-1" href="Skribe.html#Skribe">5.3.3 Skribe</a></li> - <li><a id="toc-CommonMark-1" href="CommonMark.html#CommonMark">5.3.4 CommonMark</a></li> - </ul></li> - <li><a id="toc-Pages-1" href="Pages.html#Pages">5.4 Pages</a></li> - <li><a id="toc-Assets-1" href="Assets.html#Assets">5.5 Assets</a></li> - <li><a id="toc-Builders-1" href="Builders.html#Builders">5.6 Builders</a> - <ul class="no-bullet"> - <li><a id="toc-Static-Assets-1" href="Static-Assets.html#Static-Assets">5.6.1 Static Assets</a></li> - <li><a id="toc-Blog-1" href="Blog.html#Blog">5.6.2 Blog</a></li> - <li><a id="toc-Atom-1" href="Atom.html#Atom">5.6.3 Atom</a></li> - </ul></li> - </ul></li> - <li><a id="toc-Contributing-1" href="Contributing.html#Contributing">6 Contributing</a></li> - <li><a id="toc-GNU-Free-Documentation-License-1" href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">Appendix A GNU Free Documentation License</a></li> - <li><a id="toc-Concept-Index-1" href="Concept-Index.html#Concept-Index" rel="index">Concept Index</a></li> - <li><a id="toc-Programming-Index-1" href="Programming-Index.html#Programming-Index" rel="index">Programming Index</a></li> -</ul> -</div> - - -<span id="Top"></span><div class="header"> -<p> -Next: <a href="Introduction.html" accesskey="n" rel="next">Introduction</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Haunt"></span><h1 class="top">Haunt</h1> - -<p>This document describes Haunt version 0.2.6, an extensible, -functional static site generator. -</p> -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Introduction.html" accesskey="1">Introduction</a></td><td> </td><td align="left" valign="top">About Haunt. -</td></tr> -<tr><td align="left" valign="top">• <a href="Installation.html" accesskey="2">Installation</a></td><td> </td><td align="left" valign="top">Installing Haunt. -</td></tr> -<tr><td align="left" valign="top">• <a href="Tutorial.html" accesskey="3">Tutorial</a></td><td> </td><td align="left" valign="top">How to get started quickly. -</td></tr> -<tr><td align="left" valign="top">• <a href="Command_002dline-Interface.html" accesskey="4">Command-line Interface</a></td><td> </td><td align="left" valign="top">Using Haunt from the command-line. -</td></tr> -<tr><td align="left" valign="top">• <a href="Programming-Interface.html" accesskey="5">Programming Interface</a></td><td> </td><td align="left" valign="top">Using the Haunt API in Scheme. -</td></tr> -<tr><td align="left" valign="top">• <a href="Contributing.html" accesskey="6">Contributing</a></td><td> </td><td align="left" valign="top">How to contribute to Haunt. -</td></tr> -<tr><td align="left" valign="top">• <a href="GNU-Free-Documentation-License.html" accesskey="7">GNU Free Documentation License</a></td><td> </td><td align="left" valign="top">The license of this manual. -</td></tr> -<tr><td align="left" valign="top">• <a href="Concept-Index.html" rel="index" accesskey="8">Concept Index</a></td><td> </td><td align="left" valign="top">Concepts. -</td></tr> -<tr><td align="left" valign="top">• <a href="Programming-Index.html" rel="index" accesskey="9">Programming Index</a></td><td> </td><td align="left" valign="top">Data types, procedures, syntax, and variables. -</td></tr> -</table> - -<hr> -<div class="header"> -<p> -Next: <a href="Introduction.html" accesskey="n" rel="next">Introduction</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/sly/API-Reference.html b/manuals/sly/API-Reference.html deleted file mode 100644 index 323ebfe..0000000 --- a/manuals/sly/API-Reference.html +++ /dev/null @@ -1,96 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: API Reference</title> - -<meta name="description" content="Sly: API Reference"> -<meta name="keywords" content="Sly: API Reference"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="index.html#Top" rel="up" title="Top"> -<link href="Booting.html#Booting" rel="next" title="Booting"> -<link href="Getting-Started.html#Getting-Started" rel="prev" title="Getting Started"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="API-Reference"></a> -<div class="header"> -<p> -Next: <a href="Contributing.html#Contributing" accesskey="n" rel="next">Contributing</a>, Previous: <a href="Getting-Started.html#Getting-Started" accesskey="p" rel="prev">Getting Started</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="API-Reference-1"></a> -<h2 class="chapter">4 API Reference</h2> - -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Booting.html#Booting" accesskey="1">Booting</a>:</td><td> </td><td align="left" valign="top">Opening a window and running the game loop. -</td></tr> -<tr><td align="left" valign="top">• <a href="Math.html#Math" accesskey="2">Math</a>:</td><td> </td><td align="left" valign="top">Vectors, quaternions, matrices, etc. -</td></tr> -<tr><td align="left" valign="top">• <a href="Time.html#Time" accesskey="3">Time</a>:</td><td> </td><td align="left" valign="top">Tick-tock. -</td></tr> -<tr><td align="left" valign="top">• <a href="Input.html#Input" accesskey="4">Input</a>:</td><td> </td><td align="left" valign="top">Keyboard, mouse, and joystick input. -</td></tr> -<tr><td align="left" valign="top">• <a href="Rendering.html#Rendering" accesskey="5">Rendering</a>:</td><td> </td><td align="left" valign="top">Drawing to the screen. -</td></tr> -<tr><td align="left" valign="top">• <a href="Utilities.html#Utilities" accesskey="6">Utilities</a>:</td><td> </td><td align="left" valign="top">Miscellaneous conveniences. -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/sly/Agendas.html b/manuals/sly/Agendas.html deleted file mode 100644 index b30aa98..0000000 --- a/manuals/sly/Agendas.html +++ /dev/null @@ -1,163 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Agendas</title> - -<meta name="description" content="Sly: Agendas"> -<meta name="keywords" content="Sly: Agendas"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Time.html#Time" rel="up" title="Time"> -<link href="Input.html#Input" rel="next" title="Input"> -<link href="Coroutines.html#Coroutines" rel="prev" title="Coroutines"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Agendass"></a> -<div class="header"> -<p> -Previous: <a href="Coroutines.html#Coroutines" accesskey="p" rel="prev">Coroutines</a>, Up: <a href="Time.html#Time" accesskey="u" rel="up">Time</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Agendas-1"></a> -<h4 class="subsection">4.3.3 Agendas</h4> - -<div class="example"> -<pre class="example">(use-modules (sly agenda)) -</pre></div> - -<p>Agendas are used to schedule procedures to be called at distinct -points in time. One agenda, stored in the <code>current-agenda</code> -parameter, is active at any given time. A global agenda is initially -bound and is sufficient for most needs. When a separate scheduler is -required (see <a href="REPL.html#REPL">REPL</a> for one such case), the parameter can be -rebound using <code>parameterize</code> or <code>with-agenda</code> form. -</p> -<dl> -<dt><a name="index-make_002dagenda"></a>Scheme Procedure: <strong>make-agenda</strong></dt> -<dd><p>Create a new, empty agenda. -</p></dd></dl> - -<dl> -<dt><a name="index-agenda_003f"></a>Scheme Syntax: <strong>agenda?</strong> <em><var>obj</var></em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is an agenda. -</p></dd></dl> - -<dl> -<dt><a name="index-current_002dagenda"></a>Scheme Variable: <strong>current-agenda</strong></dt> -<dd><p>A parameter containing the current, dynamically scoped agenda object. -</p></dd></dl> - -<dl> -<dt><a name="index-agenda_002dtime"></a>Scheme Procedure: <strong>agenda-time</strong></dt> -<dd><p>Return the time of the current agenda. -</p></dd></dl> - -<dl> -<dt><a name="index-with_002dagenda"></a>Scheme Syntax: <strong>with-agenda</strong> <em><var>agenda</var> <var>body</var> …</em></dt> -<dd><p>Evaluate <var>body</var> with <code>current-agenda</code> bound to <var>agenda</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-agenda_002dtick_0021"></a>Scheme Procedure: <strong>agenda-tick!</strong></dt> -<dd><p>Increment time by 1 for the current agenda and run scheduled -procedures. -</p></dd></dl> - -<dl> -<dt><a name="index-agenda_002dclear_0021"></a>Scheme Procedure: <strong>agenda-clear!</strong></dt> -<dd><p>Remove all scheduled procedures from the current agenda. -</p></dd></dl> - -<dl> -<dt><a name="index-schedule"></a>Scheme Procedure: <strong>schedule</strong> <em><var>thunk</var> [<var>delay</var>]</em></dt> -<dd><p>Schedule <var>thunk</var> to be applied after <var>delay</var> ticks of the -current agenda. The default <var>delay</var> is one tick. -</p></dd></dl> - -<dl> -<dt><a name="index-schedule_002dinterval"></a>Scheme Procedure: <strong>schedule-interval</strong> <em><var>thunk</var> <var>interval</var></em></dt> -<dd><p>Schedule <var>thunk</var> to be applied every <var>interval</var> ticks of the -current agenda, forever. -</p></dd></dl> - -<dl> -<dt><a name="index-schedule_002deach"></a>Scheme Procedure: <strong>schedule-each</strong> <em><var>thunk</var></em></dt> -<dd><p>Schedule <var>thunk</var> to be applied upon every tick of the current -agenda, forever. -</p></dd></dl> - -<p><a href="Coroutines.html#Coroutines">Coroutines</a> become particularly useful for game programming when -combined with the agenda. For example, a computer controller opponent -could periodically pause its AI algorithm to give the rest of the game -world a chance to do some processing. By using the <code>wait</code> -procedure, algorithms that span multiple ticks of game time can be -written in a straightforward, natural way. -</p> -<dl> -<dt><a name="index-wait"></a>Scheme Procedure: <strong>wait</strong> <em><var>delay</var></em></dt> -<dd><p>Abort the current coroutine prompt and schedule the continuation to be -run after <var>delay</var> ticks of the current agenda. -</p></dd></dl> -<hr> -<div class="header"> -<p> -Previous: <a href="Coroutines.html#Coroutines" accesskey="p" rel="prev">Coroutines</a>, Up: <a href="Time.html#Time" accesskey="u" rel="up">Time</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/sly/Booting.html b/manuals/sly/Booting.html deleted file mode 100644 index b74cec8..0000000 --- a/manuals/sly/Booting.html +++ /dev/null @@ -1,88 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Booting</title> - -<meta name="description" content="Sly: Booting"> -<meta name="keywords" content="Sly: Booting"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="API-Reference.html#API-Reference" rel="up" title="API Reference"> -<link href="Window-Creation.html#Window-Creation" rel="next" title="Window Creation"> -<link href="API-Reference.html#API-Reference" rel="prev" title="API Reference"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Booting"></a> -<div class="header"> -<p> -Next: <a href="Math.html#Math" accesskey="n" rel="next">Math</a>, Up: <a href="API-Reference.html#API-Reference" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Booting-1"></a> -<h3 class="section">4.1 Booting</h3> - -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Window-Creation.html#Window-Creation" accesskey="1">Window Creation</a>:</td><td> </td><td align="left" valign="top">Opening a window. -</td></tr> -<tr><td align="left" valign="top">• <a href="The-Game-Loop.html#The-Game-Loop" accesskey="2">The Game Loop</a>:</td><td> </td><td align="left" valign="top">The core of the engine. -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/sly/Cameras.html b/manuals/sly/Cameras.html deleted file mode 100644 index 7985f90..0000000 --- a/manuals/sly/Cameras.html +++ /dev/null @@ -1,81 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Cameras</title> - -<meta name="description" content="Sly: Cameras"> -<meta name="keywords" content="Sly: Cameras"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Rendering.html#Rendering" rel="up" title="Rendering"> -<link href="Colors.html#Colors" rel="next" title="Colors"> -<link href="Shapes.html#Shapes" rel="prev" title="Shapes"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Cameras"></a> -<div class="header"> -<p> -Next: <a href="Colors.html#Colors" accesskey="n" rel="next">Colors</a>, Previous: <a href="Shapes.html#Shapes" accesskey="p" rel="prev">Shapes</a>, Up: <a href="Rendering.html#Rendering" accesskey="u" rel="up">Rendering</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Cameras-1"></a> -<h4 class="subsection">4.5.6 Cameras</h4> - - - - -</body> -</html> diff --git a/manuals/sly/Colors.html b/manuals/sly/Colors.html deleted file mode 100644 index 507eefe..0000000 --- a/manuals/sly/Colors.html +++ /dev/null @@ -1,81 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Colors</title> - -<meta name="description" content="Sly: Colors"> -<meta name="keywords" content="Sly: Colors"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Rendering.html#Rendering" rel="up" title="Rendering"> -<link href="Framebuffers.html#Framebuffers" rel="next" title="Framebuffers"> -<link href="Cameras.html#Cameras" rel="prev" title="Cameras"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Colors"></a> -<div class="header"> -<p> -Next: <a href="Framebuffers.html#Framebuffers" accesskey="n" rel="next">Framebuffers</a>, Previous: <a href="Cameras.html#Cameras" accesskey="p" rel="prev">Cameras</a>, Up: <a href="Rendering.html#Rendering" accesskey="u" rel="up">Rendering</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Colors-1"></a> -<h4 class="subsection">4.5.7 Colors</h4> - - - - -</body> -</html> diff --git a/manuals/sly/Contributing.html b/manuals/sly/Contributing.html deleted file mode 100644 index 68e20dd..0000000 --- a/manuals/sly/Contributing.html +++ /dev/null @@ -1,89 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Contributing</title> - -<meta name="description" content="Sly: Contributing"> -<meta name="keywords" content="Sly: Contributing"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="index.html#Top" rel="up" title="Top"> -<link href="Copying-This-Manual.html#Copying-This-Manual" rel="next" title="Copying This Manual"> -<link href="Miscellaneous_002dUtilities.html#Miscellaneous_002dUtilities" rel="prev" title="Miscellaneous-Utilities"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Contributing"></a> -<div class="header"> -<p> -Next: <a href="Copying-This-Manual.html#Copying-This-Manual" accesskey="n" rel="next">Copying This Manual</a>, Previous: <a href="API-Reference.html#API-Reference" accesskey="p" rel="prev">API Reference</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Contributing-1"></a> -<h2 class="chapter">5 Contributing</h2> - -<p>This project is a cooperative effort, and we need your help to make it -grow! Please get in touch with us on <code>#sly</code> on the Freenode IRC -network. We welcome ideas, bug reports, patches, and anything that -may be helpful to the project. -</p> -<p>The git source code repository can be found at -<a href="https://git.dthompson.us/sly.git">https://git.dthompson.us/sly.git</a>. -</p> - - - -</body> -</html> diff --git a/manuals/sly/Copying-This-Manual.html b/manuals/sly/Copying-This-Manual.html deleted file mode 100644 index 8c113ce..0000000 --- a/manuals/sly/Copying-This-Manual.html +++ /dev/null @@ -1,86 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Copying This Manual</title> - -<meta name="description" content="Sly: Copying This Manual"> -<meta name="keywords" content="Sly: Copying This Manual"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="index.html#Top" rel="up" title="Top"> -<link href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" rel="next" title="GNU Free Documentation License"> -<link href="Contributing.html#Contributing" rel="prev" title="Contributing"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Copying-This-Manual"></a> -<div class="header"> -<p> -Next: <a href="Index.html#Index" accesskey="n" rel="next">Index</a>, Previous: <a href="Contributing.html#Contributing" accesskey="p" rel="prev">Contributing</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Copying-This-Manual-1"></a> -<h2 class="appendix">Appendix A Copying This Manual</h2> - -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" accesskey="1">GNU Free Documentation License</a>:</td><td> </td><td align="left" valign="top">License for copying this manual. -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/sly/Coroutines.html b/manuals/sly/Coroutines.html deleted file mode 100644 index 26e5c73..0000000 --- a/manuals/sly/Coroutines.html +++ /dev/null @@ -1,134 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Coroutines</title> - -<meta name="description" content="Sly: Coroutines"> -<meta name="keywords" content="Sly: Coroutines"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Time.html#Time" rel="up" title="Time"> -<link href="Agendas.html#Agendas" rel="next" title="Agendas"> -<link href="Signals.html#Signals" rel="prev" title="Signals"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Coroutines"></a> -<div class="header"> -<p> -Next: <a href="Agendas.html#Agendas" accesskey="n" rel="next">Agendas</a>, Previous: <a href="Signals.html#Signals" accesskey="p" rel="prev">Signals</a>, Up: <a href="Time.html#Time" accesskey="u" rel="up">Time</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Coroutines-1"></a> -<h4 class="subsection">4.3.2 Coroutines</h4> - -<div class="example"> -<pre class="example">(use-modules (sly coroutine)) -</pre></div> - -<p>Coroutines are the building block for cooperative multitasking. When -used with agendas, they are a powerful mechanism for writing -algorithms that span multiple clock ticks in a straightforward, linear -fashion. Sly’s coroutines are built on top of Guile’s delimited -continuations, called prompts. -</p> -<p>To run a procedure as a coroutine, use the <code>call-with-coroutine</code> -procedure. Once inside the coroutine prompt, the <code>yield</code> -procedure can be used to pause the procedure and pass its continuation -to a callback procedure. The callback may call the continuation at -its convenience, resuming the original procedure. -</p> -<p>Coroutines are particularly useful in conjunction with <a href="Agendas.html#Agendas">Agendas</a>. -</p> -<dl> -<dt><a name="index-call_002dwith_002dcoroutine"></a>Scheme Procedure: <strong>call-with-coroutine</strong> <em><var>thunk</var></em></dt> -<dd><p>Apply <var>thunk</var> within a coroutine prompt. -</p></dd></dl> - -<dl> -<dt><a name="index-coroutine"></a>Scheme Syntax: <strong>coroutine</strong> <em><var>body</var> …</em></dt> -<dd><p>Evaluate <var>body</var> within a coroutine prompt. -</p></dd></dl> - -<dl> -<dt><a name="index-colambda"></a>Scheme Syntax: <strong>colambda</strong> <em><var>args</var> <var>body</var> …</em></dt> -<dd><p>Syntacic sugar for a <code>lambda</code> expression whose <var>body</var> is run -within a coroutine prompt. -</p></dd></dl> - -<dl> -<dt><a name="index-codefine"></a>Scheme Syntax: <strong>codefine</strong> <em>(<var>name</var> <var>formals</var> …) <var>body</var> …</em></dt> -<dd><p>Syntacic sugar for defining a procedure called <var>name</var> with formal -arguments <var>formals</var> whose <var>body</var> is run within a coroutine -prompt. -</p></dd></dl> - -<dl> -<dt><a name="index-codefine_002a"></a>Scheme Syntax: <strong>codefine*</strong> <em>(<var>name</var> <var>formals</var> …) <var>body</var> …</em></dt> -<dd><p>Syntacic sugar for defining a procedure called <var>name</var> with -optional and keyword arguments <var>formals</var> whose <var>body</var> is run -within a coroutine prompt. -</p></dd></dl> - -<dl> -<dt><a name="index-yield"></a>Scheme Procedure: <strong>yield</strong> <em><var>callback</var></em></dt> -<dd><p>Yield continuation to the procedure <var>callback</var>. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/sly/Development-Environment.html b/manuals/sly/Development-Environment.html deleted file mode 100644 index 190c124..0000000 --- a/manuals/sly/Development-Environment.html +++ /dev/null @@ -1,91 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Development Environment</title> - -<meta name="description" content="Sly: Development Environment"> -<meta name="keywords" content="Sly: Development Environment"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Installation.html#Installation" rel="up" title="Installation"> -<link href="Getting-Started.html#Getting-Started" rel="next" title="Getting Started"> -<link href="Examples.html#Examples" rel="prev" title="Examples"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Development-Environment"></a> -<div class="header"> -<p> -Previous: <a href="Examples.html#Examples" accesskey="p" rel="prev">Examples</a>, Up: <a href="Installation.html#Installation" accesskey="u" rel="up">Installation</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Development-Environment-1"></a> -<h3 class="section">2.3 Development Environment</h3> - -<p>The ideal tools to use for developing Sly applications are: -</p> -<ul> -<li> <a href="https://gnu.org/software/emacs">GNU Emacs</a>, version 24 or later -</li><li> <a href="http://mumble.net/~campbell/emacs/paredit/">Paredit</a>, version 23 or later -</li><li> <a href="http://nongnu.org/geiser/">Geiser</a>, version 0.6 or later; -</li></ul> - -<p>See their respective home pages for installation and usage instructions. -</p> - - - -</body> -</html> diff --git a/manuals/sly/Easings.html b/manuals/sly/Easings.html deleted file mode 100644 index c73eebf..0000000 --- a/manuals/sly/Easings.html +++ /dev/null @@ -1,129 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Easings</title> - -<meta name="description" content="Sly: Easings"> -<meta name="keywords" content="Sly: Easings"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Tweens.html#Tweens" rel="up" title="Tweens"> -<link href="Tweening.html#Tweening" rel="next" title="Tweening"> -<link href="Tweens.html#Tweens" rel="prev" title="Tweens"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Easings"></a> -<div class="header"> -<p> -Next: <a href="Tweening.html#Tweening" accesskey="n" rel="next">Tweening</a>, Up: <a href="Tweens.html#Tweens" accesskey="u" rel="up">Tweens</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Easings-1"></a> -<h4 class="subsubsection">4.2.4.1 Easings</h4> - -<p>Easing procedures specify the rate of change of a value <var>alpha</var> -over time. Easings may be composed to form complex animation. -</p> -<p>The following procedures are used to control repitition by clamping -<var>alpha</var> to the range [0, 1] in different ways. -</p> -<dl> -<dt><a name="index-ease_002dloop"></a>Scnheme Procedure: <strong>ease-loop</strong> <em><var>alpha</var></em></dt> -<dd><p>When <var>alpha</var> reaches 1, start over from 0. -</p></dd></dl> - -<dl> -<dt><a name="index-ease_002dreflect"></a>Scheme Procedure: <strong>ease-reflect</strong> <em><var>alpha</var></em></dt> -<dd><p>When <var>alpha</var> reaches 1, work backwards to 0. When <var>alpha</var> -reaches 0, work forwards to 1. -</p></dd></dl> - -<p>The following easing functions control the rate of change of an -animation: -</p> -<dl> -<dt><a name="index-ease_002dlinear"></a>Scheme Procedure: <strong>ease-linear</strong> <em><var>alpha</var></em></dt> -</dl> - -<dl> -<dt><a name="index-ease_002din_002dsine"></a>Scheme Procedure: <strong>ease-in-sine</strong> <em><var>alpha</var></em></dt> -</dl> - -<dl> -<dt><a name="index-ease_002dout_002dsine"></a>Scheme Procedure: <strong>ease-out-sine</strong> <em><var>alpha</var></em></dt> -</dl> - -<dl> -<dt><a name="index-ease_002din_002dout_002dsine"></a>Scheme Procedure: <strong>ease-in-out-sine</strong> <em><var>alpha</var></em></dt> -</dl> - -<dl> -<dt><a name="index-ease_002din_002dquad"></a>Scheme Procedure: <strong>ease-in-quad</strong> <em><var>alpha</var></em></dt> -</dl> - -<dl> -<dt><a name="index-ease_002dout_002dquad"></a>Scheme Procedure: <strong>ease-out-quad</strong> <em><var>alpha</var></em></dt> -</dl> - -<dl> -<dt><a name="index-ease_002din_002dout_002dquad"></a>Scheme Procedure: <strong>ease-in-out-quad</strong> <em><var>alpha</var></em></dt> -</dl> - - - - -</body> -</html> diff --git a/manuals/sly/Examples.html b/manuals/sly/Examples.html deleted file mode 100644 index b2a06fc..0000000 --- a/manuals/sly/Examples.html +++ /dev/null @@ -1,94 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Examples</title> - -<meta name="description" content="Sly: Examples"> -<meta name="keywords" content="Sly: Examples"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Installation.html#Installation" rel="up" title="Installation"> -<link href="Development-Environment.html#Development-Environment" rel="next" title="Development Environment"> -<link href="Requirements.html#Requirements" rel="prev" title="Requirements"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Examples"></a> -<div class="header"> -<p> -Next: <a href="Development-Environment.html#Development-Environment" accesskey="n" rel="next">Development Environment</a>, Previous: <a href="Requirements.html#Requirements" accesskey="p" rel="prev">Requirements</a>, Up: <a href="Installation.html#Installation" accesskey="u" rel="up">Installation</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Examples-1"></a> -<h3 class="section">2.2 Examples</h3> - -<p>To test your Sly installation, try running some of the included -example programs. Examples can be found in the -<samp>share/sly/examples</samp> directory, relative to the installation -prefix. -</p> -<p>To run an example, invoke Guile with the relevant file, such as: -<code>guile simple.scm</code>. If successful, a window with a sprite in the -center will open. -</p> -<p>A more complex example can further test your installation and show off -what Sly can do. Try running the “2048” example in -<samp>share/sly/examples/2048</samp> with <code>guile 2048.scm</code>. -</p> - - - -</body> -</html> diff --git a/manuals/sly/Fonts.html b/manuals/sly/Fonts.html deleted file mode 100644 index decef4d..0000000 --- a/manuals/sly/Fonts.html +++ /dev/null @@ -1,81 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Fonts</title> - -<meta name="description" content="Sly: Fonts"> -<meta name="keywords" content="Sly: Fonts"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Rendering.html#Rendering" rel="up" title="Rendering"> -<link href="Shapes.html#Shapes" rel="next" title="Shapes"> -<link href="Textures.html#Textures" rel="prev" title="Textures"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Fonts"></a> -<div class="header"> -<p> -Next: <a href="Shapes.html#Shapes" accesskey="n" rel="next">Shapes</a>, Previous: <a href="Textures.html#Textures" accesskey="p" rel="prev">Textures</a>, Up: <a href="Rendering.html#Rendering" accesskey="u" rel="up">Rendering</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Fonts-1"></a> -<h4 class="subsection">4.5.4 Fonts</h4> - - - - -</body> -</html> diff --git a/manuals/sly/Framebuffers.html b/manuals/sly/Framebuffers.html deleted file mode 100644 index 1f5e894..0000000 --- a/manuals/sly/Framebuffers.html +++ /dev/null @@ -1,81 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Framebuffers</title> - -<meta name="description" content="Sly: Framebuffers"> -<meta name="keywords" content="Sly: Framebuffers"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Rendering.html#Rendering" rel="up" title="Rendering"> -<link href="Shaders.html#Shaders" rel="next" title="Shaders"> -<link href="Colors.html#Colors" rel="prev" title="Colors"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Framebuffers"></a> -<div class="header"> -<p> -Next: <a href="Shaders.html#Shaders" accesskey="n" rel="next">Shaders</a>, Previous: <a href="Colors.html#Colors" accesskey="p" rel="prev">Colors</a>, Up: <a href="Rendering.html#Rendering" accesskey="u" rel="up">Rendering</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Framebuffers-1"></a> -<h4 class="subsection">4.5.8 Framebuffers</h4> - - - - -</body> -</html> diff --git a/manuals/sly/GNU-Free-Documentation-License.html b/manuals/sly/GNU-Free-Documentation-License.html deleted file mode 100644 index a95838f..0000000 --- a/manuals/sly/GNU-Free-Documentation-License.html +++ /dev/null @@ -1,554 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: GNU Free Documentation License</title> - -<meta name="description" content="Sly: GNU Free Documentation License"> -<meta name="keywords" content="Sly: GNU Free Documentation License"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Copying-This-Manual.html#Copying-This-Manual" rel="up" title="Copying This Manual"> -<link href="Index.html#Index" rel="next" title="Index"> -<link href="Copying-This-Manual.html#Copying-This-Manual" rel="prev" title="Copying This Manual"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="GNU-Free-Documentation-License"></a> -<div class="header"> -<p> -Up: <a href="Copying-This-Manual.html#Copying-This-Manual" accesskey="u" rel="up">Copying This Manual</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="GNU-Free-Documentation-License-1"></a> -<h3 class="section">A.1 GNU Free Documentation License</h3> -<div align="center">Version 1.3, 3 November 2008 -</div> - -<div class="display"> -<pre class="display">Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. -<a href="http://fsf.org/">http://fsf.org/</a> - -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. -</pre></div> - -<ol> -<li> PREAMBLE - -<p>The purpose of this License is to make a manual, textbook, or other -functional and useful document <em>free</em> in the sense of freedom: to -assure everyone the effective freedom to copy and redistribute it, -with or without modifying it, either commercially or noncommercially. -Secondarily, this License preserves for the author and publisher a way -to get credit for their work, while not being considered responsible -for modifications made by others. -</p> -<p>This License is a kind of “copyleft”, which means that derivative -works of the document must themselves be free in the same sense. It -complements the GNU General Public License, which is a copyleft -license designed for free software. -</p> -<p>We have designed this License in order to use it for manuals for free -software, because free software needs free documentation: a free -program should come with manuals providing the same freedoms that the -software does. But this License is not limited to software manuals; -it can be used for any textual work, regardless of subject matter or -whether it is published as a printed book. We recommend this License -principally for works whose purpose is instruction or reference. -</p> -</li><li> APPLICABILITY AND DEFINITIONS - -<p>This License applies to any manual or other work, in any medium, that -contains a notice placed by the copyright holder saying it can be -distributed under the terms of this License. Such a notice grants a -world-wide, royalty-free license, unlimited in duration, to use that -work under the conditions stated herein. The “Document”, below, -refers to any such manual or work. Any member of the public is a -licensee, and is addressed as “you”. You accept the license if you -copy, modify or distribute the work in a way requiring permission -under copyright law. -</p> -<p>A “Modified Version” of the Document means any work containing the -Document or a portion of it, either copied verbatim, or with -modifications and/or translated into another language. -</p> -<p>A “Secondary Section” is a named appendix or a front-matter section -of the Document that deals exclusively with the relationship of the -publishers or authors of the Document to the Document’s overall -subject (or to related matters) and contains nothing that could fall -directly within that overall subject. (Thus, if the Document is in -part a textbook of mathematics, a Secondary Section may not explain -any mathematics.) The relationship could be a matter of historical -connection with the subject or with related matters, or of legal, -commercial, philosophical, ethical or political position regarding -them. -</p> -<p>The “Invariant Sections” are certain Secondary Sections whose titles -are designated, as being those of Invariant Sections, in the notice -that says that the Document is released under this License. If a -section does not fit the above definition of Secondary then it is not -allowed to be designated as Invariant. The Document may contain zero -Invariant Sections. If the Document does not identify any Invariant -Sections then there are none. -</p> -<p>The “Cover Texts” are certain short passages of text that are listed, -as Front-Cover Texts or Back-Cover Texts, in the notice that says that -the Document is released under this License. A Front-Cover Text may -be at most 5 words, and a Back-Cover Text may be at most 25 words. -</p> -<p>A “Transparent” copy of the Document means a machine-readable copy, -represented in a format whose specification is available to the -general public, that is suitable for revising the document -straightforwardly with generic text editors or (for images composed of -pixels) generic paint programs or (for drawings) some widely available -drawing editor, and that is suitable for input to text formatters or -for automatic translation to a variety of formats suitable for input -to text formatters. A copy made in an otherwise Transparent file -format whose markup, or absence of markup, has been arranged to thwart -or discourage subsequent modification by readers is not Transparent. -An image format is not Transparent if used for any substantial amount -of text. A copy that is not “Transparent” is called “Opaque”. -</p> -<p>Examples of suitable formats for Transparent copies include plain -ASCII without markup, Texinfo input format, LaTeX input -format, SGML or XML using a publicly available -DTD, and standard-conforming simple HTML, -PostScript or PDF designed for human modification. Examples -of transparent image formats include PNG, XCF and -JPG. Opaque formats include proprietary formats that can be -read and edited only by proprietary word processors, SGML or -XML for which the DTD and/or processing tools are -not generally available, and the machine-generated HTML, -PostScript or PDF produced by some word processors for -output purposes only. -</p> -<p>The “Title Page” means, for a printed book, the title page itself, -plus such following pages as are needed to hold, legibly, the material -this License requires to appear in the title page. For works in -formats which do not have any title page as such, “Title Page” means -the text near the most prominent appearance of the work’s title, -preceding the beginning of the body of the text. -</p> -<p>The “publisher” means any person or entity that distributes copies -of the Document to the public. -</p> -<p>A section “Entitled XYZ” means a named subunit of the Document whose -title either is precisely XYZ or contains XYZ in parentheses following -text that translates XYZ in another language. (Here XYZ stands for a -specific section name mentioned below, such as “Acknowledgements”, -“Dedications”, “Endorsements”, or “History”.) To “Preserve the Title” -of such a section when you modify the Document means that it remains a -section “Entitled XYZ” according to this definition. -</p> -<p>The Document may include Warranty Disclaimers next to the notice which -states that this License applies to the Document. These Warranty -Disclaimers are considered to be included by reference in this -License, but only as regards disclaiming warranties: any other -implication that these Warranty Disclaimers may have is void and has -no effect on the meaning of this License. -</p> -</li><li> VERBATIM COPYING - -<p>You may copy and distribute the Document in any medium, either -commercially or noncommercially, provided that this License, the -copyright notices, and the license notice saying this License applies -to the Document are reproduced in all copies, and that you add no other -conditions whatsoever to those of this License. You may not use -technical measures to obstruct or control the reading or further -copying of the copies you make or distribute. However, you may accept -compensation in exchange for copies. If you distribute a large enough -number of copies you must also follow the conditions in section 3. -</p> -<p>You may also lend copies, under the same conditions stated above, and -you may publicly display copies. -</p> -</li><li> COPYING IN QUANTITY - -<p>If you publish printed copies (or copies in media that commonly have -printed covers) of the Document, numbering more than 100, and the -Document’s license notice requires Cover Texts, you must enclose the -copies in covers that carry, clearly and legibly, all these Cover -Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on -the back cover. Both covers must also clearly and legibly identify -you as the publisher of these copies. The front cover must present -the full title with all words of the title equally prominent and -visible. You may add other material on the covers in addition. -Copying with changes limited to the covers, as long as they preserve -the title of the Document and satisfy these conditions, can be treated -as verbatim copying in other respects. -</p> -<p>If the required texts for either cover are too voluminous to fit -legibly, you should put the first ones listed (as many as fit -reasonably) on the actual cover, and continue the rest onto adjacent -pages. -</p> -<p>If you publish or distribute Opaque copies of the Document numbering -more than 100, you must either include a machine-readable Transparent -copy along with each Opaque copy, or state in or with each Opaque copy -a computer-network location from which the general network-using -public has access to download using public-standard network protocols -a complete Transparent copy of the Document, free of added material. -If you use the latter option, you must take reasonably prudent steps, -when you begin distribution of Opaque copies in quantity, to ensure -that this Transparent copy will remain thus accessible at the stated -location until at least one year after the last time you distribute an -Opaque copy (directly or through your agents or retailers) of that -edition to the public. -</p> -<p>It is requested, but not required, that you contact the authors of the -Document well before redistributing any large number of copies, to give -them a chance to provide you with an updated version of the Document. -</p> -</li><li> MODIFICATIONS - -<p>You may copy and distribute a Modified Version of the Document under -the conditions of sections 2 and 3 above, provided that you release -the Modified Version under precisely this License, with the Modified -Version filling the role of the Document, thus licensing distribution -and modification of the Modified Version to whoever possesses a copy -of it. In addition, you must do these things in the Modified Version: -</p> -<ol> -<li> Use in the Title Page (and on the covers, if any) a title distinct -from that of the Document, and from those of previous versions -(which should, if there were any, be listed in the History section -of the Document). You may use the same title as a previous version -if the original publisher of that version gives permission. - -</li><li> List on the Title Page, as authors, one or more persons or entities -responsible for authorship of the modifications in the Modified -Version, together with at least five of the principal authors of the -Document (all of its principal authors, if it has fewer than five), -unless they release you from this requirement. - -</li><li> State on the Title page the name of the publisher of the -Modified Version, as the publisher. - -</li><li> Preserve all the copyright notices of the Document. - -</li><li> Add an appropriate copyright notice for your modifications -adjacent to the other copyright notices. - -</li><li> Include, immediately after the copyright notices, a license notice -giving the public permission to use the Modified Version under the -terms of this License, in the form shown in the Addendum below. - -</li><li> Preserve in that license notice the full lists of Invariant Sections -and required Cover Texts given in the Document’s license notice. - -</li><li> Include an unaltered copy of this License. - -</li><li> Preserve the section Entitled “History”, Preserve its Title, and add -to it an item stating at least the title, year, new authors, and -publisher of the Modified Version as given on the Title Page. If -there is no section Entitled “History” in the Document, create one -stating the title, year, authors, and publisher of the Document as -given on its Title Page, then add an item describing the Modified -Version as stated in the previous sentence. - -</li><li> Preserve the network location, if any, given in the Document for -public access to a Transparent copy of the Document, and likewise -the network locations given in the Document for previous versions -it was based on. These may be placed in the “History” section. -You may omit a network location for a work that was published at -least four years before the Document itself, or if the original -publisher of the version it refers to gives permission. - -</li><li> For any section Entitled “Acknowledgements” or “Dedications”, Preserve -the Title of the section, and preserve in the section all the -substance and tone of each of the contributor acknowledgements and/or -dedications given therein. - -</li><li> Preserve all the Invariant Sections of the Document, -unaltered in their text and in their titles. Section numbers -or the equivalent are not considered part of the section titles. - -</li><li> Delete any section Entitled “Endorsements”. Such a section -may not be included in the Modified Version. - -</li><li> Do not retitle any existing section to be Entitled “Endorsements” or -to conflict in title with any Invariant Section. - -</li><li> Preserve any Warranty Disclaimers. -</li></ol> - -<p>If the Modified Version includes new front-matter sections or -appendices that qualify as Secondary Sections and contain no material -copied from the Document, you may at your option designate some or all -of these sections as invariant. To do this, add their titles to the -list of Invariant Sections in the Modified Version’s license notice. -These titles must be distinct from any other section titles. -</p> -<p>You may add a section Entitled “Endorsements”, provided it contains -nothing but endorsements of your Modified Version by various -parties—for example, statements of peer review or that the text has -been approved by an organization as the authoritative definition of a -standard. -</p> -<p>You may add a passage of up to five words as a Front-Cover Text, and a -passage of up to 25 words as a Back-Cover Text, to the end of the list -of Cover Texts in the Modified Version. Only one passage of -Front-Cover Text and one of Back-Cover Text may be added by (or -through arrangements made by) any one entity. If the Document already -includes a cover text for the same cover, previously added by you or -by arrangement made by the same entity you are acting on behalf of, -you may not add another; but you may replace the old one, on explicit -permission from the previous publisher that added the old one. -</p> -<p>The author(s) and publisher(s) of the Document do not by this License -give permission to use their names for publicity for or to assert or -imply endorsement of any Modified Version. -</p> -</li><li> COMBINING DOCUMENTS - -<p>You may combine the Document with other documents released under this -License, under the terms defined in section 4 above for modified -versions, provided that you include in the combination all of the -Invariant Sections of all of the original documents, unmodified, and -list them all as Invariant Sections of your combined work in its -license notice, and that you preserve all their Warranty Disclaimers. -</p> -<p>The combined work need only contain one copy of this License, and -multiple identical Invariant Sections may be replaced with a single -copy. If there are multiple Invariant Sections with the same name but -different contents, make the title of each such section unique by -adding at the end of it, in parentheses, the name of the original -author or publisher of that section if known, or else a unique number. -Make the same adjustment to the section titles in the list of -Invariant Sections in the license notice of the combined work. -</p> -<p>In the combination, you must combine any sections Entitled “History” -in the various original documents, forming one section Entitled -“History”; likewise combine any sections Entitled “Acknowledgements”, -and any sections Entitled “Dedications”. You must delete all -sections Entitled “Endorsements.” -</p> -</li><li> COLLECTIONS OF DOCUMENTS - -<p>You may make a collection consisting of the Document and other documents -released under this License, and replace the individual copies of this -License in the various documents with a single copy that is included in -the collection, provided that you follow the rules of this License for -verbatim copying of each of the documents in all other respects. -</p> -<p>You may extract a single document from such a collection, and distribute -it individually under this License, provided you insert a copy of this -License into the extracted document, and follow this License in all -other respects regarding verbatim copying of that document. -</p> -</li><li> AGGREGATION WITH INDEPENDENT WORKS - -<p>A compilation of the Document or its derivatives with other separate -and independent documents or works, in or on a volume of a storage or -distribution medium, is called an “aggregate” if the copyright -resulting from the compilation is not used to limit the legal rights -of the compilation’s users beyond what the individual works permit. -When the Document is included in an aggregate, this License does not -apply to the other works in the aggregate which are not themselves -derivative works of the Document. -</p> -<p>If the Cover Text requirement of section 3 is applicable to these -copies of the Document, then if the Document is less than one half of -the entire aggregate, the Document’s Cover Texts may be placed on -covers that bracket the Document within the aggregate, or the -electronic equivalent of covers if the Document is in electronic form. -Otherwise they must appear on printed covers that bracket the whole -aggregate. -</p> -</li><li> TRANSLATION - -<p>Translation is considered a kind of modification, so you may -distribute translations of the Document under the terms of section 4. -Replacing Invariant Sections with translations requires special -permission from their copyright holders, but you may include -translations of some or all Invariant Sections in addition to the -original versions of these Invariant Sections. You may include a -translation of this License, and all the license notices in the -Document, and any Warranty Disclaimers, provided that you also include -the original English version of this License and the original versions -of those notices and disclaimers. In case of a disagreement between -the translation and the original version of this License or a notice -or disclaimer, the original version will prevail. -</p> -<p>If a section in the Document is Entitled “Acknowledgements”, -“Dedications”, or “History”, the requirement (section 4) to Preserve -its Title (section 1) will typically require changing the actual -title. -</p> -</li><li> TERMINATION - -<p>You may not copy, modify, sublicense, or distribute the Document -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense, or distribute it is void, and -will automatically terminate your rights under this License. -</p> -<p>However, if you cease all violation of this License, then your license -from a particular copyright holder is reinstated (a) provisionally, -unless and until the copyright holder explicitly and finally -terminates your license, and (b) permanently, if the copyright holder -fails to notify you of the violation by some reasonable means prior to -60 days after the cessation. -</p> -<p>Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. -</p> -<p>Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, receipt of a copy of some or all of the same material does -not give you any rights to use it. -</p> -</li><li> FUTURE REVISIONS OF THIS LICENSE - -<p>The Free Software Foundation may publish new, revised versions -of the GNU Free Documentation License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. See -<a href="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</a>. -</p> -<p>Each version of the License is given a distinguishing version number. -If the Document specifies that a particular numbered version of this -License “or any later version” applies to it, you have the option of -following the terms and conditions either of that specified version or -of any later version that has been published (not as a draft) by the -Free Software Foundation. If the Document does not specify a version -number of this License, you may choose any version ever published (not -as a draft) by the Free Software Foundation. If the Document -specifies that a proxy can decide which future versions of this -License can be used, that proxy’s public statement of acceptance of a -version permanently authorizes you to choose that version for the -Document. -</p> -</li><li> RELICENSING - -<p>“Massive Multiauthor Collaboration Site” (or “MMC Site”) means any -World Wide Web server that publishes copyrightable works and also -provides prominent facilities for anybody to edit those works. A -public wiki that anybody can edit is an example of such a server. A -“Massive Multiauthor Collaboration” (or “MMC”) contained in the -site means any set of copyrightable works thus published on the MMC -site. -</p> -<p>“CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0 -license published by Creative Commons Corporation, a not-for-profit -corporation with a principal place of business in San Francisco, -California, as well as future copyleft versions of that license -published by that same organization. -</p> -<p>“Incorporate” means to publish or republish a Document, in whole or -in part, as part of another Document. -</p> -<p>An MMC is “eligible for relicensing” if it is licensed under this -License, and if all works that were first published under this License -somewhere other than this MMC, and subsequently incorporated in whole -or in part into the MMC, (1) had no cover texts or invariant sections, -and (2) were thus incorporated prior to November 1, 2008. -</p> -<p>The operator of an MMC Site may republish an MMC contained in the site -under CC-BY-SA on the same site at any time before August 1, 2009, -provided the MMC is eligible for relicensing. -</p> -</li></ol> - -<a name="ADDENDUM_003a-How-to-use-this-License-for-your-documents"></a> -<h3 class="heading">ADDENDUM: How to use this License for your documents</h3> - -<p>To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and -license notices just after the title page: -</p> -<div class="smallexample"> -<pre class="smallexample"> Copyright (C) <var>year</var> <var>your name</var>. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.3 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover - Texts. A copy of the license is included in the section entitled ``GNU - Free Documentation License''. -</pre></div> - -<p>If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, -replace the “with…Texts.” line with this: -</p> -<div class="smallexample"> -<pre class="smallexample"> with the Invariant Sections being <var>list their titles</var>, with - the Front-Cover Texts being <var>list</var>, and with the Back-Cover Texts - being <var>list</var>. -</pre></div> - -<p>If you have Invariant Sections without Cover Texts, or some other -combination of the three, merge those two alternatives to suit the -situation. -</p> -<p>If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of -free software license, such as the GNU General Public License, -to permit their use in free software. -</p> - -<hr> -<div class="header"> -<p> -Up: <a href="Copying-This-Manual.html#Copying-This-Manual" accesskey="u" rel="up">Copying This Manual</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/sly/Getting-Started.html b/manuals/sly/Getting-Started.html deleted file mode 100644 index ab235ec..0000000 --- a/manuals/sly/Getting-Started.html +++ /dev/null @@ -1,82 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Getting Started</title> - -<meta name="description" content="Sly: Getting Started"> -<meta name="keywords" content="Sly: Getting Started"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="index.html#Top" rel="up" title="Top"> -<link href="API-Reference.html#API-Reference" rel="next" title="API Reference"> -<link href="Development-Environment.html#Development-Environment" rel="prev" title="Development Environment"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Getting-Started"></a> -<div class="header"> -<p> -Next: <a href="API-Reference.html#API-Reference" accesskey="n" rel="next">API Reference</a>, Previous: <a href="Installation.html#Installation" accesskey="p" rel="prev">Installation</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Getting-Started-1"></a> -<h2 class="chapter">3 Getting Started</h2> - - - - - -</body> -</html> diff --git a/manuals/sly/Index.html b/manuals/sly/Index.html deleted file mode 100644 index e44f08d..0000000 --- a/manuals/sly/Index.html +++ /dev/null @@ -1,475 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Index</title> - -<meta name="description" content="Sly: Index"> -<meta name="keywords" content="Sly: Index"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="index.html#Top" rel="up" title="Top"> -<link href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License" rel="prev" title="GNU Free Documentation License"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Index"></a> -<div class="header"> -<p> -Previous: <a href="Copying-This-Manual.html#Copying-This-Manual" accesskey="p" rel="prev">Copying This Manual</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Index-1"></a> -<h2 class="unnumbered">Index</h2> - -<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Index_fn_symbol-1"><b>2</b></a> - -<a class="summary-letter" href="#Index_fn_symbol-2"><b><</b></a> - -<br> -<a class="summary-letter" href="#Index_fn_letter-A"><b>A</b></a> - -<a class="summary-letter" href="#Index_fn_letter-B"><b>B</b></a> - -<a class="summary-letter" href="#Index_fn_letter-C"><b>C</b></a> - -<a class="summary-letter" href="#Index_fn_letter-D"><b>D</b></a> - -<a class="summary-letter" href="#Index_fn_letter-E"><b>E</b></a> - -<a class="summary-letter" href="#Index_fn_letter-F"><b>F</b></a> - -<a class="summary-letter" href="#Index_fn_letter-H"><b>H</b></a> - -<a class="summary-letter" href="#Index_fn_letter-I"><b>I</b></a> - -<a class="summary-letter" href="#Index_fn_letter-J"><b>J</b></a> - -<a class="summary-letter" href="#Index_fn_letter-K"><b>K</b></a> - -<a class="summary-letter" href="#Index_fn_letter-L"><b>L</b></a> - -<a class="summary-letter" href="#Index_fn_letter-M"><b>M</b></a> - -<a class="summary-letter" href="#Index_fn_letter-N"><b>N</b></a> - -<a class="summary-letter" href="#Index_fn_letter-O"><b>O</b></a> - -<a class="summary-letter" href="#Index_fn_letter-P"><b>P</b></a> - -<a class="summary-letter" href="#Index_fn_letter-Q"><b>Q</b></a> - -<a class="summary-letter" href="#Index_fn_letter-R"><b>R</b></a> - -<a class="summary-letter" href="#Index_fn_letter-S"><b>S</b></a> - -<a class="summary-letter" href="#Index_fn_letter-T"><b>T</b></a> - -<a class="summary-letter" href="#Index_fn_letter-V"><b>V</b></a> - -<a class="summary-letter" href="#Index_fn_letter-W"><b>W</b></a> - -<a class="summary-letter" href="#Index_fn_letter-Y"><b>Y</b></a> - -</td></tr></table> -<table class="index-fn" border="0"> -<tr><td></td><th align="left">Index Entry</th><td> </td><th align="left"> Section</th></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th><a name="Index_fn_symbol-1">2</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous.html#index-2pi"><code>2pi</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous.html#Miscellaneous">Miscellaneous</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th><a name="Index_fn_symbol-2"><</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-_003cquaternion_003e"><code><quaternion></code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html#Quaternions">Quaternions</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-_003crect_003e"><code><rect></code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-_003cvector2_003e"><code><vector2></code></a>:</td><td> </td><td valign="top"><a href="Vectors.html#Vectors">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-_003cvector3_003e"><code><vector3></code></a>:</td><td> </td><td valign="top"><a href="Vectors.html#Vectors">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-_003cvector4_003e"><code><vector4></code></a>:</td><td> </td><td valign="top"><a href="Vectors.html#Vectors">Vectors</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th><a name="Index_fn_letter-A">A</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="The-Game-Loop.html#index-after_002dgame_002dloop_002derror_002dhook"><code>after-game-loop-error-hook</code></a>:</td><td> </td><td valign="top"><a href="The-Game-Loop.html#The-Game-Loop">The Game Loop</a></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-agenda_002dclear_0021"><code>agenda-clear!</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html#Agendas">Agendas</a></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-agenda_002dtick_0021"><code>agenda-tick!</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html#Agendas">Agendas</a></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-agenda_002dtime"><code>agenda-time</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html#Agendas">Agendas</a></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-agenda_003f"><code>agenda?</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html#Agendas">Agendas</a></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous.html#index-atan_002ddegrees"><code>atan-degrees</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous.html#Miscellaneous">Miscellaneous</a></td></tr> -<tr><td></td><td valign="top"><a href="Joystick.html#index-axis_002dscale"><code>axis-scale</code></a>:</td><td> </td><td valign="top"><a href="Joystick.html#Joystick">Joystick</a></td></tr> -<tr><td></td><td valign="top"><a href="Joystick.html#index-axis_002dvalue"><code>axis-value</code></a>:</td><td> </td><td valign="top"><a href="Joystick.html#Joystick">Joystick</a></td></tr> -<tr><td></td><td valign="top"><a href="Joystick.html#index-axis_002dvalue_002draw"><code>axis-value-raw</code></a>:</td><td> </td><td valign="top"><a href="Joystick.html#Joystick">Joystick</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th><a name="Index_fn_letter-B">B</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Transforms.html#index-build_002dtransform"><code>build-transform</code></a>:</td><td> </td><td valign="top"><a href="Transforms.html#Transforms">Transforms</a></td></tr> -<tr><td></td><td valign="top"><a href="Joystick.html#index-button_002ddown_003f"><code>button-down?</code></a>:</td><td> </td><td valign="top"><a href="Joystick.html#Joystick">Joystick</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th><a name="Index_fn_letter-C">C</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Coroutines.html#index-call_002dwith_002dcoroutine"><code>call-with-coroutine</code></a>:</td><td> </td><td valign="top"><a href="Coroutines.html#Coroutines">Coroutines</a></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous_002dUtilities.html#index-chain"><code>chain</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous_002dUtilities.html#Miscellaneous_002dUtilities">Miscellaneous-Utilities</a></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous_002dUtilities.html#index-chain_002a"><code>chain*</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous_002dUtilities.html#Miscellaneous_002dUtilities">Miscellaneous-Utilities</a></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous.html#index-clamp"><code>clamp</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous.html#Miscellaneous">Miscellaneous</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Creation.html#index-close_002dwindow"><code>close-window</code></a>:</td><td> </td><td valign="top"><a href="Window-Creation.html#Window-Creation">Window Creation</a></td></tr> -<tr><td></td><td valign="top"><a href="Coroutines.html#index-codefine"><code>codefine</code></a>:</td><td> </td><td valign="top"><a href="Coroutines.html#Coroutines">Coroutines</a></td></tr> -<tr><td></td><td valign="top"><a href="Coroutines.html#index-codefine_002a"><code>codefine*</code></a>:</td><td> </td><td valign="top"><a href="Coroutines.html#Coroutines">Coroutines</a></td></tr> -<tr><td></td><td valign="top"><a href="Coroutines.html#index-colambda"><code>colambda</code></a>:</td><td> </td><td valign="top"><a href="Coroutines.html#Coroutines">Coroutines</a></td></tr> -<tr><td></td><td valign="top"><a href="Coroutines.html#index-coroutine"><code>coroutine</code></a>:</td><td> </td><td valign="top"><a href="Coroutines.html#Coroutines">Coroutines</a></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous.html#index-cos_002ddegrees"><code>cos-degrees</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous.html#Miscellaneous">Miscellaneous</a></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous.html#index-cotan"><code>cotan</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous.html#Miscellaneous">Miscellaneous</a></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-current_002dagenda"><code>current-agenda</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html#Agendas">Agendas</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th><a name="Index_fn_letter-D">D</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous_002dUtilities.html#index-define_002dguardian"><code>define-guardian</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous_002dUtilities.html#Miscellaneous_002dUtilities">Miscellaneous-Utilities</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-define_002dsignal"><code>define-signal</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous.html#index-degrees_002d_003eradians"><code>degrees->radians</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous.html#Miscellaneous">Miscellaneous</a></td></tr> -<tr><td></td><td valign="top"><a href="The-Game-Loop.html#index-draw_002dhook"><code>draw-hook</code></a>:</td><td> </td><td valign="top"><a href="The-Game-Loop.html#The-Game-Loop">The Game Loop</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th><a name="Index_fn_letter-E">E</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-ease_002din_002dout_002dquad"><code>ease-in-out-quad</code></a>:</td><td> </td><td valign="top"><a href="Easings.html#Easings">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-ease_002din_002dout_002dsine"><code>ease-in-out-sine</code></a>:</td><td> </td><td valign="top"><a href="Easings.html#Easings">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-ease_002din_002dquad"><code>ease-in-quad</code></a>:</td><td> </td><td valign="top"><a href="Easings.html#Easings">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-ease_002din_002dsine"><code>ease-in-sine</code></a>:</td><td> </td><td valign="top"><a href="Easings.html#Easings">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-ease_002dlinear"><code>ease-linear</code></a>:</td><td> </td><td valign="top"><a href="Easings.html#Easings">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-ease_002dloop"><code>ease-loop</code></a>:</td><td> </td><td valign="top"><a href="Easings.html#Easings">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-ease_002dout_002dquad"><code>ease-out-quad</code></a>:</td><td> </td><td valign="top"><a href="Easings.html#Easings">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-ease_002dout_002dsine"><code>ease-out-sine</code></a>:</td><td> </td><td valign="top"><a href="Easings.html#Easings">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Easings.html#index-ease_002dreflect"><code>ease-reflect</code></a>:</td><td> </td><td valign="top"><a href="Easings.html#Easings">Easings</a></td></tr> -<tr><td></td><td valign="top"><a href="Joystick.html#index-enable_002djoystick"><code>enable-joystick</code></a>:</td><td> </td><td valign="top"><a href="Joystick.html#Joystick">Joystick</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th><a name="Index_fn_letter-F">F</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous_002dUtilities.html#index-forever"><code>forever</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous_002dUtilities.html#Miscellaneous_002dUtilities">Miscellaneous-Utilities</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th><a name="Index_fn_letter-H">H</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous.html#index-half"><code>half</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous.html#Miscellaneous">Miscellaneous</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-hook_002d_003esignal"><code>hook->signal</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th><a name="Index_fn_letter-I">I</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-identity_002dquaternion"><code>identity-quaternion</code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html#Quaternions">Quaternions</a></td></tr> -<tr><td></td><td valign="top"><a href="Transforms.html#index-identity_002dtransform"><code>identity-transform</code></a>:</td><td> </td><td valign="top"><a href="Transforms.html#Transforms">Transforms</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th><a name="Index_fn_letter-J">J</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Joystick.html#index-joystick_002daxis_002dhook"><code>joystick-axis-hook</code></a>:</td><td> </td><td valign="top"><a href="Joystick.html#Joystick">Joystick</a></td></tr> -<tr><td></td><td valign="top"><a href="Joystick.html#index-joystick_002dbutton_002dpress_002dhook"><code>joystick-button-press-hook</code></a>:</td><td> </td><td valign="top"><a href="Joystick.html#Joystick">Joystick</a></td></tr> -<tr><td></td><td valign="top"><a href="Joystick.html#index-joystick_002dbutton_002drelease_002dhook"><code>joystick-button-release-hook</code></a>:</td><td> </td><td valign="top"><a href="Joystick.html#Joystick">Joystick</a></td></tr> -<tr><td></td><td valign="top"><a href="Joystick.html#index-joystick_002dname"><code>joystick-name</code></a>:</td><td> </td><td valign="top"><a href="Joystick.html#Joystick">Joystick</a></td></tr> -<tr><td></td><td valign="top"><a href="Joystick.html#index-joystick_002dnum_002daxes"><code>joystick-num-axes</code></a>:</td><td> </td><td valign="top"><a href="Joystick.html#Joystick">Joystick</a></td></tr> -<tr><td></td><td valign="top"><a href="Joystick.html#index-joystick_002dnum_002dbuttons"><code>joystick-num-buttons</code></a>:</td><td> </td><td valign="top"><a href="Joystick.html#Joystick">Joystick</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th><a name="Index_fn_letter-K">K</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Keyboard.html#index-key_002darrows"><code>key-arrows</code></a>:</td><td> </td><td valign="top"><a href="Keyboard.html#Keyboard">Keyboard</a></td></tr> -<tr><td></td><td valign="top"><a href="Keyboard.html#index-key_002ddirections"><code>key-directions</code></a>:</td><td> </td><td valign="top"><a href="Keyboard.html#Keyboard">Keyboard</a></td></tr> -<tr><td></td><td valign="top"><a href="Keyboard.html#index-key_002ddown_003f"><code>key-down?</code></a>:</td><td> </td><td valign="top"><a href="Keyboard.html#Keyboard">Keyboard</a></td></tr> -<tr><td></td><td valign="top"><a href="Keyboard.html#index-key_002dlast_002ddown"><code>key-last-down</code></a>:</td><td> </td><td valign="top"><a href="Keyboard.html#Keyboard">Keyboard</a></td></tr> -<tr><td></td><td valign="top"><a href="Keyboard.html#index-key_002dlast_002dup"><code>key-last-up</code></a>:</td><td> </td><td valign="top"><a href="Keyboard.html#Keyboard">Keyboard</a></td></tr> -<tr><td></td><td valign="top"><a href="Keyboard.html#index-key_002dpress_002dhook"><code>key-press-hook</code></a>:</td><td> </td><td valign="top"><a href="Keyboard.html#Keyboard">Keyboard</a></td></tr> -<tr><td></td><td valign="top"><a href="Keyboard.html#index-key_002drelease_002dhook"><code>key-release-hook</code></a>:</td><td> </td><td valign="top"><a href="Keyboard.html#Keyboard">Keyboard</a></td></tr> -<tr><td></td><td valign="top"><a href="Keyboard.html#index-key_002dwasd"><code>key-wasd</code></a>:</td><td> </td><td valign="top"><a href="Keyboard.html#Keyboard">Keyboard</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th><a name="Index_fn_letter-L">L</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous.html#index-lerp"><code>lerp</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous.html#Miscellaneous">Miscellaneous</a></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous.html#index-linear_002dscale"><code>linear-scale</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous.html#Miscellaneous">Miscellaneous</a></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous_002dUtilities.html#index-list_002d_003evlist_002a"><code>list->vlist*</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous_002dUtilities.html#Miscellaneous_002dUtilities">Miscellaneous-Utilities</a></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous_002dUtilities.html#index-list_002d_003evlist_002a-1"><code>list->vlist*</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous_002dUtilities.html#Miscellaneous_002dUtilities">Miscellaneous-Utilities</a></td></tr> -<tr><td></td><td valign="top"><a href="Live-Reloading.html#index-live_002dreload"><code>live-reload</code></a>:</td><td> </td><td valign="top"><a href="Live-Reloading.html#Live-Reloading">Live Reloading</a></td></tr> -<tr><td></td><td valign="top"><a href="Sprites.html#index-load_002dsprite"><code>load-sprite</code></a>:</td><td> </td><td valign="top"><a href="Sprites.html#Sprites">Sprites</a></td></tr> -<tr><td></td><td valign="top"><a href="Transforms.html#index-look_002dat"><code>look-at</code></a>:</td><td> </td><td valign="top"><a href="Transforms.html#Transforms">Transforms</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th><a name="Index_fn_letter-M">M</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-magnitude"><code>magnitude</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html#Vectors">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-make_002dagenda"><code>make-agenda</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html#Agendas">Agendas</a></td></tr> -<tr><td></td><td valign="top"><a href="Joystick.html#index-make_002ddirectional_002dsignal"><code>make-directional-signal</code></a>:</td><td> </td><td valign="top"><a href="Joystick.html#Joystick">Joystick</a></td></tr> -<tr><td></td><td valign="top"><a href="Joystick.html#index-make_002ddirectional_002dsignal_002draw"><code>make-directional-signal-raw</code></a>:</td><td> </td><td valign="top"><a href="Joystick.html#Joystick">Joystick</a></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous.html#index-make_002dlerp"><code>make-lerp</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous.html#Miscellaneous">Miscellaneous</a></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-make_002dquaternion"><code>make-quaternion</code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html#Quaternions">Quaternions</a></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-make_002dquaternion-1"><code>make-quaternion</code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html#Quaternions">Quaternions</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-make_002drect"><code>make-rect</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-make_002dsignal"><code>make-signal</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Sprites.html#index-make_002dsprite"><code>make-sprite</code></a>:</td><td> </td><td valign="top"><a href="Sprites.html#Sprites">Sprites</a></td></tr> -<tr><td></td><td valign="top"><a href="Transforms.html#index-make_002dtransform"><code>make-transform</code></a>:</td><td> </td><td valign="top"><a href="Transforms.html#Transforms">Transforms</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Creation.html#index-make_002dwindow"><code>make-window</code></a>:</td><td> </td><td valign="top"><a href="Window-Creation.html#Window-Creation">Window Creation</a></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous_002dUtilities.html#index-memoize"><code>memoize</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous_002dUtilities.html#Miscellaneous_002dUtilities">Miscellaneous-Utilities</a></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous.html#index-modulo_002a"><code>modulo*</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous.html#Miscellaneous">Miscellaneous</a></td></tr> -<tr><td></td><td valign="top"><a href="Mouse.html#index-mouse_002dclick_002dhook"><code>mouse-click-hook</code></a>:</td><td> </td><td valign="top"><a href="Mouse.html#Mouse">Mouse</a></td></tr> -<tr><td></td><td valign="top"><a href="Mouse.html#index-mouse_002ddown_003f"><code>mouse-down?</code></a>:</td><td> </td><td valign="top"><a href="Mouse.html#Mouse">Mouse</a></td></tr> -<tr><td></td><td valign="top"><a href="Mouse.html#index-mouse_002dlast_002ddown"><code>mouse-last-down</code></a>:</td><td> </td><td valign="top"><a href="Mouse.html#Mouse">Mouse</a></td></tr> -<tr><td></td><td valign="top"><a href="Mouse.html#index-mouse_002dlast_002dup"><code>mouse-last-up</code></a>:</td><td> </td><td valign="top"><a href="Mouse.html#Mouse">Mouse</a></td></tr> -<tr><td></td><td valign="top"><a href="Mouse.html#index-mouse_002dmove_002dhook"><code>mouse-move-hook</code></a>:</td><td> </td><td valign="top"><a href="Mouse.html#Mouse">Mouse</a></td></tr> -<tr><td></td><td valign="top"><a href="Mouse.html#index-mouse_002dposition"><code>mouse-position</code></a>:</td><td> </td><td valign="top"><a href="Mouse.html#Mouse">Mouse</a></td></tr> -<tr><td></td><td valign="top"><a href="Mouse.html#index-mouse_002dpress_002dhook"><code>mouse-press-hook</code></a>:</td><td> </td><td valign="top"><a href="Mouse.html#Mouse">Mouse</a></td></tr> -<tr><td></td><td valign="top"><a href="Mouse.html#index-mouse_002dx"><code>mouse-x</code></a>:</td><td> </td><td valign="top"><a href="Mouse.html#Mouse">Mouse</a></td></tr> -<tr><td></td><td valign="top"><a href="Mouse.html#index-mouse_002dy"><code>mouse-y</code></a>:</td><td> </td><td valign="top"><a href="Mouse.html#Mouse">Mouse</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th><a name="Index_fn_letter-N">N</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-normalize"><code>normalize</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html#Vectors">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-null_002dquaternion"><code>null-quaternion</code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html#Quaternions">Quaternions</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-null_002drect"><code>null-rect</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Transforms.html#index-null_002dtransform"><code>null-transform</code></a>:</td><td> </td><td valign="top"><a href="Transforms.html#Transforms">Transforms</a></td></tr> -<tr><td></td><td valign="top"><a href="Joystick.html#index-num_002djoysticks"><code>num-joysticks</code></a>:</td><td> </td><td valign="top"><a href="Joystick.html#Joystick">Joystick</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th><a name="Index_fn_letter-O">O</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Window-Creation.html#index-open_002dwindow"><code>open-window</code></a>:</td><td> </td><td valign="top"><a href="Window-Creation.html#Window-Creation">Window Creation</a></td></tr> -<tr><td></td><td valign="top"><a href="Transforms.html#index-orthographic_002dprojection"><code>orthographic-projection</code></a>:</td><td> </td><td valign="top"><a href="Transforms.html#Transforms">Transforms</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th><a name="Index_fn_letter-P">P</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Transforms.html#index-perspective_002dprojection"><code>perspective-projection</code></a>:</td><td> </td><td valign="top"><a href="Transforms.html#Transforms">Transforms</a></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous.html#index-pi"><code>pi</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous.html#Miscellaneous">Miscellaneous</a></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous.html#index-pi_002f2"><code>pi/2</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous.html#Miscellaneous">Miscellaneous</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th><a name="Index_fn_letter-Q">Q</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-quaternion"><code>quaternion</code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html#Quaternions">Quaternions</a></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-quaternion-1"><code>quaternion</code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html#Quaternions">Quaternions</a></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-quaternion_002a"><code>quaternion*</code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html#Quaternions">Quaternions</a></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-quaternion_002d_003evector"><code>quaternion->vector</code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html#Quaternions">Quaternions</a></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-quaternion_002dmagnitude"><code>quaternion-magnitude</code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html#Quaternions">Quaternions</a></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-quaternion_002dnormalize"><code>quaternion-normalize</code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html#Quaternions">Quaternions</a></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-quaternion_002dslerp"><code>quaternion-slerp</code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html#Quaternions">Quaternions</a></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-quaternion_002dw"><code>quaternion-w</code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html#Quaternions">Quaternions</a></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-quaternion_002dx"><code>quaternion-x</code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html#Quaternions">Quaternions</a></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-quaternion_002dy"><code>quaternion-y</code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html#Quaternions">Quaternions</a></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-quaternion_002dz"><code>quaternion-z</code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html#Quaternions">Quaternions</a></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-quaternion_003f"><code>quaternion?</code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html#Quaternions">Quaternions</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th><a name="Index_fn_letter-R">R</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous.html#index-radians_002d_003edegrees"><code>radians->degrees</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous.html#Miscellaneous">Miscellaneous</a></td></tr> -<tr><td></td><td valign="top"><a href="Joystick.html#index-raw_002daxis_002dmax"><code>raw-axis-max</code></a>:</td><td> </td><td valign="top"><a href="Joystick.html#Joystick">Joystick</a></td></tr> -<tr><td></td><td valign="top"><a href="Joystick.html#index-raw_002daxis_002dmin"><code>raw-axis-min</code></a>:</td><td> </td><td valign="top"><a href="Joystick.html#Joystick">Joystick</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dbottom"><code>rect-bottom</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dbottom_002dleft"><code>rect-bottom-left</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dbottom_002dright"><code>rect-bottom-right</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dcenter"><code>rect-center</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dcenter_002dx"><code>rect-center-x</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dcenter_002dy"><code>rect-center-y</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dclamp"><code>rect-clamp</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dclip"><code>rect-clip</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dcontains_003f"><code>rect-contains?</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dcontains_003f-1"><code>rect-contains?</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dhalf_002dheight"><code>rect-half-height</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dhalf_002dwidth"><code>rect-half-width</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dheight"><code>rect-height</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dinflate"><code>rect-inflate</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dinflate-1"><code>rect-inflate</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dintersects_003f"><code>rect-intersects?</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dleft"><code>rect-left</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dmove"><code>rect-move</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dmove-1"><code>rect-move</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dposition"><code>rect-position</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dright"><code>rect-right</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dsize"><code>rect-size</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dtop"><code>rect-top</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dtop_002dleft"><code>rect-top-left</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dtop_002dright"><code>rect-top-right</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dunion"><code>rect-union</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dwidth"><code>rect-width</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dwithin_003f"><code>rect-within?</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dx"><code>rect-x</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_002dy"><code>rect-y</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Rectangles.html#index-rect_003f"><code>rect?</code></a>:</td><td> </td><td valign="top"><a href="Rectangles.html#Rectangles">Rectangles</a></td></tr> -<tr><td></td><td valign="top"><a href="Sprites.html#index-render_002dsprite"><code>render-sprite</code></a>:</td><td> </td><td valign="top"><a href="Sprites.html#Sprites">Sprites</a></td></tr> -<tr><td></td><td valign="top"><a href="REPL.html#index-resume_002dgame_002dloop"><code>resume-game-loop</code></a>:</td><td> </td><td valign="top"><a href="REPL.html#REPL">REPL</a></td></tr> -<tr><td></td><td valign="top"><a href="Transforms.html#index-rotate"><code>rotate</code></a>:</td><td> </td><td valign="top"><a href="Transforms.html#Transforms">Transforms</a></td></tr> -<tr><td></td><td valign="top"><a href="Transforms.html#index-rotate_002dx"><code>rotate-x</code></a>:</td><td> </td><td valign="top"><a href="Transforms.html#Transforms">Transforms</a></td></tr> -<tr><td></td><td valign="top"><a href="Transforms.html#index-rotate_002dy"><code>rotate-y</code></a>:</td><td> </td><td valign="top"><a href="Transforms.html#Transforms">Transforms</a></td></tr> -<tr><td></td><td valign="top"><a href="Transforms.html#index-rotate_002dz"><code>rotate-z</code></a>:</td><td> </td><td valign="top"><a href="Transforms.html#Transforms">Transforms</a></td></tr> -<tr><td></td><td valign="top"><a href="The-Game-Loop.html#index-run_002dgame_002dloop"><code>run-game-loop</code></a>:</td><td> </td><td valign="top"><a href="The-Game-Loop.html#The-Game-Loop">The Game Loop</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th><a name="Index_fn_letter-S">S</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Transforms.html#index-scale"><code>scale</code></a>:</td><td> </td><td valign="top"><a href="Transforms.html#Transforms">Transforms</a></td></tr> -<tr><td></td><td valign="top"><a href="Transforms.html#index-scale-1"><code>scale</code></a>:</td><td> </td><td valign="top"><a href="Transforms.html#Transforms">Transforms</a></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-schedule"><code>schedule</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html#Agendas">Agendas</a></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-schedule_002deach"><code>schedule-each</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html#Agendas">Agendas</a></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-schedule_002dinterval"><code>schedule-interval</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html#Agendas">Agendas</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002dconstant"><code>signal-constant</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002dcount"><code>signal-count</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002ddelay"><code>signal-delay</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002ddrop"><code>signal-drop</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002ddrop_002drepeats"><code>signal-drop-repeats</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002devery"><code>signal-every</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002dfilter"><code>signal-filter</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002dfold"><code>signal-fold</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002dgenerator"><code>signal-generator</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002dlet"><code>signal-let</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002dlet_002a"><code>signal-let*</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002dmap"><code>signal-map</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002dmerge"><code>signal-merge</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002dnegate"><code>signal-negate</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002dref"><code>signal-ref</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002dref_002dmaybe"><code>signal-ref-maybe</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002dsample"><code>signal-sample</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002dsample_002don"><code>signal-sample-on</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002dset_0021"><code>signal-set!</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002dsince"><code>signal-since</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002dswitch"><code>signal-switch</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002dtap"><code>signal-tap</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002dthrottle"><code>signal-throttle</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002dtime"><code>signal-time</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002dtimestamp"><code>signal-timestamp</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_002dzip"><code>signal-zip</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Signals.html#index-signal_003f"><code>signal?</code></a>:</td><td> </td><td valign="top"><a href="Signals.html#Signals">Signals</a></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous.html#index-sin_002ddegrees"><code>sin-degrees</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous.html#Miscellaneous">Miscellaneous</a></td></tr> -<tr><td></td><td valign="top"><a href="Sprites.html#index-sprite_002dmesh"><code>sprite-mesh</code></a>:</td><td> </td><td valign="top"><a href="Sprites.html#Sprites">Sprites</a></td></tr> -<tr><td></td><td valign="top"><a href="Sprites.html#index-sprite_002dtexture"><code>sprite-texture</code></a>:</td><td> </td><td valign="top"><a href="Sprites.html#Sprites">Sprites</a></td></tr> -<tr><td></td><td valign="top"><a href="Sprites.html#index-sprite_003f"><code>sprite?</code></a>:</td><td> </td><td valign="top"><a href="Sprites.html#Sprites">Sprites</a></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous.html#index-square"><code>square</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous.html#Miscellaneous">Miscellaneous</a></td></tr> -<tr><td></td><td valign="top"><a href="REPL.html#index-start_002dsly_002drepl"><code>start-sly-repl</code></a>:</td><td> </td><td valign="top"><a href="REPL.html#REPL">REPL</a></td></tr> -<tr><td></td><td valign="top"><a href="The-Game-Loop.html#index-stop_002dgame_002dloop"><code>stop-game-loop</code></a>:</td><td> </td><td valign="top"><a href="The-Game-Loop.html#The-Game-Loop">The Game Loop</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th><a name="Index_fn_letter-T">T</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous.html#index-tan_002ddegrees"><code>tan-degrees</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous.html#Miscellaneous">Miscellaneous</a></td></tr> -<tr><td></td><td valign="top"><a href="Miscellaneous_002dUtilities.html#index-trampoline"><code>trampoline</code></a>:</td><td> </td><td valign="top"><a href="Miscellaneous_002dUtilities.html#Miscellaneous_002dUtilities">Miscellaneous-Utilities</a></td></tr> -<tr><td></td><td valign="top"><a href="Transforms.html#index-transform_002a"><code>transform*</code></a>:</td><td> </td><td valign="top"><a href="Transforms.html#Transforms">Transforms</a></td></tr> -<tr><td></td><td valign="top"><a href="Transforms.html#index-transform_002a_0021"><code>transform*!</code></a>:</td><td> </td><td valign="top"><a href="Transforms.html#Transforms">Transforms</a></td></tr> -<tr><td></td><td valign="top"><a href="Transforms.html#index-transform_002b"><code>transform+</code></a>:</td><td> </td><td valign="top"><a href="Transforms.html#Transforms">Transforms</a></td></tr> -<tr><td></td><td valign="top"><a href="Transforms.html#index-transform_002dmatrix"><code>transform-matrix</code></a>:</td><td> </td><td valign="top"><a href="Transforms.html#Transforms">Transforms</a></td></tr> -<tr><td></td><td valign="top"><a href="Transforms.html#index-transform_002dposition"><code>transform-position</code></a>:</td><td> </td><td valign="top"><a href="Transforms.html#Transforms">Transforms</a></td></tr> -<tr><td></td><td valign="top"><a href="Transforms.html#index-transform_002dvector2"><code>transform-vector2</code></a>:</td><td> </td><td valign="top"><a href="Transforms.html#Transforms">Transforms</a></td></tr> -<tr><td></td><td valign="top"><a href="Transforms.html#index-transform_003f"><code>transform?</code></a>:</td><td> </td><td valign="top"><a href="Transforms.html#Transforms">Transforms</a></td></tr> -<tr><td></td><td valign="top"><a href="Transforms.html#index-translate"><code>translate</code></a>:</td><td> </td><td valign="top"><a href="Transforms.html#Transforms">Transforms</a></td></tr> -<tr><td></td><td valign="top"><a href="Transforms.html#index-transpose"><code>transpose</code></a>:</td><td> </td><td valign="top"><a href="Transforms.html#Transforms">Transforms</a></td></tr> -<tr><td></td><td valign="top"><a href="Tweening.html#index-tween"><code>tween</code></a>:</td><td> </td><td valign="top"><a href="Tweening.html#Tweening">Tweening</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th><a name="Index_fn_letter-V">V</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-v_002a"><code>v*</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html#Vectors">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-v_002b"><code>v+</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html#Vectors">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-v_002d"><code>v-</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html#Vectors">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vcross"><code>vcross</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html#Vectors">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vdot"><code>vdot</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html#Vectors">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Quaternions.html#index-vector_002d_003equaternion"><code>vector->quaternion</code></a>:</td><td> </td><td valign="top"><a href="Quaternions.html#Quaternions">Quaternions</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vector2"><code>vector2</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html#Vectors">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vector2_003f"><code>vector2?</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html#Vectors">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vector3"><code>vector3</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html#Vectors">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vector3_003f"><code>vector3?</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html#Vectors">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vector4"><code>vector4</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html#Vectors">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vector4_003f"><code>vector4?</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html#Vectors">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vlerp"><code>vlerp</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html#Vectors">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vmap"><code>vmap</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html#Vectors">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vw"><code>vw</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html#Vectors">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vx"><code>vx</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html#Vectors">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vy"><code>vy</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html#Vectors">Vectors</a></td></tr> -<tr><td></td><td valign="top"><a href="Vectors.html#index-vz"><code>vz</code></a>:</td><td> </td><td valign="top"><a href="Vectors.html#Vectors">Vectors</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th><a name="Index_fn_letter-W">W</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-wait"><code>wait</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html#Agendas">Agendas</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Creation.html#index-window_002dclose_002dhook"><code>window-close-hook</code></a>:</td><td> </td><td valign="top"><a href="Window-Creation.html#Window-Creation">Window Creation</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Creation.html#index-window_002dfullscreen_003f"><code>window-fullscreen?</code></a>:</td><td> </td><td valign="top"><a href="Window-Creation.html#Window-Creation">Window Creation</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Creation.html#index-window_002dheight"><code>window-height</code></a>:</td><td> </td><td valign="top"><a href="Window-Creation.html#Window-Creation">Window Creation</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Creation.html#index-window_002dresize_002dhook"><code>window-resize-hook</code></a>:</td><td> </td><td valign="top"><a href="Window-Creation.html#Window-Creation">Window Creation</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Creation.html#index-window_002dresolution"><code>window-resolution</code></a>:</td><td> </td><td valign="top"><a href="Window-Creation.html#Window-Creation">Window Creation</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Creation.html#index-window_002dsize"><code>window-size</code></a>:</td><td> </td><td valign="top"><a href="Window-Creation.html#Window-Creation">Window Creation</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Creation.html#index-window_002dtitle"><code>window-title</code></a>:</td><td> </td><td valign="top"><a href="Window-Creation.html#Window-Creation">Window Creation</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Creation.html#index-window_002dwidth"><code>window-width</code></a>:</td><td> </td><td valign="top"><a href="Window-Creation.html#Window-Creation">Window Creation</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Creation.html#index-window_003f"><code>window?</code></a>:</td><td> </td><td valign="top"><a href="Window-Creation.html#Window-Creation">Window Creation</a></td></tr> -<tr><td></td><td valign="top"><a href="Agendas.html#index-with_002dagenda"><code>with-agenda</code></a>:</td><td> </td><td valign="top"><a href="Agendas.html#Agendas">Agendas</a></td></tr> -<tr><td></td><td valign="top"><a href="Window-Creation.html#index-with_002dwindow"><code>with-window</code></a>:</td><td> </td><td valign="top"><a href="Window-Creation.html#Window-Creation">Window Creation</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -<tr><th><a name="Index_fn_letter-Y">Y</a></th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="Coroutines.html#index-yield"><code>yield</code></a>:</td><td> </td><td valign="top"><a href="Coroutines.html#Coroutines">Coroutines</a></td></tr> -<tr><td colspan="4"> <hr></td></tr> -</table> -<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Index_fn_symbol-1"><b>2</b></a> - -<a class="summary-letter" href="#Index_fn_symbol-2"><b><</b></a> - -<br> -<a class="summary-letter" href="#Index_fn_letter-A"><b>A</b></a> - -<a class="summary-letter" href="#Index_fn_letter-B"><b>B</b></a> - -<a class="summary-letter" href="#Index_fn_letter-C"><b>C</b></a> - -<a class="summary-letter" href="#Index_fn_letter-D"><b>D</b></a> - -<a class="summary-letter" href="#Index_fn_letter-E"><b>E</b></a> - -<a class="summary-letter" href="#Index_fn_letter-F"><b>F</b></a> - -<a class="summary-letter" href="#Index_fn_letter-H"><b>H</b></a> - -<a class="summary-letter" href="#Index_fn_letter-I"><b>I</b></a> - -<a class="summary-letter" href="#Index_fn_letter-J"><b>J</b></a> - -<a class="summary-letter" href="#Index_fn_letter-K"><b>K</b></a> - -<a class="summary-letter" href="#Index_fn_letter-L"><b>L</b></a> - -<a class="summary-letter" href="#Index_fn_letter-M"><b>M</b></a> - -<a class="summary-letter" href="#Index_fn_letter-N"><b>N</b></a> - -<a class="summary-letter" href="#Index_fn_letter-O"><b>O</b></a> - -<a class="summary-letter" href="#Index_fn_letter-P"><b>P</b></a> - -<a class="summary-letter" href="#Index_fn_letter-Q"><b>Q</b></a> - -<a class="summary-letter" href="#Index_fn_letter-R"><b>R</b></a> - -<a class="summary-letter" href="#Index_fn_letter-S"><b>S</b></a> - -<a class="summary-letter" href="#Index_fn_letter-T"><b>T</b></a> - -<a class="summary-letter" href="#Index_fn_letter-V"><b>V</b></a> - -<a class="summary-letter" href="#Index_fn_letter-W"><b>W</b></a> - -<a class="summary-letter" href="#Index_fn_letter-Y"><b>Y</b></a> - -</td></tr></table> - -<hr> -<div class="header"> -<p> -Previous: <a href="Copying-This-Manual.html#Copying-This-Manual" accesskey="p" rel="prev">Copying This Manual</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/sly/Input.html b/manuals/sly/Input.html deleted file mode 100644 index 6eb4aea..0000000 --- a/manuals/sly/Input.html +++ /dev/null @@ -1,94 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Input</title> - -<meta name="description" content="Sly: Input"> -<meta name="keywords" content="Sly: Input"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="API-Reference.html#API-Reference" rel="up" title="API Reference"> -<link href="Keyboard.html#Keyboard" rel="next" title="Keyboard"> -<link href="Agendas.html#Agendas" rel="prev" title="Agendas"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Input"></a> -<div class="header"> -<p> -Next: <a href="Rendering.html#Rendering" accesskey="n" rel="next">Rendering</a>, Previous: <a href="Time.html#Time" accesskey="p" rel="prev">Time</a>, Up: <a href="API-Reference.html#API-Reference" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Input-1"></a> -<h3 class="section">4.4 Input</h3> - -<p>Sly can handle user input from a keyboard, mouse, or joystick. The -input modules expose signals that represent various input -events (see <a href="Signals.html#Signals">Signals</a>). -</p> -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Keyboard.html#Keyboard" accesskey="1">Keyboard</a>:</td><td> </td><td align="left" valign="top">Clack clack. -</td></tr> -<tr><td align="left" valign="top">• <a href="Mouse.html#Mouse" accesskey="2">Mouse</a>:</td><td> </td><td align="left" valign="top">Exercise the rodent. -</td></tr> -<tr><td align="left" valign="top">• <a href="Joystick.html#Joystick" accesskey="3">Joystick</a>:</td><td> </td><td align="left" valign="top">Arcade-style fun. -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/sly/Installation.html b/manuals/sly/Installation.html deleted file mode 100644 index 24f3045..0000000 --- a/manuals/sly/Installation.html +++ /dev/null @@ -1,98 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Installation</title> - -<meta name="description" content="Sly: Installation"> -<meta name="keywords" content="Sly: Installation"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="index.html#Top" rel="up" title="Top"> -<link href="Requirements.html#Requirements" rel="next" title="Requirements"> -<link href="Introduction.html#Introduction" rel="prev" title="Introduction"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Installation"></a> -<div class="header"> -<p> -Next: <a href="Getting-Started.html#Getting-Started" accesskey="n" rel="next">Getting Started</a>, Previous: <a href="Introduction.html#Introduction" accesskey="p" rel="prev">Introduction</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Installation-1"></a> -<h2 class="chapter">2 Installation</h2> - -<p>Sly is available for download from its website at -<a href="sly.dthompson.us">sly.dthompson.us</a>. This section describes the software -requirements of Sly, as well as how to install it. -</p> -<p>The build procedure for Sly is the same as for GNU software packages, -and is not covered here. Please see the files <samp>README.org</samp> and -<samp>INSTALL.org</samp> for additional details. -</p> -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Requirements.html#Requirements" accesskey="1">Requirements</a>:</td><td> </td><td align="left" valign="top">Software needed to build and run Sly. -</td></tr> -<tr><td align="left" valign="top">• <a href="Examples.html#Examples" accesskey="2">Examples</a>:</td><td> </td><td align="left" valign="top">Run example programs. -</td></tr> -<tr><td align="left" valign="top">• <a href="Development-Environment.html#Development-Environment" accesskey="3">Development Environment</a>:</td><td> </td><td align="left" valign="top">The ideal development environment. -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/sly/Introduction.html b/manuals/sly/Introduction.html deleted file mode 100644 index c4eabcc..0000000 --- a/manuals/sly/Introduction.html +++ /dev/null @@ -1,120 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Introduction</title> - -<meta name="description" content="Sly: Introduction"> -<meta name="keywords" content="Sly: Introduction"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="index.html#Top" rel="up" title="Top"> -<link href="Installation.html#Installation" rel="next" title="Installation"> -<link href="index.html#Top" rel="prev" title="Top"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Introduction"></a> -<div class="header"> -<p> -Next: <a href="Installation.html#Installation" accesskey="n" rel="next">Installation</a>, Previous: <a href="index.html#Top" accesskey="p" rel="prev">Top</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Introduction-1"></a> -<h2 class="chapter">1 Introduction</h2> - -<p>Sly is a 2D/3D game engine written in the GNU Guile dialect of the -Scheme programming language. With the help of Guile, Sly provides all -of the essential building blocks for making video games, such as: -window management, input even handling, rendering, linear algebra, and -powerful scripting capabilities. Sly differentiates itself from -traditional game engines by providing a dynamic live codinng -environment and a functional API. -</p> -<p>For those unfamiliar with the term, “live coding” is the practice of -improvised interactive programming. Sly provides a suitable -environment for live coding by leveraging Guile’s cooperative REPL -server. When used with a powerful editing tool such as Emacs (with -the fantastic Geiser extension), programmers may evaluate arbitrary -code and see the effects of their modifications in real time. This -tight feedback loop allows for faster prototyping, greater -productivity, and most importantly, more fun. -</p> -<p>Functional reactive programming (FRP) is a technique used to model -time-varying values with pure functions. A pure function is a -function whose return value depends solely upon its arguments. They -also produce no side-effects, such as calling ’set!’ on a variable or -writing to a file on disk. Sly encapsulates time-varying values in -“signals”, a high-level data structure for controlling the flow of -events. Unlike imperative event callbacks, signals can easily be -composed to form new signals. By modeling game state with pure -functions and immutable data, a game can be seen as a function of -time. To play the game is to “fold” (accumulate a result) over -time. Constructing a game this way allows for deterministic behavior -that is easier to reason about and test than the accumulation of -side-effects seen in traditional game engines. The signal interface -is also declarative, meaning that the programmer describes <em>what</em> -the state of the world should be like at any given time, rather than -<em>how</em> to get there. -</p> -<hr> -<div class="header"> -<p> -Next: <a href="Installation.html#Installation" accesskey="n" rel="next">Installation</a>, Previous: <a href="index.html#Top" accesskey="p" rel="prev">Top</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/sly/Joystick.html b/manuals/sly/Joystick.html deleted file mode 100644 index 68748c3..0000000 --- a/manuals/sly/Joystick.html +++ /dev/null @@ -1,188 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Joystick</title> - -<meta name="description" content="Sly: Joystick"> -<meta name="keywords" content="Sly: Joystick"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Input.html#Input" rel="up" title="Input"> -<link href="Rendering.html#Rendering" rel="next" title="Rendering"> -<link href="Mouse.html#Mouse" rel="prev" title="Mouse"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Joystick"></a> -<div class="header"> -<p> -Previous: <a href="Mouse.html#Mouse" accesskey="p" rel="prev">Mouse</a>, Up: <a href="Input.html#Input" accesskey="u" rel="up">Input</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Joystick-1"></a> -<h4 class="subsection">4.4.3 Joystick</h4> - -<div class="example"> -<pre class="example">(use-modules (sly input joystick)) -</pre></div> - -<p>Joystick hooks, signals, and procedures. -</p> -<p>Before using joystick procedures, you must first call the -initialization procedure <code>enable-joystick</code>. -</p> -<dl> -<dt><a name="index-enable_002djoystick"></a>Scheme Procedure: <strong>enable-joystick</strong></dt> -<dd><p>Initialize joystick module. -</p></dd></dl> - -<dl> -<dt><a name="index-joystick_002dnum_002daxes"></a>Scheme Procedure: <strong>joystick-num-axes</strong> <em><var>idx</var></em></dt> -<dd><p>Get number of axes of joystick at <code>idx</code>. -</p></dd></dl> - -<dl> -<dt><a name="index-joystick_002dnum_002dbuttons"></a>Scheme Procedure: <strong>joystick-num-buttons</strong> <em><var>idx</var></em></dt> -<dd><p>Get number of buttons of joystick at <code>idx</code>. -</p></dd></dl> - -<dl> -<dt><a name="index-joystick_002daxis_002dhook"></a>Scheme Variable: <strong>joystick-axis-hook</strong></dt> -<dd><p>This hook is run whenever a joystick motion occurs. Procedures added -to this hook should accept three arguments: <code>which</code>, the joystick -ID; <code>axis</code>, the axis ID; and <code>value</code>, the motion coordinate. -</p></dd></dl> - -<dl> -<dt><a name="index-joystick_002dbutton_002dpress_002dhook"></a>Scheme Variable: <strong>joystick-button-press-hook</strong></dt> -<dd><p>This hook is run whenever a joystick button is pressed. Procedures -added to this hook should accept two arguments: <code>which</code>, the -joystick ID; <code>button</code>, the button ID. -</p></dd></dl> - -<dl> -<dt><a name="index-joystick_002dbutton_002drelease_002dhook"></a>Scheme Variable: <strong>joystick-button-release-hook</strong></dt> -<dd><p>This hook is run whenever a joystick button is released. Procedures -added to this hook should accept two arguments: <code>which</code>, the -joystick ID; <code>button</code>, the button ID. -</p></dd></dl> - -<dl> -<dt><a name="index-raw_002daxis_002dmin"></a>Scheme Variable: <strong>raw-axis-min</strong></dt> -<dd><p>-32768 -</p></dd></dl> - -<dl> -<dt><a name="index-raw_002daxis_002dmax"></a>Scheme Variable: <strong>raw-axis-max</strong></dt> -<dd><p>32767 -</p></dd></dl> - -<dl> -<dt><a name="index-axis_002dvalue_002draw"></a>Scheme Procedure: <strong>axis-value-raw</strong> <em><var>idx</var> <var>axis</var></em></dt> -<dd><p>Create a signal on the axis at <code>axis</code> of the joystick at -<var>idx</var>; joystick axis values are stored in a signed 16 bit integer -and so, values range from [<code>raw-axis-min</code>, <code>raw-axis-max</code>]. -</p></dd></dl> - -<dl> -<dt><a name="index-axis_002dvalue"></a>Scheme Procedure: <strong>axis-value</strong> <em><var>idx</var> <var>axis</var></em></dt> -<dd><p>Create a signal for the value of <var>axis</var> on joystick <var>idx</var>; -values are scaled to the range [-1,1]. -</p></dd></dl> - -<dl> -<dt><a name="index-button_002ddown_003f"></a>Scheme Procedure: <strong>button-down?</strong> <em><var>idx</var> <var>n</var></em></dt> -<dd><p>Create a signal for the state of button <code>n</code> on joystick at -<code>idx</code>. -</p></dd></dl> - -<dl> -<dt><a name="index-make_002ddirectional_002dsignal"></a>Scheme Procedure: <strong>make-directional-signal</strong> <em><var>idx</var> <var>x-axis</var> <var>y-axis</var></em></dt> -<dd><p>Create a signal for a directional pad or analog stick with <code>x</code> -and <code>y</code> axes. Values are scaled to the range [-1,1]. -</p></dd></dl> - -<dl> -<dt><a name="index-make_002ddirectional_002dsignal_002draw"></a>Scheme Procedure: <strong>make-directional-signal-raw</strong> <em>idx x-axis y-axis</em></dt> -<dd><p>Create a signal for a directional pad or analog stick with <code>x</code> -and <code>y</code> axes. Values range from [<code>raw-axis-min</code>, -<code>raw-axis-max</code>]. -</p></dd></dl> - -<dl> -<dt><a name="index-axis_002dscale"></a>Scheme Procedure: <strong>axis-scale</strong> <em><var>raw-value</var></em></dt> -<dd><p>Map <code>raw-value</code> in the range [<code>raw-axis-min</code>, -<code>raw-axis-max</code>] to a value in the range [-1, 1]. -</p></dd></dl> - -<dl> -<dt><a name="index-joystick_002dname"></a>Scheme Procedure: <strong>joystick-name</strong> <em><var>joystick</var></em></dt> -<dd><p>Return the name of <code>joystick</code>. -</p></dd></dl> - -<dl> -<dt><a name="index-num_002djoysticks"></a>Scheme Procedure: <strong>num-joysticks</strong></dt> -<dd><p>Return the number of joysticks available. -</p></dd></dl> -<hr> -<div class="header"> -<p> -Previous: <a href="Mouse.html#Mouse" accesskey="p" rel="prev">Mouse</a>, Up: <a href="Input.html#Input" accesskey="u" rel="up">Input</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/sly/Keyboard.html b/manuals/sly/Keyboard.html deleted file mode 100644 index b0de8f3..0000000 --- a/manuals/sly/Keyboard.html +++ /dev/null @@ -1,137 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Keyboard</title> - -<meta name="description" content="Sly: Keyboard"> -<meta name="keywords" content="Sly: Keyboard"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Input.html#Input" rel="up" title="Input"> -<link href="Mouse.html#Mouse" rel="next" title="Mouse"> -<link href="Input.html#Input" rel="prev" title="Input"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Keyboard"></a> -<div class="header"> -<p> -Next: <a href="Mouse.html#Mouse" accesskey="n" rel="next">Mouse</a>, Up: <a href="Input.html#Input" accesskey="u" rel="up">Input</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Keyboard-1"></a> -<h4 class="subsection">4.4.1 Keyboard</h4> - -<div class="example"> -<pre class="example">(use-modules (sly input keyboard)) -</pre></div> - -<p>Keyboard hooks, signals, and procedures. -</p> -<dl> -<dt><a name="index-key_002dpress_002dhook"></a>Scheme Variable: <strong>key-press-hook</strong></dt> -<dd><p>This hook is run whenever a key is pressed down. Procedures added to -this hook should accept two arguments: <code>key</code>, a symbol, and -<code>char</code>, a unicode character. -</p></dd></dl> - -<dl> -<dt><a name="index-key_002drelease_002dhook"></a>Scheme Variable: <strong>key-release-hook</strong></dt> -<dd><p>This hook is run whenever a key is released. Procedures added to this -hook should accept two arguments: <code>key</code>, a symbol, and -<code>char</code>, a unicode character. -</p></dd></dl> - -<dl> -<dt><a name="index-key_002dlast_002ddown"></a>Scheme Signal: <strong>key-last-down</strong></dt> -<dd><p>The last key pressed. -</p></dd></dl> - -<dl> -<dt><a name="index-key_002dlast_002dup"></a>Scheme Signal: <strong>key-last-up</strong></dt> -<dd><p>The last key released. -</p></dd></dl> - -<dl> -<dt><a name="index-key_002ddown_003f"></a>Scheme Procedure: <strong>key-down?</strong> <em><var>key</var></em></dt> -<dd><p>Create a signal for the state of <code>key</code>. The signal value is -<code>#t</code> when <code>key</code> is pressed and <code>#f</code> otherwise. -</p></dd></dl> - -<p>A lot of games use directional keys to control the player. The below -procedure and signals make this style of movement easy to use. -</p> -<dl> -<dt><a name="index-key_002ddirections"></a>Scheme Procedure: <strong>key-directions</strong> <em><var>up</var> <var>down</var> <var>left</var> <var>right</var></em></dt> -<dd><p>Create a signal whose value is a 2D unit vector that can be used for -8-directional movement. The vector is determined by the state of the -directional keys: <code>up</code>, <code>down</code>, <code>left</code>, <code>right</code>. -</p></dd></dl> - -<dl> -<dt><a name="index-key_002darrows"></a>Scheme Signal: <strong>key-arrows</strong></dt> -<dd><p>A 2D directional vector based on the state of the arrow keys. -</p></dd></dl> - -<dl> -<dt><a name="index-key_002dwasd"></a>Scheme Signal: <strong>key-wasd</strong></dt> -<dd><p>A 2D directional vector based on the state of the WASD keys. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/sly/Live-Reloading.html b/manuals/sly/Live-Reloading.html deleted file mode 100644 index e4ebf96..0000000 --- a/manuals/sly/Live-Reloading.html +++ /dev/null @@ -1,101 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Live Reloading</title> - -<meta name="description" content="Sly: Live Reloading"> -<meta name="keywords" content="Sly: Live Reloading"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Utilities.html#Utilities" rel="up" title="Utilities"> -<link href="Miscellaneous_002dUtilities.html#Miscellaneous_002dUtilities" rel="next" title="Miscellaneous-Utilities"> -<link href="REPL.html#REPL" rel="prev" title="REPL"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Live-Reloading"></a> -<div class="header"> -<p> -Next: <a href="Miscellaneous_002dUtilities.html#Miscellaneous_002dUtilities" accesskey="n" rel="next">Miscellaneous-Utilities</a>, Previous: <a href="REPL.html#REPL" accesskey="p" rel="prev">REPL</a>, Up: <a href="Utilities.html#Utilities" accesskey="u" rel="up">Utilities</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Live-Reloading-1"></a> -<h4 class="subsection">4.6.2 Live Reloading</h4> - -<div class="example"> -<pre class="example">(use-modules (sly utils live-reload)) -</pre></div> - -<p>The live-reload module enables Sly programs to react to changes in the -file system and reload assets automatically, which is useful when -using external programs such as an image editor or map editor. This -makes it easy to see the changes made to game assets quickly. -</p> -<dl> -<dt><a name="index-live_002dreload"></a>Function: <strong>live-reload</strong> <em><var>proc</var> [<var>polling-interval</var>]</em></dt> -<dd><p>Return a new procedure that re-applies <code>proc</code> whenever the -associated file is modified. The new procedure returns a signal -(see <a href="Signals.html#Signals">Signals</a>) that contains the return value of <code>proc</code>. The -first argument to <code>proc</code> must be a file name string. -</p> -<p>A simple polling method is used to test for updates. Files are polled -every <code>polling-interval</code> ticks (120 by default). -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/sly/Math.html b/manuals/sly/Math.html deleted file mode 100644 index 989d205..0000000 --- a/manuals/sly/Math.html +++ /dev/null @@ -1,101 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Math</title> - -<meta name="description" content="Sly: Math"> -<meta name="keywords" content="Sly: Math"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="API-Reference.html#API-Reference" rel="up" title="API Reference"> -<link href="Vectors.html#Vectors" rel="next" title="Vectors"> -<link href="The-Game-Loop.html#The-Game-Loop" rel="prev" title="The Game Loop"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Math"></a> -<div class="header"> -<p> -Next: <a href="Time.html#Time" accesskey="n" rel="next">Time</a>, Previous: <a href="Booting.html#Booting" accesskey="p" rel="prev">Booting</a>, Up: <a href="API-Reference.html#API-Reference" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Math-1"></a> -<h3 class="section">4.2 Math</h3> - -<p>Modeling a virtual world requires a good dose of linear algebra, -trigonometry, and calculus. Sly comes with modules for 2D/3D/4D -vector math, trigonometry, axis-aligned bounding boxes, quaternions, -4x4 transformation matrices, and interpolation. -</p> -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Vectors.html#Vectors" accesskey="1">Vectors</a>:</td><td> </td><td align="left" valign="top">2D/3D/4D vectors. -</td></tr> -<tr><td align="left" valign="top">• <a href="Rectangles.html#Rectangles" accesskey="2">Rectangles</a>:</td><td> </td><td align="left" valign="top">Axis-aligned bounding boxes. -</td></tr> -<tr><td align="left" valign="top">• <a href="Transforms.html#Transforms" accesskey="3">Transforms</a>:</td><td> </td><td align="left" valign="top">4x4 transformation matrices. -</td></tr> -<tr><td align="left" valign="top">• <a href="Tweens.html#Tweens" accesskey="4">Tweens</a>:</td><td> </td><td align="left" valign="top">Interpolation between two values. -</td></tr> -<tr><td align="left" valign="top">• <a href="Quaternions.html#Quaternions" accesskey="5">Quaternions</a>:</td><td> </td><td align="left" valign="top">Representing rotations. -</td></tr> -<tr><td align="left" valign="top">• <a href="Miscellaneous.html#Miscellaneous" accesskey="6">Miscellaneous</a>:</td><td> </td><td align="left" valign="top">Other useful variables and procedures. -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/sly/Miscellaneous.html b/manuals/sly/Miscellaneous.html deleted file mode 100644 index d94bed8..0000000 --- a/manuals/sly/Miscellaneous.html +++ /dev/null @@ -1,189 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Miscellaneous</title> - -<meta name="description" content="Sly: Miscellaneous"> -<meta name="keywords" content="Sly: Miscellaneous"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Math.html#Math" rel="up" title="Math"> -<link href="Time.html#Time" rel="next" title="Time"> -<link href="Quaternions.html#Quaternions" rel="prev" title="Quaternions"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Miscellaneous"></a> -<div class="header"> -<p> -Previous: <a href="Quaternions.html#Quaternions" accesskey="p" rel="prev">Quaternions</a>, Up: <a href="Math.html#Math" accesskey="u" rel="up">Math</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Miscellaneous-1"></a> -<h4 class="subsection">4.2.6 Miscellaneous</h4> - -<div class="example"> -<pre class="example">(use-modules (sly math)) -</pre></div> - -<p>A grab bag of commonly used math functions and constants. -</p> -<dl> -<dt><a name="index-pi"></a>Scheme Variable: <strong>pi</strong></dt> -<dd><p>An approximation of \pi, the ratio of a circle’s circumference to its -diameter. -</p></dd></dl> - -<dl> -<dt><a name="index-2pi"></a>Scheme Variable: <strong>2pi</strong></dt> -<dd><p><em>2\pi</em> -</p></dd></dl> - -<dl> -<dt><a name="index-pi_002f2"></a>Scheme Variable: <strong>pi/2</strong></dt> -<dd><p><em>\pi/2</em> -</p></dd></dl> - -<dl> -<dt><a name="index-degrees_002d_003eradians"></a>Scheme Procedure: <strong>degrees->radians</strong> <em><var>angle</var></em></dt> -<dd><p>Convert <var>angle</var> from degrees to radians. -</p></dd></dl> - -<dl> -<dt><a name="index-radians_002d_003edegrees"></a>Scheme Procedure: <strong>radians->degrees</strong> <em><var>angle</var></em></dt> -<dd><p>Convert <var>angle</var> from radians to degrees. -</p></dd></dl> - -<dl> -<dt><a name="index-sin_002ddegrees"></a>Scheme Procedure: <strong>sin-degrees</strong> <em><var>angle</var></em></dt> -<dd><p>Return the sine of <var>angle</var>, where <var>angle</var> is measured in -degrees. -</p></dd></dl> - -<dl> -<dt><a name="index-cos_002ddegrees"></a>Scheme Procedure: <strong>cos-degrees</strong> <em><var>angle</var></em></dt> -<dd><p>Return the cosine of <var>angle</var>, where <var>angle</var> is measured in -degrees. -</p></dd></dl> - -<dl> -<dt><a name="index-tan_002ddegrees"></a>Scheme Procedure: <strong>tan-degrees</strong> <em><var>angle</var></em></dt> -<dd><p>Return the tangent of <var>angle</var>, where <var>angle</var> is measured in -degrees. -</p></dd></dl> - -<dl> -<dt><a name="index-atan_002ddegrees"></a>Scheme Procedure: <strong>atan-degrees</strong> <em><var>y</var> <var>x</var></em></dt> -<dd><p>Return the arctangent of <var>y</var> and <var>x</var>, where <var>y</var> and -<var>x</var> are measured in degrees. -</p></dd></dl> - -<dl> -<dt><a name="index-cotan"></a>Scheme Procedure: <strong>cotan</strong> <em><var>z</var></em></dt> -<dd><p>Return the cotangent of <var>z</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-clamp"></a>Scheme Procedure: <strong>clamp</strong> <em><var>min</var> <var>max</var> <var>x</var></em></dt> -<dd><p>Restrict <var>x</var> to the range [<var>min</var>, <var>max</var>], assuming that -<var>min</var> is actually less than <var>max</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-linear_002dscale"></a>Scheme Procedure: <strong>linear-scale</strong> <em><var>min</var> <var>max</var> <var>a</var> <var>b</var> <var>n</var></em></dt> -<dd><p>Map <var>n</var> in the range [<var>min</var>, <var>max</var>] to the range [<var>a</var>, <var>b</var>]. -</p></dd></dl> - -<dl> -<dt><a name="index-half"></a>Scheme Procedure: <strong>half</strong> <em><var>x</var></em></dt> -<dd><p>Return <em><var>x</var> / 2</em>. -</p></dd></dl> - -<dl> -<dt><a name="index-square"></a>Scheme Procedure: <strong>square</strong> <em><var>x</var></em></dt> -<dd><p>Return <em><var>x</var>^2</em>. -</p></dd></dl> - -<dl> -<dt><a name="index-make_002dlerp"></a>Scheme Procedure: <strong>make-lerp</strong> <em><var>+</var> <var>*</var></em></dt> -<dd><p>Return a new procedure that accepts three arguments: <var>start</var>, -<var>end</var>, and <var>alpha</var>. The returned procedure uses the -procedures <var>+</var> and <var>*</var> to linearly interpolate a value between -<var>start</var> and <var>end</var>. <var>alpha</var> should always be in the range -[0, 1]. -</p></dd></dl> - -<dl> -<dt><a name="index-lerp"></a>Scheme Procedure: <strong>lerp</strong> <em><var>start</var> <var>end</var> <var>alpha</var></em></dt> -<dd><p>Return the linear interpolation between the numbers <var>start</var> and -<var>end</var> with scalar factor <var>alpha</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-modulo_002a"></a>Scheme Procedure: <strong>modulo*</strong> <em><var>x</var> <var>y</var></em></dt> -<dd><p>Return the remainder of <em><var>x</var> / <var>y</var></em>. Works like regular -<code>modulo</code>, except that <var>x</var> and <var>y</var> may be rational numbers -or inexact numbers. -</p></dd></dl> -<hr> -<div class="header"> -<p> -Previous: <a href="Quaternions.html#Quaternions" accesskey="p" rel="prev">Quaternions</a>, Up: <a href="Math.html#Math" accesskey="u" rel="up">Math</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/sly/Miscellaneous_002dUtilities.html b/manuals/sly/Miscellaneous_002dUtilities.html deleted file mode 100644 index 7d160f4..0000000 --- a/manuals/sly/Miscellaneous_002dUtilities.html +++ /dev/null @@ -1,147 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Miscellaneous-Utilities</title> - -<meta name="description" content="Sly: Miscellaneous-Utilities"> -<meta name="keywords" content="Sly: Miscellaneous-Utilities"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Utilities.html#Utilities" rel="up" title="Utilities"> -<link href="Contributing.html#Contributing" rel="next" title="Contributing"> -<link href="Live-Reloading.html#Live-Reloading" rel="prev" title="Live Reloading"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Miscellaneous_002dUtilities"></a> -<div class="header"> -<p> -Previous: <a href="Live-Reloading.html#Live-Reloading" accesskey="p" rel="prev">Live Reloading</a>, Up: <a href="Utilities.html#Utilities" accesskey="u" rel="up">Utilities</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Miscellaneous-2"></a> -<h4 class="subsection">4.6.3 Miscellaneous</h4> - -<div class="example"> -<pre class="example">(use-modules (sly utils)) -</pre></div> - -<p>Miscellaneous helpful procedures. -</p> -<dl> -<dt><a name="index-define_002dguardian"></a>Scheme Syntax: <strong>define-guardian</strong> <em><var>name</var> <var>reaper</var></em></dt> -<dd><p>Define a new guardian called <code>name</code> and call <code>reaper</code> when -an object within the guardian is GC’d. Reaping is ensured to happen -from the same thread that is running the game loop. -</p></dd></dl> - -<dl> -<dt><a name="index-memoize"></a>Scheme Procedure: <strong>memoize</strong> <em><var>proc</var></em></dt> -<dd><p>Return a memoizing version of <code>proc</code>. -</p></dd></dl> - -<dl> -<dt><a name="index-forever"></a>Scheme Syntax: <strong>forever</strong> <em><var>body</var> …</em></dt> -<dd><p>Evaluate <code>body</code> in an unbounded loop. Useful in coroutines that -have no end. -</p></dd></dl> - -<dl> -<dt><a name="index-trampoline"></a>Scheme Syntax: <strong>trampoline</strong> <em><var>proc-name</var></em></dt> -<dd><p>Create a new procedure that applies the procedure bound to -<code>proc-name</code> with all given arguments. -</p></dd></dl> - -<dl> -<dt><a name="index-chain_002a"></a>Scheme Syntax: <strong>chain*</strong> <em><var>args</var> (<var>proc</var> …) . <var>rest</var></em></dt> -<dd><p>Handy macro for flattening nested procedure calls where the output of -an inner call is the last argument to the outer call. -</p> -<div class="example"> -<pre class="example">(chain* (list '(1 2) '(3 4)) - (map +) - (fold + 0)) ;; => 10 -</pre></div> - -</dd></dl> - -<dl> -<dt><a name="index-chain"></a>Scheme Syntax: <strong>chain</strong> <em><var>arg</var> (<var>proc</var> …) . <var>rest</var></em></dt> -<dd><p>Like <code>chain*</code> but for a single argument. -</p> -<div class="example"> -<pre class="example">(chain '(1 2 3 4) - (map 1+) - (fold + 0)) ;; => 14 -</pre></div> - -</dd></dl> - -<dl> -<dt><a name="index-list_002d_003evlist_002a"></a>Scheme Procedure: <strong>list->vlist*</strong> <em><var>lst</var></em></dt> -<dd><p>Convert <code>lst</code> and all sub-lists within to vlists. -</p></dd></dl> - -<dl> -<dt><a name="index-list_002d_003evlist_002a-1"></a>Scheme Procedure: <strong>list->vlist*</strong> <em><var>lst</var> <var>index</var> […]</em></dt> -<dd><p>Return the element at index <code>index …</code> in the nested vlist -structure <code>vlist</code>. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/sly/Mouse.html b/manuals/sly/Mouse.html deleted file mode 100644 index accf8f7..0000000 --- a/manuals/sly/Mouse.html +++ /dev/null @@ -1,138 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Mouse</title> - -<meta name="description" content="Sly: Mouse"> -<meta name="keywords" content="Sly: Mouse"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Input.html#Input" rel="up" title="Input"> -<link href="Joystick.html#Joystick" rel="next" title="Joystick"> -<link href="Keyboard.html#Keyboard" rel="prev" title="Keyboard"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Mouse"></a> -<div class="header"> -<p> -Next: <a href="Joystick.html#Joystick" accesskey="n" rel="next">Joystick</a>, Previous: <a href="Keyboard.html#Keyboard" accesskey="p" rel="prev">Keyboard</a>, Up: <a href="Input.html#Input" accesskey="u" rel="up">Input</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Mouse-1"></a> -<h4 class="subsection">4.4.2 Mouse</h4> - -<div class="example"> -<pre class="example">(use-modules (sly input mouse)) -</pre></div> - -<p>Mouse hooks, signals, and procedures. -</p> -<dl> -<dt><a name="index-mouse_002dmove_002dhook"></a>Scheme Variable: <strong>mouse-move-hook</strong></dt> -<dd><p>This hook is run whenever the mouse is moved. Procedures added to -this hook should accept two arguments: Numbers <code>x</code> and <code>y</code>. -</p></dd></dl> - -<dl> -<dt><a name="index-mouse_002dpress_002dhook"></a>Scheme Variable: <strong>mouse-press-hook</strong></dt> -<dd><p>This hook is run whenever a mouse button is pressed. Procedures added -to this hook should accept three arguments: Symbol <code>button</code> and -numbers <code>x</code> and <code>y</code>. -</p></dd></dl> - -<dl> -<dt><a name="index-mouse_002dclick_002dhook"></a>Scheme Variable: <strong>mouse-click-hook</strong></dt> -<dd><p>This hook is run whenever a mouse button is clicked. Procedures added -to this hook should accept three arguments: Symbol <code>button</code> and -numbers <code>x</code> and <code>y</code>. -</p></dd></dl> - -<dl> -<dt><a name="index-mouse_002dx"></a>Scheme Signal: <strong>mouse-x</strong></dt> -<dd><p>The mouse X coordinate. -</p></dd></dl> - -<dl> -<dt><a name="index-mouse_002dy"></a>Scheme Signal: <strong>mouse-y</strong></dt> -<dd><p>The mouse Y coordinate. -</p></dd></dl> - -<dl> -<dt><a name="index-mouse_002dposition"></a>Scheme Signal: <strong>mouse-position</strong></dt> -<dd><p>The mouse position as a 2D vector. -</p></dd></dl> - -<dl> -<dt><a name="index-mouse_002dlast_002ddown"></a>Scheme Signal: <strong>mouse-last-down</strong></dt> -<dd><p>The last mouse button pressed. -</p></dd></dl> - -<dl> -<dt><a name="index-mouse_002dlast_002dup"></a>Scheme Signal: <strong>mouse-last-up</strong></dt> -<dd><p>The last mouse button clicked. -</p></dd></dl> - -<dl> -<dt><a name="index-mouse_002ddown_003f"></a>Scheme Procedure: <strong>mouse-down?</strong> <em><var>button</var></em></dt> -<dd><p>Create a signal for the state of <code>button</code>. Value is #t when mouse button -is pressed or #f otherwise. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/sly/Quaternions.html b/manuals/sly/Quaternions.html deleted file mode 100644 index bde3992..0000000 --- a/manuals/sly/Quaternions.html +++ /dev/null @@ -1,185 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Quaternions</title> - -<meta name="description" content="Sly: Quaternions"> -<meta name="keywords" content="Sly: Quaternions"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Math.html#Math" rel="up" title="Math"> -<link href="Miscellaneous.html#Miscellaneous" rel="next" title="Miscellaneous"> -<link href="Tweening.html#Tweening" rel="prev" title="Tweening"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Quaternions"></a> -<div class="header"> -<p> -Next: <a href="Miscellaneous.html#Miscellaneous" accesskey="n" rel="next">Miscellaneous</a>, Previous: <a href="Tweens.html#Tweens" accesskey="p" rel="prev">Tweens</a>, Up: <a href="Math.html#Math" accesskey="u" rel="up">Math</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Quaternions-1"></a> -<h4 class="subsection">4.2.5 Quaternions</h4> - -<div class="example"> -<pre class="example">(use-modules (sly math quaternion)) -</pre></div> - -<p>Quaternions are used to express rotations about an arbitrary axis in a -way that avoids “gimbal lock” and allows for useful interpolation, -unlike matrices or Euler angles. -</p> -<p>Quaternions can be used in rotation transformations -(see <a href="Transforms.html#Transforms">Transforms</a>), as well as converted to and from <a href="Vectors.html#Vectors">Vectors</a>. -</p> -<dl> -<dt><a name="index-_003cquaternion_003e"></a>Record Type: <strong><quaternion></strong></dt> -<dd><p>Data type with 4 fields: <code>w</code>, <code>x</code>, <code>y</code>, <code>z</code>, in -that order. This type descriptor has been exposed for destructuring -via Guile’s <code>(ice-9 match)</code> module. -</p></dd></dl> - -<dl> -<dt><a name="index-make_002dquaternion"></a>Scheme Procedure: <strong>make-quaternion</strong> <em><var>v</var> <var>theta</var></em></dt> -<dt><a name="index-make_002dquaternion-1"></a>Scheme Procedure: <strong>make-quaternion</strong> <em><var>w</var> <var>x</var> <var>y</var> <var>z</var></em></dt> -<dd><p>Create a new quaternion from an axis angle (a 3D vector <var>v</var> plus -an angle <var>theta</var>) or from individual coordinates <var>w</var>, <var>x</var>, -<var>y</var>, and <var>z</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-quaternion"></a>Scheme Procedure: <strong>quaternion</strong> <em><var>v</var> <var>theta</var></em></dt> -<dt><a name="index-quaternion-1"></a>Scheme Procedure: <strong>quaternion</strong> <em><var>w</var> <var>x</var> <var>y</var> <var>z</var></em></dt> -<dd><p>Alternate spelling of <code>make-quaternion</code>. -</p></dd></dl> - -<dl> -<dt><a name="index-quaternion_003f"></a>Scheme Syntax: <strong>quaternion?</strong> <em><var>obj</var></em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a quaternion. -</p></dd></dl> - -<dl> -<dt><a name="index-quaternion_002dw"></a>Scheme Syntax: <strong>quaternion-w</strong> <em><var>q</var></em></dt> -<dd><p>Return the w coordinate of the quaternion <var>q</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-quaternion_002dx"></a>Scheme Syntax: <strong>quaternion-x</strong> <em><var>q</var></em></dt> -<dd><p>Return the x coordinate of the quaternion <var>q</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-quaternion_002dy"></a>Scheme Syntax: <strong>quaternion-y</strong> <em><var>q</var></em></dt> -<dd><p>Return the y coordinate of the quaternion <var>q</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-quaternion_002dz"></a>Scheme Syntax: <strong>quaternion-z</strong> <em><var>q</var></em></dt> -<dd><p>Return the z coordinate of the quaternion <var>q</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-identity_002dquaternion"></a>Scheme Variable: <strong>identity-quaternion</strong></dt> -<dd><p>The multiplicative identity quaternion. -</p></dd></dl> - -<dl> -<dt><a name="index-null_002dquaternion"></a>Scheme Variable: <strong>null-quaternion</strong></dt> -<dd><p>A quaternion with all fields set to zero. -</p></dd></dl> - -<dl> -<dt><a name="index-quaternion_002a"></a>Scheme Procedure: <strong>quaternion*</strong> <em>. <var>quaternions</var></em></dt> -<dd><p>Return the product of all <var>quaternions</var>. Return -<code>identity-quaternion</code> if called without arguments. -</p></dd></dl> - -<dl> -<dt><a name="index-quaternion_002dslerp"></a>Scheme Procedure: <strong>quaternion-slerp</strong> <em><var>q1</var> <var>q2</var> <var>delta</var></em></dt> -<dd><p>Perform a spherical linear interpolation of the quaternions <var>q1</var> -and <var>q2</var> and blending factor <var>delta</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-quaternion_002dmagnitude"></a>Scheme Procedure: <strong>quaternion-magnitude</strong> <em><var>q</var></em></dt> -<dd><p>Return the magnitude of the quaternion <var>q</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-quaternion_002dnormalize"></a>Scheme Procedure: <strong>quaternion-normalize</strong> <em><var>q</var></em></dt> -<dd><p>Return the normalized form of the quaternion <var>q</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-vector_002d_003equaternion"></a>Scheme Procedure: <strong>vector->quaternion</strong> <em><var>v</var></em></dt> -<dd><p>Convert the 4D vector <var>v</var> to a quaternion. -</p></dd></dl> - -<dl> -<dt><a name="index-quaternion_002d_003evector"></a>Scheme Procedure: <strong>quaternion->vector</strong> <em><var>q</var></em></dt> -<dd><p>Convert the quaternion <var>q</var> to a 4D vector. -</p></dd></dl> - -<hr> -<div class="header"> -<p> -Next: <a href="Miscellaneous.html#Miscellaneous" accesskey="n" rel="next">Miscellaneous</a>, Previous: <a href="Tweens.html#Tweens" accesskey="p" rel="prev">Tweens</a>, Up: <a href="Math.html#Math" accesskey="u" rel="up">Math</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/sly/REPL.html b/manuals/sly/REPL.html deleted file mode 100644 index 0811888..0000000 --- a/manuals/sly/REPL.html +++ /dev/null @@ -1,107 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: REPL</title> - -<meta name="description" content="Sly: REPL"> -<meta name="keywords" content="Sly: REPL"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Utilities.html#Utilities" rel="up" title="Utilities"> -<link href="Live-Reloading.html#Live-Reloading" rel="next" title="Live Reloading"> -<link href="Utilities.html#Utilities" rel="prev" title="Utilities"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="REPL"></a> -<div class="header"> -<p> -Next: <a href="Live-Reloading.html#Live-Reloading" accesskey="n" rel="next">Live Reloading</a>, Up: <a href="Utilities.html#Utilities" accesskey="u" rel="up">Utilities</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="REPL-1"></a> -<h4 class="subsection">4.6.1 REPL</h4> - -<div class="example"> -<pre class="example">(use-modules (sly utils repl)) -</pre></div> - -<p>The Sly REPL is a cooperative REPL server that is integrated into the -game loop. It is the key to live coding games with Sly. To connect -to the REPL server, use the <a href="http://www.nongnu.org/geiser/">Geiser</a> extension for GNU Emacs. -</p> -<dl> -<dt><a name="index-start_002dsly_002drepl"></a>Scheme Procedure: <strong>start-sly-repl</strong> <em>[<var>port</var>]</em></dt> -<dd><p>Start a cooperative REPL server that listens on the given <code>port</code>. -By default, this port is 37146. Additionally, a process is scheduled -to poll the REPL server upon every tick of the game loop. -</p></dd></dl> - -<p>The Sly REPL detects when the game loop throws an error and enters a -special loop for debugging. When in this state, game state will not -be updated or rendered. When the errors have been fixed, calling the -<code>resume-game-loop</code> procedure will hand control back to the game -loop. -</p> -<dl> -<dt><a name="index-resume_002dgame_002dloop"></a>Scheme Procedure: <strong>resume-game-loop</strong></dt> -<dd><p>Abort from the error handling loop prompt and resume the game loop. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/sly/Rectangles.html b/manuals/sly/Rectangles.html deleted file mode 100644 index 7a1fb4f..0000000 --- a/manuals/sly/Rectangles.html +++ /dev/null @@ -1,262 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Rectangles</title> - -<meta name="description" content="Sly: Rectangles"> -<meta name="keywords" content="Sly: Rectangles"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Math.html#Math" rel="up" title="Math"> -<link href="Transforms.html#Transforms" rel="next" title="Transforms"> -<link href="Vectors.html#Vectors" rel="prev" title="Vectors"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Rectangles"></a> -<div class="header"> -<p> -Next: <a href="Transforms.html#Transforms" accesskey="n" rel="next">Transforms</a>, Previous: <a href="Vectors.html#Vectors" accesskey="p" rel="prev">Vectors</a>, Up: <a href="Math.html#Math" accesskey="u" rel="up">Math</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Rectangles-1"></a> -<h4 class="subsection">4.2.2 Rectangles</h4> - -<div class="example"> -<pre class="example">(use-modules (sly math rect)) -</pre></div> - -<p>Rects are 2D axis-aligned bounding boxes. They are useful for -defining rectangular regions, such as the hitbox of a game entity, or -the viewport of a camera. Because rects are axis-aligned, they -provide a cheap means to perform simple collision detection. -</p> -<p>The <code><rect></code> type descriptor has been exposed for use with -Guile’s <code>(ice-9 match)</code> pattern matching module. -</p> -<dl> -<dt><a name="index-_003crect_003e"></a>Scheme Variable: <strong><rect></strong></dt> -<dd><p>Rectangle data type with fields <code>x</code>, <code>y</code>, <code>width</code>, -<code>height</code>, in that order. -</p></dd></dl> - -<dl> -<dt><a name="index-make_002drect"></a>Scheme Procedure: <strong>make-rect</strong> <em><var>x</var> <var>y</var> <var>width</var> <var>height</var></em></dt> -<dd><p>Create a new rectangle with position (<var>x</var>, <var>y</var>), and -dimensions (<var>width</var>, <var>height</var>). -</p></dd></dl> - -<dl> -<dt><a name="index-null_002drect"></a>Scheme Variable: <strong>null-rect</strong></dt> -<dd><p>Rectangle with <code>x</code>, <code>y</code>, <code>width</code>, and <code>height</code> of 0. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_003f"></a>Scheme Syntax: <strong>rect?</strong> <em><var>obj</var></em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a rectangle. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dx"></a>Scheme Syntax: <strong>rect-x</strong> <em><var>rect</var></em></dt> -<dd><p>Return the x coordinate of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dy"></a>Scheme Syntax: <strong>rect-y</strong> <em><var>rect</var></em></dt> -<dd><p>Return the x coordinate of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dwidth"></a>Scheme Syntax: <strong>rect-width</strong> <em><var>rect</var></em></dt> -<dd><p>Return the width of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dheight"></a>Scheme Syntax: <strong>rect-height</strong> <em><var>rect</var></em></dt> -<dd><p>Return the height of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dleft"></a>Scheme Procedure: <strong>rect-left</strong> <em><var>rect</var></em></dt> -<dd><p>Return the left-hand x coordinate of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dright"></a>Scheme Procedure: <strong>rect-right</strong> <em><var>rect</var></em></dt> -<dd><p>Return the right-hand x coordinate of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dtop"></a>Scheme Procedure: <strong>rect-top</strong> <em><var>rect</var></em></dt> -<dd><p>Return the top y coordinate of <var>rect</var> -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dbottom"></a>Scheme Procedure: <strong>rect-bottom</strong> <em><var>rect</var></em></dt> -<dd><p>Return the bottom y coordinate of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dtop_002dleft"></a>Scheme Procedure: <strong>rect-top-left</strong> <em><var>rect</var></em></dt> -<dd><p>Return the top-left corner of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dtop_002dright"></a>Scheme Procedure: <strong>rect-top-right</strong> <em><var>rect</var></em></dt> -<dd><p>Return the top-right corner of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dbottom_002dleft"></a>Scheme Procedure: <strong>rect-bottom-left</strong> <em><var>rect</var></em></dt> -<dt><a name="index-rect_002dposition"></a>Scheme Procedure: <strong>rect-position</strong> <em><var>rect</var></em></dt> -<dd><p>Return the bottom-left corner of <var>rect</var> -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dbottom_002dright"></a>Scheme Procedure: <strong>rect-bottom-right</strong> <em><var>rect</var></em></dt> -<dd><p>Return the bottom-right corner of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dcenter_002dx"></a>Scheme Procedure: <strong>rect-center-x</strong> <em><var>rect</var></em></dt> -<dd><p>Return the center x coordinate of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dcenter_002dy"></a>Scheme Procedure: <strong>rect-center-y</strong> <em><var>rect</var></em></dt> -<dd><p>Return the center y coordinate of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dcenter"></a>Scheme Procedure: <strong>rect-center</strong> <em><var>rect</var></em></dt> -<dd><p>Return the center of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dhalf_002dwidth"></a>Scheme Procedure: <strong>rect-half-width</strong> <em><var>rect</var></em></dt> -<dd><p>Return the half width of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dhalf_002dheight"></a>Scheme Procedure: <strong>rect-half-height</strong> <em><var>rect</var></em></dt> -<dd><p>Return the half height of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dsize"></a>Scheme Procedure: <strong>rect-size</strong> <em><var>rect</var></em></dt> -<dd><p>Return the size of <var>rect</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dmove"></a>Scheme Procedure: <strong>rect-move</strong> <em><var>rect</var> <var>v</var></em></dt> -<dt><a name="index-rect_002dmove-1"></a>Scheme Procedure: <strong>rect-move</strong> <em><var>rect</var> <var>x</var> <var>y</var></em></dt> -<dd><p>Create a new rectangle by moving <var>rect</var> by the given 2D vector -offset <var>v</var>, or the coordinates <var>x</var> and <var>y</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dinflate"></a>Scheme Procedure: <strong>rect-inflate</strong> <em><var>rect</var> <var>size</var></em></dt> -<dt><a name="index-rect_002dinflate-1"></a>Scheme Procedure: <strong>rect-inflate</strong> <em><var>rect</var> <var>width</var> <var>height</var></em></dt> -<dd><p>Create a new rectangle by growing <var>rect</var> by the 2D vector -<var>size</var> (or <var>width</var> and <var>height</var>) without changing the -center point. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dunion"></a>Scheme Procedure: <strong>rect-union</strong> <em><var>rect1</var> <var>rect2</var></em></dt> -<dd><p>Create a new rectangle that covers the area of both <var>rect1</var> and -<var>rect2</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dclip"></a>Scheme Procedure: <strong>rect-clip</strong> <em><var>rect1</var> <var>rect2</var></em></dt> -<dd><p>Create a new rectangle that is the overlapping region of <var>rect1</var> -and <var>rect2</var>. If the rects do not overlap, a rect of size 0 is -returned. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dclamp"></a>Scheme Procedure: <strong>rect-clamp</strong> <em><var>rect</var> <var>v</var></em></dt> -<dd><p>Return a new 2D vector by constraining <var>v</var> to the bounds of -<var>rect</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dwithin_003f"></a>Scheme Procedure: <strong>rect-within?</strong> <em><var>rect1</var> <var>rect2</var></em></dt> -<dd><p>Return <code>#t</code> if <var>rect2</var> is completely within <var>rect1</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dintersects_003f"></a>Scheme Procedure: <strong>rect-intersects?</strong> <em><var>rect1</var> <var>rect2</var></em></dt> -<dd><p>Return <code>#t</code> if <var>rect2</var> overlaps <var>rect1</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-rect_002dcontains_003f"></a>Scheme Procedure: <strong>rect-contains?</strong> <em><var>rect</var> <var>v</var></em></dt> -<dt><a name="index-rect_002dcontains_003f-1"></a>Scheme Procedure: <strong>rect-contains?</strong> <em><var>rect</var> <var>x</var> <var>y</var></em></dt> -<dd><p>Return <code>#t</code> if the 2D vector <var>v</var> (or the coordinates <var>x</var> -and <var>y</var>) is within <var>rect</var>. -</p></dd></dl> - -<hr> -<div class="header"> -<p> -Next: <a href="Transforms.html#Transforms" accesskey="n" rel="next">Transforms</a>, Previous: <a href="Vectors.html#Vectors" accesskey="p" rel="prev">Vectors</a>, Up: <a href="Math.html#Math" accesskey="u" rel="up">Math</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/sly/Render-Combinators.html b/manuals/sly/Render-Combinators.html deleted file mode 100644 index 9d33800..0000000 --- a/manuals/sly/Render-Combinators.html +++ /dev/null @@ -1,84 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Render Combinators</title> - -<meta name="description" content="Sly: Render Combinators"> -<meta name="keywords" content="Sly: Render Combinators"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Rendering.html#Rendering" rel="up" title="Rendering"> -<link href="Sprites.html#Sprites" rel="next" title="Sprites"> -<link href="Rendering.html#Rendering" rel="prev" title="Rendering"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Render-Combinators"></a> -<div class="header"> -<p> -Next: <a href="Sprites.html#Sprites" accesskey="n" rel="next">Sprites</a>, Up: <a href="Rendering.html#Rendering" accesskey="u" rel="up">Rendering</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Render-Combinators-1"></a> -<h4 class="subsection">4.5.1 Render Combinators</h4> - -<p>Render combinators provide a purely functional interface to the OpenGL -state machine. -</p> - - - -</body> -</html> diff --git a/manuals/sly/Rendering.html b/manuals/sly/Rendering.html deleted file mode 100644 index 48d44f7..0000000 --- a/manuals/sly/Rendering.html +++ /dev/null @@ -1,108 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Rendering</title> - -<meta name="description" content="Sly: Rendering"> -<meta name="keywords" content="Sly: Rendering"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="API-Reference.html#API-Reference" rel="up" title="API Reference"> -<link href="Render-Combinators.html#Render-Combinators" rel="next" title="Render Combinators"> -<link href="Joystick.html#Joystick" rel="prev" title="Joystick"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Rendering"></a> -<div class="header"> -<p> -Next: <a href="Utilities.html#Utilities" accesskey="n" rel="next">Utilities</a>, Previous: <a href="Input.html#Input" accesskey="p" rel="prev">Input</a>, Up: <a href="API-Reference.html#API-Reference" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Rendering-1"></a> -<h3 class="section">4.5 Rendering</h3> - -<p>Keeping with the theme of declarative and functional code, Sly’s -rendering module provide a purely functional interface to the -imperative world of OpenGL. An abstraction on top of OpenGL known as -“render combinators” provide a convenient way to describe and -compose rendering pipelines. -</p> -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Render-Combinators.html#Render-Combinators" accesskey="1">Render Combinators</a>:</td><td> </td><td align="left" valign="top">Purely functional rendering API. -</td></tr> -<tr><td align="left" valign="top">• <a href="Sprites.html#Sprites" accesskey="2">Sprites</a>:</td><td> </td><td align="left" valign="top">2D textured rectangles. -</td></tr> -<tr><td align="left" valign="top">• <a href="Textures.html#Textures" accesskey="3">Textures</a>:</td><td> </td><td align="left" valign="top">Pixel arrays. -</td></tr> -<tr><td align="left" valign="top">• <a href="Fonts.html#Fonts" accesskey="4">Fonts</a>:</td><td> </td><td align="left" valign="top">Font loading and text rendering. -</td></tr> -<tr><td align="left" valign="top">• <a href="Shapes.html#Shapes" accesskey="5">Shapes</a>:</td><td> </td><td align="left" valign="top">Primitive 2D/3D shapes. -</td></tr> -<tr><td align="left" valign="top">• <a href="Cameras.html#Cameras" accesskey="6">Cameras</a>:</td><td> </td><td align="left" valign="top">Defining a viewpoint. -</td></tr> -<tr><td align="left" valign="top">• <a href="Colors.html#Colors" accesskey="7">Colors</a>:</td><td> </td><td align="left" valign="top">Pretty colors. -</td></tr> -<tr><td align="left" valign="top">• <a href="Framebuffers.html#Framebuffers" accesskey="8">Framebuffers</a>:</td><td> </td><td align="left" valign="top">Offscreen rendering. -</td></tr> -<tr><td align="left" valign="top">• <a href="Shaders.html#Shaders" accesskey="9">Shaders</a>:</td><td> </td><td align="left" valign="top">Programs that run on the GPU. -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/sly/Requirements.html b/manuals/sly/Requirements.html deleted file mode 100644 index 0ba35fc..0000000 --- a/manuals/sly/Requirements.html +++ /dev/null @@ -1,91 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Requirements</title> - -<meta name="description" content="Sly: Requirements"> -<meta name="keywords" content="Sly: Requirements"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Installation.html#Installation" rel="up" title="Installation"> -<link href="Examples.html#Examples" rel="next" title="Examples"> -<link href="Installation.html#Installation" rel="prev" title="Installation"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Requirements"></a> -<div class="header"> -<p> -Next: <a href="Examples.html#Examples" accesskey="n" rel="next">Examples</a>, Up: <a href="Installation.html#Installation" accesskey="u" rel="up">Installation</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Requirements-1"></a> -<h3 class="section">2.1 Requirements</h3> - -<p>Sly depends on the following packages: -</p> -<ul> -<li> <a href="https://gnu.org/software/guile">GNU Guile</a>, version 2.0.11 or later; -</li><li> <a href="https://gnu.org/software/guile-opengl">GNU guile-opengl</a>, version 0.1 or later. -</li><li> <a href="https://gnu.org/software/guile-sdl">GNU guile-sdl</a>, version 0.5.0 or later; -</li><li> <a href="https://gnu.org/software/gsl">GNU Scientific Library</a>, version 1.16 or later; -</li><li> <a href="http://freeimage.sourceforge.net/">FreeImage</a>, version 3 or later -</li></ul> - - - - -</body> -</html> diff --git a/manuals/sly/Shaders.html b/manuals/sly/Shaders.html deleted file mode 100644 index 9a2ab3d..0000000 --- a/manuals/sly/Shaders.html +++ /dev/null @@ -1,80 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Shaders</title> - -<meta name="description" content="Sly: Shaders"> -<meta name="keywords" content="Sly: Shaders"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Rendering.html#Rendering" rel="up" title="Rendering"> -<link href="Utilities.html#Utilities" rel="next" title="Utilities"> -<link href="Framebuffers.html#Framebuffers" rel="prev" title="Framebuffers"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Shaders"></a> -<div class="header"> -<p> -Previous: <a href="Framebuffers.html#Framebuffers" accesskey="p" rel="prev">Framebuffers</a>, Up: <a href="Rendering.html#Rendering" accesskey="u" rel="up">Rendering</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Shaders-1"></a> -<h4 class="subsection">4.5.9 Shaders</h4> - - - -</body> -</html> diff --git a/manuals/sly/Shapes.html b/manuals/sly/Shapes.html deleted file mode 100644 index 452067d..0000000 --- a/manuals/sly/Shapes.html +++ /dev/null @@ -1,81 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Shapes</title> - -<meta name="description" content="Sly: Shapes"> -<meta name="keywords" content="Sly: Shapes"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Rendering.html#Rendering" rel="up" title="Rendering"> -<link href="Cameras.html#Cameras" rel="next" title="Cameras"> -<link href="Fonts.html#Fonts" rel="prev" title="Fonts"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Shapes"></a> -<div class="header"> -<p> -Next: <a href="Cameras.html#Cameras" accesskey="n" rel="next">Cameras</a>, Previous: <a href="Fonts.html#Fonts" accesskey="p" rel="prev">Fonts</a>, Up: <a href="Rendering.html#Rendering" accesskey="u" rel="up">Rendering</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Shapes-1"></a> -<h4 class="subsection">4.5.5 Shapes</h4> - - - - -</body> -</html> diff --git a/manuals/sly/Signals.html b/manuals/sly/Signals.html deleted file mode 100644 index b24283b..0000000 --- a/manuals/sly/Signals.html +++ /dev/null @@ -1,332 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Signals</title> - -<meta name="description" content="Sly: Signals"> -<meta name="keywords" content="Sly: Signals"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Time.html#Time" rel="up" title="Time"> -<link href="Coroutines.html#Coroutines" rel="next" title="Coroutines"> -<link href="Time.html#Time" rel="prev" title="Time"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Signals"></a> -<div class="header"> -<p> -Next: <a href="Coroutines.html#Coroutines" accesskey="n" rel="next">Coroutines</a>, Up: <a href="Time.html#Time" accesskey="u" rel="up">Time</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Signals-1"></a> -<h4 class="subsection">4.3.1 Signals</h4> - -<div class="example"> -<pre class="example">(use-modules (sly signal)) -</pre></div> - -<p>Game state is a function of time. The player’s score, the current -stage, an enemy’s hit points, etc. all change in response to events -that happen at discrete points in time. Typically, this means that a -number of callback procedures are registered to respond to events -which mutate the relevant data structures. However, this approach, -while simple and effective, comes at the price of readability, -reproducibility, and expression. Instead of explicitly mutating data -and entering “callback hell”, Sly abstracts and formalizes the -process using a functional reactive programming style. -</p> -<p>In Sly, time-varying values are called “signals”, and they are -defined in a declarative and functional manner. Rather than -describing the process of mutation procedurally, one describes the -relationships between signals instead. The result is a “signal -graph”, a directed acyclic graph of event responses. -</p> -<div class="example"> -<pre class="example">(define-signal position - (signal-fold v+ (vector2 320 240) - (signal-map (lambda (v) (v* v 4)) - (signal-sample 1 key-arrows)))) -</pre></div> - -<p>This signal describes a relationship between the arrow keys on the -keyboard and the position of the player. <code>signal-sample</code> is used -to trigger a signal update upon every game tick that provides the -current state of the arrow keys. <code>key-arrows</code> is a 2D vector -that maps to the current state of the arrow keys, allowing for 8 -directional movement. This vector is then scaled 4x to make the -player move faster. Finally, the scaled vector is added to the -previous player position via <code>signal-fold</code>. The player’s -position is at (320, 240) initially. As you can see, there are no -callbacks and explicit mutation needed, and the position seems to -magically change with the passage of time. -</p> -<dl> -<dt><a name="index-signal_003f"></a>Scheme Procedure: <strong>signal?</strong> <em><var>obj</var></em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a signal. -</p></dd></dl> - -<dl> -<dt><a name="index-make_002dsignal"></a>Scheme Procedure: <strong>make-signal</strong> <em><var>value</var></em></dt> -<dd><p>Wrap <var>value</var> in a signal. -</p></dd></dl> - -<dl> -<dt><a name="index-define_002dsignal"></a>Scheme Syntax: <strong>define-signal</strong> <em><var>name</var> <var>value</var></em></dt> -<dd><p>Create a top-level signal variable called <var>name</var>. If the variable -already exists and refers to a signal then its outputs will be spliced -into the new signal. If the given value is not a signal then it will -be put into one via <code>make-signal</code>. -</p> -<p><code>define-signal</code> is particularly useful when working at the REPL. -A top-level signal variable defined by <code>define-signal</code> can be -redefined at runtime, and the signals that depended on the old signal -will continue to work with the new signal. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002dref"></a>Scheme Procedure: <strong>signal-ref</strong> <em><var>signal</var></em></dt> -<dd><p>Return the value stored within <var>signal</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002dref_002dmaybe"></a>Scheme Procedure: <strong>signal-ref-maybe</strong> <em>object</em></dt> -<dd><p>Return the value stored within <var>object</var> if <var>object</var> is a -signal. Otherwise, return <var>object</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002dlet"></a>Scheme Syntax: <strong>signal-let</strong> <em>((<var>var</var> <var>signal</var>) …) <var>body</var> …</em></dt> -<dd><p>Evaluate <var>body</var> in the context of the local bindings defined by -the two-element lists <code>((var signal) …)</code>. -<code>signal-let</code> works like regular <code>let</code>, except that it -derefences <var>signal</var> before binding to <var>var</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002dlet_002a"></a>Scheme Syntax: <strong>signal-let*</strong> <em>((<var>var</var> <var>signal</var>) …) <var>body</var> …</em></dt> -<dd><p>Similar to <code>signal-let</code>, but the variable bindings are performed -sequentially. This means that all initialization expressions are -allowed to use the variables defined to the their left in the binding -list. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002dset_0021"></a>Scheme Procedure: <strong>signal-set!</strong> <em>signal-box value</em></dt> -<dd><p>Change the contents of <var>signal</var> to <var>value</var>. This procedure -should almost never be used, except to bootstrap a root node of a -signal graph. -</p></dd></dl> - -<dl> -<dt><a name="index-hook_002d_003esignal"></a>Scheme Procedure: <strong>hook->signal</strong> <em><var>hook</var> <var>init</var> <var>proc</var></em></dt> -<dd><p>Create a new signal whose initial value is <var>init</var> and whose future -values are calculated by applying <var>proc</var> to the arguments passed -when <var>hook</var> is run. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002dmerge"></a>Scheme Procedure: <strong>signal-merge</strong> <em><var>signal1</var> <var>signal2</var> . <var>rest</var></em></dt> -<dd><p>Create a new signal whose value is the that of the most recently -updated signal in <var>signal1</var>, <var>signal2</var>, etc. The initial -value is that of <var>signal1</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002dzip"></a>Scheme Procedure: <strong>signal-zip</strong> <em>. <var>signals</var></em></dt> -<dd><p>Create a new signal whose value is a list of the values stored in -<var>signals</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002dmap"></a>Scheme Procedure: <strong>signal-map</strong> <em><var>proc</var> <var>signal</var> . <var>rest</var></em></dt> -<dd><p>Create a new signal that applies <var>proc</var> to the values of -<var>SIGNAL</var>. More than one input signal may be specified, in which -case <var>proc</var> must accept as many arguments as there are input -signals. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002dsample_002don"></a>Scheme Procedure: <strong>signal-sample-on</strong> <em><var>value-signal</var> <var>sample-signal</var></em></dt> -<dd><p>Create a new signal that takes on the value of <var>value-signal</var> -whenever <var>sample-signal</var> receives a new value. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002dnegate"></a>Scheme Procedure: <strong>signal-negate</strong> <em><var>signal</var></em></dt> -<dd><p>Create a new signal whose value is the negation of <var>signal</var> by -applying <code>not</code> to each value received. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002dfold"></a>Scheme Procedure: <strong>signal-fold</strong> <em><var>proc</var> <var>init</var> <var>signal</var> . <var>rest</var></em></dt> -<dd><p>Create a new signal that applies <var>proc</var> with the value received -from <var>signal</var> and the past value of itself, starting with -<var>init</var>. Like <code>signal-map</code>, more than one input signal may be -given. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002dfilter"></a>Scheme Procedure: <strong>signal-filter</strong> <em><var>predicate</var> <var>default</var> <var>signal</var></em></dt> -<dd><p>Create a new signal that takes on the value received from <var>signal</var> -when it satisfies the procedure <var>predicate</var>. The value of the -signal is <var>default</var> in the case that the predicate is never -satisfied. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002ddrop"></a>Scheme Procedure: <strong>signal-drop</strong> <em><var>predicate</var> <var>default</var> <var>signal</var></em></dt> -<dd><p>Create a new signal that takes on the value received from <var>signal</var> -when it does <em>not</em> satisfy the procedure <var>predicate</var>. The -value of the signal is <var>default</var> in the case that the predicate is -never satisfied. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002ddrop_002drepeats"></a>Scheme Procedure: <strong>signal-drop-repeats</strong> <em><var>signal</var> [<var>equal?</var>]</em></dt> -<dd><p>Create a new signal that drops the value received from <var>signal</var> -when it is equivalent to the current value. By default, <code>equal?</code> -is used for testing equivalence. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002dswitch"></a>Scheme Procedure: <strong>signal-switch</strong> <em><var>predicate</var> <var>on</var> <var>off</var></em></dt> -<dd><p>Create a new signal whose value is that of the signal <var>on</var> when -the signal <var>predicate</var> is true, or the value of the signal -<var>off</var> otherwise. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002dconstant"></a>Scheme Procedure: <strong>signal-constant</strong> <em><var>constant</var> <var>signal</var></em></dt> -<dd><p>Create a new signal whose value is always <var>constant</var> no matter the -value received from <var>signal</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002dcount"></a>Scheme Procedure: <strong>signal-count</strong> <em><var>signal</var> [<var>start</var>] [<var>step</var>]</em></dt> -<dd><p>Create a new signal that increments a counter by <var>step</var> when a -value from <var>signal</var> is received, starting from <var>start</var>. By -default, <var>start</var> is 0 and <var>step</var> is 1. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002dtap"></a>Scheme Procedure: <strong>signal-tap</strong> <em><var>proc</var> <var>signal</var></em></dt> -<dd><p>Create a new signal that applies <var>proc</var> for side-effects when a -value from <var>signal</var> is received. The value of the new signal will -always be the value of <var>signal</var>. This signal is a convenient way -to sneak in a procedure that with a side-effect into a signal graph. -Such a signal might write text to a file, or play a sound. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002dtimestamp"></a>Scheme Procedure: <strong>signal-timestamp</strong> <em><var>signal</var></em></dt> -<dd><p>Create a new signal whose value is a pair, the car of which is the -time that the value of <var>signal</var> was received and the cdr of which -is the received value. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002dtime"></a>Scheme Procedure: <strong>signal-time</strong> <em><var>signal</var></em></dt> -<dd><p>Create a new signal whose value is the time that the value of -<var>signal</var> was received. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002dsample"></a>Scheme Procedure: <strong>signal-sample</strong> <em><var>step</var> <var>signal</var></em></dt> -<dd><p>Create a new signal that takes on the value of <var>signal</var> every -<var>step</var> ticks. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002devery"></a>Scheme Procedure: <strong>signal-every</strong> <em><var>step</var></em></dt> -<dd><p>Create a new signal that emits <var>step</var> every <var>step</var> ticks. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002dsince"></a>Scheme Procedure: <strong>signal-since</strong> <em><var>step</var> <var>signal</var></em></dt> -<dd><p>Create a new signal that emits the time since <var>signal</var> was updated -ever <var>step</var> ticks. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002ddelay"></a>Scheme Procedure: <strong>signal-delay</strong> <em><var>delay</var> <var>signal</var></em></dt> -<dd><p>Create a new signal that delays propagation of <var>signal</var> by -<var>delay</var> ticks.. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002dthrottle"></a>Scheme Procedure: <strong>signal-throttle</strong> <em>delay signal</em></dt> -<dd><p>Create a new signal that propagates <var>signal</var> at most once every -<var>delay</var> ticks. -</p></dd></dl> - -<dl> -<dt><a name="index-signal_002dgenerator"></a>Scheme Syntax: <strong>signal-generator</strong> <em><var>body</var> …</em></dt> -<dd><p>Create a new signal whose value is the most recently yielded value of -the coroutine defined by <var>body</var>. A special <code>yield</code> syntax is -available within <var>body</var> to specify which values are passed to the -signal. -</p></dd></dl> - -<hr> -<div class="header"> -<p> -Next: <a href="Coroutines.html#Coroutines" accesskey="n" rel="next">Coroutines</a>, Up: <a href="Time.html#Time" accesskey="u" rel="up">Time</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/sly/Sprites.html b/manuals/sly/Sprites.html deleted file mode 100644 index 0ea943d..0000000 --- a/manuals/sly/Sprites.html +++ /dev/null @@ -1,116 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Sprites</title> - -<meta name="description" content="Sly: Sprites"> -<meta name="keywords" content="Sly: Sprites"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Rendering.html#Rendering" rel="up" title="Rendering"> -<link href="Textures.html#Textures" rel="next" title="Textures"> -<link href="Render-Combinators.html#Render-Combinators" rel="prev" title="Render Combinators"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Sprites"></a> -<div class="header"> -<p> -Next: <a href="Textures.html#Textures" accesskey="n" rel="next">Textures</a>, Previous: <a href="Render-Combinators.html#Render-Combinators" accesskey="p" rel="prev">Render Combinators</a>, Up: <a href="Rendering.html#Rendering" accesskey="u" rel="up">Rendering</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Sprites-1"></a> -<h4 class="subsection">4.5.2 Sprites</h4> - -<dl> -<dt><a name="index-make_002dsprite"></a>Scheme Procedure: <strong>make-sprite</strong> <em><var>texture</var> [#:anchor]</em></dt> -<dd><p>Create a sprite that displays the image in <var>texture</var>. The size of -the mesh is the size of <var>texture</var> in pixels. <var>anchor</var> defines -the origin of the sprite. By default, the anchor is <code>center</code>, -which puts the origin in the middle of the sprite. See -’anchor-texture’ for more anchoring options. -</p></dd></dl> - -<dl> -<dt><a name="index-load_002dsprite"></a>Scheme Procedure: <strong>load-sprite</strong> <em><var>file</var> [#:anchor]</em></dt> -<dd><p>Create a sprite from the texture in <var>file</var> whose origin is defined -by <var>anchor</var>. The default anchor is <code>center</code>. -</p></dd></dl> - -<dl> -<dt><a name="index-sprite_003f"></a>Scheme Syntax: <strong>sprite?</strong> <em><var>obj</var></em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a sprite. -</p></dd></dl> - -<dl> -<dt><a name="index-sprite_002dtexture"></a>Scheme Syntax: <strong>sprite-texture</strong> <em><var>sprite</var></em></dt> -<dd><p>Return the texture for <var>sprite</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-sprite_002dmesh"></a>Scheme Syntax: <strong>sprite-mesh</strong> <em><var>mesh</var></em></dt> -<dd><p>Return the mesh for <var>sprite</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-render_002dsprite"></a>Scheme Procedure: <strong>render-sprite</strong> <em><var>sprite</var></em></dt> -<dd><p>Create a renderer for <var>sprite</var>. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/sly/Textures.html b/manuals/sly/Textures.html deleted file mode 100644 index b55a4b8..0000000 --- a/manuals/sly/Textures.html +++ /dev/null @@ -1,81 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Textures</title> - -<meta name="description" content="Sly: Textures"> -<meta name="keywords" content="Sly: Textures"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Rendering.html#Rendering" rel="up" title="Rendering"> -<link href="Fonts.html#Fonts" rel="next" title="Fonts"> -<link href="Sprites.html#Sprites" rel="prev" title="Sprites"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Textures"></a> -<div class="header"> -<p> -Next: <a href="Fonts.html#Fonts" accesskey="n" rel="next">Fonts</a>, Previous: <a href="Sprites.html#Sprites" accesskey="p" rel="prev">Sprites</a>, Up: <a href="Rendering.html#Rendering" accesskey="u" rel="up">Rendering</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Textures-1"></a> -<h4 class="subsection">4.5.3 Textures</h4> - - - - -</body> -</html> diff --git a/manuals/sly/The-Game-Loop.html b/manuals/sly/The-Game-Loop.html deleted file mode 100644 index f8a685d..0000000 --- a/manuals/sly/The-Game-Loop.html +++ /dev/null @@ -1,114 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: The Game Loop</title> - -<meta name="description" content="Sly: The Game Loop"> -<meta name="keywords" content="Sly: The Game Loop"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Booting.html#Booting" rel="up" title="Booting"> -<link href="Math.html#Math" rel="next" title="Math"> -<link href="Window-Creation.html#Window-Creation" rel="prev" title="Window Creation"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="The-Game-Loop"></a> -<div class="header"> -<p> -Previous: <a href="Window-Creation.html#Window-Creation" accesskey="p" rel="prev">Window Creation</a>, Up: <a href="Booting.html#Booting" accesskey="u" rel="up">Booting</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="The-Game-Loop-1"></a> -<h4 class="subsection">4.1.2 The Game Loop</h4> - -<dl> -<dt><a name="index-draw_002dhook"></a>Scheme Variable: <strong>draw-hook</strong></dt> -<dd><p>This hook is run every time the game loop wants to render. Procedures -added to this hook should accept two arguments: <code>dt</code>, the time in -seconds since the last render call; and <code>alpha</code>, a number in the -range [0,1] that indicates how far in between two discrete updates of -the game state the loop is in. The <code>alpha</code> value is important -for smoothing animated values to avoid the “temporal aliasing” -effect that causes choppy looking animations. -</p></dd></dl> - -<dl> -<dt><a name="index-after_002dgame_002dloop_002derror_002dhook"></a>Scheme Variable: <strong>after-game-loop-error-hook</strong></dt> -<dd><p>This hook is run every time the game loop catches an error. -Procedures added to this hook should accept no arguments. -</p></dd></dl> - -<dl> -<dt><a name="index-run_002dgame_002dloop"></a>Scheme Procedure: <strong>run-game-loop</strong> <em>[<var>#:frame-rate</var>] [<var>#:tick-rate</var>] [<var>#:max-ticks-per-frame</var>]</em></dt> -<dd><p>Start the game loop. <code>frame-rate</code> specifies the optimal number -of frames to draw per second. <code>tick-rate</code> specifies the optimal -game logic updates per second. Both <code>frame-rate</code> and -<code>tick-rate</code> are 60 by default. <code>max-ticks-per-frame</code> is the -maximum number of times the game loop will update game state in a -single frame. When this upper bound is reached due to poor -performance, the game will start to slow down instead of becoming -completely unresponsive and possibly crashing. -</p></dd></dl> - -<dl> -<dt><a name="index-stop_002dgame_002dloop"></a>Scheme Procedure: <strong>stop-game-loop</strong></dt> -<dd><p>Abort the game loop. -</p></dd></dl> - - - -</body> -</html> diff --git a/manuals/sly/Time.html b/manuals/sly/Time.html deleted file mode 100644 index ca2986d..0000000 --- a/manuals/sly/Time.html +++ /dev/null @@ -1,105 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Time</title> - -<meta name="description" content="Sly: Time"> -<meta name="keywords" content="Sly: Time"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="API-Reference.html#API-Reference" rel="up" title="API Reference"> -<link href="Signals.html#Signals" rel="next" title="Signals"> -<link href="Miscellaneous.html#Miscellaneous" rel="prev" title="Miscellaneous"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Time"></a> -<div class="header"> -<p> -Next: <a href="Input.html#Input" accesskey="n" rel="next">Input</a>, Previous: <a href="Math.html#Math" accesskey="p" rel="prev">Math</a>, Up: <a href="API-Reference.html#API-Reference" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Time-1"></a> -<h3 class="section">4.3 Time</h3> - -<p>In the context of Sly, time is not the seconds that are passing in the -real world, but the virtual clock that is ticking within the game -loop. This manual refers to a “tick” as the smallest unit of time. -There are a user-defined amount of ticks in a real world second, but -by default it is 60. -</p> -<p>Sly includes several useful modules for working with time. Coroutines -are procedures that can be paused and resumed, agendas are procedure -schedulers, and signals built atop both agendas and coroutines to -provide a high-level functional reactive programming API. -</p> -<p>For most use-cases, the signal module should be used exclusively, but -the agenda and coroutine modules are useful for building new -high-level abstractions. -</p> -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Signals.html#Signals" accesskey="1">Signals</a>:</td><td> </td><td align="left" valign="top">Functional reactive programming. -</td></tr> -<tr><td align="left" valign="top">• <a href="Coroutines.html#Coroutines" accesskey="2">Coroutines</a>:</td><td> </td><td align="left" valign="top">Cooperative multi-tasking. -</td></tr> -<tr><td align="left" valign="top">• <a href="Agendas.html#Agendas" accesskey="3">Agendas</a>:</td><td> </td><td align="left" valign="top">Deferred procedure scheduling. -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/sly/Transforms.html b/manuals/sly/Transforms.html deleted file mode 100644 index 3fd0b3d..0000000 --- a/manuals/sly/Transforms.html +++ /dev/null @@ -1,236 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Transforms</title> - -<meta name="description" content="Sly: Transforms"> -<meta name="keywords" content="Sly: Transforms"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Math.html#Math" rel="up" title="Math"> -<link href="Tweens.html#Tweens" rel="next" title="Tweens"> -<link href="Rectangles.html#Rectangles" rel="prev" title="Rectangles"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Transforms"></a> -<div class="header"> -<p> -Next: <a href="Tweens.html#Tweens" accesskey="n" rel="next">Tweens</a>, Previous: <a href="Rectangles.html#Rectangles" accesskey="p" rel="prev">Rectangles</a>, Up: <a href="Math.html#Math" accesskey="u" rel="up">Math</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Transforms-1"></a> -<h4 class="subsection">4.2.3 Transforms</h4> - -<div class="example"> -<pre class="example">(use-modules (sly math transform)) -</pre></div> - -<p>Transforms are 4x4 transformation matrices. Matrices are the -fundamental structure for modeling affine transformations such as -translation, rotation, and scaling. Complex transformations are -created by composing many simpler ones with the <code>transform*</code> -procedure. -</p> -<p>It’s a good idea to use transforms in a functional manner by treating -them as immutable. This is made easy because almost every procedure -in this module returns a new transform rather than mutating an -existing one. However, in some cases it is necessary to use mutable -transforms via <code>transform*!</code> for performance reasons. -</p> -<dl> -<dt><a name="index-make_002dtransform"></a>Scheme Procedure: <strong>make-transform</strong> <em><var>aa</var> <var>ab</var> <var>ac</var> <var>ad</var> <var>ba</var> <var>bb</var> <var>bc</var> <var>bd</var> <var>ca</var> <var>cb</var> <var>cc</var> <var>cd</var> <var>da</var> <var>db</var> <var>dc</var> <var>dd</var></em></dt> -<dd><p>Create a new transform initialized with the given 16 values in -column-major format. -</p></dd></dl> - -<dl> -<dt><a name="index-null_002dtransform"></a>Scheme Variable: <strong>null-transform</strong></dt> -<dd><p>A transform composed entirely of zeroes. -</p></dd></dl> - -<dl> -<dt><a name="index-identity_002dtransform"></a>Scheme Variable: <strong>identity-transform</strong></dt> -<dd><p>The multiplicative identity transform. -</p></dd></dl> - -<dl> -<dt><a name="index-transform_003f"></a>Scheme Syntax: <strong>transform?</strong> <em><var>obj</var></em></dt> -<dd><p>Return <code>#t</code> if <var>obj</var> is a transform. -</p></dd></dl> - -<dl> -<dt><a name="index-transform_002dmatrix"></a>Scheme Syntax: <strong>transform-matrix</strong> <em><var>transform</var></em></dt> -<dd><p>Return the underlying 4x4 floating point array for <var>transform</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-transpose"></a>Scheme Procedure: <strong>transpose</strong> <em><var>transform</var></em></dt> -<dd><p>Return a transform that is the transpose of <var>transform</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-transform_002dvector2"></a>Scheme Procedure: <strong>transform-vector2</strong> <em><var>transform</var> <var>v</var></em></dt> -<dd><p>Apply <var>transform</var> to the 2D vector <var>v</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-transform_002dposition"></a>Scheme Procedure: <strong>transform-position</strong> <em><var>transform</var></em></dt> -<dd><p>Return a 3D vector containing the positional data stored in -<var>transform</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-transform_002b"></a>Scheme Procedure: <strong>transform+</strong> <em>. <var>transforms</var></em></dt> -<dd><p>Return the sum of <var>transforms</var>. Return <code>null-transform</code> if -called without any arguments. -</p></dd></dl> - -<dl> -<dt><a name="index-transform_002a"></a>Scheme Procedure: <strong>transform*</strong> <em>. <var>transforms</var></em></dt> -<dd><p>Return the product of <var>transforms</var>. Return identity-transform if -called without any arguments. -</p></dd></dl> - -<dl> -<dt><a name="index-transform_002a_0021"></a>Scheme Procedure: <strong>transform*!</strong> <em><var>dest</var> <var>a</var> <var>b</var></em></dt> -<dd><p>Multiply <var>a</var> and <var>b</var>, storing the result in <var>dest</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-translate"></a>Scheme Procedure: <strong>translate</strong> <em><var>v</var></em></dt> -<dd><p>Create a new transform that translates by the 2D or 3D vector <var>v</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-scale"></a>Scheme Procedure: <strong>scale</strong> <em><var>v</var></em></dt> -<dt><a name="index-scale-1"></a>Scheme Procedure: <strong>scale</strong> <em><var>scalar</var></em></dt> -<dd><p>Create a new transform that scales by the 2D or 3D vector <var>v</var>, or -by <var>scalar</var> to scale evenly in all dimensions. -</p></dd></dl> - -<dl> -<dt><a name="index-rotate_002dx"></a>Scheme Procedure: <strong>rotate-x</strong> <em><var>angle</var></em></dt> -<dd><p>Create a new transform that rotates the x axis by <var>angle</var> radians. -</p></dd></dl> - -<dl> -<dt><a name="index-rotate_002dy"></a>Scheme Procedure: <strong>rotate-y</strong> <em><var>angle</var></em></dt> -<dd><p>Create a new transform that rotates the y axis by <var>angle</var> radians. -</p></dd></dl> - -<dl> -<dt><a name="index-rotate_002dz"></a>Scheme Procedure: <strong>rotate-z</strong> <em><var>angle</var></em></dt> -<dd><p>Create a new transform that rotates the z axis by <var>angle</var> radians. -</p></dd></dl> - -<dl> -<dt><a name="index-rotate"></a>Scheme Procedure: <strong>rotate</strong> <em><var>q</var></em></dt> -<dd><p>Convert the quaternion <var>q</var> into a rotation transform. -See <a href="Quaternions.html#Quaternions">Quaternions</a> for more information. -</p></dd></dl> - -<p>One of the most common composite transformations is a translation -multiplied by a scale multiplied by a rotation. The -<code>build-transform</code> procedure is a convenience procedure for this -case. -</p> -<dl> -<dt><a name="index-build_002dtransform"></a>Scheme Procedure: <strong>build-transform</strong> <em><var>[#:position=(vector3 0 0 0)] [#:scale=1] [#:rotation=null-quaternion]</var></em></dt> -<dd><p>Build a transform by multiplying the following transforms: -</p> -<ul> -<li> translation by <var>position</var> -</li><li> rotation by <var>rotation</var> -</li><li> scaling by <var>scale</var> -</li></ul> - -</dd></dl> - -<p>The procedures below are useful for creating projection and view -matrices for cameras. See <a href="Cameras.html#Cameras">Cameras</a> for more details. -</p> -<dl> -<dt><a name="index-orthographic_002dprojection"></a>Scheme Procedure: <strong>orthographic-projection</strong> <em>left right top bottom near far</em></dt> -<dd><p>Create a new transform that represents an orthographic projection for -the vertical clipping plane <var>left</var> and <var>right</var>, the horizontal -clipping plane <var>top</var> and <var>bottom</var>, and the depth clipping -plane <var>near</var> and <var>far</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-perspective_002dprojection"></a>Scheme Procedure: <strong>perspective-projection</strong> <em><var>field-of-vision</var> <var>aspect-ratio</var> <var>near</var> <var>far</var></em></dt> -<dd><p>Create a new transform that represents a perspective projection with a -<var>field-of-vision</var> in degrees, the desired <var>aspect-ratio</var>, and -the depth clipping plane <var>near</var> and <var>far</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-look_002dat"></a>Scheme Procedure: <strong>look-at</strong> <em><var>eye</var> <var>center</var> [<var>up=(vector3 0 1 0)</var>]</em></dt> -<dd><p>Create a view transform that looks from 3D vector <var>eye</var> at the 3D -vector <var>center</var>, with the 3D vector <var>up</var> indicating which -direction points up. -</p></dd></dl> - -<hr> -<div class="header"> -<p> -Next: <a href="Tweens.html#Tweens" accesskey="n" rel="next">Tweens</a>, Previous: <a href="Rectangles.html#Rectangles" accesskey="p" rel="prev">Rectangles</a>, Up: <a href="Math.html#Math" accesskey="u" rel="up">Math</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/sly/Tweening.html b/manuals/sly/Tweening.html deleted file mode 100644 index 9b0b741..0000000 --- a/manuals/sly/Tweening.html +++ /dev/null @@ -1,101 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Tweening</title> - -<meta name="description" content="Sly: Tweening"> -<meta name="keywords" content="Sly: Tweening"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Tweens.html#Tweens" rel="up" title="Tweens"> -<link href="Quaternions.html#Quaternions" rel="next" title="Quaternions"> -<link href="Easings.html#Easings" rel="prev" title="Easings"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Tweening"></a> -<div class="header"> -<p> -Previous: <a href="Easings.html#Easings" accesskey="p" rel="prev">Easings</a>, Up: <a href="Tweens.html#Tweens" accesskey="u" rel="up">Tweens</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Tweening-1"></a> -<h4 class="subsubsection">4.2.4.2 Tweening</h4> - -<p>The <code>tween</code> procedure creates new procedures to be used for -animation. For example, the code below creates a tween procedure that -linearly interpolates (0, 0) to (10, 10) over the course of ten ticks. -</p> -<div class="example"> -<pre class="example">(define t (tween vlerp ease-linear (vector2 0 0) (vector2 10 0) 10)) - -(t 5) ;; => (vector2 5 5) -</pre></div> - -<dl> -<dt><a name="index-tween"></a>Scheme Procedure: <strong>tween</strong> <em><var>interpolator</var> <var>ease</var> <var>start</var> <var>end</var> <var>duration</var></em></dt> -<dd><p>Return a procedure that interpolates from <var>start</var> to <var>end</var> in -<var>duration</var> ticks. The value returned for a given time is -determined by applying <var>ease</var> with the time ratio to acquire an -<var>alpha</var> value, and then applying <var>interpolator</var> with -<var>start</var>, <var>end</var>, and <var>alpha</var>. <var>alpha</var> is a rational -number in the range [0, 1]. -</p></dd></dl> - - - - -</body> -</html> diff --git a/manuals/sly/Tweens.html b/manuals/sly/Tweens.html deleted file mode 100644 index 35634d1..0000000 --- a/manuals/sly/Tweens.html +++ /dev/null @@ -1,99 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Tweens</title> - -<meta name="description" content="Sly: Tweens"> -<meta name="keywords" content="Sly: Tweens"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Math.html#Math" rel="up" title="Math"> -<link href="Easings.html#Easings" rel="next" title="Easings"> -<link href="Transforms.html#Transforms" rel="prev" title="Transforms"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Tweens"></a> -<div class="header"> -<p> -Next: <a href="Quaternions.html#Quaternions" accesskey="n" rel="next">Quaternions</a>, Previous: <a href="Transforms.html#Transforms" accesskey="p" rel="prev">Transforms</a>, Up: <a href="Math.html#Math" accesskey="u" rel="up">Math</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Tweens-1"></a> -<h4 class="subsection">4.2.4 Tweens</h4> - -<div class="example"> -<pre class="example">(use-modules (sly math tween)) -</pre></div> - -<p>Tweening is the process of interpolating between two key values to -create the illusion of smooth animation. There are many different -ways to alter the rate of change, or “ease”, one value to another. -</p> -<p>When tween functions are combined with <a href="Signals.html#Signals">Signals</a>, the result is -animation! -</p> -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Easings.html#Easings" accesskey="1">Easings</a>:</td><td> </td><td align="left" valign="top">Easing procedures. -</td></tr> -<tr><td align="left" valign="top">• <a href="Tweening.html#Tweening" accesskey="2">Tweening</a>:</td><td> </td><td align="left" valign="top">The tween procedure. -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/sly/Utilities.html b/manuals/sly/Utilities.html deleted file mode 100644 index 7b5fcbe..0000000 --- a/manuals/sly/Utilities.html +++ /dev/null @@ -1,90 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Utilities</title> - -<meta name="description" content="Sly: Utilities"> -<meta name="keywords" content="Sly: Utilities"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="API-Reference.html#API-Reference" rel="up" title="API Reference"> -<link href="REPL.html#REPL" rel="next" title="REPL"> -<link href="Shaders.html#Shaders" rel="prev" title="Shaders"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Utilities"></a> -<div class="header"> -<p> -Previous: <a href="Rendering.html#Rendering" accesskey="p" rel="prev">Rendering</a>, Up: <a href="API-Reference.html#API-Reference" accesskey="u" rel="up">API Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Utilities-1"></a> -<h3 class="section">4.6 Utilities</h3> - -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="REPL.html#REPL" accesskey="1">REPL</a>:</td><td> </td><td align="left" valign="top">REPL server integrated with game loop. -</td></tr> -<tr><td align="left" valign="top">• <a href="Live-Reloading.html#Live-Reloading" accesskey="2">Live Reloading</a>:</td><td> </td><td align="left" valign="top">Automatically reload game assets. -</td></tr> -<tr><td align="left" valign="top">• <a href="Miscellaneous_002dUtilities.html#Miscellaneous_002dUtilities" accesskey="3">Miscellaneous-Utilities</a>:</td><td> </td><td align="left" valign="top">Generally useful things. -</td></tr> -</table> - - - - -</body> -</html> diff --git a/manuals/sly/Vectors.html b/manuals/sly/Vectors.html deleted file mode 100644 index 14d2b91..0000000 --- a/manuals/sly/Vectors.html +++ /dev/null @@ -1,220 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Vectors</title> - -<meta name="description" content="Sly: Vectors"> -<meta name="keywords" content="Sly: Vectors"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Math.html#Math" rel="up" title="Math"> -<link href="Rectangles.html#Rectangles" rel="next" title="Rectangles"> -<link href="Math.html#Math" rel="prev" title="Math"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Vectors"></a> -<div class="header"> -<p> -Next: <a href="Rectangles.html#Rectangles" accesskey="n" rel="next">Rectangles</a>, Up: <a href="Math.html#Math" accesskey="u" rel="up">Math</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Vectors-1"></a> -<h4 class="subsection">4.2.1 Vectors</h4> - -<div class="example"> -<pre class="example">(use-modules (sly math vector)) -</pre></div> - -<p>Not to be confused with Guile’s vector data structure, Sly provides -dedicated data types for 2D, 3D, and 4D vectors in the mathematical -sense. Vector procedures are polymorphic, and will work with any -dimensionality that the operation supports. In some cases, such as -<code>v+</code>, <code>v-</code>, and <code>v*</code>, scalar values may be passed as -well. -</p> -<p>The <code><vector2></code>, <code><vector3></code>, and <code><vector4></code> type -descriptors have been exposed for use with Guile’s <code>(ice-9 -match)</code> pattern matching module. -</p> -<dl> -<dt><a name="index-_003cvector2_003e"></a>Record Type: <strong><vector2></strong></dt> -<dd><p>2D vector data type with fields <code>x</code> and <code>y</code>, in that order. -</p></dd></dl> - -<dl> -<dt><a name="index-_003cvector3_003e"></a>Record Type: <strong><vector3></strong></dt> -<dd><p>3D vector data type with fields <code>x</code>, <code>y</code>, and <code>z</code>, in -that order. -</p></dd></dl> - -<dl> -<dt><a name="index-_003cvector4_003e"></a>Record Type: <strong><vector4></strong></dt> -<dd><p>4D vector data type with fields <code>x</code>, <code>y</code>, <code>z</code> and -<code>w</code>, in that order. -</p></dd></dl> - -<dl> -<dt><a name="index-vector2"></a>Scheme Syntax: <strong>vector2</strong> <em><var>x</var> <var>y</var></em></dt> -<dd><p>Create a new 2D vector with coordinates (<var>x</var>, <var>y</var>). -</p></dd></dl> - -<dl> -<dt><a name="index-vector3"></a>Scheme Syntax: <strong>vector3</strong> <em><var>x</var> <var>y</var> <var>z</var></em></dt> -<dd><p>Create a new 3D vector with coordinates (<var>x</var>, <var>y</var>, <var>z</var>). -</p></dd></dl> - -<dl> -<dt><a name="index-vector4"></a>Scheme Syntax: <strong>vector4</strong> <em><var>x</var> <var>y</var> <var>z</var> <var>w</var></em></dt> -<dd><p>Create a new 4D vector with coordinates (<var>x</var>, <var>y</var>, <var>z</var>, -<var>w</var>). -</p></dd></dl> - -<dl> -<dt><a name="index-vector2_003f"></a>Scheme Syntax: <strong>vector2?</strong> <em><var>v</var></em></dt> -<dd><p>Return <code>#t</code> if <code>v</code> is a 2D vector. -</p></dd></dl> - -<dl> -<dt><a name="index-vector3_003f"></a>Scheme Syntax: <strong>vector3?</strong> <em><var>v</var></em></dt> -<dd><p>Return <code>#t</code> if <code>v</code> is a 3D vector. -</p></dd></dl> - -<dl> -<dt><a name="index-vector4_003f"></a>Scheme Syntax: <strong>vector4?</strong> <em><var>v</var></em></dt> -<dd><p>Return <code>#t</code> if <code>v</code> is a 4D vector. -</p></dd></dl> - -<dl> -<dt><a name="index-vx"></a>Scheme Procedure: <strong>vx</strong> <em><var>v</var></em></dt> -<dd><p>Return the x coordinate of the 2D, 3D, or 4D vector <var>v</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-vy"></a>Scheme Procedure: <strong>vy</strong> <em><var>v</var></em></dt> -<dd><p>Return the y coordinate of the 2D, 3D, or 4D vector <var>v</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-vz"></a>Scheme Procedure: <strong>vz</strong> <em><var>v</var></em></dt> -<dd><p>Return the z coordinate of the 3D or 4D vector <var>v</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-vw"></a>Scheme Procedure: <strong>vw</strong> <em><var>v</var></em></dt> -<dd><p>Return the w coordinate of the 4D vector <var>v</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-vmap"></a>Scheme Procedure: <strong>vmap</strong> <em><var>proc</var> <var>v</var></em></dt> -<dd><p>Return a new vector that is the result of applying <var>proc</var> to each -element of the 2D, 3D, or 4D vector <var>v</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-v_002b"></a>Scheme Procedure: <strong>v+</strong> <em>. <var>vectors</var></em></dt> -<dd><p>Return the sum of all <var>vectors</var>. <var>vectors</var> may contain scalar -values, but it may not contain vectors of mixed dimensions. -</p></dd></dl> - -<dl> -<dt><a name="index-v_002d"></a>Scheme Procedure: <strong>v-</strong> <em>. <var>vectors</var></em></dt> -<dd><p>Return the difference of all <var>vectors</var>. <var>vectors</var> may contain scalar -values, but it may not contain vectors of mixed dimensions. -</p></dd></dl> - -<dl> -<dt><a name="index-v_002a"></a>Scheme Procedure: <strong>v*</strong> <em>. <var>vectors</var></em></dt> -<dd><p>Return the product of all <var>vectors</var>. <var>vectors</var> may contain -scalar values, but it may not contain vectors of mixed dimensions. -</p></dd></dl> - -<dl> -<dt><a name="index-vdot"></a>Scheme Procedure: <strong>vdot</strong> <em><var>v1</var> <var>v2</var></em></dt> -<dd><p>Return the dot product of <var>v1</var> and <var>v2</var>. Both vectors must be -of the same dimensionality. -</p></dd></dl> - -<dl> -<dt><a name="index-vcross"></a>Scheme Procedure: <strong>vcross</strong> <em><var>v1</var> <var>v2</var></em></dt> -<dd><p>Return the cross product of the 3D vectors <var>v1</var> and <var>v2</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-magnitude"></a>Scheme Procedure: <strong>magnitude</strong> <em><var>v</var></em></dt> -<dd><p>Return the magnitude of the vector <var>v</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-normalize"></a>Scheme Procedure: <strong>normalize</strong> <em><var>v</var></em></dt> -<dd><p>Return the normalized form of the vector <var>v</var>. -</p></dd></dl> - -<dl> -<dt><a name="index-vlerp"></a>Scheme Procedure: <strong>vlerp</strong> <em><var>v1</var> <var>v2</var> <var>alpha</var></em></dt> -<dd><p>Return the linear interpolation of <var>v1</var> and <var>v2</var> by the scalar -<var>alpha</var>. <var>alpha</var> is expected to be in the range [0, 1]. -</p></dd></dl> - -<hr> -<div class="header"> -<p> -Next: <a href="Rectangles.html#Rectangles" accesskey="n" rel="next">Rectangles</a>, Up: <a href="Math.html#Math" accesskey="u" rel="up">Math</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/sly/Window-Creation.html b/manuals/sly/Window-Creation.html deleted file mode 100644 index 5e6dfc7..0000000 --- a/manuals/sly/Window-Creation.html +++ /dev/null @@ -1,177 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Window Creation</title> - -<meta name="description" content="Sly: Window Creation"> -<meta name="keywords" content="Sly: Window Creation"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Booting.html#Booting" rel="up" title="Booting"> -<link href="The-Game-Loop.html#The-Game-Loop" rel="next" title="The Game Loop"> -<link href="Booting.html#Booting" rel="prev" title="Booting"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<a name="Window-Creation"></a> -<div class="header"> -<p> -Next: <a href="The-Game-Loop.html#The-Game-Loop" accesskey="n" rel="next">The Game Loop</a>, Up: <a href="Booting.html#Booting" accesskey="u" rel="up">Booting</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Window-Creation-1"></a> -<h4 class="subsection">4.1.1 Window Creation</h4> - -<div class="example"> -<pre class="example">(use-modules (sly window)) -</pre></div> - -<p>Sly uses the windowing features of SDL 1.2 under the hood, which -currently restricts Sly applications to using only a single window. -SDL2 support will come in a future release. -</p> -<p>The window data structure: -</p> -<dl> -<dt><a name="index-make_002dwindow"></a>Scheme Procedure: <strong>make-window</strong> <em>[<var>#:title</var>] [<var>#:resolution</var>] [<var>#:fullscreen?</var>]</em></dt> -<dd><p>Create a new window object. <code>title</code> is a string to display in -the window’s title bar. <code>resolution</code> is a 2D vector that -specifies the dimensions of the window in pixels. <code>fullscreen?</code> -is a boolean that toggles fullscreen mode. -</p></dd></dl> - -<dl> -<dt><a name="index-window_003f"></a>Scheme Procedure: <strong>window?</strong> <em><var>obj</var></em></dt> -<dd><p>Return <code>#t</code> if <code>obj</code> is a window. -</p></dd></dl> - -<dl> -<dt><a name="index-window_002dtitle"></a>Scheme Procedure: <strong>window-title</strong> <em><var>window</var></em></dt> -<dd><p>Return the title of <code>window</code>. -</p></dd></dl> - -<dl> -<dt><a name="index-window_002dresolution"></a>Scheme Procedure: <strong>window-resolution</strong> <em><var>window</var></em></dt> -<dd><p>Return the resolution of <code>window</code>. -</p></dd></dl> - -<dl> -<dt><a name="index-window_002dfullscreen_003f"></a>Scheme Procedure: <strong>window-fullscreen?</strong> <em><var>window</var></em></dt> -<dd><p>Return <code>#t</code> if <code>window</code> is set to fullscreen mode. -</p></dd></dl> - -<p>The following signals hold the state of the current window: -</p> -<dl> -<dt><a name="index-window_002dwidth"></a>Scheme Signal: <strong>window-width</strong></dt> -<dd><p>The width of the current window. -</p></dd></dl> - -<dl> -<dt><a name="index-window_002dheight"></a>Scheme Signal: <strong>window-height</strong></dt> -<dd><p>The height of the current window. -</p></dd></dl> - -<dl> -<dt><a name="index-window_002dsize"></a>Scheme Signal: <strong>window-size</strong></dt> -<dd><p>The size of the current window as a 2D vector. -</p></dd></dl> - -<p>In addition to signals, the following hooks are triggered upon certain -changes to window state: -</p> -<dl> -<dt><a name="index-window_002dresize_002dhook"></a>Scheme Variable: <strong>window-resize-hook</strong></dt> -<dd><p>This hook is run when the current window is resized. Procedures added -to this hook should accept two arguments: Numbers <code>width</code> and -<code>height</code>, the new dimensions of the window in pixels. -</p></dd></dl> - -<dl> -<dt><a name="index-window_002dclose_002dhook"></a>Scheme Variable: <strong>window-close-hook</strong></dt> -<dd><p>This hook is run when the close button is clicked. Note that this -event is simply a request from the user to close the window, it does -not mean that the window has actually been closed. Procedures added -to this hook should accept no arguments. -</p></dd></dl> - -<p>The following procedures are used to open/close windows: -</p> -<dl> -<dt><a name="index-open_002dwindow"></a>Scheme Procedure: <strong>open-window</strong> <em>[<var>window</var>]</em></dt> -<dd><p>Open the game window using the settings in <code>window</code>. -</p></dd></dl> - -<dl> -<dt><a name="index-close_002dwindow"></a>Scheme Procedure: <strong>close-window</strong></dt> -<dd><p>Close the currently open window. -</p></dd></dl> - -<dl> -<dt><a name="index-with_002dwindow"></a>Scheme Syntax: <strong>with-window</strong> <em><var>window</var> <var>body</var> …</em></dt> -<dd><p>Evaluate <code>body</code> in the context of <code>window</code>. <code>window</code> -is opened before evaluating <code>body</code>, and closed afterwards. -</p></dd></dl> - -<hr> -<div class="header"> -<p> -Next: <a href="The-Game-Loop.html#The-Game-Loop" accesskey="n" rel="next">The Game Loop</a>, Up: <a href="Booting.html#Booting" accesskey="u" rel="up">Booting</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> diff --git a/manuals/sly/index.html b/manuals/sly/index.html deleted file mode 100644 index 90adb63..0000000 --- a/manuals/sly/index.html +++ /dev/null @@ -1,201 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2013, 2014 David Thompson davet@gnu.org - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled "GNU -Free Documentation License". - -A copy of the license is also available from the Free Software -Foundation Web site at http://www.gnu.org/licenses/fdl.html. - - -The document was typeset with -http://www.texinfo.org/ (GNU Texinfo). - --> -<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ --> -<head> -<title>Sly: Top</title> - -<meta name="description" content="Sly: Top"> -<meta name="keywords" content="Sly: Top"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta charset="UTF-8"> -<link href="#Top" rel="start" title="Top"> -<link href="Index.html#Index" rel="index" title="Index"> -<link href="#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="../dir/index.html" rel="up" title="(dir)"> -<link href="Introduction.html#Introduction" rel="next" title="Introduction"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nocodebreak {white-space: nowrap} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: serif; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} ---> -</style> - - -</head> - -<body lang="en"> -<h1 class="settitle" align="center">Sly</h1> - - -<a name="SEC_Contents"></a> -<h2 class="contents-heading">Table of Contents</h2> - -<div class="contents"> - -<ul class="no-bullet"> - <li><a name="toc-Introduction-1" href="Introduction.html#Introduction">1 Introduction</a></li> - <li><a name="toc-Installation-1" href="Installation.html#Installation">2 Installation</a> - <ul class="no-bullet"> - <li><a name="toc-Requirements-1" href="Requirements.html#Requirements">2.1 Requirements</a></li> - <li><a name="toc-Examples-1" href="Examples.html#Examples">2.2 Examples</a></li> - <li><a name="toc-Development-Environment-1" href="Development-Environment.html#Development-Environment">2.3 Development Environment</a></li> - </ul></li> - <li><a name="toc-Getting-Started-1" href="Getting-Started.html#Getting-Started">3 Getting Started</a></li> - <li><a name="toc-API-Reference-1" href="API-Reference.html#API-Reference">4 API Reference</a> - <ul class="no-bullet"> - <li><a name="toc-Booting-1" href="Booting.html#Booting">4.1 Booting</a> - <ul class="no-bullet"> - <li><a name="toc-Window-Creation-1" href="Window-Creation.html#Window-Creation">4.1.1 Window Creation</a></li> - <li><a name="toc-The-Game-Loop-1" href="The-Game-Loop.html#The-Game-Loop">4.1.2 The Game Loop</a></li> - </ul></li> - <li><a name="toc-Math-1" href="Math.html#Math">4.2 Math</a> - <ul class="no-bullet"> - <li><a name="toc-Vectors-1" href="Vectors.html#Vectors">4.2.1 Vectors</a></li> - <li><a name="toc-Rectangles-1" href="Rectangles.html#Rectangles">4.2.2 Rectangles</a></li> - <li><a name="toc-Transforms-1" href="Transforms.html#Transforms">4.2.3 Transforms</a></li> - <li><a name="toc-Tweens-1" href="Tweens.html#Tweens">4.2.4 Tweens</a> - <ul class="no-bullet"> - <li><a name="toc-Easings-1" href="Easings.html#Easings">4.2.4.1 Easings</a></li> - <li><a name="toc-Tweening-1" href="Tweening.html#Tweening">4.2.4.2 Tweening</a></li> - </ul></li> - <li><a name="toc-Quaternions-1" href="Quaternions.html#Quaternions">4.2.5 Quaternions</a></li> - <li><a name="toc-Miscellaneous-1" href="Miscellaneous.html#Miscellaneous">4.2.6 Miscellaneous</a></li> - </ul></li> - <li><a name="toc-Time-1" href="Time.html#Time">4.3 Time</a> - <ul class="no-bullet"> - <li><a name="toc-Signals-1" href="Signals.html#Signals">4.3.1 Signals</a></li> - <li><a name="toc-Coroutines-1" href="Coroutines.html#Coroutines">4.3.2 Coroutines</a></li> - <li><a name="toc-Agendas-1" href="Agendas.html#Agendas">4.3.3 Agendas</a></li> - </ul></li> - <li><a name="toc-Input-1" href="Input.html#Input">4.4 Input</a> - <ul class="no-bullet"> - <li><a name="toc-Keyboard-1" href="Keyboard.html#Keyboard">4.4.1 Keyboard</a></li> - <li><a name="toc-Mouse-1" href="Mouse.html#Mouse">4.4.2 Mouse</a></li> - <li><a name="toc-Joystick-1" href="Joystick.html#Joystick">4.4.3 Joystick</a></li> - </ul></li> - <li><a name="toc-Rendering-1" href="Rendering.html#Rendering">4.5 Rendering</a> - <ul class="no-bullet"> - <li><a name="toc-Render-Combinators-1" href="Render-Combinators.html#Render-Combinators">4.5.1 Render Combinators</a></li> - <li><a name="toc-Sprites-1" href="Sprites.html#Sprites">4.5.2 Sprites</a></li> - <li><a name="toc-Textures-1" href="Textures.html#Textures">4.5.3 Textures</a></li> - <li><a name="toc-Fonts-1" href="Fonts.html#Fonts">4.5.4 Fonts</a></li> - <li><a name="toc-Shapes-1" href="Shapes.html#Shapes">4.5.5 Shapes</a></li> - <li><a name="toc-Cameras-1" href="Cameras.html#Cameras">4.5.6 Cameras</a></li> - <li><a name="toc-Colors-1" href="Colors.html#Colors">4.5.7 Colors</a></li> - <li><a name="toc-Framebuffers-1" href="Framebuffers.html#Framebuffers">4.5.8 Framebuffers</a></li> - <li><a name="toc-Shaders-1" href="Shaders.html#Shaders">4.5.9 Shaders</a></li> - </ul></li> - <li><a name="toc-Utilities-1" href="Utilities.html#Utilities">4.6 Utilities</a> - <ul class="no-bullet"> - <li><a name="toc-REPL-1" href="REPL.html#REPL">4.6.1 REPL</a></li> - <li><a name="toc-Live-Reloading-1" href="Live-Reloading.html#Live-Reloading">4.6.2 Live Reloading</a></li> - <li><a name="toc-Miscellaneous-2" href="Miscellaneous_002dUtilities.html#Miscellaneous_002dUtilities">4.6.3 Miscellaneous</a></li> - </ul></li> - </ul></li> - <li><a name="toc-Contributing-1" href="Contributing.html#Contributing">5 Contributing</a></li> - <li><a name="toc-Copying-This-Manual-1" href="Copying-This-Manual.html#Copying-This-Manual">Appendix A Copying This Manual</a> - <ul class="no-bullet"> - <li><a name="toc-GNU-Free-Documentation-License-1" href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">A.1 GNU Free Documentation License</a></li> - </ul></li> - <li><a name="toc-Index-1" href="Index.html#Index">Index</a></li> -</ul> -</div> - - -<a name="Top"></a> -<div class="header"> -<p> -Next: <a href="Introduction.html#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a href="../dir/index.html" accesskey="u" rel="up">(dir)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="Sly"></a> -<h1 class="top">Sly</h1> - -<p>Copyright © 2013, 2014 David Thompson <a href="mailto:davet@gnu.org">davet@gnu.org</a> -</p> -<blockquote> -<p>Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 -or any later version published by the Free Software Foundation; -with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. -A copy of the license is included in the section entitled “GNU -Free Documentation License”. -</p> -<p>A copy of the license is also available from the Free Software -Foundation Web site at <a href="http://www.gnu.org/licenses/fdl.html">http://www.gnu.org/licenses/fdl.html</a>. -</p> -</blockquote> - -<p>The document was typeset with -<a href="http://www.texinfo.org/">GNU Texinfo</a>. -</p> - - -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top">• <a href="Introduction.html#Introduction" accesskey="1">Introduction</a>:</td><td> </td><td align="left" valign="top">About Sly. -</td></tr> -<tr><td align="left" valign="top">• <a href="Installation.html#Installation" accesskey="2">Installation</a>:</td><td> </td><td align="left" valign="top">Installing Sly. -</td></tr> -<tr><td align="left" valign="top">• <a href="Getting-Started.html#Getting-Started" accesskey="3">Getting Started</a>:</td><td> </td><td align="left" valign="top">Writing your first Sly program. -</td></tr> -<tr><td align="left" valign="top">• <a href="API-Reference.html#API-Reference" accesskey="4">API Reference</a>:</td><td> </td><td align="left" valign="top">Sly programming interface. -</td></tr> -<tr><td align="left" valign="top">• <a href="Contributing.html#Contributing" accesskey="5">Contributing</a>:</td><td> </td><td align="left" valign="top">Help improve Sly! -</td></tr> -<tr><td align="left" valign="top">• <a href="Copying-This-Manual.html#Copying-This-Manual" accesskey="6">Copying This Manual</a>:</td><td> </td><td align="left" valign="top">The license of this manual. -</td></tr> -<tr><td align="left" valign="top">• <a href="Index.html#Index" accesskey="7">Index</a>:</td><td> </td><td align="left" valign="top"> -</td></tr> -</table> - - -<hr> -<div class="header"> -<p> -Next: <a href="Introduction.html#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a href="../dir/index.html" accesskey="u" rel="up">(dir)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> |