1008 lines
156 KiB
HTML
1008 lines
156 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
<html>
|
|
<head>
|
|
<title>HTML</title>
|
|
<meta name="viewport" content="width=device-width initial-scale=1">
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<meta http-equiv="Content-Language" content="en-gb">
|
|
<link href="../inweb.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
|
|
|
</head>
|
|
<body>
|
|
<nav role="navigation">
|
|
<h1><a href="../webs.html">Sources</a></h1>
|
|
<ul>
|
|
<li><a href="../inweb/index.html">inweb</a></li>
|
|
</ul>
|
|
<h2>Foundation</h2>
|
|
<ul>
|
|
<li><a href="../foundation-module/index.html">foundation-module</a></li>
|
|
<li><a href="../foundation-test/index.html">foundation-test</a></li>
|
|
</ul>
|
|
|
|
|
|
</nav>
|
|
<main role="main">
|
|
|
|
<!--Weave of 'HTML' generated by 7-->
|
|
<ul class="crumbs"><li><a href="../webs.html">Source</a></li><li><a href="index.html">foundation</a></li><li><a href="index.html#5">Chapter 5: Generating Websites</a></li><li><b>HTML</b></li></ul><p class="purpose">Utility functions for writing HTML.</p>
|
|
|
|
<ul class="toc"><li><a href="#SP1">§1. Abstraction</a></li><li><a href="#SP8">§8. Head</a></li><li><a href="#SP10">§10. Scripts and styles</a></li><li><a href="#SP12">§12. Body</a></li><li><a href="#SP13">§13. Divisions</a></li><li><a href="#SP14">§14. Images</a></li><li><a href="#SP15">§15. Links</a></li><li><a href="#SP16">§16. Tables</a></li><li><a href="#SP18">§18. Round-rects</a></li><li><a href="#SP19">§19. Miscellaneous</a></li><li><a href="#SP20">§20. HTML colours</a></li></ul><hr class="tocbar">
|
|
|
|
<p class="inwebparagraph"><a id="SP1"></a><b>§1. Abstraction. </b>Though the code below does nothing at all interesting, to put it mildly,
|
|
it's written a little defensively, to increase the chances that the client
|
|
is producing valid HTML with it. In particular, the client won't be
|
|
allowed to open a <code class="display"><span class="extract">p</span></code> tag, then open a <code class="display"><span class="extract">b</span></code> tag, then close the <code class="display"><span class="extract">p</span></code>, then
|
|
close the <code class="display"><span class="extract">b</span></code>: that would be wrongly nested. We want to throw errors like
|
|
that into the debugging log, so:
|
|
</p>
|
|
|
|
|
|
<pre class="definitions">
|
|
<span class="definitionkeyword">define</span> <span class="identifier">tag_error</span><span class="plain">(</span><span class="identifier">x</span><span class="plain">) { </span><span class="identifier">LOG</span><span class="plain">(</span><span class="string">"Tag error: %s\n"</span><span class="plain">, </span><span class="identifier">x</span><span class="plain">); }</span>
|
|
</pre>
|
|
<p class="inwebparagraph"><a id="SP2"></a><b>§2. </b>Any text stream can be declared as being HTML, and therefore subject to
|
|
this auditing. To do that, we atach an <code class="display"><span class="extract">HTML_file_state</span></code> object to the
|
|
text stream.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="reserved">typedef</span><span class="plain"> </span><span class="reserved">struct</span><span class="plain"> </span><span class="reserved">HTML_file_state</span><span class="plain"> {</span>
|
|
<span class="reserved">int</span><span class="plain"> </span><span class="identifier">XHTML_flag</span><span class="plain">; </span><span class="comment"> writing strict XHTML for use in epubs</span>
|
|
<span class="reserved">struct</span><span class="plain"> </span><span class="constant">lifo_stack</span><span class="plain"> *</span><span class="identifier">tag_stack</span><span class="plain">; </span><span class="comment"> of <code class="display"><span class="extract">HTML_tag</span></code>: those currently open</span>
|
|
<span class="reserved">int</span><span class="plain"> </span><span class="identifier">CSS_included</span><span class="plain">;</span>
|
|
<span class="reserved">int</span><span class="plain"> </span><span class="identifier">JS_included</span><span class="plain">;</span>
|
|
<span class="constant">MEMORY_MANAGEMENT</span>
|
|
<span class="plain">} </span><span class="reserved">HTML_file_state</span><span class="plain">;</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::declare_as_HTML</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">XHTML</span><span class="plain">) {</span>
|
|
<span class="reserved">HTML_file_state</span><span class="plain"> *</span><span class="identifier">hs</span><span class="plain"> = </span><span class="identifier">CREATE</span><span class="plain">(</span><span class="reserved">HTML_file_state</span><span class="plain">);</span>
|
|
<span class="identifier">hs</span><span class="plain">-></span><span class="element">XHTML_flag</span><span class="plain"> = </span><span class="identifier">XHTML</span><span class="plain">;</span>
|
|
<span class="identifier">hs</span><span class="plain">-></span><span class="element">tag_stack</span><span class="plain"> = </span><span class="identifier">NEW_LIFO_STACK</span><span class="plain">(</span><span class="reserved">HTML_tag</span><span class="plain">);</span>
|
|
<span class="identifier">hs</span><span class="plain">-></span><span class="element">CSS_included</span><span class="plain"> = </span><span class="constant">0</span><span class="plain">;</span>
|
|
<span class="identifier">hs</span><span class="plain">-></span><span class="element">JS_included</span><span class="plain"> = </span><span class="constant">0</span><span class="plain">;</span>
|
|
<span class="functiontext">Streams::declare_as_HTML</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">hs</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="endnote">The function HTML::declare_as_HTML is used in 5/ee (<a href="5-ee.html#SP6_3">§6.3</a>).</p>
|
|
|
|
<p class="endnote">The structure HTML_file_state is private to this section.</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP3"></a><b>§3. </b>What we require is that any tag "pushed" to the file must later be "pulled",
|
|
and in the right order. Thus we can't open body, open div, close body, because
|
|
that would be a div tag which was pushed but not pulled.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="reserved">int</span><span class="plain"> </span><span class="identifier">unique_xref</span><span class="plain"> = </span><span class="constant">0</span><span class="plain">;</span>
|
|
<span class="reserved">typedef</span><span class="plain"> </span><span class="reserved">struct</span><span class="plain"> </span><span class="reserved">HTML_tag</span><span class="plain"> {</span>
|
|
<span class="reserved">char</span><span class="plain"> *</span><span class="identifier">tag_name</span><span class="plain">;</span>
|
|
<span class="reserved">int</span><span class="plain"> </span><span class="identifier">tag_xref</span><span class="plain">;</span>
|
|
<span class="constant">MEMORY_MANAGEMENT</span>
|
|
<span class="plain">} </span><span class="reserved">HTML_tag</span><span class="plain">;</span>
|
|
|
|
<span class="reserved">int</span><span class="plain"> </span><span class="functiontext">HTML::push_tag</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">char</span><span class="plain"> *</span><span class="identifier">tag</span><span class="plain">) {</span>
|
|
<span class="reserved">int</span><span class="plain"> </span><span class="identifier">u</span><span class="plain"> = </span><span class="identifier">unique_xref</span><span class="plain">++;</span>
|
|
<span class="reserved">HTML_file_state</span><span class="plain"> *</span><span class="identifier">hs</span><span class="plain"> = </span><span class="functiontext">Streams::get_HTML_file_state</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">hs</span><span class="plain">) {</span>
|
|
<span class="reserved">HTML_tag</span><span class="plain"> *</span><span class="identifier">ht</span><span class="plain"> = </span><span class="identifier">CREATE</span><span class="plain">(</span><span class="reserved">HTML_tag</span><span class="plain">);</span>
|
|
<span class="identifier">ht</span><span class="plain">-></span><span class="element">tag_name</span><span class="plain"> = </span><span class="identifier">tag</span><span class="plain">;</span>
|
|
<span class="identifier">ht</span><span class="plain">-></span><span class="element">tag_xref</span><span class="plain"> = </span><span class="identifier">u</span><span class="plain">;</span>
|
|
<span class="identifier">PUSH_TO_LIFO_STACK</span><span class="plain">(</span><span class="identifier">ht</span><span class="plain">, </span><span class="reserved">HTML_tag</span><span class="plain">, </span><span class="identifier">hs</span><span class="plain">-></span><span class="element">tag_stack</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">u</span><span class="plain">;</span>
|
|
<span class="plain">}</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="endnote">The function HTML::push_tag is used in <a href="#SP7">§7</a>.</p>
|
|
|
|
<p class="endnote">The structure HTML_tag is accessed in 8/ws and here.</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP4"></a><b>§4. </b></p>
|
|
|
|
<pre class="display">
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::pop_tag</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">char</span><span class="plain"> *</span><span class="identifier">tag</span><span class="plain">) {</span>
|
|
<span class="reserved">HTML_file_state</span><span class="plain"> *</span><span class="identifier">hs</span><span class="plain"> = </span><span class="functiontext">Streams::get_HTML_file_state</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">hs</span><span class="plain">) {</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">LIFO_STACK_EMPTY</span><span class="plain">(</span><span class="reserved">HTML_tag</span><span class="plain">, </span><span class="identifier">hs</span><span class="plain">-></span><span class="element">tag_stack</span><span class="plain">)) {</span>
|
|
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"{tag: %s}\n"</span><span class="plain">, </span><span class="identifier">tag</span><span class="plain">);</span>
|
|
<span class="identifier">tag_error</span><span class="plain">(</span><span class="string">"closed HTML tag which wasn't open"</span><span class="plain">);</span>
|
|
<span class="plain">} </span><span class="reserved">else</span><span class="plain"> {</span>
|
|
<span class="reserved">HTML_tag</span><span class="plain"> *</span><span class="identifier">ht</span><span class="plain"> = </span><span class="identifier">TOP_OF_LIFO_STACK</span><span class="plain">(</span><span class="reserved">HTML_tag</span><span class="plain">, </span><span class="identifier">hs</span><span class="plain">-></span><span class="element">tag_stack</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">strcmp</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">, </span><span class="identifier">ht</span><span class="plain">-></span><span class="element">tag_name</span><span class="plain">) != </span><span class="constant">0</span><span class="plain">) {</span>
|
|
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"{expected to close tag %s (%d), but actually closed %s}\n"</span><span class="plain">,</span>
|
|
<span class="identifier">ht</span><span class="plain">-></span><span class="element">tag_name</span><span class="plain">, </span><span class="identifier">ht</span><span class="plain">-></span><span class="element">tag_xref</span><span class="plain">, </span><span class="identifier">tag</span><span class="plain">);</span>
|
|
<span class="identifier">tag_error</span><span class="plain">(</span><span class="string">"closed HTML tag which wasn't open"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="identifier">POP_LIFO_STACK</span><span class="plain">(</span><span class="reserved">HTML_tag</span><span class="plain">, </span><span class="identifier">hs</span><span class="plain">-></span><span class="element">tag_stack</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="plain">}</span>
|
|
<span class="plain">}</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="endnote">The function HTML::pop_tag is used in <a href="#SP7">§7</a>.</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP5"></a><b>§5. </b>At the end, therefore, no tags must remain unpulled.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::completed</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">) {</span>
|
|
<span class="reserved">HTML_file_state</span><span class="plain"> *</span><span class="identifier">hs</span><span class="plain"> = </span><span class="functiontext">Streams::get_HTML_file_state</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> ((</span><span class="identifier">hs</span><span class="plain">) && (</span><span class="identifier">LIFO_STACK_EMPTY</span><span class="plain">(</span><span class="reserved">HTML_tag</span><span class="plain">, </span><span class="identifier">hs</span><span class="plain">-></span><span class="element">tag_stack</span><span class="plain">) == </span><span class="constant">FALSE</span><span class="plain">)) {</span>
|
|
<span class="reserved">HTML_tag</span><span class="plain"> *</span><span class="identifier">ht</span><span class="plain">;</span>
|
|
<span class="reserved">int</span><span class="plain"> </span><span class="identifier">i</span><span class="plain"> = </span><span class="constant">0</span><span class="plain">;</span>
|
|
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"HTML tag stack: "</span><span class="plain">);</span>
|
|
<span class="identifier">LOOP_DOWN_LIFO_STACK</span><span class="plain">(</span><span class="identifier">ht</span><span class="plain">, </span><span class="reserved">HTML_tag</span><span class="plain">, </span><span class="identifier">hs</span><span class="plain">-></span><span class="element">tag_stack</span><span class="plain">) {</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">i</span><span class="plain">++ > </span><span class="constant">0</span><span class="plain">) </span><span class="identifier">LOG</span><span class="plain">(</span><span class="string">" in "</span><span class="plain">);</span>
|
|
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"%s (%d)"</span><span class="plain">, </span><span class="identifier">ht</span><span class="plain">-></span><span class="element">tag_name</span><span class="plain">, </span><span class="identifier">ht</span><span class="plain">-></span><span class="identifier">tag_xref</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"\n"</span><span class="plain">);</span>
|
|
<span class="identifier">tag_error</span><span class="plain">(</span><span class="string">"HTML tags still open"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="plain">}</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="endnote">The function HTML::completed is used in 5/ee (<a href="5-ee.html#SP6_3">§6.3</a>).</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP6"></a><b>§6. </b>We will open and close all HTML tags using the following macros, two
|
|
of which are variadic and have to be written out the old-fashioned way:
|
|
</p>
|
|
|
|
|
|
<pre class="definitions">
|
|
<span class="definitionkeyword">define</span> <span class="identifier">HTML_TAG</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">) </span><span class="functiontext">HTML::tag</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">tag</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">);</span>
|
|
<span class="definitionkeyword">define</span> <span class="identifier">HTML_OPEN</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">) </span><span class="functiontext">HTML::open</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">tag</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">);</span>
|
|
<span class="definitionkeyword">define</span> <span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">) </span><span class="functiontext">HTML::close</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">tag</span><span class="plain">);</span>
|
|
</pre>
|
|
|
|
<pre class="display">
|
|
<span class="plain">#</span><span class="identifier">define</span><span class="plain"> </span><span class="identifier">HTML_TAG_WITH</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">, </span><span class="identifier">args</span><span class="plain">...) { \</span>
|
|
<span class="identifier">TEMPORARY_TEXT</span><span class="plain">(</span><span class="identifier">details</span><span class="plain">); \</span>
|
|
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">details</span><span class="plain">, </span><span class="identifier">args</span><span class="plain">); \</span>
|
|
<span class="functiontext">HTML::tag</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">tag</span><span class="plain">, </span><span class="identifier">details</span><span class="plain">); \</span>
|
|
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">details</span><span class="plain">); \</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="plain">#</span><span class="identifier">define</span><span class="plain"> </span><span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">, </span><span class="identifier">args</span><span class="plain">...) { \</span>
|
|
<span class="identifier">TEMPORARY_TEXT</span><span class="plain">(</span><span class="identifier">details</span><span class="plain">); \</span>
|
|
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">details</span><span class="plain">, </span><span class="identifier">args</span><span class="plain">); \</span>
|
|
<span class="functiontext">HTML::open</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">tag</span><span class="plain">, </span><span class="identifier">details</span><span class="plain">); \</span>
|
|
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">details</span><span class="plain">); \</span>
|
|
<span class="plain">}</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP7"></a><b>§7. </b>Which themselves depend on these routines:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::tag</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">char</span><span class="plain"> *</span><span class="identifier">tag</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">details</span><span class="plain">) {</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"<%s"</span><span class="plain">, </span><span class="identifier">tag</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="functiontext">Str::len</span><span class="plain">(</span><span class="identifier">details</span><span class="plain">) > </span><span class="constant">0</span><span class="plain">) </span><span class="identifier">WRITE</span><span class="plain">(</span><span class="string">" %S"</span><span class="plain">, </span><span class="identifier">details</span><span class="plain">);</span>
|
|
<span class="reserved">HTML_file_state</span><span class="plain"> *</span><span class="identifier">hs</span><span class="plain"> = </span><span class="functiontext">Streams::get_HTML_file_state</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> ((</span><span class="identifier">hs</span><span class="plain">) && (</span><span class="identifier">hs</span><span class="plain">-></span><span class="element">XHTML_flag</span><span class="plain">)) </span><span class="identifier">WRITE</span><span class="plain">(</span><span class="string">" /"</span><span class="plain">);</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">">"</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="functiontext">HTML::tag_formatting</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">) >= </span><span class="constant">1</span><span class="plain">) </span><span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"\n"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::tag_sc</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">char</span><span class="plain"> *</span><span class="identifier">tag</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">details</span><span class="plain">) {</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"<%s"</span><span class="plain">, </span><span class="identifier">tag</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="functiontext">Str::len</span><span class="plain">(</span><span class="identifier">details</span><span class="plain">) > </span><span class="constant">0</span><span class="plain">) </span><span class="identifier">WRITE</span><span class="plain">(</span><span class="string">" %S"</span><span class="plain">, </span><span class="identifier">details</span><span class="plain">);</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">" />"</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="functiontext">HTML::tag_formatting</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">) >= </span><span class="constant">1</span><span class="plain">) </span><span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"\n"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">int</span><span class="plain"> </span><span class="functiontext">HTML::tag_formatting</span><span class="plain">(</span><span class="reserved">char</span><span class="plain"> *</span><span class="identifier">tag</span><span class="plain">) {</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">strcmp</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">, </span><span class="string">"meta"</span><span class="plain">) == </span><span class="constant">0</span><span class="plain">) </span><span class="reserved">return</span><span class="plain"> </span><span class="constant">1</span><span class="plain">;</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">strcmp</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">, </span><span class="string">"link"</span><span class="plain">) == </span><span class="constant">0</span><span class="plain">) </span><span class="reserved">return</span><span class="plain"> </span><span class="constant">1</span><span class="plain">;</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">strcmp</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">, </span><span class="string">"hr"</span><span class="plain">) == </span><span class="constant">0</span><span class="plain">) </span><span class="reserved">return</span><span class="plain"> </span><span class="constant">1</span><span class="plain">;</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">strcmp</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">, </span><span class="string">"br"</span><span class="plain">) == </span><span class="constant">0</span><span class="plain">) </span><span class="reserved">return</span><span class="plain"> </span><span class="constant">1</span><span class="plain">;</span>
|
|
|
|
<span class="reserved">return</span><span class="plain"> </span><span class="constant">0</span><span class="plain">;</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::open</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">char</span><span class="plain"> *</span><span class="identifier">tag</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">details</span><span class="plain">) {</span>
|
|
<span class="reserved">int</span><span class="plain"> </span><span class="identifier">f</span><span class="plain"> = </span><span class="functiontext">HTML::pair_formatting</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">);</span>
|
|
<span class="functiontext">HTML::push_tag</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">tag</span><span class="plain">);</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"<%s"</span><span class="plain">, </span><span class="identifier">tag</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="functiontext">Str::len</span><span class="plain">(</span><span class="identifier">details</span><span class="plain">) > </span><span class="constant">0</span><span class="plain">) </span><span class="identifier">WRITE</span><span class="plain">(</span><span class="string">" %S"</span><span class="plain">, </span><span class="identifier">details</span><span class="plain">);</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">">"</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">f</span><span class="plain"> >= </span><span class="constant">2</span><span class="plain">) { </span><span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"\n"</span><span class="plain">); </span><span class="constant">INDENT</span><span class="plain">; }</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::close</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">char</span><span class="plain"> *</span><span class="identifier">tag</span><span class="plain">) {</span>
|
|
<span class="reserved">int</span><span class="plain"> </span><span class="identifier">f</span><span class="plain"> = </span><span class="functiontext">HTML::pair_formatting</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">f</span><span class="plain"> >= </span><span class="constant">3</span><span class="plain">) </span><span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"\n"</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">f</span><span class="plain"> >= </span><span class="constant">2</span><span class="plain">) </span><span class="constant">OUTDENT</span><span class="plain">;</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"</%s>"</span><span class="plain">, </span><span class="identifier">tag</span><span class="plain">);</span>
|
|
<span class="functiontext">HTML::pop_tag</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">tag</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">f</span><span class="plain"> >= </span><span class="constant">1</span><span class="plain">) </span><span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"\n"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">int</span><span class="plain"> </span><span class="functiontext">HTML::pair_formatting</span><span class="plain">(</span><span class="reserved">char</span><span class="plain"> *</span><span class="identifier">tag</span><span class="plain">) {</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">strcmp</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">, </span><span class="string">"td"</span><span class="plain">) == </span><span class="constant">0</span><span class="plain">) </span><span class="reserved">return</span><span class="plain"> </span><span class="constant">3</span><span class="plain">;</span>
|
|
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">strcmp</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">, </span><span class="string">"head"</span><span class="plain">) == </span><span class="constant">0</span><span class="plain">) </span><span class="reserved">return</span><span class="plain"> </span><span class="constant">2</span><span class="plain">;</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">strcmp</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">, </span><span class="string">"body"</span><span class="plain">) == </span><span class="constant">0</span><span class="plain">) </span><span class="reserved">return</span><span class="plain"> </span><span class="constant">2</span><span class="plain">;</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">strcmp</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">, </span><span class="string">"div"</span><span class="plain">) == </span><span class="constant">0</span><span class="plain">) </span><span class="reserved">return</span><span class="plain"> </span><span class="constant">2</span><span class="plain">;</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">strcmp</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">, </span><span class="string">"table"</span><span class="plain">) == </span><span class="constant">0</span><span class="plain">) </span><span class="reserved">return</span><span class="plain"> </span><span class="constant">2</span><span class="plain">;</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">strcmp</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">, </span><span class="string">"tr"</span><span class="plain">) == </span><span class="constant">0</span><span class="plain">) </span><span class="reserved">return</span><span class="plain"> </span><span class="constant">2</span><span class="plain">;</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">strcmp</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">, </span><span class="string">"script"</span><span class="plain">) == </span><span class="constant">0</span><span class="plain">) </span><span class="reserved">return</span><span class="plain"> </span><span class="constant">2</span><span class="plain">;</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">strcmp</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">, </span><span class="string">"style"</span><span class="plain">) == </span><span class="constant">0</span><span class="plain">) </span><span class="reserved">return</span><span class="plain"> </span><span class="constant">2</span><span class="plain">;</span>
|
|
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">strcmp</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">, </span><span class="string">"html"</span><span class="plain">) == </span><span class="constant">0</span><span class="plain">) </span><span class="reserved">return</span><span class="plain"> </span><span class="constant">1</span><span class="plain">;</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">strcmp</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">, </span><span class="string">"p"</span><span class="plain">) == </span><span class="constant">0</span><span class="plain">) </span><span class="reserved">return</span><span class="plain"> </span><span class="constant">1</span><span class="plain">;</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">strcmp</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">, </span><span class="string">"title"</span><span class="plain">) == </span><span class="constant">0</span><span class="plain">) </span><span class="reserved">return</span><span class="plain"> </span><span class="constant">1</span><span class="plain">;</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">strcmp</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">, </span><span class="string">"blockquote"</span><span class="plain">) == </span><span class="constant">0</span><span class="plain">) </span><span class="reserved">return</span><span class="plain"> </span><span class="constant">1</span><span class="plain">;</span>
|
|
|
|
<span class="reserved">return</span><span class="plain"> </span><span class="constant">0</span><span class="plain">;</span>
|
|
<span class="plain">}</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="endnote">The function HTML::tag is used in <a href="#SP6">§6</a>.</p>
|
|
|
|
<p class="endnote">The function HTML::tag_sc appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::tag_formatting appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::open is used in <a href="#SP6">§6</a>, <a href="#SP13">§13</a>.</p>
|
|
|
|
<p class="endnote">The function HTML::close is used in <a href="#SP6">§6</a>.</p>
|
|
|
|
<p class="endnote">The function HTML::pair_formatting appears nowhere else.</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP8"></a><b>§8. Head. </b></p>
|
|
|
|
<pre class="display">
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::begin_head</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">filename</span><span class="plain"> *</span><span class="identifier">CSS_file</span><span class="plain">) {</span>
|
|
<span class="reserved">HTML_file_state</span><span class="plain"> *</span><span class="identifier">hs</span><span class="plain"> = </span><span class="functiontext">Streams::get_HTML_file_state</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> ((</span><span class="identifier">hs</span><span class="plain">) && (</span><span class="identifier">hs</span><span class="plain">-></span><span class="element">XHTML_flag</span><span class="plain">)) {</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" "</span><span class="plain">);</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"\"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">\n"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"html"</span><span class="plain">, </span><span class="string">"xmlns=\"http://www.w3.org/1999/xhtml\""</span><span class="plain">);</span>
|
|
<span class="plain">} </span><span class="reserved">else</span><span class="plain"> {</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" "</span><span class="plain">);</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"\"http://www.w3.org/TR/html4/loose.dtd\">\n"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_OPEN</span><span class="plain">(</span><span class="string">"html"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"\n"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_OPEN</span><span class="plain">(</span><span class="string">"head"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_TAG_WITH</span><span class="plain">(</span><span class="string">"meta"</span><span class="plain">, </span><span class="string">"http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\""</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">CSS_file</span><span class="plain">)</span>
|
|
<span class="identifier">HTML_TAG_WITH</span><span class="plain">(</span><span class="string">"link"</span><span class="plain">, </span><span class="string">"href=\"%/f\" rel=\"stylesheet\" type=\"text/css\""</span><span class="plain">, </span><span class="identifier">CSS_file</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::end_head</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">) {</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"head"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="endnote">The function HTML::begin_head is used in 5/ee (<a href="5-ee.html#SP6_3">§6.3</a>).</p>
|
|
|
|
<p class="endnote">The function HTML::end_head is used in 5/ee (<a href="5-ee.html#SP6_3">§6.3</a>).</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP9"></a><b>§9. </b></p>
|
|
|
|
<pre class="display">
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::title</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">title</span><span class="plain">) {</span>
|
|
<span class="identifier">HTML_OPEN</span><span class="plain">(</span><span class="string">"title"</span><span class="plain">);</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"%S"</span><span class="plain">, </span><span class="identifier">title</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"title"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="endnote">The function HTML::title appears nowhere else.</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP10"></a><b>§10. Scripts and styles. </b></p>
|
|
|
|
<pre class="display">
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::open_javascript</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">define_project</span><span class="plain">) {</span>
|
|
<span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"script"</span><span class="plain">, </span><span class="string">"type=\"text/javascript\""</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">define_project</span><span class="plain">) {</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"function project() {\n"</span><span class="plain">); </span><span class="constant">INDENT</span><span class="plain">;</span>
|
|
<span class="plain">#</span><span class="identifier">ifdef</span><span class="plain"> </span><span class="constant">WINDOWS_JAVASCRIPT</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"return external.Project;\n"</span><span class="plain">);</span>
|
|
<span class="plain">#</span><span class="identifier">endif</span>
|
|
<span class="plain">#</span><span class="identifier">ifndef</span><span class="plain"> </span><span class="constant">WINDOWS_JAVASCRIPT</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"return window.Project;\n"</span><span class="plain">);</span>
|
|
<span class="plain">#</span><span class="identifier">endif</span>
|
|
<span class="constant">OUTDENT</span><span class="plain">; </span><span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"}\n"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::close_javascript</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">) {</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"script"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::incorporate_javascript</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">define_project</span><span class="plain">, </span><span class="reserved">filename</span><span class="plain"> *</span><span class="identifier">M</span><span class="plain">) {</span>
|
|
<span class="functiontext">HTML::open_javascript</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">define_project</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="functiontext">TextFiles::read</span><span class="plain">(</span><span class="identifier">M</span><span class="plain">, </span><span class="constant">FALSE</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">, </span><span class="constant">FALSE</span><span class="plain">, </span><span class="functiontext">HTML::incorporate_helper</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">, </span><span class="identifier">OUT</span><span class="plain">) == </span><span class="constant">FALSE</span><span class="plain">) {</span>
|
|
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="constant">STDERR</span><span class="plain">, </span><span class="string">"%f"</span><span class="plain">, </span><span class="identifier">M</span><span class="plain">);</span>
|
|
<span class="identifier">internal_error</span><span class="plain">(</span><span class="string">"Unable to open model JS material for reading"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="functiontext">HTML::close_javascript</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">);</span>
|
|
<span class="reserved">HTML_file_state</span><span class="plain"> *</span><span class="identifier">hs</span><span class="plain"> = </span><span class="functiontext">Streams::get_HTML_file_state</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">hs</span><span class="plain">) </span><span class="identifier">hs</span><span class="plain">-></span><span class="element">JS_included</span><span class="plain">++;</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::open_CSS</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">) {</span>
|
|
<span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"style"</span><span class="plain">, </span><span class="string">"type=\"text/css\""</span><span class="plain">);</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"<!--\n"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::close_CSS</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">) {</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"-->\n"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"style"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::incorporate_CSS</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">filename</span><span class="plain"> *</span><span class="identifier">M</span><span class="plain">) {</span>
|
|
<span class="functiontext">HTML::open_CSS</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="functiontext">TextFiles::read</span><span class="plain">(</span><span class="identifier">M</span><span class="plain">, </span><span class="constant">FALSE</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">, </span><span class="constant">FALSE</span><span class="plain">, </span><span class="functiontext">HTML::incorporate_helper</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">, </span><span class="identifier">OUT</span><span class="plain">) == </span><span class="constant">FALSE</span><span class="plain">)</span>
|
|
<span class="identifier">internal_error</span><span class="plain">(</span><span class="string">"Unable to open model CSS material for reading"</span><span class="plain">);</span>
|
|
<span class="functiontext">HTML::close_CSS</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">);</span>
|
|
<span class="reserved">HTML_file_state</span><span class="plain"> *</span><span class="identifier">hs</span><span class="plain"> = </span><span class="functiontext">Streams::get_HTML_file_state</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">hs</span><span class="plain">) </span><span class="identifier">hs</span><span class="plain">-></span><span class="element">CSS_included</span><span class="plain">++;</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::incorporate_HTML</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">filename</span><span class="plain"> *</span><span class="identifier">M</span><span class="plain">) {</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="functiontext">TextFiles::read</span><span class="plain">(</span><span class="identifier">M</span><span class="plain">, </span><span class="constant">FALSE</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">, </span><span class="constant">FALSE</span><span class="plain">, </span><span class="functiontext">HTML::incorporate_helper</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">, </span><span class="identifier">OUT</span><span class="plain">) == </span><span class="constant">FALSE</span><span class="plain">)</span>
|
|
<span class="identifier">internal_error</span><span class="plain">(</span><span class="string">"Unable to open model HTML material for reading"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="endnote">The function HTML::open_javascript appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::close_javascript appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::incorporate_javascript appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::open_CSS appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::close_CSS appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::incorporate_CSS appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::incorporate_HTML appears nowhere else.</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP11"></a><b>§11. </b>The helper simply performs a textual copy:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::incorporate_helper</span><span class="plain">(</span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">line_of_template</span><span class="plain">,</span>
|
|
<span class="reserved">text_file_position</span><span class="plain"> *</span><span class="identifier">tfp</span><span class="plain">, </span><span class="reserved">void</span><span class="plain"> *</span><span class="identifier">OUT</span><span class="plain">) {</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"%S\n"</span><span class="plain">, </span><span class="identifier">line_of_template</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="endnote">The function HTML::incorporate_helper is used in <a href="#SP10">§10</a>.</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP12"></a><b>§12. Body. </b></p>
|
|
|
|
<pre class="display">
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::begin_body</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">class</span><span class="plain">) {</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">class</span><span class="plain">) </span><span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"body"</span><span class="plain">, </span><span class="string">"class=\"%S\""</span><span class="plain">, </span><span class="identifier">class</span><span class="plain">)</span>
|
|
<span class="reserved">else</span><span class="plain"> </span><span class="identifier">HTML_OPEN</span><span class="plain">(</span><span class="string">"body"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::end_body</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">) {</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"body"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"html"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="endnote">The function HTML::begin_body is used in 5/ee (<a href="5-ee.html#SP6_3">§6.3</a>).</p>
|
|
|
|
<p class="endnote">The function HTML::end_body is used in 5/ee (<a href="5-ee.html#SP6_3">§6.3</a>).</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP13"></a><b>§13. Divisions. </b></p>
|
|
|
|
<pre class="display">
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::begin_div_with_id</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">char</span><span class="plain"> *</span><span class="identifier">id</span><span class="plain">) {</span>
|
|
<span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"div"</span><span class="plain">, </span><span class="string">"id=\"%s\""</span><span class="plain">, </span><span class="identifier">id</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::begin_div_with_class</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">char</span><span class="plain"> *</span><span class="identifier">cl</span><span class="plain">) {</span>
|
|
<span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"div"</span><span class="plain">, </span><span class="string">"class=\"%s\""</span><span class="plain">, </span><span class="identifier">cl</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::begin_div_with_class_and_id</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">char</span><span class="plain"> *</span><span class="identifier">cl</span><span class="plain">, </span><span class="reserved">char</span><span class="plain"> *</span><span class="identifier">id</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">hide</span><span class="plain">) {</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">hide</span><span class="plain">) </span><span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"div"</span><span class="plain">, </span><span class="string">"class=\"%s\" id=\"%s\" style=\"display: none;\""</span><span class="plain">, </span><span class="identifier">cl</span><span class="plain">, </span><span class="identifier">id</span><span class="plain">)</span>
|
|
<span class="reserved">else</span><span class="plain"> </span><span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"div"</span><span class="plain">, </span><span class="string">"class=\"%s\" id=\"%s\""</span><span class="plain">, </span><span class="identifier">cl</span><span class="plain">, </span><span class="identifier">id</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::begin_div_with_id_S</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">id</span><span class="plain">) {</span>
|
|
<span class="identifier">TEMPORARY_TEXT</span><span class="plain">(</span><span class="identifier">details</span><span class="plain">);</span>
|
|
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">details</span><span class="plain">, </span><span class="string">"id=\"%S\""</span><span class="plain">, </span><span class="identifier">id</span><span class="plain">);</span>
|
|
<span class="functiontext">HTML::open</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="string">"div"</span><span class="plain">, </span><span class="identifier">details</span><span class="plain">);</span>
|
|
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">details</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::begin_div_with_class_S</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">cl</span><span class="plain">) {</span>
|
|
<span class="identifier">TEMPORARY_TEXT</span><span class="plain">(</span><span class="identifier">details</span><span class="plain">);</span>
|
|
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">details</span><span class="plain">, </span><span class="string">"class=\"%S\""</span><span class="plain">, </span><span class="identifier">cl</span><span class="plain">);</span>
|
|
<span class="functiontext">HTML::open</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="string">"div"</span><span class="plain">, </span><span class="identifier">details</span><span class="plain">);</span>
|
|
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">details</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::begin_div_with_class_and_id_S</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">cl</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">id</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">hide</span><span class="plain">) {</span>
|
|
<span class="identifier">TEMPORARY_TEXT</span><span class="plain">(</span><span class="identifier">details</span><span class="plain">);</span>
|
|
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">details</span><span class="plain">, </span><span class="string">"class=\"%S\" id=\"%S\""</span><span class="plain">, </span><span class="identifier">cl</span><span class="plain">, </span><span class="identifier">id</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">hide</span><span class="plain">) </span><span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">details</span><span class="plain">, </span><span class="string">" style=\"display: none;\""</span><span class="plain">);</span>
|
|
<span class="functiontext">HTML::open</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="string">"div"</span><span class="plain">, </span><span class="identifier">details</span><span class="plain">);</span>
|
|
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">details</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::end_div</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">) {</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"div"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="endnote">The function HTML::begin_div_with_id appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::begin_div_with_class appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::begin_div_with_class_and_id appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::begin_div_with_id_S appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::begin_div_with_class_S appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::begin_div_with_class_and_id_S appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::end_div appears nowhere else.</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP14"></a><b>§14. Images. </b></p>
|
|
|
|
<pre class="display">
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::image</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">filename</span><span class="plain"> *</span><span class="identifier">F</span><span class="plain">) {</span>
|
|
<span class="identifier">HTML_TAG_WITH</span><span class="plain">(</span><span class="string">"img"</span><span class="plain">, </span><span class="string">"src=\"%/f\""</span><span class="plain">, </span><span class="identifier">F</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="endnote">The function HTML::image appears nowhere else.</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP15"></a><b>§15. Links. </b></p>
|
|
|
|
<pre class="display">
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::anchor</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">id</span><span class="plain">) {</span>
|
|
<span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"a"</span><span class="plain">, </span><span class="string">"id=\"%S\""</span><span class="plain">, </span><span class="identifier">id</span><span class="plain">); </span><span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"a"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::begin_link</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">to</span><span class="plain">) {</span>
|
|
<span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"a"</span><span class="plain">, </span><span class="string">"href=\"%S\""</span><span class="plain">, </span><span class="identifier">to</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::begin_link_with_class</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">cl</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">to</span><span class="plain">) {</span>
|
|
<span class="functiontext">HTML::begin_link_with_class_onclick</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">cl</span><span class="plain">, </span><span class="identifier">to</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::begin_link_with_class_title</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">cl</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">to</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">ti</span><span class="plain">) {</span>
|
|
<span class="functiontext">HTML::begin_link_with_class_title_onclick</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">cl</span><span class="plain">, </span><span class="identifier">to</span><span class="plain">, </span><span class="identifier">ti</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::begin_link_with_class_onclick</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">cl</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">to</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">on</span><span class="plain">) {</span>
|
|
<span class="functiontext">HTML::begin_link_with_class_title_onclick</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">cl</span><span class="plain">, </span><span class="identifier">to</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">, </span><span class="identifier">on</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::begin_link_with_class_title_onclick</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">cl</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">to</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">ti</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">on</span><span class="plain">) {</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"<a href=\"%S\" class=\"%S\""</span><span class="plain">, </span><span class="identifier">to</span><span class="plain">, </span><span class="identifier">cl</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="functiontext">Str::len</span><span class="plain">(</span><span class="identifier">ti</span><span class="plain">) > </span><span class="constant">0</span><span class="plain">) </span><span class="identifier">WRITE</span><span class="plain">(</span><span class="string">" title=\"%S\""</span><span class="plain">, </span><span class="identifier">ti</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="functiontext">Str::len</span><span class="plain">(</span><span class="identifier">on</span><span class="plain">) > </span><span class="constant">0</span><span class="plain">) </span><span class="identifier">WRITE</span><span class="plain">(</span><span class="string">" onclick=\"%S\""</span><span class="plain">, </span><span class="identifier">on</span><span class="plain">);</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">">"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::end_link</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">) {</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"a"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="endnote">The function HTML::anchor appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::begin_link appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::begin_link_with_class appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::begin_link_with_class_title appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::begin_link_with_class_onclick appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::begin_link_with_class_title_onclick appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::end_link appears nowhere else.</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP16"></a><b>§16. Tables. </b>Opening a generic bland table with reasonable column spacing:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::begin_plain_html_table</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">) {</span>
|
|
<span class="functiontext">HTML::begin_html_table</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">, </span><span class="constant">FALSE</span><span class="plain">, </span><span class="constant">0</span><span class="plain">, </span><span class="constant">0</span><span class="plain">, </span><span class="constant">0</span><span class="plain">, </span><span class="constant">0</span><span class="plain">, </span><span class="constant">0</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::begin_wide_html_table</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">) {</span>
|
|
<span class="functiontext">HTML::begin_html_table</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">, </span><span class="constant">TRUE</span><span class="plain">, </span><span class="constant">0</span><span class="plain">, </span><span class="constant">0</span><span class="plain">, </span><span class="constant">0</span><span class="plain">, </span><span class="constant">0</span><span class="plain">, </span><span class="constant">0</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="endnote">The function HTML::begin_plain_html_table appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::begin_wide_html_table appears nowhere else.</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP17"></a><b>§17. </b>And some more general code:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::begin_html_table</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">char</span><span class="plain"> *</span><span class="identifier">colour</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">full_width</span><span class="plain">,</span>
|
|
<span class="reserved">int</span><span class="plain"> </span><span class="identifier">border</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">cellspacing</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">cellpadding</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">height</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">width</span><span class="plain">) {</span>
|
|
<span class="identifier">TEMPORARY_TEXT</span><span class="plain">(</span><span class="identifier">tab</span><span class="plain">);</span>
|
|
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">tab</span><span class="plain">, </span><span class="string">"border=\"%d\" cellspacing=\"%d\" cellpadding=\"%d\""</span><span class="plain">,</span>
|
|
<span class="identifier">border</span><span class="plain">, </span><span class="identifier">cellspacing</span><span class="plain">, </span><span class="identifier">cellpadding</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">colour</span><span class="plain">) {</span>
|
|
<span class="reserved">if</span><span class="plain"> (*</span><span class="identifier">colour</span><span class="plain"> == </span><span class="character">'*'</span><span class="plain">)</span>
|
|
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">tab</span><span class="plain">, </span><span class="string">" style=\"background-image:url('inform:/%s');\""</span><span class="plain">, </span><span class="identifier">colour</span><span class="plain">+1);</span>
|
|
<span class="reserved">else</span>
|
|
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">tab</span><span class="plain">, </span><span class="string">" bgcolor=\"%s\""</span><span class="plain">, </span><span class="identifier">colour</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">full_width</span><span class="plain">) </span><span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">tab</span><span class="plain">, </span><span class="string">" width=100%%"</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">width</span><span class="plain"> > </span><span class="constant">0</span><span class="plain">) </span><span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">tab</span><span class="plain">, </span><span class="string">" width=\"%d\""</span><span class="plain">, </span><span class="identifier">width</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">height</span><span class="plain"> > </span><span class="constant">0</span><span class="plain">) </span><span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">tab</span><span class="plain">, </span><span class="string">" height=\"%d\""</span><span class="plain">, </span><span class="identifier">height</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"table"</span><span class="plain">, </span><span class="string">"%S"</span><span class="plain">, </span><span class="identifier">tab</span><span class="plain">);</span>
|
|
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">tab</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::begin_html_table_bg</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">char</span><span class="plain"> *</span><span class="identifier">colour</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">full_width</span><span class="plain">,</span>
|
|
<span class="reserved">int</span><span class="plain"> </span><span class="identifier">border</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">cellspacing</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">cellpadding</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">height</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">width</span><span class="plain">, </span><span class="reserved">char</span><span class="plain"> *</span><span class="identifier">bg</span><span class="plain">) {</span>
|
|
<span class="identifier">TEMPORARY_TEXT</span><span class="plain">(</span><span class="identifier">tab</span><span class="plain">);</span>
|
|
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">tab</span><span class="plain">, </span><span class="string">"border=\"%d\" cellspacing=\"%d\" cellpadding=\"%d\""</span><span class="plain">,</span>
|
|
<span class="identifier">border</span><span class="plain">, </span><span class="identifier">cellspacing</span><span class="plain">, </span><span class="identifier">cellpadding</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">bg</span><span class="plain">) </span><span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">tab</span><span class="plain">, </span><span class="string">" background=\"inform:/map_icons/%s\""</span><span class="plain">, </span><span class="identifier">bg</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">colour</span><span class="plain">) </span><span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">tab</span><span class="plain">, </span><span class="string">" bgcolor=\"%s\""</span><span class="plain">, </span><span class="identifier">colour</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">full_width</span><span class="plain">) </span><span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">tab</span><span class="plain">, </span><span class="string">" width=100%%"</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">width</span><span class="plain"> > </span><span class="constant">0</span><span class="plain">) </span><span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">tab</span><span class="plain">, </span><span class="string">" width=\"%d\""</span><span class="plain">, </span><span class="identifier">width</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">height</span><span class="plain"> > </span><span class="constant">0</span><span class="plain">) </span><span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">tab</span><span class="plain">, </span><span class="string">" height=\"%d\""</span><span class="plain">, </span><span class="identifier">height</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"table"</span><span class="plain">, </span><span class="string">"%S"</span><span class="plain">, </span><span class="identifier">tab</span><span class="plain">);</span>
|
|
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">tab</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::first_html_column</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">width</span><span class="plain">) {</span>
|
|
<span class="identifier">HTML_OPEN</span><span class="plain">(</span><span class="string">"tr"</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">width</span><span class="plain"> > </span><span class="constant">0</span><span class="plain">) </span><span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"align=\"left\" valign=\"top\" width=\"%d\""</span><span class="plain">, </span><span class="identifier">width</span><span class="plain">)</span>
|
|
<span class="reserved">else</span><span class="plain"> </span><span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"align=\"left\" valign=\"top\""</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::first_html_column_nowrap</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">width</span><span class="plain">, </span><span class="reserved">char</span><span class="plain"> *</span><span class="identifier">colour</span><span class="plain">) {</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">colour</span><span class="plain">) </span><span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"tr"</span><span class="plain">, </span><span class="string">"bgcolor=\"%s\""</span><span class="plain">, </span><span class="identifier">colour</span><span class="plain">) </span><span class="reserved">else</span><span class="plain"> </span><span class="identifier">HTML_OPEN</span><span class="plain">(</span><span class="string">"tr"</span><span class="plain">);</span>
|
|
<span class="identifier">TEMPORARY_TEXT</span><span class="plain">(</span><span class="identifier">col</span><span class="plain">);</span>
|
|
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">col</span><span class="plain">, </span><span class="string">"style=\"white-space:nowrap;\" align=\"left\" valign=\"top\" height=\"20\""</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">width</span><span class="plain"> > </span><span class="constant">0</span><span class="plain">) </span><span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">col</span><span class="plain">, </span><span class="string">" width=\"%d\""</span><span class="plain">, </span><span class="identifier">width</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"%S"</span><span class="plain">, </span><span class="identifier">col</span><span class="plain">);</span>
|
|
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">col</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::first_html_column_spaced</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">width</span><span class="plain">) {</span>
|
|
<span class="identifier">HTML_OPEN</span><span class="plain">(</span><span class="string">"tr"</span><span class="plain">);</span>
|
|
<span class="identifier">TEMPORARY_TEXT</span><span class="plain">(</span><span class="identifier">col</span><span class="plain">);</span>
|
|
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">col</span><span class="plain">, </span><span class="string">"style=\"padding-top: 3px;\" align=\"left\" valign=\"top\""</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">width</span><span class="plain"> > </span><span class="constant">0</span><span class="plain">) </span><span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">col</span><span class="plain">, </span><span class="string">" width=\"%d\""</span><span class="plain">, </span><span class="identifier">width</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"%S"</span><span class="plain">, </span><span class="identifier">col</span><span class="plain">);</span>
|
|
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">col</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::first_html_column_coloured</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">width</span><span class="plain">, </span><span class="reserved">char</span><span class="plain"> *</span><span class="identifier">colour</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">cs</span><span class="plain">) {</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">colour</span><span class="plain">) </span><span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"tr"</span><span class="plain">, </span><span class="string">"bgcolor=\"%s\""</span><span class="plain">, </span><span class="identifier">colour</span><span class="plain">) </span><span class="reserved">else</span><span class="plain"> </span><span class="identifier">HTML_OPEN</span><span class="plain">(</span><span class="string">"tr"</span><span class="plain">);</span>
|
|
<span class="identifier">TEMPORARY_TEXT</span><span class="plain">(</span><span class="identifier">col</span><span class="plain">);</span>
|
|
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">col</span><span class="plain">, </span><span class="string">"nowrap=\"nowrap\" align=\"left\" valign=\"top\""</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">width</span><span class="plain"> > </span><span class="constant">0</span><span class="plain">) </span><span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">col</span><span class="plain">, </span><span class="string">" width=\"%d\""</span><span class="plain">, </span><span class="identifier">width</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">cs</span><span class="plain"> > </span><span class="constant">0</span><span class="plain">) </span><span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">col</span><span class="plain">, </span><span class="string">" colspan=\"%d\""</span><span class="plain">, </span><span class="identifier">cs</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"%S"</span><span class="plain">, </span><span class="identifier">col</span><span class="plain">);</span>
|
|
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">col</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::next_html_column</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">width</span><span class="plain">) {</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"&nbsp;&nbsp;&nbsp;&nbsp;"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">width</span><span class="plain"> > </span><span class="constant">0</span><span class="plain">) </span><span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"align=\"left\" valign=\"top\" width=\"%d\""</span><span class="plain">, </span><span class="identifier">width</span><span class="plain">)</span>
|
|
<span class="reserved">else</span><span class="plain"> </span><span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"align=\"left\" valign=\"top\""</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::next_html_column_centred</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">width</span><span class="plain">) {</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"&nbsp;"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">width</span><span class="plain"> > </span><span class="constant">0</span><span class="plain">) </span><span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"align=\"center\" valign=\"top\" width=\"%d\""</span><span class="plain">, </span><span class="identifier">width</span><span class="plain">)</span>
|
|
<span class="reserved">else</span><span class="plain"> </span><span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"align=\"center\" valign=\"top\""</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::next_html_column_spanning</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">width</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">sp</span><span class="plain">) {</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"&nbsp;&nbsp;&nbsp;&nbsp;"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">width</span><span class="plain"> > </span><span class="constant">0</span><span class="plain">) </span><span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"align=\"left\" valign=\"top\" colspan=\"%d\" width=\"%d\""</span><span class="plain">, </span><span class="identifier">sp</span><span class="plain">, </span><span class="identifier">width</span><span class="plain">)</span>
|
|
<span class="reserved">else</span><span class="plain"> </span><span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"align=\"left\" valign=\"top\" colspan=\"%d\""</span><span class="plain">, </span><span class="identifier">sp</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::next_html_column_nowrap</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">width</span><span class="plain">) {</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"&nbsp;"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">width</span><span class="plain"> > </span><span class="constant">0</span><span class="plain">) </span><span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"style=\"white-space:nowrap;\" align=\"left\" valign=\"top\" width=\"%d\""</span><span class="plain">, </span><span class="identifier">width</span><span class="plain">)</span>
|
|
<span class="reserved">else</span><span class="plain"> </span><span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"style=\"white-space:nowrap;\" align=\"left\" valign=\"top\""</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::next_html_column_spaced</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">width</span><span class="plain">) {</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"&nbsp;&nbsp;&nbsp;&nbsp;"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">width</span><span class="plain"> > </span><span class="constant">0</span><span class="plain">) </span><span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"style=\"padding-top: 3px;\" align=\"left\" valign=\"top\" width=\"%d\""</span><span class="plain">, </span><span class="identifier">width</span><span class="plain">)</span>
|
|
<span class="reserved">else</span><span class="plain"> </span><span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"style=\"padding-top: 3px;\" align=\"left\" valign=\"top\""</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::next_html_column_nw</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">width</span><span class="plain">) {</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"&nbsp;"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">width</span><span class="plain"> > </span><span class="constant">0</span><span class="plain">) </span><span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"nowrap=\"nowrap\" align=\"left\" valign=\"top\" width=\"%d\""</span><span class="plain">, </span><span class="identifier">width</span><span class="plain">)</span>
|
|
<span class="reserved">else</span><span class="plain"> </span><span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"nowrap=\"nowrap\" align=\"left\" valign=\"top\""</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::next_html_column_w</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">width</span><span class="plain">) {</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"&nbsp;"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">width</span><span class="plain"> > </span><span class="constant">0</span><span class="plain">) </span><span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"align=\"left\" valign=\"top\" width=\"%d\""</span><span class="plain">, </span><span class="identifier">width</span><span class="plain">)</span>
|
|
<span class="reserved">else</span><span class="plain"> </span><span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"align=\"left\" valign=\"top\""</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::next_html_column_right_justified</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">width</span><span class="plain">) {</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">width</span><span class="plain"> > </span><span class="constant">0</span><span class="plain">) </span><span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"align=\"right\" valign=\"top\" width=\"%d\""</span><span class="plain">, </span><span class="identifier">width</span><span class="plain">)</span>
|
|
<span class="reserved">else</span><span class="plain"> </span><span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"align=\"right\" valign=\"top\""</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::end_html_row</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">) {</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"tr"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::end_html_table</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">) {</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"table"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="endnote">The function HTML::begin_html_table is used in <a href="#SP16">§16</a>.</p>
|
|
|
|
<p class="endnote">The function HTML::begin_html_table_bg appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::first_html_column appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::first_html_column_nowrap appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::first_html_column_spaced appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::first_html_column_coloured appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::next_html_column appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::next_html_column_centred appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::next_html_column_spanning appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::next_html_column_nowrap appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::next_html_column_spaced appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::next_html_column_nw appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::next_html_column_w appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::next_html_column_right_justified appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::end_html_row appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::end_html_table is used in <a href="#SP18">§18</a>.</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP18"></a><b>§18. Round-rects. </b></p>
|
|
|
|
|
|
<pre class="definitions">
|
|
<span class="definitionkeyword">define</span> <span class="constant">CORNER_SIZE</span><span class="plain"> </span><span class="constant">8</span><span class="plain"> </span><span class="comment"> measured in pixels</span>
|
|
<span class="definitionkeyword">define</span> <span class="constant">ROUND_BOX_TOP</span><span class="plain"> </span><span class="constant">1</span>
|
|
<span class="definitionkeyword">define</span> <span class="constant">ROUND_BOX_BOTTOM</span><span class="plain"> </span><span class="constant">2</span>
|
|
</pre>
|
|
|
|
<pre class="display">
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::open_coloured_box</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">char</span><span class="plain"> *</span><span class="identifier">html_colour</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">rounding</span><span class="plain">) {</span>
|
|
<span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"table"</span><span class="plain">,</span>
|
|
<span class="string">"width=\"100%%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" "</span>
|
|
<span class="string">"style=\"background-color: #%s\""</span><span class="plain">, </span><span class="identifier">html_colour</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_OPEN</span><span class="plain">(</span><span class="string">"tr"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"width=\"%d\""</span><span class="plain">, </span><span class="constant">CORNER_SIZE</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">rounding</span><span class="plain"> & </span><span class="constant">ROUND_BOX_TOP</span><span class="plain">) </span><span class="functiontext">HTML::box_corner</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">html_colour</span><span class="plain">, </span><span class="string">"tl"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_OPEN</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"width=\"%d\""</span><span class="plain">, </span><span class="constant">CORNER_SIZE</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">rounding</span><span class="plain"> & </span><span class="constant">ROUND_BOX_TOP</span><span class="plain">) </span><span class="functiontext">HTML::box_corner</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">html_colour</span><span class="plain">, </span><span class="string">"tr"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"tr"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_OPEN</span><span class="plain">(</span><span class="string">"tr"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"width=\"%d\""</span><span class="plain">, </span><span class="constant">CORNER_SIZE</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_OPEN</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::close_coloured_box</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">char</span><span class="plain"> *</span><span class="identifier">html_colour</span><span class="plain">, </span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">rounding</span><span class="plain">) {</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"width=\"%d\""</span><span class="plain">, </span><span class="constant">CORNER_SIZE</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"tr"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_OPEN</span><span class="plain">(</span><span class="string">"tr"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"width=\"%d\""</span><span class="plain">, </span><span class="constant">CORNER_SIZE</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">rounding</span><span class="plain"> & </span><span class="constant">ROUND_BOX_BOTTOM</span><span class="plain">) </span><span class="functiontext">HTML::box_corner</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">html_colour</span><span class="plain">, </span><span class="string">"bl"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_OPEN</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">, </span><span class="string">"width=\"%d\""</span><span class="plain">, </span><span class="constant">CORNER_SIZE</span><span class="plain">);</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">rounding</span><span class="plain"> & </span><span class="constant">ROUND_BOX_BOTTOM</span><span class="plain">) </span><span class="functiontext">HTML::box_corner</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">html_colour</span><span class="plain">, </span><span class="string">"br"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"td"</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"tr"</span><span class="plain">);</span>
|
|
<span class="functiontext">HTML::end_html_table</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::box_corner</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">char</span><span class="plain"> *</span><span class="identifier">html_colour</span><span class="plain">, </span><span class="reserved">char</span><span class="plain"> *</span><span class="identifier">corner</span><span class="plain">) {</span>
|
|
<span class="identifier">HTML_TAG_WITH</span><span class="plain">(</span><span class="string">"img"</span><span class="plain">,</span>
|
|
<span class="string">"src=\"inform:/bg_images/%s_corner_%s.gif\" "</span>
|
|
<span class="string">"width=\"%d\" height=\"%d\" border=\"0\" alt=\"...\""</span><span class="plain">,</span>
|
|
<span class="identifier">corner</span><span class="plain">, </span><span class="identifier">html_colour</span><span class="plain">, </span><span class="constant">CORNER_SIZE</span><span class="plain">, </span><span class="constant">CORNER_SIZE</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="endnote">The function HTML::open_coloured_box appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::close_coloured_box appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::box_corner appears nowhere else.</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP19"></a><b>§19. Miscellaneous. </b></p>
|
|
|
|
<pre class="display">
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::comment</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">text</span><span class="plain">) {</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"<!--%S-->\n"</span><span class="plain">, </span><span class="identifier">text</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::heading</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">char</span><span class="plain"> *</span><span class="identifier">tag</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">text</span><span class="plain">) {</span>
|
|
<span class="identifier">HTML_OPEN</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">);</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"%S"</span><span class="plain">, </span><span class="identifier">text</span><span class="plain">);</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="identifier">tag</span><span class="plain">);</span>
|
|
<span class="identifier">WRITE</span><span class="plain">(</span><span class="string">"\n"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::hr</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">char</span><span class="plain"> *</span><span class="identifier">class</span><span class="plain">) {</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">class</span><span class="plain">) </span><span class="identifier">HTML_TAG_WITH</span><span class="plain">(</span><span class="string">"hr"</span><span class="plain">, </span><span class="string">"class=\"%s\""</span><span class="plain">, </span><span class="identifier">class</span><span class="plain">)</span>
|
|
<span class="reserved">else</span><span class="plain"> </span><span class="identifier">HTML_TAG</span><span class="plain">(</span><span class="string">"hr"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="endnote">The function HTML::comment appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::heading appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::hr appears nowhere else.</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP20"></a><b>§20. HTML colours. </b>Inform uses these when constructing the map in the World index.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="reserved">typedef</span><span class="plain"> </span><span class="reserved">struct</span><span class="plain"> </span><span class="reserved">colour_translation</span><span class="plain"> {</span>
|
|
<span class="identifier">wchar_t</span><span class="plain"> *</span><span class="identifier">chip_name</span><span class="plain">;</span>
|
|
<span class="identifier">wchar_t</span><span class="plain"> *</span><span class="identifier">html_colour</span><span class="plain">;</span>
|
|
<span class="plain">} </span><span class="reserved">colour_translation</span><span class="plain">;</span>
|
|
|
|
<span class="reserved">colour_translation</span><span class="plain"> </span><span class="identifier">table_of_translations</span><span class="plain">[] = {</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Alice Blue"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"F0F8FF"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Antique White"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FAEBD7"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Aqua"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"00FFFF"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Aquamarine"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"7FFFD4"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Azure"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"F0FFFF"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Beige"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"F5F5DC"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Bisque"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FFE4C4"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Black"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"000000"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Blanched Almond"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FFEBCD"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Blue"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"0000FF"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Blue Violet"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"8A2BE2"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Brown"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"A52A2A"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Burly Wood"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"DEB887"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Cadet Blue"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"5F9EA0"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Chartreuse"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"7FFF00"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Chocolate"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"D2691E"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Coral"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FF7F50"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Cornflower Blue"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"6495ED"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Cornsilk"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FFF8DC"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Crimson"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"DC143C"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Cyan"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"00FFFF"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Dark Blue"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"00008B"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Dark Cyan"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"008B8B"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Dark Golden Rod"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"B8860B"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Dark Gray"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"A9A9A9"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Dark Green"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"006400"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Dark Khaki"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"BDB76B"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Dark Magenta"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"8B008B"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Dark Olive Green"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"556B2F"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Dark Orange"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FF8C00"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Dark Orchid"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"9932CC"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Dark Red"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"8B0000"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Dark Salmon"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"E9967A"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Dark Sea Green"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"8FBC8F"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Dark Slate Blue"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"483D8B"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Dark Slate Gray"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"2F4F4F"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Dark Turquoise"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"00CED1"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Dark Violet"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"9400D3"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Deep Pink"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FF1493"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Deep Sky Blue"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"00BFFF"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Dim Gray"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"696969"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Dodger Blue"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"1E90FF"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Feldspar"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"D19275"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Fire Brick"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"B22222"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Floral White"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FFFAF0"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Forest Green"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"228B22"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Fuchsia"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FF00FF"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Gainsboro"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"DCDCDC"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Ghost White"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"F8F8FF"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Gold"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FFD700"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Golden Rod"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"DAA520"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Gray"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"808080"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Green"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"008000"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Green Yellow"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"ADFF2F"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Honey Dew"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"F0FFF0"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Hot Pink"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FF69B4"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Indian Red"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"CD5C5C"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Indigo"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"4B0082"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Ivory"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FFFFF0"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Khaki"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"F0E68C"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Lavender"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"E6E6FA"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Lavender Blush"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FFF0F5"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Lawn Green"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"7CFC00"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Lemon Chiffon"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FFFACD"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Light Blue"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"ADD8E6"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Light Coral"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"F08080"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Light Cyan"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"E0FFFF"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Light Golden Rod Yellow"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FAFAD2"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Light Grey"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"D3D3D3"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Light Green"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"90EE90"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Light Pink"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FFB6C1"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Light Salmon"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FFA07A"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Light Sea Green"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"20B2AA"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Light Sky Blue"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"87CEFA"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Light Slate Blue"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"8470FF"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Light Slate Gray"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"778899"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Light Steel Blue"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"B0C4DE"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Light Yellow"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FFFFE0"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Lime"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"00FF00"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Lime Green"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"32CD32"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Linen"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FAF0E6"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Magenta"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FF00FF"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Maroon"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"800000"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Medium Aquamarine"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"66CDAA"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Medium Blue"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"0000CD"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Medium Orchid"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"BA55D3"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Medium Purple"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"9370D8"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Medium Sea Green"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"3CB371"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Medium Slate Blue"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"7B68EE"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Medium Spring Green"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"00FA9A"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Medium Turquoise"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"48D1CC"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Medium Violet Red"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"CA226B"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Midnight Blue"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"191970"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Mint Cream"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"F5FFFA"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Misty Rose"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FFE4E1"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Moccasin"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FFE4B5"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Navajo White"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FFDEAD"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Navy"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"000080"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Old Lace"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FDF5E6"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Olive"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"808000"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Olive Drab"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"6B8E23"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Orange"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FFA500"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Orange Red"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FF4500"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Orchid"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"DA70D6"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Pale Golden Rod"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"EEE8AA"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Pale Green"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"98FB98"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Pale Turquoise"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"AFEEEE"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Pale Violet Red"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"D87093"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Papaya Whip"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FFEFD5"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Peach Puff"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FFDAB9"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Peru"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"CD853F"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Pink"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FFC0CB"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Plum"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"DDA0DD"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Powder Blue"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"B0E0E6"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Purple"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"800080"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Red"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FF0000"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Rosy Brown"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"BC8F8F"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Royal Blue"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"4169E1"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Saddle Brown"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"8B4513"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Salmon"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FA8072"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Sandy Brown"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"F4A460"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Sea Green"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"2E8B57"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Sea Shell"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FFF5EE"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Sienna"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"A0522D"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Silver"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"C0C0C0"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Sky Blue"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"87CEEB"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Slate Blue"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"6A5ACD"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Slate Gray"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"708090"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Snow"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FFFAFA"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Spring Green"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"00FF7F"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Steel Blue"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"4682B4"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Tan"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"D2B48C"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Teal"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"008080"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Thistle"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"D8BFD8"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Tomato"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FF6347"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Turquoise"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"40E0D0"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Violet"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"EE82EE"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Violet Red"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"D02090"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Wheat"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"F5DEB3"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"White"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FFFFFF"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"White Smoke"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"F5F5F5"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Yellow"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"FFFF00"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">"Yellow Green"</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"9ACD32"</span><span class="plain"> },</span>
|
|
<span class="plain">{ </span><span class="identifier">L</span><span class="string">""</span><span class="plain">, </span><span class="identifier">L</span><span class="string">""</span><span class="plain"> }</span>
|
|
<span class="plain">};</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="endnote">The structure colour_translation is private to this section.</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP21"></a><b>§21. </b>The following is used only a handful of times, if at all, and does not
|
|
need to run quickly.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">wchar_t</span><span class="plain"> *</span><span class="functiontext">HTML::translate_colour_name</span><span class="plain">(</span><span class="identifier">wchar_t</span><span class="plain"> *</span><span class="identifier">original</span><span class="plain">) {</span>
|
|
<span class="reserved">for</span><span class="plain"> (</span><span class="reserved">int</span><span class="plain"> </span><span class="identifier">j</span><span class="plain">=0; </span><span class="functiontext">Wide::cmp</span><span class="plain">(</span><span class="identifier">table_of_translations</span><span class="plain">[</span><span class="identifier">j</span><span class="plain">].</span><span class="element">chip_name</span><span class="plain">, </span><span class="identifier">L</span><span class="string">""</span><span class="plain">); </span><span class="identifier">j</span><span class="plain">++)</span>
|
|
<span class="reserved">if</span><span class="plain"> (</span><span class="functiontext">Wide::cmp</span><span class="plain">(</span><span class="identifier">table_of_translations</span><span class="plain">[</span><span class="identifier">j</span><span class="plain">].</span><span class="element">chip_name</span><span class="plain">, </span><span class="identifier">original</span><span class="plain">) == </span><span class="constant">0</span><span class="plain">)</span>
|
|
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">table_of_translations</span><span class="plain">[</span><span class="identifier">j</span><span class="plain">].</span><span class="element">html_colour</span><span class="plain">;</span>
|
|
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">NULL</span><span class="plain">;</span>
|
|
<span class="plain">}</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="endnote">The function HTML::translate_colour_name appears nowhere else.</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP22"></a><b>§22. </b></p>
|
|
|
|
<pre class="display">
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::begin_colour</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">col</span><span class="plain">) {</span>
|
|
<span class="identifier">HTML_OPEN_WITH</span><span class="plain">(</span><span class="string">"span"</span><span class="plain">, </span><span class="string">"style=\"color:#%S\""</span><span class="plain">, </span><span class="identifier">col</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">HTML::end_colour</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">) {</span>
|
|
<span class="identifier">HTML_CLOSE</span><span class="plain">(</span><span class="string">"span"</span><span class="plain">);</span>
|
|
<span class="plain">}</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="endnote">The function HTML::begin_colour appears nowhere else.</p>
|
|
|
|
<p class="endnote">The function HTML::end_colour appears nowhere else.</p>
|
|
|
|
<hr class="tocbar">
|
|
<ul class="toc"><li><i>(This section begins Chapter 5: Generating Websites.)</i></li><li><a href="5-ee.html">Continue with 'Epub Ebooks'</a></li></ul><hr class="tocbar">
|
|
<!--End of weave-->
|
|
</main>
|
|
</body>
|
|
</html>
|
|
|