summaryrefslogtreecommitdiff
path: root/manuals/chickadee
diff options
context:
space:
mode:
authorDavid Thompson <dthompson2@worcester.edu>2018-03-10 20:32:18 -0500
committerDavid Thompson <dthompson2@worcester.edu>2018-03-10 20:32:32 -0500
commitaf2872325ed461252303ec8b7987058b664843f1 (patch)
treecb710d0a186a2617ab86b98a5bdb9acd4cbe6934 /manuals/chickadee
parent89a3558fb9b094b9a92055e98ad655e9bb799eba (diff)
Update Chickadee manual.
Diffstat (limited to 'manuals/chickadee')
-rw-r--r--manuals/chickadee/API-Reference.html23
-rw-r--r--manuals/chickadee/Audio.html97
-rw-r--r--manuals/chickadee/Blending-and-Depth-Testing.html29
-rw-r--r--manuals/chickadee/Copying-This-Manual.html23
-rw-r--r--manuals/chickadee/Fonts.html197
-rw-r--r--manuals/chickadee/Framebuffers.html25
-rw-r--r--manuals/chickadee/GNU-Free-Documentation-License.html23
-rw-r--r--manuals/chickadee/Graphics.html41
-rw-r--r--manuals/chickadee/Index.html66
-rw-r--r--manuals/chickadee/Input.html23
-rw-r--r--manuals/chickadee/Installation.html23
-rw-r--r--manuals/chickadee/Kernel.html30
-rw-r--r--manuals/chickadee/Lines-and-Shapes.html46
-rw-r--r--manuals/chickadee/Math.html23
-rw-r--r--manuals/chickadee/Matrices.html23
-rw-r--r--manuals/chickadee/Rectangles.html23
-rw-r--r--manuals/chickadee/Rendering-Engine.html33
-rw-r--r--manuals/chickadee/Requirements.html23
-rw-r--r--manuals/chickadee/Shaders.html25
-rw-r--r--manuals/chickadee/Sprites.html109
-rw-r--r--manuals/chickadee/Textures.html36
-rw-r--r--manuals/chickadee/Vectors.html23
-rw-r--r--manuals/chickadee/Vertex-Arrays.html25
-rw-r--r--manuals/chickadee/Viewports.html25
-rw-r--r--manuals/chickadee/index.html40
25 files changed, 1008 insertions, 46 deletions
diff --git a/manuals/chickadee/API-Reference.html b/manuals/chickadee/API-Reference.html
index bee3d9d..0dcd1de 100644
--- a/manuals/chickadee/API-Reference.html
+++ b/manuals/chickadee/API-Reference.html
@@ -57,8 +57,31 @@ 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>
diff --git a/manuals/chickadee/Audio.html b/manuals/chickadee/Audio.html
index 2f20199..755efb9 100644
--- a/manuals/chickadee/Audio.html
+++ b/manuals/chickadee/Audio.html
@@ -57,8 +57,31 @@ 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>
@@ -73,8 +96,80 @@ Previous: <a href="Graphics.html#Graphics" accesskey="p" rel="prev">Graphics</a>
<a name="Audio-1"></a>
<h3 class="section">2.5 Audio</h3>
-<p>There is no audio support yet. Stay tuned!
+<p>Chickadee has two data types for audio: samples and music. Samples
+are for short sound effects like explosions. Music is for, well,
+uh&hellip;, music.
</p>
+<p>Supported file formats include WAV and OGG.
+</p>
+<dl>
+<dt><a name="index-load_002dsample"></a>Scheme Procedure: <strong>load-sample</strong> <em><var>file</var></em></dt>
+<dd><p>Load audio sample from <var>file</var>.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-set_002dsample_002dvolume_0021"></a>Scheme Procedure: <strong>set-sample-volume!</strong> <em><var>volume</var></em></dt>
+<dd><p>Set the volume that all samples are played at to <var>volume</var>, an
+integer value between 0 and 128.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-play_002dsample"></a>Scheme Procedure: <strong>play-sample</strong> <em><var>sample</var></em></dt>
+<dd><p>Play <var>sample</var>. Pretty straightforward!
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-load_002dmusic"></a>Scheme Procedure: <strong>load-music</strong> <em><var>file</var></em></dt>
+<dd><p>Load music from <var>file</var>.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-music_002dvolume"></a>Scheme Procedure: <strong>music-volume</strong></dt>
+<dd><p>Return the volume level for music, an integer value between 0 and 128.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-set_002dmusic_002dvolume_0021"></a>Scheme Procedure: <strong>set-music-volume!</strong> <em><var>volume</var></em></dt>
+<dd><p>Set the volume that music is played at to <var>volume</var>, an integer
+value between 0 and 128.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-play_002dmusic"></a>Scheme Procedure: <strong>play-music</strong> <em><var>music</var> [<var>loop?</var>]</em></dt>
+<dd><p>Play <var>music</var>. If <var>loop?</var>, play it over and over and over and
+over and&hellip;
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-pause_002dmusic"></a>Scheme Procedure: <strong>pause-music</strong></dt>
+<dd><p>Pause the current music track.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-resume_002dmusic"></a>Scheme Procedure: <strong>resume-music</strong></dt>
+<dd><p>Resume the current music track.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-rewind_002dmusic"></a>Scheme Procedure: <strong>rewind-music</strong></dt>
+<dd><p>estart the current music track from the beginning.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-stop_002dmusic"></a>Scheme Procedure: <strong>stop-music</strong></dt>
+<dd><p>Stop playing the current music track.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-music_002dplaying_003f"></a>Scheme Procedure: <strong>music-playing?</strong></dt>
+<dd><p>Return <code>#t</code> if music is currently playing.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-music_002dpaused_003f"></a>Scheme Procedure: <strong>music-paused?</strong></dt>
+<dd><p>Return <code>#t</code> if music is currently paused.
+</p></dd></dl>
+
diff --git a/manuals/chickadee/Blending-and-Depth-Testing.html b/manuals/chickadee/Blending-and-Depth-Testing.html
index 0c0aaa3..72b6140 100644
--- a/manuals/chickadee/Blending-and-Depth-Testing.html
+++ b/manuals/chickadee/Blending-and-Depth-Testing.html
@@ -31,7 +31,7 @@ http://www.texinfo.org/ (GNU Texinfo).
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Graphics.html#Graphics" rel="up" title="Graphics">
<link href="Vertex-Arrays.html#Vertex-Arrays" rel="next" title="Vertex Arrays">
-<link href="Textures.html#Textures" rel="prev" title="Textures">
+<link href="Fonts.html#Fonts" rel="prev" title="Fonts">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
@@ -57,8 +57,31 @@ 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>
@@ -67,11 +90,11 @@ ul.no-bullet {list-style: none}
<a name="Blending-and-Depth-Testing"></a>
<div class="header">
<p>
-Next: <a href="Vertex-Arrays.html#Vertex-Arrays" accesskey="n" rel="next">Vertex Arrays</a>, Previous: <a href="Textures.html#Textures" accesskey="p" rel="prev">Textures</a>, Up: <a href="Graphics.html#Graphics" accesskey="u" rel="up">Graphics</a> &nbsp; [<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>
+Next: <a href="Vertex-Arrays.html#Vertex-Arrays" accesskey="n" rel="next">Vertex Arrays</a>, Previous: <a href="Fonts.html#Fonts" accesskey="p" rel="prev">Fonts</a>, Up: <a href="Graphics.html#Graphics" accesskey="u" rel="up">Graphics</a> &nbsp; [<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="Blending-and-Depth-Testing-1"></a>
-<h4 class="subsection">2.4.5 Blending and Depth Testing</h4>
+<h4 class="subsection">2.4.6 Blending and Depth Testing</h4>
diff --git a/manuals/chickadee/Copying-This-Manual.html b/manuals/chickadee/Copying-This-Manual.html
index f8bef99..493541d 100644
--- a/manuals/chickadee/Copying-This-Manual.html
+++ b/manuals/chickadee/Copying-This-Manual.html
@@ -57,8 +57,31 @@ 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>
diff --git a/manuals/chickadee/Fonts.html b/manuals/chickadee/Fonts.html
new file mode 100644
index 0000000..198bddb
--- /dev/null
+++ b/manuals/chickadee/Fonts.html
@@ -0,0 +1,197 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 2017 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.3, http://www.gnu.org/software/texinfo/ -->
+<head>
+<title>The Chickadee Game Toolkit: Fonts</title>
+
+<meta name="description" content="The Chickadee Game Toolkit: Fonts">
+<meta name="keywords" content="The Chickadee Game Toolkit: Fonts">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<meta http-equiv="Content-Type" content="text/html; 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="Graphics.html#Graphics" rel="up" title="Graphics">
+<link href="Blending-and-Depth-Testing.html#Blending-and-Depth-Testing" rel="next" title="Blending and Depth Testing">
+<link href="Lines-and-Shapes.html#Lines-and-Shapes" rel="prev" title="Lines and 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.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">
+<a name="Fonts"></a>
+<div class="header">
+<p>
+Next: <a href="Blending-and-Depth-Testing.html#Blending-and-Depth-Testing" accesskey="n" rel="next">Blending and Depth Testing</a>, Previous: <a href="Lines-and-Shapes.html#Lines-and-Shapes" accesskey="p" rel="prev">Lines and Shapes</a>, Up: <a href="Graphics.html#Graphics" accesskey="u" rel="up">Graphics</a> &nbsp; [<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">2.4.5 Fonts</h4>
+
+<p>Unlike the traditional TrueType font format that many are accustomed
+to, Chickadee loads and renders bitmap fonts in the
+<a href="http://www.angelcode.com/products/bmfont/doc/file_format.html">Angel Code format</a>. But why use this seemingly obscure format? It&rsquo;s
+easy to find TTFs but not easy to find FNTs (the canonical file
+extension used for Angel Code fonts) and bitmap fonts don&rsquo;t scale
+well. The reason is efficiency.
+</p>
+<p>If all of the glyphs of a font are pre-rendered and packed into an
+image file then it becomes possible to use a texture atlas
+(see <a href="Textures.html#Textures">Textures</a>) and a sprite batch (see <a href="Sprites.html#Sprites">Sprites</a>) when
+rendering, which is a more efficient way to render fonts than using,
+say, <a href="https://www.libsdl.org/projects/SDL_ttf/">SDL_ttf</a> or other
+solutions that involve using the FreeType library directly.
+</p>
+<p>Now what about scaling? In libraries that use TTF fonts, one must
+choose the size that the glyphs will be rasterized at up front. To
+use <code>n</code> sizes of the same font, one must load <code>n</code> variants
+of that font. If the size of the text is dynamic, some kind of
+texture scaling algorithm must be used and the text will inevitably
+look blurry. At first glance, using bitmap fonts seem to have an even
+worse issue. Instead of just loading the same font <code>n</code> times at
+different sizes, one would need to generate <code>n</code> image files for
+each font size needed. This is where the &ldquo;signed distance field&rdquo;
+rendering technique comes in. Introduced by
+<a href="http://www.valvesoftware.com/.../2007/SIGGRAPH2007_AlphaTestedMagnification.pdf">Valve</a> in 2007, signed distance field fonts can be efficiently stored
+in a bitmap and be rendered at arbitrary scale factors with good
+results. Chickadee can render both traditional bitmap fonts and
+signed distance field fonts. <em>Signed distance field font
+rendering is not yet available, so be patient.</em>
+</p>
+<p>While Chickadee does not yet offer a tool for converting TTF fonts
+into FNT fonts, tools such as
+<a href="https://github.com/libgdx/libgdx/wiki/Hiero">Hiero</a> may be used
+in the meantime.
+</p>
+<p>The following procedures can be found in the <code>(chickadee render
+font)</code> module.
+</p>
+<dl>
+<dt><a name="index-load_002dfont"></a>Scheme Procedure: <strong>load-font</strong> <em><var>file</var></em></dt>
+<dd><p>Load the Angel Code formatted XML document in <var>file</var> and return a
+new font object.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-font_003f"></a>Scheme Procedure: <strong>font?</strong> <em><var>obj</var></em></dt>
+<dd><p>Return <code>#t</code> if <var>obj</var> is a font object.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-font_002dface"></a>Scheme Procedure: <strong>font-face</strong> <em><var>font</var></em></dt>
+<dd><p>Return the name of <var>font</var>.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-font_002dline_002dheight"></a>Scheme Procedure: <strong>font-line-height</strong> <em><var>font</var></em></dt>
+<dd><p>Return the line height of <var>font</var>.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-font_002dline_002dheight-1"></a>Scheme Procedure: <strong>font-line-height</strong> <em><var>font</var></em></dt>
+<dd><p>Return the line height of <var>font</var>.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-font_002dbold_003f"></a>Scheme Procedure: <strong>font-bold?</strong> <em><var>font</var></em></dt>
+<dd><p>Return <code>#t</code> if <var>font</var> is a bold font.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-font_002ditalic_003f"></a>Scheme Procedure: <strong>font-italic?</strong> <em><var>font</var></em></dt>
+<dd><p>Return <code>#t</code> if <var>font</var> is an italicized font.
+</p></dd></dl>
+
+<dl>
+<dt><a name="index-draw_002dtext"></a>Scheme Procedure: <strong>draw-text</strong> <em><var>font</var> <var>text</var> <var>position</var></em></dt>
+<dd><p>[#:scale] [#:rotation] [#:blend-mode]
+</p>
+<p>Draw the string <var>text</var> with the first character starting at
+<var>position</var> using <var>font</var>.
+</p>
+<div class="example">
+<pre class="example">(draw-text font &quot;Hello, world!&quot; (vec2 128.0 128.0))
+</pre></div>
+
+<p>Refer to <code>draw-sprite</code> (see <a href="Sprites.html#Sprites">Sprites</a>) for information about
+the other arguments.
+</p></dd></dl>
+
+<hr>
+<div class="header">
+<p>
+Next: <a href="Blending-and-Depth-Testing.html#Blending-and-Depth-Testing" accesskey="n" rel="next">Blending and Depth Testing</a>, Previous: <a href="Lines-and-Shapes.html#Lines-and-Shapes" accesskey="p" rel="prev">Lines and Shapes</a>, Up: <a href="Graphics.html#Graphics" accesskey="u" rel="up">Graphics</a> &nbsp; [<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/chickadee/Framebuffers.html b/manuals/chickadee/Framebuffers.html
index fd0c64f..c57a82a 100644
--- a/manuals/chickadee/Framebuffers.html
+++ b/manuals/chickadee/Framebuffers.html
@@ -57,8 +57,31 @@ 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>
@@ -71,7 +94,7 @@ Next: <a href="Viewports.html#Viewports" accesskey="n" rel="next">Viewports</a>,
</div>
<hr>
<a name="Framebuffers-1"></a>
-<h4 class="subsection">2.4.8 Framebuffers</h4>
+<h4 class="subsection">2.4.9 Framebuffers</h4>
diff --git a/manuals/chickadee/GNU-Free-Documentation-License.html b/manuals/chickadee/GNU-Free-Documentation-License.html
index ea990ae..62ad23f 100644
--- a/manuals/chickadee/GNU-Free-Documentation-License.html
+++ b/manuals/chickadee/GNU-Free-Documentation-License.html
@@ -57,8 +57,31 @@ 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>
diff --git a/manuals/chickadee/Graphics.html b/manuals/chickadee/Graphics.html
index efe6df6..0afe5bc 100644
--- a/manuals/chickadee/Graphics.html
+++ b/manuals/chickadee/Graphics.html
@@ -57,8 +57,31 @@ 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>
@@ -85,21 +108,23 @@ blocks to implement additional rendering techniques.
<table class="menu" border="0" cellspacing="0">
<tr><td align="left" valign="top">&bull; <a href="Rendering-Engine.html#Rendering-Engine" accesskey="1">Rendering Engine</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Rendering state management.
</td></tr>
-<tr><td align="left" valign="top">&bull; <a href="Sprites.html#Sprites" accesskey="2">Sprites</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Draw 2D images.
+<tr><td align="left" valign="top">&bull; <a href="Textures.html#Textures" accesskey="2">Textures</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">2D images.
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="Sprites.html#Sprites" accesskey="3">Sprites</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Draw 2D images.
</td></tr>
-<tr><td align="left" valign="top">&bull; <a href="Lines-and-Shapes.html#Lines-and-Shapes" accesskey="3">Lines and Shapes</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Draw line segments and polygons.
+<tr><td align="left" valign="top">&bull; <a href="Lines-and-Shapes.html#Lines-and-Shapes" accesskey="4">Lines and Shapes</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Draw line segments and polygons.
</td></tr>
-<tr><td align="left" valign="top">&bull; <a href="Textures.html#Textures" accesskey="4">Textures</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">2D images.
+<tr><td align="left" valign="top">&bull; <a href="Fonts.html#Fonts" accesskey="5">Fonts</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Drawing text.
</td></tr>
-<tr><td align="left" valign="top">&bull; <a href="Blending-and-Depth-Testing.html#Blending-and-Depth-Testing" accesskey="5">Blending and Depth Testing</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Control how pixels are combined.
+<tr><td align="left" valign="top">&bull; <a href="Blending-and-Depth-Testing.html#Blending-and-Depth-Testing" accesskey="6">Blending and Depth Testing</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Control how pixels are combined.
</td></tr>
-<tr><td align="left" valign="top">&bull; <a href="Vertex-Arrays.html#Vertex-Arrays" accesskey="6">Vertex Arrays</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Create 2D/3D models.
+<tr><td align="left" valign="top">&bull; <a href="Vertex-Arrays.html#Vertex-Arrays" accesskey="7">Vertex Arrays</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Create 2D/3D models.
</td></tr>
-<tr><td align="left" valign="top">&bull; <a href="Shaders.html#Shaders" accesskey="7">Shaders</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Create custom GPU programs.
+<tr><td align="left" valign="top">&bull; <a href="Shaders.html#Shaders" accesskey="8">Shaders</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Create custom GPU programs.
</td></tr>
-<tr><td align="left" valign="top">&bull; <a href="Framebuffers.html#Framebuffers" accesskey="8">Framebuffers</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Render to texture.
+<tr><td align="left" valign="top">&bull; <a href="Framebuffers.html#Framebuffers" accesskey="9">Framebuffers</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Render to texture.
</td></tr>
-<tr><td align="left" valign="top">&bull; <a href="Viewports.html#Viewports" accesskey="9">Viewports</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Restrict rendering to
+<tr><td align="left" valign="top">&bull; <a href="Viewports.html#Viewports">Viewports</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Restrict rendering to
</td></tr>
</table>
diff --git a/manuals/chickadee/Index.html b/manuals/chickadee/Index.html
index 3863270..3c1df5e 100644
--- a/manuals/chickadee/Index.html
+++ b/manuals/chickadee/Index.html
@@ -56,8 +56,31 @@ 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>
@@ -80,6 +103,8 @@ Previous: <a href="Copying-This-Manual.html#Copying-This-Manual" accesskey="p" r
&nbsp;
<a class="summary-letter" href="#Index_fn_letter-D"><b>D</b></a>
&nbsp;
+<a class="summary-letter" href="#Index_fn_letter-F"><b>F</b></a>
+ &nbsp;
<a class="summary-letter" href="#Index_fn_letter-G"><b>G</b></a>
&nbsp;
<a class="summary-letter" href="#Index_fn_letter-K"><b>K</b></a>
@@ -88,10 +113,14 @@ Previous: <a href="Copying-This-Manual.html#Copying-This-Manual" accesskey="p" r
&nbsp;
<a class="summary-letter" href="#Index_fn_letter-M"><b>M</b></a>
&nbsp;
+<a class="summary-letter" href="#Index_fn_letter-P"><b>P</b></a>
+ &nbsp;
<a class="summary-letter" href="#Index_fn_letter-Q"><b>Q</b></a>
&nbsp;
<a class="summary-letter" href="#Index_fn_letter-R"><b>R</b></a>
&nbsp;
+<a class="summary-letter" href="#Index_fn_letter-S"><b>S</b></a>
+ &nbsp;
<a class="summary-letter" href="#Index_fn_letter-T"><b>T</b></a>
&nbsp;
<a class="summary-letter" href="#Index_fn_letter-U"><b>U</b></a>
@@ -124,6 +153,18 @@ Previous: <a href="Copying-This-Manual.html#Copying-This-Manual" accesskey="p" r
<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="Kernel.html#index-draw_002dhook"><code>draw-hook</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Kernel.html#Kernel">Kernel</a></td></tr>
+<tr><td></td><td valign="top"><a href="Lines-and-Shapes.html#index-draw_002dline"><code>draw-line</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Lines-and-Shapes.html#Lines-and-Shapes">Lines and Shapes</a></td></tr>
+<tr><td></td><td valign="top"><a href="Sprites.html#index-draw_002dnine_002dpatch"><code>draw-nine-patch</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Sprites.html#Sprites">Sprites</a></td></tr>
+<tr><td></td><td valign="top"><a href="Sprites.html#index-draw_002dsprite"><code>draw-sprite</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Sprites.html#Sprites">Sprites</a></td></tr>
+<tr><td></td><td valign="top"><a href="Fonts.html#index-draw_002dtext"><code>draw-text</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Fonts.html#Fonts">Fonts</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="Fonts.html#index-font_002dbold_003f"><code>font-bold?</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Fonts.html#Fonts">Fonts</a></td></tr>
+<tr><td></td><td valign="top"><a href="Fonts.html#index-font_002dface"><code>font-face</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Fonts.html#Fonts">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>&nbsp;</td><td valign="top"><a href="Fonts.html#Fonts">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>&nbsp;</td><td valign="top"><a href="Fonts.html#Fonts">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>&nbsp;</td><td valign="top"><a href="Fonts.html#Fonts">Fonts</a></td></tr>
+<tr><td></td><td valign="top"><a href="Fonts.html#index-font_003f"><code>font?</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Fonts.html#Fonts">Fonts</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th><a name="Index_fn_letter-G">G</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="Rendering-Engine.html#index-gpu_002dapply"><code>gpu-apply</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Rendering-Engine.html#Rendering-Engine">Rendering Engine</a></td></tr>
@@ -134,20 +175,38 @@ Previous: <a href="Copying-This-Manual.html#Copying-This-Manual" accesskey="p" r
<tr><td></td><td valign="top"><a href="Kernel.html#index-key_002drelease_002dhook"><code>key-release-hook</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Kernel.html#Kernel">Kernel</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="Fonts.html#index-load_002dfont"><code>load-font</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Fonts.html#Fonts">Fonts</a></td></tr>
<tr><td></td><td valign="top"><a href="Kernel.html#index-load_002dhook"><code>load-hook</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Kernel.html#Kernel">Kernel</a></td></tr>
<tr><td></td><td valign="top"><a href="Textures.html#index-load_002dimage"><code>load-image</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Textures.html#Textures">Textures</a></td></tr>
+<tr><td></td><td valign="top"><a href="Audio.html#index-load_002dmusic"><code>load-music</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Audio.html#Audio">Audio</a></td></tr>
+<tr><td></td><td valign="top"><a href="Audio.html#index-load_002dsample"><code>load-sample</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Audio.html#Audio">Audio</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="Kernel.html#index-mouse_002dmove_002dhook"><code>mouse-move-hook</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Kernel.html#Kernel">Kernel</a></td></tr>
<tr><td></td><td valign="top"><a href="Kernel.html#index-mouse_002dpress_002dhook"><code>mouse-press-hook</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Kernel.html#Kernel">Kernel</a></td></tr>
<tr><td></td><td valign="top"><a href="Kernel.html#index-mouse_002drelease_002dhook"><code>mouse-release-hook</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Kernel.html#Kernel">Kernel</a></td></tr>
+<tr><td></td><td valign="top"><a href="Audio.html#index-music_002dpaused_003f"><code>music-paused?</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Audio.html#Audio">Audio</a></td></tr>
+<tr><td></td><td valign="top"><a href="Audio.html#index-music_002dplaying_003f"><code>music-playing?</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Audio.html#Audio">Audio</a></td></tr>
+<tr><td></td><td valign="top"><a href="Audio.html#index-music_002dvolume"><code>music-volume</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Audio.html#Audio">Audio</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="Audio.html#index-pause_002dmusic"><code>pause-music</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Audio.html#Audio">Audio</a></td></tr>
+<tr><td></td><td valign="top"><a href="Audio.html#index-play_002dmusic"><code>play-music</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Audio.html#Audio">Audio</a></td></tr>
+<tr><td></td><td valign="top"><a href="Audio.html#index-play_002dsample"><code>play-sample</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Audio.html#Audio">Audio</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="Kernel.html#index-quit_002dhook"><code>quit-hook</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Kernel.html#Kernel">Kernel</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="Audio.html#index-resume_002dmusic"><code>resume-music</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Audio.html#Audio">Audio</a></td></tr>
+<tr><td></td><td valign="top"><a href="Audio.html#index-rewind_002dmusic"><code>rewind-music</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Audio.html#Audio">Audio</a></td></tr>
<tr><td></td><td valign="top"><a href="Kernel.html#index-run_002dgame"><code>run-game</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Kernel.html#Kernel">Kernel</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="Audio.html#index-set_002dmusic_002dvolume_0021"><code>set-music-volume!</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Audio.html#Audio">Audio</a></td></tr>
+<tr><td></td><td valign="top"><a href="Audio.html#index-set_002dsample_002dvolume_0021"><code>set-sample-volume!</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Audio.html#Audio">Audio</a></td></tr>
+<tr><td></td><td valign="top"><a href="Audio.html#index-stop_002dmusic"><code>stop-music</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Audio.html#Audio">Audio</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="Kernel.html#index-text_002dinput_002dhook"><code>text-input-hook</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Kernel.html#Kernel">Kernel</a></td></tr>
<tr><td></td><td valign="top"><a href="Kernel.html#index-time"><code>time</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Kernel.html#Kernel">Kernel</a></td></tr>
@@ -156,6 +215,7 @@ Previous: <a href="Copying-This-Manual.html#Copying-This-Manual" accesskey="p" r
<tr><td></td><td valign="top"><a href="Kernel.html#index-update_002dhook"><code>update-hook</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Kernel.html#Kernel">Kernel</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="Sprites.html#index-with_002dbatched_002dsprites"><code>with-batched-sprites</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Sprites.html#Sprites">Sprites</a></td></tr>
<tr><td></td><td valign="top"><a href="Rendering-Engine.html#index-with_002dblend_002dmode"><code>with-blend-mode</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Rendering-Engine.html#Rendering-Engine">Rendering Engine</a></td></tr>
<tr><td></td><td valign="top"><a href="Rendering-Engine.html#index-with_002ddepth_002dtest"><code>with-depth-test</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Rendering-Engine.html#Rendering-Engine">Rendering Engine</a></td></tr>
<tr><td></td><td valign="top"><a href="Rendering-Engine.html#index-with_002dframebuffer"><code>with-framebuffer</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="Rendering-Engine.html#Rendering-Engine">Rendering Engine</a></td></tr>
@@ -172,6 +232,8 @@ Previous: <a href="Copying-This-Manual.html#Copying-This-Manual" accesskey="p" r
&nbsp;
<a class="summary-letter" href="#Index_fn_letter-D"><b>D</b></a>
&nbsp;
+<a class="summary-letter" href="#Index_fn_letter-F"><b>F</b></a>
+ &nbsp;
<a class="summary-letter" href="#Index_fn_letter-G"><b>G</b></a>
&nbsp;
<a class="summary-letter" href="#Index_fn_letter-K"><b>K</b></a>
@@ -180,10 +242,14 @@ Previous: <a href="Copying-This-Manual.html#Copying-This-Manual" accesskey="p" r
&nbsp;
<a class="summary-letter" href="#Index_fn_letter-M"><b>M</b></a>
&nbsp;
+<a class="summary-letter" href="#Index_fn_letter-P"><b>P</b></a>
+ &nbsp;
<a class="summary-letter" href="#Index_fn_letter-Q"><b>Q</b></a>
&nbsp;
<a class="summary-letter" href="#Index_fn_letter-R"><b>R</b></a>
&nbsp;
+<a class="summary-letter" href="#Index_fn_letter-S"><b>S</b></a>
+ &nbsp;
<a class="summary-letter" href="#Index_fn_letter-T"><b>T</b></a>
&nbsp;
<a class="summary-letter" href="#Index_fn_letter-U"><b>U</b></a>
diff --git a/manuals/chickadee/Input.html b/manuals/chickadee/Input.html
index 3c25932..d559126 100644
--- a/manuals/chickadee/Input.html
+++ b/manuals/chickadee/Input.html
@@ -57,8 +57,31 @@ 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>
diff --git a/manuals/chickadee/Installation.html b/manuals/chickadee/Installation.html
index f9f3629..a362263 100644
--- a/manuals/chickadee/Installation.html
+++ b/manuals/chickadee/Installation.html
@@ -57,8 +57,31 @@ 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>
diff --git a/manuals/chickadee/Kernel.html b/manuals/chickadee/Kernel.html
index c9d635b..589c71e 100644
--- a/manuals/chickadee/Kernel.html
+++ b/manuals/chickadee/Kernel.html
@@ -57,8 +57,31 @@ 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>
@@ -95,10 +118,9 @@ There are many hooks available, so read on to learn about all of them.
For information about using Guile&rsquo;s hook API, see See <a href="http://www.gnu.org/software/guile/manual/html_node/Hooks.html#Hooks">Hooks</a> in <cite>GNU Guile Reference Manual</cite>.
</p>
<dl>
-<dt><a name="index-run_002dgame"></a>Scheme Procedure: <strong>run-game</strong> <em>[#:window-title &quot;Chickadee!&quot;]</em></dt>
-<dd><p>[#:window-width 640] [#:window-height 480] [#:window-fullscreen? #f]
- [#:update-hz 60]
-Start the event loop. This procedure will not return until
+<dt><a name="index-run_002dgame"></a>Scheme Procedure: <strong>run-game</strong> <em>[#:window-title &quot;Chickadee!&quot;] [#:window-width 640] [#:window-height 480] [#:window-fullscreen? #f] [#:update-hz 60]</em></dt>
+<dd>
+<p>Start the event loop. This procedure will not return until
<code>abort-game</code> is called.
</p>
<p>The <code>update-hook</code> will be run <var>update-hz</var> times per second.
diff --git a/manuals/chickadee/Lines-and-Shapes.html b/manuals/chickadee/Lines-and-Shapes.html
index 01fac7b..13232ab 100644
--- a/manuals/chickadee/Lines-and-Shapes.html
+++ b/manuals/chickadee/Lines-and-Shapes.html
@@ -30,7 +30,7 @@ http://www.texinfo.org/ (GNU Texinfo).
<link href="Index.html#Index" rel="index" title="Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Graphics.html#Graphics" rel="up" title="Graphics">
-<link href="Textures.html#Textures" rel="next" title="Textures">
+<link href="Fonts.html#Fonts" rel="next" title="Fonts">
<link href="Sprites.html#Sprites" rel="prev" title="Sprites">
<style type="text/css">
<!--
@@ -57,8 +57,31 @@ 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>
@@ -67,11 +90,28 @@ ul.no-bullet {list-style: none}
<a name="Lines-and-Shapes"></a>
<div class="header">
<p>
-Next: <a href="Textures.html#Textures" accesskey="n" rel="next">Textures</a>, Previous: <a href="Sprites.html#Sprites" accesskey="p" rel="prev">Sprites</a>, Up: <a href="Graphics.html#Graphics" accesskey="u" rel="up">Graphics</a> &nbsp; [<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>
+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="Graphics.html#Graphics" accesskey="u" rel="up">Graphics</a> &nbsp; [<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="Lines-and-Shapes-1"></a>
-<h4 class="subsection">2.4.3 Lines and Shapes</h4>
+<h4 class="subsection">2.4.4 Lines and Shapes</h4>
+
+<p>Sprites are fun, but sometimes simple, untextured lines and polygons
+are desired. That&rsquo;s where the <code>(chickadee render shapes)</code> module
+comes in!
+</p>
+<dl>
+<dt><a name="index-draw_002dline"></a>Scheme Procedure: <strong>draw-line</strong> <em><var>start</var> <var>end</var> [#:thickness 0.5] [#:feather 1.0] [#:cap round] [#:color] [#:shader]</em></dt>
+<dd>
+<p>Draw a line segment from <var>start</var> to <var>end</var>. The line will be
+<var>thickness</var> pixels thick with an antialiased border <var>feather</var>
+pixels wide. The line will be colored <var>color</var>. <var>cap</var>
+specifies the type of end cap that should be used to terminate the
+lines, either <code>none</code>, <code>butt</code>, <code>square</code>, <code>round</code>,
+<code>triangle-in</code>, or <code>triangle-out</code>. Advanced users may use
+the <var>shader</var> argument to override the built-in line segment
+shader.
+</p></dd></dl>
diff --git a/manuals/chickadee/Math.html b/manuals/chickadee/Math.html
index 0204efc..fcf9746 100644
--- a/manuals/chickadee/Math.html
+++ b/manuals/chickadee/Math.html
@@ -57,8 +57,31 @@ 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>
diff --git a/manuals/chickadee/Matrices.html b/manuals/chickadee/Matrices.html
index f84f62d..8630efd 100644
--- a/manuals/chickadee/Matrices.html
+++ b/manuals/chickadee/Matrices.html
@@ -57,8 +57,31 @@ 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>
diff --git a/manuals/chickadee/Rectangles.html b/manuals/chickadee/Rectangles.html
index 743db15..6d0c9e8 100644
--- a/manuals/chickadee/Rectangles.html
+++ b/manuals/chickadee/Rectangles.html
@@ -57,8 +57,31 @@ 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>
diff --git a/manuals/chickadee/Rendering-Engine.html b/manuals/chickadee/Rendering-Engine.html
index b4514db..9bc09da 100644
--- a/manuals/chickadee/Rendering-Engine.html
+++ b/manuals/chickadee/Rendering-Engine.html
@@ -30,7 +30,7 @@ http://www.texinfo.org/ (GNU Texinfo).
<link href="Index.html#Index" rel="index" title="Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Graphics.html#Graphics" rel="up" title="Graphics">
-<link href="Sprites.html#Sprites" rel="next" title="Sprites">
+<link href="Textures.html#Textures" rel="next" title="Textures">
<link href="Graphics.html#Graphics" rel="prev" title="Graphics">
<style type="text/css">
<!--
@@ -57,8 +57,31 @@ 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>
@@ -67,7 +90,7 @@ ul.no-bullet {list-style: none}
<a name="Rendering-Engine"></a>
<div class="header">
<p>
-Next: <a href="Sprites.html#Sprites" accesskey="n" rel="next">Sprites</a>, Up: <a href="Graphics.html#Graphics" accesskey="u" rel="up">Graphics</a> &nbsp; [<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>
+Next: <a href="Textures.html#Textures" accesskey="n" rel="next">Textures</a>, Up: <a href="Graphics.html#Graphics" accesskey="u" rel="up">Graphics</a> &nbsp; [<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-Engine-1"></a>
@@ -90,8 +113,8 @@ would be tedious to have to have to specify them each time
<code>(chickadee render)</code> module.
</p>
<dl>
-<dt><a name="index-gpu_002dapply"></a>Scheme Syntax: <strong>gpu-apply</strong> <em><var>shader</var> <var>vertex-array</var> [#:uniform-key <var>uniform-value</var> ...]</em></dt>
-<dt><a name="index-gpu_002dapply_002a"></a>Scheme Syntax: <strong>gpu-apply*</strong> <em><var>shader</var> <var>vertex-array</var> <var>count</var> [#:uniform-key <var>uniform-value</var> ...]</em></dt>
+<dt><a name="index-gpu_002dapply"></a>Scheme Syntax: <strong>gpu-apply</strong> <em><var>shader</var> <var>vertex-array</var> [#:uniform-key <var>uniform-value</var> ...]</em></dt>
+<dt><a name="index-gpu_002dapply_002a"></a>Scheme Syntax: <strong>gpu-apply*</strong> <em><var>shader</var> <var>vertex-array</var> <var>count</var> [#:uniform-key <var>uniform-value</var> ...]</em></dt>
<dd>
<p>Render <var>vertex-array</var> using <var>shader</var> with the uniform values
specified in the following keyword arguments.
@@ -174,7 +197,7 @@ is <code>#f</code>, or enabled otherwise.
<hr>
<div class="header">
<p>
-Next: <a href="Sprites.html#Sprites" accesskey="n" rel="next">Sprites</a>, Up: <a href="Graphics.html#Graphics" accesskey="u" rel="up">Graphics</a> &nbsp; [<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>
+Next: <a href="Textures.html#Textures" accesskey="n" rel="next">Textures</a>, Up: <a href="Graphics.html#Graphics" accesskey="u" rel="up">Graphics</a> &nbsp; [<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>
diff --git a/manuals/chickadee/Requirements.html b/manuals/chickadee/Requirements.html
index 53927d7..d3e9918 100644
--- a/manuals/chickadee/Requirements.html
+++ b/manuals/chickadee/Requirements.html
@@ -57,8 +57,31 @@ 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>
diff --git a/manuals/chickadee/Shaders.html b/manuals/chickadee/Shaders.html
index a0e7637..7b3a2a0 100644
--- a/manuals/chickadee/Shaders.html
+++ b/manuals/chickadee/Shaders.html
@@ -57,8 +57,31 @@ 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>
@@ -71,7 +94,7 @@ Next: <a href="Framebuffers.html#Framebuffers" accesskey="n" rel="next">Framebuf
</div>
<hr>
<a name="Shaders-1"></a>
-<h4 class="subsection">2.4.7 Shaders</h4>
+<h4 class="subsection">2.4.8 Shaders</h4>
<p>Shaders are programs for the GPU to evaluate. They are written in the
OpenGL Shading Language, or GLSL. Chickadee does not currently
diff --git a/manuals/chickadee/Sprites.html b/manuals/chickadee/Sprites.html
index 700941b..0c114bd 100644
--- a/manuals/chickadee/Sprites.html
+++ b/manuals/chickadee/Sprites.html
@@ -31,7 +31,7 @@ http://www.texinfo.org/ (GNU Texinfo).
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Graphics.html#Graphics" rel="up" title="Graphics">
<link href="Lines-and-Shapes.html#Lines-and-Shapes" rel="next" title="Lines and Shapes">
-<link href="Rendering-Engine.html#Rendering-Engine" rel="prev" title="Rendering Engine">
+<link href="Textures.html#Textures" rel="prev" title="Textures">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
@@ -57,8 +57,31 @@ 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>
@@ -67,12 +90,92 @@ ul.no-bullet {list-style: none}
<a name="Sprites"></a>
<div class="header">
<p>
-Next: <a href="Lines-and-Shapes.html#Lines-and-Shapes" accesskey="n" rel="next">Lines and Shapes</a>, Previous: <a href="Rendering-Engine.html#Rendering-Engine" accesskey="p" rel="prev">Rendering Engine</a>, Up: <a href="Graphics.html#Graphics" accesskey="u" rel="up">Graphics</a> &nbsp; [<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>
+Next: <a href="Lines-and-Shapes.html#Lines-and-Shapes" accesskey="n" rel="next">Lines and Shapes</a>, Previous: <a href="Textures.html#Textures" accesskey="p" rel="prev">Textures</a>, Up: <a href="Graphics.html#Graphics" accesskey="u" rel="up">Graphics</a> &nbsp; [<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">2.4.2 Sprites</h4>
+<h4 class="subsection">2.4.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. In Chickadee, bitmaps are
+stored in textures (see <a href="Textures.html#Textures">Textures</a>) and can be used to draw sprites
+via the <code>draw-sprite</code> procedure.
+</p>
+<dl>
+<dt><a name="index-draw_002dsprite"></a>Scheme Procedure: <strong>draw-sprite</strong> <em><var>texture</var> <var>region</var> [#:scale] [#:rotation] [#:blend-mode alpha] [#:texture-region] [#:shader]</em></dt>
+</dl>
+
+<p>It&rsquo;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>, which will
+quickly lead to poor performance. To deal with this, a technique
+known as &ldquo;sprite batching&rdquo; can be used. Instead of drawing each
+sprite immediately, the sprite batch will build up a large of buffer
+of sprites to draw and defer rendering until the last possible moment.
+Batching isn&rsquo;t a panacea, though. Batching only works if the sprites
+being drawn share as much in common as possible. Every time you draw
+a sprite with a different texture or blend mode, the batch will be
+sent off to the GPU. Therefore, batching is most useful if you
+minimize such changes. A good strategy for reducing texture changes
+is to stuff many bitmaps into a single image file and create a
+&ldquo;texture atlas&rdquo; (see <a href="Textures.html#Textures">Textures</a>) to access the sub-images within.
+</p>
+<p>Taking advantage of sprite batching in Chickadee is easy, just wrap
+the code that is calling <code>draw-sprite</code> a lot in the
+<code>with-batched-sprites</code> form.
+</p>
+<dl>
+<dt><a name="index-with_002dbatched_002dsprites"></a>Scheme Syntax: <strong>with-batched-sprites</strong> <em><var>body</var> &hellip;</em></dt>
+<dd><p>Use batched rendering for all <code>draw-sprite</code> calls within
+<var>body</var>.
+</p></dd></dl>
+
+<p>With a basic sprite abstraction in place, it&rsquo;s possible to build other
+abstractions on top of it. One such example is the &ldquo;nine patch&rdquo;. A
+nine patch is a sprite that can be rendered at various sizes without
+becoming distorted. This is achieved by diving up the sprite into
+nine regions:
+</p>
+<ul>
+<li> the center, which can be scaled horizontally and vertically
+</li><li> the four corners, which can never be scaled
+</li><li> the left and right sides, which can be scaled vertically
+</li><li> the top and bottom sides, which can be scaled horizontally
+</li></ul>
+<p>The one caveat is that the bitmap regions must be designed in such a
+way so that they are not distorted when stretched along the affected
+axes. For example, that means that the top and bottom sides could
+have varying colored pixels vertically, but not horizontally.
+</p>
+<p>The most common application of this technique is for graphical user
+interface widgets like buttons and dialog boxes. By using a nine
+patch, they can be rendered at any size without unappealing scaling
+artifacts.
+</p>
+<dl>
+<dt><a name="index-draw_002dnine_002dpatch"></a>Scheme Procedure: <strong>draw-nine-patch</strong> <em><var>texture</var> <var>region</var> [#:margin 0] [#:top-margin margin] [#:bottom-margin margin] [#:left-margin margin] [#:right-margin margin] [#:texture-region] [#:scale] [#:rotation] [#:blend-mode alpha] [#:shader]</em></dt>
+<dd>
+<p>Draw a nine patch sprite. A nine patch sprite renders <var>texture</var>
+as a <var>width</var> x <var>height</var> rectangle whose stretchable areas are
+defined by the given margin measurements <var>top-margin</var>,
+<var>bottom-margin</var>, <var>left-margin</var>, and <var>right-margin</var>. The
+<var>margin</var> argument may be used to configure all four margins at
+once.
+</p>
+<p>Refer to <code>draw-sprite</code> (see <a href="#Sprites">Sprites</a>) for information about
+the other arguments.
+</p></dd></dl>
+
+<hr>
+<div class="header">
+<p>
+Next: <a href="Lines-and-Shapes.html#Lines-and-Shapes" accesskey="n" rel="next">Lines and Shapes</a>, Previous: <a href="Textures.html#Textures" accesskey="p" rel="prev">Textures</a>, Up: <a href="Graphics.html#Graphics" accesskey="u" rel="up">Graphics</a> &nbsp; [<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>
diff --git a/manuals/chickadee/Textures.html b/manuals/chickadee/Textures.html
index a31d6fb..66d9fe7 100644
--- a/manuals/chickadee/Textures.html
+++ b/manuals/chickadee/Textures.html
@@ -30,8 +30,8 @@ http://www.texinfo.org/ (GNU Texinfo).
<link href="Index.html#Index" rel="index" title="Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Graphics.html#Graphics" rel="up" title="Graphics">
-<link href="Blending-and-Depth-Testing.html#Blending-and-Depth-Testing" rel="next" title="Blending and Depth Testing">
-<link href="Lines-and-Shapes.html#Lines-and-Shapes" rel="prev" title="Lines and Shapes">
+<link href="Sprites.html#Sprites" rel="next" title="Sprites">
+<link href="Rendering-Engine.html#Rendering-Engine" rel="prev" title="Rendering Engine">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
@@ -57,8 +57,31 @@ 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>
@@ -67,16 +90,15 @@ ul.no-bullet {list-style: none}
<a name="Textures"></a>
<div class="header">
<p>
-Next: <a href="Blending-and-Depth-Testing.html#Blending-and-Depth-Testing" accesskey="n" rel="next">Blending and Depth Testing</a>, Previous: <a href="Lines-and-Shapes.html#Lines-and-Shapes" accesskey="p" rel="prev">Lines and Shapes</a>, Up: <a href="Graphics.html#Graphics" accesskey="u" rel="up">Graphics</a> &nbsp; [<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>
+Next: <a href="Sprites.html#Sprites" accesskey="n" rel="next">Sprites</a>, Previous: <a href="Rendering-Engine.html#Rendering-Engine" accesskey="p" rel="prev">Rendering Engine</a>, Up: <a href="Graphics.html#Graphics" accesskey="u" rel="up">Graphics</a> &nbsp; [<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">2.4.4 Textures</h4>
+<h4 class="subsection">2.4.2 Textures</h4>
<dl>
-<dt><a name="index-load_002dimage"></a>Scheme Procedure: <strong>load-image</strong> <em><var>file</var> [#:min-filter nearest]</em></dt>
-<dd><p>[#:mag-filter nearest] [#:wrap-s repeat] [#:wrap-t repeat]
-</p>
+<dt><a name="index-load_002dimage"></a>Scheme Procedure: <strong>load-image</strong> <em><var>file</var> [#:min-filter nearest] [#:mag-filter nearest] [#:wrap-s repeat] [#:wrap-t repeat]</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
diff --git a/manuals/chickadee/Vectors.html b/manuals/chickadee/Vectors.html
index 8a624ff..eb79149 100644
--- a/manuals/chickadee/Vectors.html
+++ b/manuals/chickadee/Vectors.html
@@ -57,8 +57,31 @@ 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>
diff --git a/manuals/chickadee/Vertex-Arrays.html b/manuals/chickadee/Vertex-Arrays.html
index 72b0273..9b3f5b1 100644
--- a/manuals/chickadee/Vertex-Arrays.html
+++ b/manuals/chickadee/Vertex-Arrays.html
@@ -57,8 +57,31 @@ 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>
@@ -71,7 +94,7 @@ Next: <a href="Shaders.html#Shaders" accesskey="n" rel="next">Shaders</a>, Previ
</div>
<hr>
<a name="Vertex-Arrays-1"></a>
-<h4 class="subsection">2.4.6 Vertex Arrays</h4>
+<h4 class="subsection">2.4.7 Vertex Arrays</h4>
diff --git a/manuals/chickadee/Viewports.html b/manuals/chickadee/Viewports.html
index f55d386..c54e7c9 100644
--- a/manuals/chickadee/Viewports.html
+++ b/manuals/chickadee/Viewports.html
@@ -57,8 +57,31 @@ 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>
@@ -71,7 +94,7 @@ Previous: <a href="Framebuffers.html#Framebuffers" accesskey="p" rel="prev">Fram
</div>
<hr>
<a name="Viewports-1"></a>
-<h4 class="subsection">2.4.9 Viewports</h4>
+<h4 class="subsection">2.4.10 Viewports</h4>
diff --git a/manuals/chickadee/index.html b/manuals/chickadee/index.html
index d044f9f..b10ea67 100644
--- a/manuals/chickadee/index.html
+++ b/manuals/chickadee/index.html
@@ -56,8 +56,31 @@ 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>
@@ -89,14 +112,15 @@ ul.no-bullet {list-style: none}
<li><a name="toc-Graphics-1" href="Graphics.html#Graphics">2.4 Graphics</a>
<ul class="no-bullet">
<li><a name="toc-Rendering-Engine-1" href="Rendering-Engine.html#Rendering-Engine">2.4.1 Rendering Engine</a></li>
- <li><a name="toc-Sprites-1" href="Sprites.html#Sprites">2.4.2 Sprites</a></li>
- <li><a name="toc-Lines-and-Shapes-1" href="Lines-and-Shapes.html#Lines-and-Shapes">2.4.3 Lines and Shapes</a></li>
- <li><a name="toc-Textures-1" href="Textures.html#Textures">2.4.4 Textures</a></li>
- <li><a name="toc-Blending-and-Depth-Testing-1" href="Blending-and-Depth-Testing.html#Blending-and-Depth-Testing">2.4.5 Blending and Depth Testing</a></li>
- <li><a name="toc-Vertex-Arrays-1" href="Vertex-Arrays.html#Vertex-Arrays">2.4.6 Vertex Arrays</a></li>
- <li><a name="toc-Shaders-1" href="Shaders.html#Shaders">2.4.7 Shaders</a></li>
- <li><a name="toc-Framebuffers-1" href="Framebuffers.html#Framebuffers">2.4.8 Framebuffers</a></li>
- <li><a name="toc-Viewports-1" href="Viewports.html#Viewports">2.4.9 Viewports</a></li>
+ <li><a name="toc-Textures-1" href="Textures.html#Textures">2.4.2 Textures</a></li>
+ <li><a name="toc-Sprites-1" href="Sprites.html#Sprites">2.4.3 Sprites</a></li>
+ <li><a name="toc-Lines-and-Shapes-1" href="Lines-and-Shapes.html#Lines-and-Shapes">2.4.4 Lines and Shapes</a></li>
+ <li><a name="toc-Fonts-1" href="Fonts.html#Fonts">2.4.5 Fonts</a></li>
+ <li><a name="toc-Blending-and-Depth-Testing-1" href="Blending-and-Depth-Testing.html#Blending-and-Depth-Testing">2.4.6 Blending and Depth Testing</a></li>
+ <li><a name="toc-Vertex-Arrays-1" href="Vertex-Arrays.html#Vertex-Arrays">2.4.7 Vertex Arrays</a></li>
+ <li><a name="toc-Shaders-1" href="Shaders.html#Shaders">2.4.8 Shaders</a></li>
+ <li><a name="toc-Framebuffers-1" href="Framebuffers.html#Framebuffers">2.4.9 Framebuffers</a></li>
+ <li><a name="toc-Viewports-1" href="Viewports.html#Viewports">2.4.10 Viewports</a></li>
</ul></li>
<li><a name="toc-Audio-1" href="Audio.html#Audio">2.5 Audio</a></li>
</ul></li>