Boost logo

Boost-Commit :

From: pbristow_at_[hidden]
Date: 2008-01-23 16:45:51


Author: pbristow
Date: 2008-01-23 16:45:50 EST (Wed, 23 Jan 2008)
New Revision: 42933
URL: http://svn.boost.org/trac/boost/changeset/42933

Log:
Added some style descriptions. Text_ style and others TODO
Text files modified:
   sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/index.html | 2
   sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/svg_plot/interface/svg_1d_plot_interface.html | 18
   sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/svg_plot/interface/svg_2d_plot_interface.html | 27
   sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/svg_plot/interface/svg_boxplot_interface.html | 1688 +++++++++++++++++++++++++++++++++++++++
   sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/svg_plot/interface/svg_interface.html | 456 ++++++++--
   sandbox/SOC/2007/visualization/libs/svg_plot/doc/interface.qbk | 257 +++++
   6 files changed, 2298 insertions(+), 150 deletions(-)

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/index.html
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/index.html (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/index.html 2008-01-23 16:45:50 EST (Wed, 23 Jan 2008)
@@ -96,7 +96,7 @@
 </div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: January 18, 2008 at 09:53:10 GMT</small></p></td>
+<td align="left"><p><small>Last revised: January 23, 2008 at 19:43:00 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/svg_plot/interface/svg_1d_plot_interface.html
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/svg_plot/interface/svg_1d_plot_interface.html (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/svg_plot/interface/svg_1d_plot_interface.html 2008-01-23 16:45:50 EST (Wed, 23 Jan 2008)
@@ -28,7 +28,7 @@
 <a name="svg_plot.interface.svg_1d_plot_interface"></a> svg_1d_plot Public Interface
 </h3></div></div></div>
 <div class="table">
-<a name="id696024"></a><p class="title"><b>Table 7. 1D_plot Miscellaneous Functions</b></p>
+<a name="id697440"></a><p class="title"><b>Table 8. 1D_plot Miscellaneous Functions</b></p>
 <div class="table-contents"><table class="table" summary="1D_plot Miscellaneous Functions">
 <colgroup>
 <col>
@@ -211,7 +211,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id696862"></a><p class="title"><b>Table 8. 1D_plot Commands</b></p>
+<a name="id698278"></a><p class="title"><b>Table 9. 1D_plot Commands</b></p>
 <div class="table-contents"><table class="table" summary="1D_plot Commands">
 <colgroup>
 <col>
@@ -379,7 +379,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id697550"></a><p class="title"><b>Table 9. 1D_plot Colors</b></p>
+<a name="id698966"></a><p class="title"><b>Table 10. 1D_plot Colors</b></p>
 <div class="table-contents"><table class="table" summary="1D_plot Colors">
 <colgroup>
 <col>
@@ -587,7 +587,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id698612"></a><p class="title"><b>Table 10. 1D_plot X-Axis Definition</b></p>
+<a name="id700028"></a><p class="title"><b>Table 11. 1D_plot X-Axis Definition</b></p>
 <div class="table-contents"><table class="table" summary="1D_plot X-Axis Definition">
 <colgroup>
 <col>
@@ -729,7 +729,7 @@
 </table></div>
 </div>
 <br class="table-break"><a name="svg_plot.interface.svg_1d_plot_interface.the_1d_plot__code__phrase_role__identifier__plot__phrase__phrase_role__special______phrase___code__method"></a><h5>
-<a name="id699275"></a>
+<a name="id700691"></a>
         <a href="svg_1d_plot_interface.html#svg_plot.interface.svg_1d_plot_interface.the_1d_plot__code__phrase_role__identifier__plot__phrase__phrase_role__special______phrase___code__method">The
         1D_plot <code class="computeroutput"><span class="identifier">plot</span><span class="special">()</span></code>
         Method</a>
@@ -740,7 +740,7 @@
         named parameters, as well as a deduced parameter.
       </p>
 <div class="table">
-<a name="id699334"></a><p class="title"><b>Table 11. 1D_plot Required parameter</b></p>
+<a name="id700750"></a><p class="title"><b>Table 12. 1D_plot Required parameter</b></p>
 <div class="table-contents"><table class="table" summary="1D_plot Required parameter">
 <colgroup>
 <col>
@@ -803,7 +803,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id699455"></a><p class="title"><b>Table 12. 1D_plot Deduced parameter</b></p>
+<a name="id700871"></a><p class="title"><b>Table 13. 1D_plot Deduced parameter</b></p>
 <div class="table-contents"><table class="table" summary="1D_plot Deduced parameter">
 <colgroup>
 <col>
@@ -859,7 +859,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id699562"></a><p class="title"><b>Table 13. 1D_plot Optional Parameters</b></p>
+<a name="id700978"></a><p class="title"><b>Table 14. 1D_plot Optional Parameters</b></p>
 <div class="table-contents"><table class="table" summary="1D_plot Optional Parameters">
 <colgroup>
 <col>
@@ -1010,7 +1010,7 @@
         method:
       </p>
 <a name="svg_plot.interface.svg_1d_plot_interface.using_1d_plot_fill_and_stroke_colors"></a><h5>
-<a name="id700114"></a>
+<a name="id701530"></a>
         <a href="svg_1d_plot_interface.html#svg_plot.interface.svg_1d_plot_interface.using_1d_plot_fill_and_stroke_colors">Using
         1D_plot fill and stroke colors</a>
       </h5>

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/svg_plot/interface/svg_2d_plot_interface.html
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/svg_plot/interface/svg_2d_plot_interface.html (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/svg_plot/interface/svg_2d_plot_interface.html 2008-01-23 16:45:50 EST (Wed, 23 Jan 2008)
@@ -27,7 +27,7 @@
 <a name="svg_plot.interface.svg_2d_plot_interface"></a> svg_2d_plot Public Interface
 </h3></div></div></div>
 <div class="table">
-<a name="id700268"></a><p class="title"><b>Table 14. 2D_plot Miscellaneous</b></p>
+<a name="id701684"></a><p class="title"><b>Table 15. 2D_plot Miscellaneous</b></p>
 <div class="table-contents"><table class="table" summary="2D_plot Miscellaneous">
 <colgroup>
 <col>
@@ -115,7 +115,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id700626"></a><p class="title"><b>Table 15. 2D_plot Commands</b></p>
+<a name="id702042"></a><p class="title"><b>Table 16. 2D_plot Commands</b></p>
 <div class="table-contents"><table class="table" summary="2D_plot Commands">
 <colgroup>
 <col>
@@ -432,7 +432,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id701902"></a><p class="title"><b>Table 16. 2D_plot Colors</b></p>
+<a name="id703322"></a><p class="title"><b>Table 17. 2D_plot Colors</b></p>
 <div class="table-contents"><table class="table" summary="2D_plot Colors">
 <colgroup>
 <col>
@@ -683,7 +683,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id703191"></a><p class="title"><b>Table 17. 2D_plot Axis Information</b></p>
+<a name="id704611"></a><p class="title"><b>Table 18. 2D_plot Axis Information</b></p>
 <div class="table-contents"><table class="table" summary="2D_plot Axis Information">
 <colgroup>
 <col>
@@ -973,7 +973,7 @@
         preceeding code).
       </p>
 <a name="svg_plot.interface.svg_2d_plot_interface.the__code__phrase_role__identifier__plot__phrase__phrase_role__special______phrase___code__method"></a><h5>
-<a name="id704593"></a>
+<a name="id706014"></a>
         <a href="svg_2d_plot_interface.html#svg_plot.interface.svg_2d_plot_interface.the__code__phrase_role__identifier__plot__phrase__phrase_role__special______phrase___code__method">The
         <code class="computeroutput"><span class="identifier">plot</span><span class="special">()</span></code>
         Method</a>
@@ -984,7 +984,7 @@
         named parameters, as well as a deduced parameter.
       </p>
 <div class="table">
-<a name="id704653"></a><p class="title"><b>Table 18. 2D_plot Required parameter</b></p>
+<a name="id706074"></a><p class="title"><b>Table 19. 2D_plot Required parameter</b></p>
 <div class="table-contents"><table class="table" summary="2D_plot Required parameter">
 <colgroup>
 <col>
@@ -1022,7 +1022,7 @@
             </td>
 <td>
             <p>
- Any object that can return an iterator with begin() and end()
+ Any object that can return an iterator with begin() and end().
             </p>
             </td>
 </tr>
@@ -1039,7 +1039,7 @@
             </td>
 <td>
             <p>
- The name of this series
+ The name of this series.
             </p>
             </td>
 </tr>
@@ -1047,7 +1047,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id704775"></a><p class="title"><b>Table 19. 2D_plot Deduced parameter</b></p>
+<a name="id706195"></a><p class="title"><b>Table 20. 2D_plot Deduced parameter</b></p>
 <div class="table-contents"><table class="table" summary="2D_plot Deduced parameter">
 <colgroup>
 <col>
@@ -1080,7 +1080,7 @@
 <tbody><tr>
 <td>
             <p>
- _fill_color
+ fill_color
             </p>
             </td>
 <td>
@@ -1090,8 +1090,7 @@
             </td>
 <td>
             <p>
- This is the color that shows up inside of the circle that is being
- drawn
+ This is the color that shows inside of the circle that is being drawn.
             </p>
             </td>
 <td>
@@ -1103,7 +1102,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id704875"></a><p class="title"><b>Table 20. 2D_plot Optional Parameters</b></p>
+<a name="id706295"></a><p class="title"><b>Table 21. 2D_plot Optional Parameters</b></p>
 <div class="table-contents"><table class="table" summary="2D_plot Optional Parameters">
 <colgroup>
 <col>
@@ -1338,7 +1337,7 @@
         Here are some examples of correct uses:
       </p>
 <a name="svg_plot.interface.svg_2d_plot_interface.using_fill_and_stroke_colors"></a><h4>
-<a name="id705680"></a>
+<a name="id707100"></a>
         <a href="svg_2d_plot_interface.html#svg_plot.interface.svg_2d_plot_interface.using_fill_and_stroke_colors">Using
         fill and stroke colors</a>
       </h4>

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/svg_plot/interface/svg_boxplot_interface.html
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/svg_plot/interface/svg_boxplot_interface.html (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/svg_plot/interface/svg_boxplot_interface.html 2008-01-23 16:45:50 EST (Wed, 23 Jan 2008)
@@ -27,7 +27,7 @@
 <a name="svg_plot.interface.svg_boxplot_interface"></a> svg_boxplot Public Interface
 </h3></div></div></div>
 <div class="table">
-<a name="id705824"></a><p class="title"><b>Table 21. Boxplot Miscellaneous</b></p>
+<a name="id707244"></a><p class="title"><b>Table 22. Boxplot Miscellaneous</b></p>
 <div class="table-contents"><table class="table" summary="Boxplot Miscellaneous">
 <colgroup>
 <col>
@@ -102,7 +102,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id706118"></a><p class="title"><b>Table 22. Boxplot Commands</b></p>
+<a name="id707538"></a><p class="title"><b>Table 23. Boxplot Commands</b></p>
 <div class="table-contents"><table class="table" summary="Boxplot Commands">
 <colgroup>
 <col>
@@ -190,7 +190,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id706447"></a><p class="title"><b>Table 23. Boxplot Colors</b></p>
+<a name="id707868"></a><p class="title"><b>Table 24. Boxplot Colors</b></p>
 <div class="table-contents"><table class="table" summary="Boxplot Colors">
 <colgroup>
 <col>
@@ -341,7 +341,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id707180"></a><p class="title"><b>Table 24. Boxplot Axis Information</b></p>
+<a name="id708600"></a><p class="title"><b>Table 25. Boxplot Axis Information</b></p>
 <div class="table-contents"><table class="table" summary="Boxplot Axis Information">
 <colgroup>
 <col>
@@ -527,19 +527,19 @@
         These allow one to check the current value (default if not changed by the
         preceeding code).
       </p>
-<a name="svg_plot.interface.svg_boxplot_interface.the__code__phrase_role__identifier__plot__phrase__phrase_role__special______phrase___code__method"></a><h5>
-<a name="id708084"></a>
- <a href="svg_boxplot_interface.html#svg_plot.interface.svg_boxplot_interface.the__code__phrase_role__identifier__plot__phrase__phrase_role__special______phrase___code__method">The
+<a name="svg_plot.interface.svg_boxplot_interface.the__code__phrase_role__identifier__plot__phrase__phrase_role__special______phrase___code__function"></a><h5>
+<a name="id709504"></a>
+ <a href="svg_boxplot_interface.html#svg_plot.interface.svg_boxplot_interface.the__code__phrase_role__identifier__plot__phrase__phrase_role__special______phrase___code__function">The
         <code class="computeroutput"><span class="identifier">plot</span><span class="special">()</span></code>
- Method</a>
+ Function</a>
       </h5>
 <p>
         The <code class="computeroutput"><span class="identifier">plot</span><span class="special">()</span></code>
- method allows data series parameters and further chained functions to control
- their display.
+ function allows data series parameters, and further chained functions to
+ control their display.
       </p>
 <div class="table">
-<a name="id708144"></a><p class="title"><b>Table 25. Required parameters</b></p>
+<a name="id709564"></a><p class="title"><b>Table 26. Required parameters</b></p>
 <div class="table-contents"><table class="table" summary="Required parameters">
 <colgroup>
 <col>
@@ -602,7 +602,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id708265"></a><p class="title"><b>Table 26. Optional Functions</b></p>
+<a name="id709685"></a><p class="title"><b>Table 27. Optional Functions</b></p>
 <div class="table-contents"><table class="table" summary="Optional Functions">
 <colgroup>
 <col>
@@ -894,6 +894,1670 @@
 </tbody>
 </table></div>
 </div>
+<br class="table-break"><a name="svg_plot.interface.svg_boxplot_interface.styles_providing_addition_control"></a><h5>
+<a name="id710830"></a>
+ <a href="svg_boxplot_interface.html#svg_plot.interface.svg_boxplot_interface.styles_providing_addition_control">Styles
+ providing addition control</a>
+ </h5>
+<p>
+ Several style classes are used internally but are available for external
+ use too. For most applications the functions listed above will provide enough
+ control, but styles are documented here:
+ </p>
+<pre class="programlisting">
+<span class="keyword">class</span> <span class="identifier">svg_style</span><span class="special">;</span>
+<span class="keyword">class</span> <span class="identifier">text_style</span><span class="special">;</span> <span class="comment">// Font, size, etc parameters of text like title, legend, labels ...
+</span><span class="keyword">class</span> <span class="identifier">plot_point_style</span><span class="special">;</span> <span class="comment">// Parameters of points maarking data series values.
+</span><span class="keyword">class</span> <span class="identifier">plot_line_style</span><span class="special">;</span> <span class="comment">// Parameters of lines joining data series values.
+</span><span class="keyword">class</span> <span class="identifier">axis_line_style</span><span class="special">;</span> <span class="comment">// Parameters of the axes.
+</span><span class="keyword">class</span> <span class="identifier">ticks_labels_style</span><span class="special">;</span> <span class="comment">// Parameters of the axis, grids, &amp; ticks and their value labels.
+</span></pre>
+<a name="svg_plot.interface.svg_boxplot_interface.box_style_defines_a_rectangular_box_"></a><h4>
+<a name="id711011"></a>
+ <a href="svg_boxplot_interface.html#svg_plot.interface.svg_boxplot_interface.box_style_defines_a_rectangular_box_">Box
+ Style defines a rectangular box.</a>
+ </h4>
+<p>
+ A box has a border and may be filled with the same or different colors.
+ </p>
+<pre class="programlisting">
+<span class="keyword">class</span> <span class="identifier">box_style</span>
+<span class="special">{</span> <span class="comment">// Style of a rectangular box.
+</span> <span class="comment">// Use for image and plot window.
+</span><span class="keyword">public</span><span class="special">:</span>
+ <span class="identifier">svg_color</span> <span class="identifier">stroke_</span><span class="special">;</span> <span class="comment">// Box line stroke color.
+</span> <span class="identifier">svg_color</span> <span class="identifier">fill_</span><span class="special">;</span> <span class="comment">// Box fill color.
+</span> <span class="keyword">double</span> <span class="identifier">width_</span><span class="special">;</span> <span class="comment">// plot border rectangle width.
+</span> <span class="keyword">double</span> <span class="identifier">margin_</span><span class="special">;</span> <span class="comment">// Marginal (svg units) space around the box (inside or out).
+</span> <span class="keyword">bool</span> <span class="identifier">border_on_</span><span class="special">;</span> <span class="comment">// Display the border.
+</span> <span class="keyword">bool</span> <span class="identifier">fill_on_</span><span class="special">;</span> <span class="comment">// Color fill the box.
+</span>
+ <span class="identifier">box_style</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">svg_color</span><span class="special">&amp;</span> <span class="identifier">scolor</span> <span class="special">=</span> <span class="identifier">black</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">svg_color</span><span class="special">&amp;</span> <span class="identifier">fcolor</span> <span class="special">=</span> <span class="identifier">antiquewhite</span><span class="special">,</span>
+ <span class="keyword">double</span> <span class="identifier">width</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span> <span class="comment">// of border
+</span> <span class="keyword">double</span> <span class="identifier">margin</span> <span class="special">=</span> <span class="number">2.</span><span class="special">,</span> <span class="comment">//
+</span> <span class="keyword">bool</span> <span class="identifier">border_on</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">,</span> <span class="comment">// Draw a border of width.
+</span> <span class="keyword">bool</span> <span class="identifier">fill_on</span> <span class="special">=</span> <span class="keyword">false</span><span class="special">)</span> <span class="comment">// Apply fill color.
+</span> <span class="special">:</span>
+ <span class="identifier">stroke_</span><span class="special">(</span><span class="identifier">scolor</span><span class="special">),</span> <span class="identifier">fill_</span><span class="special">(</span><span class="identifier">fcolor</span><span class="special">),</span> <span class="identifier">width_</span><span class="special">(</span><span class="identifier">width</span><span class="special">),</span>
+ <span class="identifier">margin_</span><span class="special">(</span><span class="identifier">margin</span><span class="special">),</span>
+ <span class="identifier">border_on_</span><span class="special">(</span><span class="identifier">border_on</span><span class="special">),</span>
+ <span class="identifier">fill_on_</span><span class="special">(</span><span class="identifier">fill_on</span><span class="special">)</span>
+ <span class="special">{</span> <span class="comment">// Initializes all private data with defaults.
+</span> <span class="special">}</span>
+<span class="special">};</span> <span class="comment">// class box_style
+</span></pre>
+<div class="table">
+<a name="id711647"></a><p class="title"><b>Table 28. Box Style Constructor</b></p>
+<div class="table-contents"><table class="table" summary="Box Style Constructor">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ parameter #
+ </p>
+ </th>
+<th>
+ <p>
+ name
+ </p>
+ </th>
+<th>
+ <p>
+ Default
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 1
+ </p>
+ </td>
+<td>
+ <p>
+ scolor
+ </p>
+ </td>
+<td>
+ <p>
+ black
+ </p>
+ </td>
+<td>
+ <p>
+ stroke color of the border of the rectangle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 2
+ </p>
+ </td>
+<td>
+ <p>
+ fcolor
+ </p>
+ </td>
+<td>
+ <p>
+ white
+ </p>
+ </td>
+<td>
+ <p>
+ Fill color of the rectangle.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 3
+ </p>
+ </td>
+<td>
+ <p>
+ width
+ </p>
+ </td>
+<td>
+ <p>
+ 1
+ </p>
+ </td>
+<td>
+ <p>
+ Width the svg units of border
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 4
+ </p>
+ </td>
+<td>
+ <p>
+ margin
+ </p>
+ </td>
+<td>
+ <p>
+ 2
+ </p>
+ </td>
+<td>
+ <p>
+ Margin provided to avoid text etc being too close to the border, or
+ the border colliding with other rectangles.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 4
+ </p>
+ </td>
+<td>
+ <p>
+ border_on
+ </p>
+ </td>
+<td>
+ <p>
+ true (border drawn)
+ </p>
+ </td>
+<td>
+ <p>
+ if true, the a border is drawn.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 5
+ </p>
+ </td>
+<td>
+ <p>
+ fill_on
+ </p>
+ </td>
+<td>
+ <p>
+ false (not filled)
+ </p>
+ </td>
+<td>
+ <p>
+ if true, fill color drawn inside border, if any.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="id711898"></a><p class="title"><b>Table 29. Box Style Accessor functions (all are chainable).</b></p>
+<div class="table-contents"><table class="table" summary="Box Style Accessor functions (all are chainable).">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ name
+ </p>
+ </th>
+<th>
+ <p>
+ parameter type
+ </p>
+ </th>
+<th>
+ <p>
+ Default value
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Examples
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ scolor
+ </p>
+ </td>
+<td>
+ <p>
+ svg_color
+ </p>
+ </td>
+<td>
+ <p>
+ black
+ </p>
+ </td>
+<td>
+ <p>
+ Sets color of border of box
+ </p>
+ </td>
+<td>
+ <p>
+ my_box.scolor(red); my_box.scolor();
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ fcolor
+ </p>
+ </td>
+<td>
+ <p>
+ svg_color
+ </p>
+ </td>
+<td>
+ <p>
+ white
+ </p>
+ </td>
+<td>
+ <p>
+ Sets fill color of box
+ </p>
+ </td>
+<td>
+ <p>
+ my_box.fcolor(red); my_box.fcolor();
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ width
+ </p>
+ </td>
+<td>
+ <p>
+ real_type
+ </p>
+ </td>
+<td>
+ <p>
+ 1 svg unit
+ </p>
+ </td>
+<td>
+ <p>
+ Sets width of border.
+ </p>
+ </td>
+<td>
+ <p>
+ my_box.width(2); my_box.width()
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ margin
+ </p>
+ </td>
+<td>
+ <p>
+ real_type
+ </p>
+ </td>
+<td>
+ <p>
+ 1 svg unit
+ </p>
+ </td>
+<td>
+ <p>
+ Sets margin around border (inside and out).
+ </p>
+ </td>
+<td>
+ <p>
+ my_box.width(2); my_box.width()
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ border_on
+ </p>
+ </td>
+<td>
+ <p>
+ bool
+ </p>
+ </td>
+<td>
+ <p>
+ true
+ </p>
+ </td>
+<td>
+ <p>
+ If true, draws a border of box.
+ </p>
+ </td>
+<td>
+ <p>
+ my_box.border_on(true); my_box.border();
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ fill_on
+ </p>
+ </td>
+<td>
+ <p>
+ bool
+ </p>
+ </td>
+<td>
+ <p>
+ false
+ </p>
+ </td>
+<td>
+ <p>
+ If true, color fills the box.
+ </p>
+ </td>
+<td>
+ <p>
+ my_box.fill_on(true); my_box.fill();
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><a name="svg_plot.interface.svg_boxplot_interface.text_style_defines_text_font__size_etc_"></a><h4>
+<a name="id712213"></a>
+ <a href="svg_boxplot_interface.html#svg_plot.interface.svg_boxplot_interface.text_style_defines_text_font__size_etc_">Text
+ Style defines text Font, Size etc.</a>
+ </h4>
+<p>
+ Text style constructor.
+ </p>
+<pre class="programlisting">
+<span class="identifier">text_style</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="number">20</span><span class="special">,</span>
+<span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">font</span> <span class="special">=</span> <span class="string">""</span><span class="special">,</span> <span class="comment">// Default is sans with Firefox &amp; IE, but serif with Opera.
+</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">style</span> <span class="special">=</span> <span class="string">""</span><span class="special">,</span>
+<span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">weight</span> <span class="special">=</span> <span class="string">""</span><span class="special">,</span>
+<span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">stretch</span> <span class="special">=</span> <span class="string">""</span><span class="special">,</span>
+<span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">decoration</span> <span class="special">=</span> <span class="string">""</span><span class="special">)</span>
+<span class="special">:</span> <span class="comment">// Constructor.
+</span><span class="identifier">font_size_</span><span class="special">(</span><span class="identifier">size</span><span class="special">),</span>
+ <span class="identifier">font_family_</span><span class="special">(</span><span class="identifier">font</span><span class="special">),</span>
+ <span class="identifier">style_</span><span class="special">(</span><span class="identifier">style</span><span class="special">),</span>
+ <span class="identifier">weight_</span><span class="special">(</span><span class="identifier">weight</span><span class="special">),</span>
+ <span class="identifier">stretch_</span><span class="special">(</span><span class="identifier">stretch</span><span class="special">),</span>
+ <span class="identifier">decoration_</span><span class="special">(</span><span class="identifier">decoration</span><span class="special">)</span>
+<span class="special">{</span> <span class="comment">// text_style default constructor, defines defaults for all private members.
+</span><span class="special">}</span>
+</pre>
+<div class="table">
+<a name="id712711"></a><p class="title"><b>Table 30. Text Style Constructor</b></p>
+<div class="table-contents"><table class="table" summary="Text Style Constructor">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ parameter #
+ </p>
+ </th>
+<th>
+ <p>
+ name
+ </p>
+ </th>
+<th>
+ <p>
+ Default
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 1
+ </p>
+ </td>
+<td>
+ <p>
+ font_size
+ </p>
+ </td>
+<td>
+ <p>
+ 20
+ </p>
+ </td>
+<td>
+ <p>
+ text font size (svg units).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 2
+ </p>
+ </td>
+<td>
+ <p>
+ font_family
+ </p>
+ </td>
+<td>
+ <p>
+ ""
+ </p>
+ </td>
+<td>
+ <p>
+ Font family ( Default is sans with Firefox &amp; IE but serif with
+ Opera).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 3
+ </p>
+ </td>
+<td>
+ <p>
+ font_style
+ </p>
+ </td>
+<td>
+ <p>
+ ""
+ </p>
+ </td>
+<td>
+ <p>
+ Allows italic or bold.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Functions that are not yet implemented by browsers:
+ </p>
+ </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 4
+ </p>
+ </td>
+<td>
+ <p>
+ font_weight
+ </p>
+ </td>
+<td>
+ <p>
+ ""
+ </p>
+ </td>
+<td>
+ <p>
+ Font weight: normal | bold | bolder | lighter | 100 | 200 .. 900.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 5
+ </p>
+ </td>
+<td>
+ <p>
+ font_stretch
+ </p>
+ </td>
+<td>
+ <p>
+ ""
+ </p>
+ </td>
+<td>
+ <p>
+ normal | wider | narrower ....
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 6
+ </p>
+ </td>
+<td>
+ <p>
+ font_decoration
+ </p>
+ </td>
+<td>
+ <p>
+ ""
+ </p>
+ </td>
+<td>
+ <p>
+ "underline" | "overline" | "line-through".
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ Examples: text_style my_style;
+ </p>
+<p>
+ produces a normal default font of size 20 svg units (usually pixels).
+ </p>
+<pre class="programlisting">
+<span class="identifier">text_style</span> <span class="identifier">my_style</span><span class="special">(</span><span class="number">14</span><span class="special">,</span> <span class="string">"Lucida Sans Unicode"</span><span class="special">,</span> <span class="string">"italic"</span><span class="special">);</span>
+</pre>
+<p>
+ produces a Lucida Sans Unicode font of size of 14 svg units (usually pixels).
+ </p>
+<div class="table">
+<a name="id713047"></a><p class="title"><b>Table 31. Text Style Accessor functions</b></p>
+<div class="table-contents"><table class="table" summary="Text Style Accessor functions">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ name
+ </p>
+ </th>
+<th>
+ <p>
+ parameter type
+ </p>
+ </th>
+<th>
+ <p>
+ Default value
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Examples
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ font_size
+ </p>
+ </td>
+<td>
+ <p>
+ int
+ </p>
+ </td>
+<td>
+ <p>
+ black
+ </p>
+ </td>
+<td>
+ <p>
+ Sets size of font in svg units
+ </p>
+ </td>
+<td>
+ <p>
+ my_text.font_size(10); my_text.font_size();
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ font_family
+ </p>
+ </td>
+<td>
+ <p>
+ std::string
+ </p>
+ </td>
+<td>
+ <p>
+ ""
+ </p>
+ </td>
+<td>
+ <p>
+ Sets font family
+ </p>
+ </td>
+<td>
+ <p>
+ my_text.font_family("Arial"); my_text.font_family();
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ font_style
+ </p>
+ </td>
+<td>
+ <p>
+ std::string
+ </p>
+ </td>
+<td>
+ <p>
+ ""
+ </p>
+ </td>
+<td>
+ <p>
+ Sets font style (normal | bold | italic).
+ </p>
+ </td>
+<td>
+ <p>
+ my_text.font_style("italic"); my_text.font_style()
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Functions that are not yet implemented by browsers:
+ </p>
+ </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+</tr>
+<tr>
+<td>
+ <p>
+ font_weight
+ </p>
+ </td>
+<td>
+ <p>
+ std::string
+ </p>
+ </td>
+<td>
+ <p>
+ ""
+ </p>
+ </td>
+<td>
+ <p>
+ Sets font weight.
+ </p>
+ </td>
+<td>
+ <p>
+ my_text.font_weight("bold"); my_text.font_weight()
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ font_stretch
+ </p>
+ </td>
+<td>
+ <p>
+ std::string
+ </p>
+ </td>
+<td>
+ <p>
+ ""
+ </p>
+ </td>
+<td>
+ <p>
+ Sets font stretch (wider | narrower).
+ </p>
+ </td>
+<td>
+ <p>
+ my_text.font_stretch(true); my_text.font_stretch();
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ font_decoration
+ </p>
+ </td>
+<td>
+ <p>
+ std::string
+ </p>
+ </td>
+<td>
+ <p>
+ ""
+ </p>
+ </td>
+<td>
+ <p>
+ Set decoration (underline | overline | strike thru).
+ </p>
+ </td>
+<td>
+ <p>
+ my_text.font_decoration("underline"); my_text.font_decoration();
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><a name="svg_plot.interface.svg_boxplot_interface.plot_point_style_defines_how_data_points_are_marked_"></a><h4>
+<a name="id713373"></a>
+ <a href="svg_boxplot_interface.html#svg_plot.interface.svg_boxplot_interface.plot_point_style_defines_how_data_points_are_marked_">plot_point_style
+ defines how data points are marked.</a>
+ </h4>
+<pre class="programlisting">
+<span class="keyword">class</span> <span class="identifier">plot_point_style</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="identifier">svg_color</span> <span class="identifier">fill_color_</span><span class="special">;</span> <span class="comment">// Color of the centre of the shape.
+</span> <span class="identifier">svg_color</span> <span class="identifier">stroke_color_</span><span class="special">;</span> <span class="comment">// Color of circumference of shape.
+</span> <span class="keyword">int</span> <span class="identifier">size_</span><span class="special">;</span> <span class="comment">// diameter of circle, height of square, font_size ...
+</span> <span class="identifier">point_shape</span> <span class="identifier">shape_</span><span class="special">;</span> <span class="comment">// round, square, point...
+</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">symbols_</span><span class="special">;</span> <span class="comment">// Unicode symbol (letters, digits, squiggles etc)
+</span> <span class="comment">// Caution: not all Unicode symbols are output by all browsers!
+</span> <span class="comment">// Set symbol(s) font using .style().font_family("arial");
+</span> <span class="identifier">text_style</span> <span class="identifier">symbols_style_</span><span class="special">;</span>
+
+ <span class="identifier">plot_point_style</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">svg_color</span><span class="special">&amp;</span> <span class="identifier">fill</span> <span class="special">=</span> <span class="identifier">blank</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">svg_color</span><span class="special">&amp;</span> <span class="identifier">stroke</span> <span class="special">=</span> <span class="identifier">blank</span><span class="special">,</span>
+ <span class="keyword">int</span> <span class="identifier">size</span> <span class="special">=</span> <span class="number">10</span><span class="special">,</span> <span class="identifier">point_shape</span> <span class="identifier">shape</span> <span class="special">=</span> <span class="identifier">round</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">symbols</span> <span class="special">=</span> <span class="string">"X"</span><span class="special">)</span>
+ <span class="special">:</span>
+ <span class="identifier">fill_color_</span><span class="special">(</span><span class="identifier">fill</span><span class="special">),</span> <span class="identifier">stroke_color_</span><span class="special">(</span><span class="identifier">stroke</span><span class="special">),</span> <span class="identifier">size_</span><span class="special">(</span><span class="identifier">size</span><span class="special">),</span> <span class="identifier">shape_</span><span class="special">(</span><span class="identifier">shape</span><span class="special">),</span> <span class="identifier">symbols_</span><span class="special">(</span><span class="identifier">symbols</span><span class="special">)</span>
+ <span class="special">{</span> <span class="comment">// TODO Should there be default colors? or "none" == blank?
+</span> <span class="identifier">symbols_style_</span><span class="special">.</span><span class="identifier">font_size</span><span class="special">(</span><span class="identifier">size</span><span class="special">);</span>
+ <span class="identifier">symbols_style_</span><span class="special">.</span><span class="identifier">font_family</span><span class="special">(</span><span class="string">"Lucida Sans Unicode"</span><span class="special">);</span>
+ <span class="special">}</span>
+</pre>
+<div class="table">
+<a name="id714005"></a><p class="title"><b>Table 32. Plot Point Style Constructor</b></p>
+<div class="table-contents"><table class="table" summary="Plot Point Style Constructor">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ parameter #
+ </p>
+ </th>
+<th>
+ <p>
+ name
+ </p>
+ </th>
+<th>
+ <p>
+ Default
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 1
+ </p>
+ </td>
+<td>
+ <p>
+ fill
+ </p>
+ </td>
+<td>
+ <p>
+ blank
+ </p>
+ </td>
+<td>
+ <p>
+ SVG fill color.
+ </p>
+ </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 2
+ </p>
+ </td>
+<td>
+ <p>
+ stroke
+ </p>
+ </td>
+<td>
+ <p>
+ blank
+ </p>
+ </td>
+<td>
+ <p>
+ SVG stroke color.
+ </p>
+ </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 3
+ </p>
+ </td>
+<td>
+ <p>
+ size
+ </p>
+ </td>
+<td>
+ <p>
+ 10
+ </p>
+ </td>
+<td>
+ <p>
+ size of marker (svg units).
+ </p>
+ </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 4
+ </p>
+ </td>
+<td>
+ <p>
+ shape
+ </p>
+ </td>
+<td>
+ <p>
+ round
+ </p>
+ </td>
+<td>
+ <p>
+ shape in enum point_shape
+ </p>
+ </td>
+<td>
+ <p>
+ [5
+ </p>
+ </td>
+<td>
+ <p>
+ symbol(s)
+ </p>
+ </td>
+<td>
+ <p>
+ "X"
+ </p>
+ </td>
+<td>
+ <p>
+ Unicode symbol(s) (letters, digits, squiggles etc)
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ Examples:
+ </p>
+<pre class="programlisting">
+<span class="identifier">point_style_</span><span class="special">(</span><span class="identifier">black</span><span class="special">,</span> <span class="identifier">blank</span><span class="special">,</span> <span class="number">10</span><span class="special">,</span> <span class="identifier">round</span><span class="special">),</span> <span class="comment">// Default point style, black 10 point unfilled circle.
+</span><span class="identifier">point_style_</span><span class="special">(</span><span class="identifier">red</span><span class="special">,</span> <span class="identifier">yellow</span><span class="special">,</span> <span class="number">5</span><span class="special">,</span> <span class="identifier">square</span><span class="special">),</span> <span class="comment">// Point style, red 5 square filled yellow.
+</span></pre>
+<p>
+ It is usually convenient to override point styles onto calls of plot function
+ by chaining thus:
+ </p>
+<pre class="programlisting">
+<span class="identifier">my_plot</span><span class="special">.</span><span class="identifier">plot</span><span class="special">(</span><span class="identifier">data2</span><span class="special">,</span> <span class="string">"-2 + x^2"</span><span class="special">).</span><span class="identifier">fill_color</span><span class="special">(</span><span class="identifier">orange</span><span class="special">).</span><span class="identifier">size</span><span class="special">(</span><span class="number">5</span><span class="special">).</span><span class="identifier">shape</span><span class="special">(</span><span class="identifier">square</span><span class="special">);</span>
+</pre>
+<p>
+ Shapes available are:
+ </p>
+<pre class="programlisting">
+<span class="keyword">enum</span> <span class="identifier">point_shape</span>
+<span class="special">{</span> <span class="comment">// Marking a data point.
+</span> <span class="comment">// Used in draw_plot_point in axis_plot_frame.hpp
+</span> <span class="identifier">none</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span>
+ <span class="identifier">round</span><span class="special">,</span> <span class="identifier">square</span><span class="special">,</span> <span class="identifier">point</span><span class="special">,</span> <span class="identifier">egg</span><span class="special">,</span> <span class="comment">// ellipse
+</span> <span class="identifier">vertical_line</span><span class="special">,</span> <span class="comment">// line up &amp; down from axis.
+</span> <span class="identifier">horizontal_line</span><span class="special">,</span> <span class="comment">// line left &amp; right from axis.
+</span> <span class="identifier">vertical_tick</span><span class="special">,</span> <span class="comment">// tick up from axis.
+</span> <span class="identifier">horizontal_tick</span><span class="special">,</span> <span class="comment">// line left &amp; right from axis.
+</span> <span class="comment">// Note horizontal will not be useful for 1D plot - will be on the axis.
+</span> <span class="identifier">cone</span><span class="special">,</span> <span class="comment">// pointing up - 'rightwayup'.
+</span> <span class="identifier">triangle</span><span class="special">,</span> <span class="comment">// pointing down 'upsidedown'.
+</span> <span class="identifier">star</span><span class="special">,</span> <span class="comment">// using polygon.
+</span> <span class="identifier">lozenge</span><span class="special">,</span> <span class="comment">// Using Unicode symbols.
+</span> <span class="identifier">diamond</span><span class="special">,</span>
+ <span class="identifier">heart</span><span class="special">,</span>
+ <span class="identifier">club</span><span class="special">,</span>
+ <span class="identifier">spade</span><span class="special">,</span>
+ <span class="identifier">asterisk</span><span class="special">,</span> <span class="comment">// *
+</span> <span class="identifier">x</span><span class="special">,</span> <span class="comment">// x
+</span> <span class="identifier">cross</span><span class="special">,</span>
+ <span class="identifier">symbol</span> <span class="comment">// Unicode symbol including letters, digits, greek &amp; 'squiggles'.
+</span> <span class="comment">// For example: &amp;#x3A9; = greek omega
+</span> <span class="comment">// Other shapes may be added.
+</span><span class="special">};</span>
+</pre>
+<div class="table">
+<a name="id714878"></a><p class="title"><b>Table 33. Plot Point Style Accessor functions</b></p>
+<div class="table-contents"><table class="table" summary="Plot Point Style Accessor functions">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ name
+ </p>
+ </th>
+<th>
+ <p>
+ parameter type
+ </p>
+ </th>
+<th>
+ <p>
+ Default value
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Examples
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ size
+ </p>
+ </td>
+<td>
+ <p>
+ int
+ </p>
+ </td>
+<td>
+ <p>
+ 10
+ </p>
+ </td>
+<td>
+ <p>
+ Sets size of point marker or font in svg units
+ </p>
+ </td>
+<td>
+ <p>
+ my_mark.size(10); my_mark.font_size();
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ fill_color
+ </p>
+ </td>
+<td>
+ <p>
+ svg_color
+ </p>
+ </td>
+<td>
+ <p>
+ none
+ </p>
+ </td>
+<td>
+ <p>
+ Sets fill color
+ </p>
+ </td>
+<td>
+ <p>
+ my_mark.fill_color(red); my_mark.fill_color();
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ stroke_color
+ </p>
+ </td>
+<td>
+ <p>
+ black
+ </p>
+ </td>
+<td>
+ <p>
+ ""
+ </p>
+ </td>
+<td>
+ <p>
+ Sets stroke color for mark.
+ </p>
+ </td>
+<td>
+ <p>
+ my_mark.stroke_color(green); my_mark.stroke_color()
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ shape
+ </p>
+ </td>
+<td>
+ <p>
+ point_shape
+ </p>
+ </td>
+<td>
+ <p>
+ none
+ </p>
+ </td>
+<td>
+ <p>
+ Sets plot point marker
+ </p>
+ </td>
+<td>
+ <p>
+ my_mark.shape(egg); my_mark.shape()
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ symbols
+ </p>
+ </td>
+<td>
+ <p>
+ std::string
+ </p>
+ </td>
+<td>
+ <p>
+ "X"
+ </p>
+ </td>
+<td>
+ <p>
+ Sets symbol as plot point marker.
+ </p>
+ </td>
+<td>
+ <p>
+ my_mark.symbols("&amp;#x3A9;"); (greek omega) my_mark.symbols();
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ style
+ </p>
+ </td>
+<td>
+ <p>
+ svg::text_style
+ </p>
+ </td>
+<td>
+ <p>
+ "Lucida Sans Unicode" with plot_point size.
+ </p>
+ </td>
+<td>
+ <p>
+ Set font and size for a symbol marking points.
+ </p>
+ </td>
+<td>
+ <p>
+ my_mark.style(my_symbol_style); my_mark.style();
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><a name="svg_plot.interface.svg_boxplot_interface.plot_line_style_defines_how_data_points_are_joined_"></a><h4>
+<a name="id715195"></a>
+ <a href="svg_boxplot_interface.html#svg_plot.interface.svg_boxplot_interface.plot_line_style_defines_how_data_points_are_joined_">plot_line_style
+ defines how data points are joined.</a>
+ </h4>
+<pre class="programlisting">
+<span class="keyword">class</span> <span class="identifier">plot_line_style</span>
+<span class="special">{</span> <span class="comment">// Style of line joining data series values.
+</span><span class="keyword">public</span><span class="special">:</span>
+ <span class="identifier">svg_color</span> <span class="identifier">color_</span><span class="special">;</span> <span class="comment">// Line stroke color. (No fill color for lines).
+</span> <span class="identifier">svg_color</span> <span class="identifier">area_fill_</span><span class="special">;</span> <span class="comment">// Fill color from line to axis. == true means color.blank = true.
+</span> <span class="keyword">double</span> <span class="identifier">width_</span><span class="special">;</span> <span class="comment">// Width of line.
+</span> <span class="keyword">bool</span> <span class="identifier">line_on_</span><span class="special">;</span> <span class="comment">// If straight line is to be drawn between points.
+</span> <span class="keyword">bool</span> <span class="identifier">bezier_on_</span><span class="special">;</span> <span class="comment">// If a smooth bezier line is to be drawn between points.
+</span>
+ <span class="identifier">plot_line_style</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">svg_color</span><span class="special">&amp;</span> <span class="identifier">col</span> <span class="special">=</span> <span class="identifier">black</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">svg_color</span><span class="special">&amp;</span> <span class="identifier">acol</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">width</span> <span class="special">=</span> <span class="number">2</span><span class="special">,</span> <span class="keyword">bool</span> <span class="identifier">line_on</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">,</span> <span class="keyword">bool</span> <span class="identifier">bezier_on</span> <span class="special">=</span> <span class
="keyword">false</span><span class="special">)</span>
+ <span class="special">:</span>
+ <span class="identifier">color_</span><span class="special">(</span><span class="identifier">col</span><span class="special">),</span> <span class="identifier">area_fill_</span><span class="special">(</span><span class="identifier">acol</span><span class="special">),</span> <span class="identifier">width_</span><span class="special">(</span><span class="identifier">width</span><span class="special">),</span> <span class="identifier">line_on_</span><span class="special">(</span><span class="identifier">line_on</span><span class="special">),</span> <span class="identifier">bezier_on_</span><span class="special">(</span><span class="identifier">bezier_on</span><span class="special">)</span>
+ <span class="special">{</span> <span class="comment">// Defaults for all private data.
+</span> <span class="special">}</span>
+</pre>
+<div class="table">
+<a name="id715705"></a><p class="title"><b>Table 34. Plot line Style Constructor</b></p>
+<div class="table-contents"><table class="table" summary="Plot line Style Constructor">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ parameter #
+ </p>
+ </th>
+<th>
+ <p>
+ name
+ </p>
+ </th>
+<th>
+ <p>
+ Default
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 1
+ </p>
+ </td>
+<td>
+ <p>
+ color
+ </p>
+ </td>
+<td>
+ <p>
+ black
+ </p>
+ </td>
+<td>
+ <p>
+ line color (SVG stroke color).
+ </p>
+ </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 2
+ </p>
+ </td>
+<td>
+ <p>
+ area_fill
+ </p>
+ </td>
+<td>
+ <p>
+ blank
+ </p>
+ </td>
+<td>
+ <p>
+ area_fill color (if required).
+ </p>
+ </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 3
+ </p>
+ </td>
+<td>
+ <p>
+ width
+ </p>
+ </td>
+<td>
+ <p>
+ 2
+ </p>
+ </td>
+<td>
+ <p>
+ width of line (svg units).
+ </p>
+ </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+<td class="auto-generated"> </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 4
+ </p>
+ </td>
+<td>
+ <p>
+ line_on
+ </p>
+ </td>
+<td>
+ <p>
+ true
+ </p>
+ </td>
+<td>
+ <p>
+ true if straight line required.
+ </p>
+ </td>
+<td>
+ <p>
+ [5
+ </p>
+ </td>
+<td>
+ <p>
+ bezier_on
+ </p>
+ </td>
+<td>
+ <p>
+ false
+ </p>
+ </td>
+<td>
+ <p>
+ true if bezier smoothed line required.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ Examples:
+ </p>
+<pre class="programlisting">
+<span class="identifier">my_line_style</span> <span class="identifier">line_style_</span><span class="special">(</span><span class="identifier">black</span><span class="special">,</span> <span class="keyword">true</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="keyword">true</span><span class="special">,</span> <span class="keyword">false</span><span class="special">);</span>
+<span class="comment">// Black straight line joining points (without area fill).
+</span></pre>
+<p>
+ In practice it is often convenient to chain function calls onto plot function
+ calls thus:
+ </p>
+<pre class="programlisting">
+<span class="identifier">my_plot</span><span class="special">.</span><span class="identifier">plot</span><span class="special">(</span><span class="identifier">data3</span><span class="special">,</span> <span class="string">"-1 + 2x"</span><span class="special">).</span><span class="identifier">bezier_on</span><span class="special">(</span><span class="keyword">true</span><span class="special">).</span><span class="identifier">line_color</span><span class="special">(</span><span class="identifier">blue</span><span class="special">);</span>
+</pre>
+<div class="table">
+<a name="id716109"></a><p class="title"><b>Table 35. Plot Line Style Accessor functions</b></p>
+<div class="table-contents"><table class="table" summary="Plot Line Style Accessor functions">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ name
+ </p>
+ </th>
+<th>
+ <p>
+ parameter type
+ </p>
+ </th>
+<th>
+ <p>
+ Default value
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Examples
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ width
+ </p>
+ </td>
+<td>
+ <p>
+ int
+ </p>
+ </td>
+<td>
+ <p>
+ 10
+ </p>
+ </td>
+<td>
+ <p>
+ Sets width of line in svg units
+ </p>
+ </td>
+<td>
+ <p>
+ my_mark.width(1); my_mark.width();
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ color
+ </p>
+ </td>
+<td>
+ <p>
+ svg_color
+ </p>
+ </td>
+<td>
+ <p>
+ black
+ </p>
+ </td>
+<td>
+ <p>
+ Sets line color
+ </p>
+ </td>
+<td>
+ <p>
+ my_mark.color(red); my_mark.fill_color();
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ area_fill
+ </p>
+ </td>
+<td>
+ <p>
+ svg_color
+ </p>
+ </td>
+<td>
+ <p>
+ black
+ </p>
+ </td>
+<td>
+ <p>
+ Sets area_fill color.
+ </p>
+ </td>
+<td>
+ <p>
+ my_mark.area_fill(green); my_mark.area_fill()
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ line_on
+ </p>
+ </td>
+<td>
+ <p>
+ bool
+ </p>
+ </td>
+<td>
+ <p>
+ true
+ </p>
+ </td>
+<td>
+ <p>
+ If true draws a line.
+ </p>
+ </td>
+<td>
+ <p>
+ my_mark.line_on(true); my_mark.line_on()
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ bezier_on
+ </p>
+ </td>
+<td>
+ <p>
+ bool
+ </p>
+ </td>
+<td>
+ <p>
+ false
+ </p>
+ </td>
+<td>
+ <p>
+ If true draws a curve.
+ </p>
+ </td>
+<td>
+ <p>
+ my_mark.bezier_on(true); my_mark.bezier_on()
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 <br class="table-break">
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/svg_plot/interface/svg_interface.html
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/svg_plot/interface/svg_interface.html (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/svg_plot/interface/svg_interface.html 2008-01-23 16:45:50 EST (Wed, 23 Jan 2008)
@@ -104,7 +104,107 @@
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="identifier">svg</span><span class="special">&amp;</span>
+ <code class="computeroutput"><span class="identifier">g_element</span><span class="special">&amp;</span>
+ <span class="identifier">add_g_element</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Adds a g_element at the root of the document tree. Acts as a <code class="computeroutput"><span class="identifier">push_back</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the <code class="computeroutput"><span class="identifier">g_element</span></code>
+ that is pushed back. This allows you to do something like the following:
+ <code class="computeroutput"><span class="identifier">image</span><span class="special">.</span><span class="identifier">add_g_element</span><span class="special">().</span><span class="identifier">line</span><span class="special">(/**/).</span><span class="identifier">line</span><span class="special">(/**/).</span><span class="identifier">rect</span><span class="special">(/**/);</span>
+ </code> which adds two lines and a rectangle to the g_element that
+ was just created.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">circle_element</span><span class="special">&amp;</span>
+ <span class="identifier">circle</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="keyword">int</span>
+ <span class="identifier">radius</span> <span class="special">=</span>
+ <span class="number">5</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Adds a point at (x,y) in the root level of the document
+ </p>
+ </td>
+<td>
+ <p>
+ If the user is calling the circle method, odds are they would prefer
+ a real circle instead of a degenerate circle (a point). 5 is as good
+ a default as any other, and the user is unlikely want a point if they
+ are making this call.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">ellipse_element</span><span class="special">&amp;</span>
+ <span class="identifier">ellipse</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">rx</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">ry</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">cx</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">cy</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Adds an ellipse at the root level of the doucment
+ </p>
+ </td>
+<td>
+ <p>
+ The widths of the ellipse are required
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">g_element</span><span class="special">&amp;</span>
+ <span class="identifier">get_g_element</span><span class="special">(</span><span class="keyword">int</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Gets the g_element at the index specified.
+ </p>
+ </td>
+<td>
+ <p>
+ Gives a runtime error if you specify an index that does not contain
+ a <code class="computeroutput"><span class="identifier">g_element</span></code>. An iterator
+ interface to access these elements might be useful.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">get_g_element</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Class derived from svg_element.
+ </p>
+ </td>
+<td>
+ <p>
+ Graph element: line, circle, rect... Node element of document tree.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">line_element</span><span class="special">&amp;</span>
               <span class="identifier">line</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x1</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y1</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x2</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y2</span><span class="special">)</span></code>
             </p>
             </td>
@@ -144,89 +244,100 @@
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="identifier">get_g_element</span></code>
+ <code class="computeroutput"><span class="identifier">polygon_element</span><span class="special">&amp;</span>
+ <span class="identifier">polygon</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">bool</span> <span class="identifier">f</span><span class="special">)</span></code>
             </p>
             </td>
 <td>
             <p>
- Class derived from svg_element.
+ Begins a polygon at point (x, y). Fill is determined by <code class="computeroutput"><span class="identifier">f</span></code>
             </p>
             </td>
 <td>
             <p>
- Graph element: line, circle, rect... Node element of document tree.
             </p>
             </td>
 </tr>
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="identifier">g_element</span><span class="special">&amp;</span>
- <span class="identifier">add_g_element</span><span class="special">()</span></code>
+ <code class="computeroutput"><span class="identifier">polygon_element</span><span class="special">&amp;</span>
+ <span class="identifier">polygon</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">poly_path_point</span><span class="special">&gt;&amp;</span>
+ <span class="identifier">v</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">f</span><span class="special">)</span></code>
             </p>
             </td>
 <td>
             <p>
- Adds a g_element at the root of the document tree. Acts as a <code class="computeroutput"><span class="identifier">push_back</span><span class="special">()</span></code>
+ Generates a polygon from the vector input using Cartesian coordinates.
             </p>
             </td>
 <td>
             <p>
- Returns the <code class="computeroutput"><span class="identifier">g_element</span></code>
- that is pushed back. This allows you to do something like the following:
- <code class="computeroutput"><span class="identifier">image</span><span class="special">.</span><span class="identifier">add_g_element</span><span class="special">().</span><span class="identifier">line</span><span class="special">(/**/).</span><span class="identifier">line</span><span class="special">(/**/).</span><span class="identifier">rect</span><span class="special">(/**/);</span>
- </code> which adds two lines and a rectangle to the g_element that
- was just created.
+ Fill is determined by <code class="computeroutput"><span class="identifier">f</span></code>.
             </p>
             </td>
 </tr>
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="identifier">svg</span><span class="special">&amp;</span>
- <span class="identifier">circle</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="keyword">int</span>
- <span class="identifier">radius</span> <span class="special">=</span>
- <span class="number">5</span><span class="special">)</span></code>
+ <code class="computeroutput"><span class="identifier">polyline_element</span><span class="special">&amp;</span>
+ <span class="identifier">polyline</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">)</span></code>
             </p>
             </td>
 <td>
             <p>
- Adds a point at (x,y) in the root level of the document
+ Places a polyline at coordinate (x, y)
             </p>
             </td>
 <td>
             <p>
- If the user is calling the circle method, odds are they would prefer
- a real circle instead of a degenerate circle (a point). 5 is as good
- a default as any other, and the user is unlikely want a point if they
- are making this call.
             </p>
             </td>
 </tr>
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="identifier">g_element</span><span class="special">&amp;</span>
- <span class="identifier">get_g_element</span><span class="special">(</span><span class="keyword">int</span><span class="special">)</span></code>
+ <code class="computeroutput"><span class="identifier">polyline_element</span><span class="special">&amp;</span>
+ <span class="identifier">polyline</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x1</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y1</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x2</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y2</span><span class="special">)</span></code>
             </p>
             </td>
 <td>
             <p>
- Gets the g_element at the index specified.
+ Adds a polyline to the root of the SVG document from (x1, y1) to (x2,
+ y2)
             </p>
             </td>
 <td>
             <p>
- Gives a runtime error if you specify an index that does not contain
- a <code class="computeroutput"><span class="identifier">g_element</span></code>. An iterator
- interface to access these elements might be useful.
             </p>
             </td>
 </tr>
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="identifier">svg</span><span class="special">&amp;</span>
+ <code class="computeroutput"><span class="identifier">polyline_element</span><span class="special">&amp;</span>
+ <span class="identifier">polyline</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">poly_path_point</span><span class="special">&gt;&amp;</span>
+ <span class="identifier">v</span><span class="special">,</span>
+ <span class="keyword">bool</span> <span class="identifier">f</span><span class="special">=</span><span class="keyword">true</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Adds a polyline to the root of the SVG document with
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">f</span></code> denotes the option
+ to provide a fill for the polyline.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">rect_element</span><span class="special">&amp;</span>
               <span class="identifier">rect</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x1</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y1</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">width</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">height</span><span class="special">)</span></code>
             </p>
             </td>
@@ -244,7 +355,26 @@
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="identifier">svg</span><span class="special">&amp;</span>
+ <code class="computeroutput"><span class="identifier">polygon_element</span><span class="special">&amp;</span>
+ <span class="identifier">rhombus</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x1</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y1</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x2</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y2</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x3</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y3</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x4</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y4</span><span class="special">,</span> <span class="keyword">bool</span> <span class="identifier">f</span>
+ <span class="special">=</span> <span class="keyword">true</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates a rhombus at the four coordinates provided
+ </p>
+ </td>
+<td>
+ <p>
+ Fill is determined by <code class="computeroutput"><span class="identifier">f</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">text_element</span><span class="special">&amp;</span>
               <span class="identifier">text</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">text</span><span class="special">)</span></code>
             </p>
             </td>
@@ -259,12 +389,31 @@
             </p>
             </td>
 </tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">polygon_element</span><span class="special">&amp;</span>
+ <span class="identifier">triangle</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x1</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y1</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x2</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y2</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x3</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y3</span><span class="special">,</span> <span class="keyword">bool</span> <span class="identifier">f</span>
+ <span class="special">=</span> <span class="keyword">true</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Generates a triangle at the three Cartesian coordinates specified
+ </p>
+ </td>
+<td>
+ <p>
+ Fill is determined by <code class="computeroutput"><span class="identifier">f</span></code>
+ </p>
+ </td>
+</tr>
 </tbody>
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id693843"></a><p class="title"><b>Table 5. `svg` Copyright</b></p>
-<div class="table-contents"><table class="table" summary="`svg` Copyright">
+<a name="id694987"></a><p class="title"><b>Table 5. Special methods</b></p>
+<div class="table-contents"><table class="table" summary="Special methods">
 <colgroup>
 <col>
 <col>
@@ -291,51 +440,78 @@
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="identifier">svg</span><span class="special">&amp;</span>
- <span class="identifier">copyright_holder</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">)</span></code>
+ <code class="computeroutput"><span class="identifier">clip_path_element</span><span class="special">&amp;</span>
+ <span class="identifier">clip_path</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">rect_element</span><span class="special">&amp;</span> <span class="identifier">rect</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span>
+ <span class="identifier">id</span><span class="special">)</span></code>
             </p>
             </td>
 <td>
             <p>
- Set copyright holder for the SVG XML document, as comment and XML.
+ Allows a rectangle to be defined as a clipping element. The clip elements
+ are referenced by name, so you must provide the ID
             </p>
             </td>
 <td>
             <p>
- &lt;!-- SVG Plot Copyright Paul A. Bristow 2007 --&gt; &lt;meta name<code class="literal">"copyright"
- content</code>"Paul A. Bristow" /&gt;
             </p>
             </td>
 </tr>
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="identifier">svg</span><span class="special">&amp;</span>
- <span class="identifier">license</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">)</span></code>
+ <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">load_stylesheet</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span>
+ <span class="identifier">input</span><span class="special">)</span></code>
             </p>
             </td>
 <td>
             <p>
- Set license terms (if any): reproduction, distribution, attribution,
- commercialuse
+ Allows you to define the filename of a stylesheet. The stylesheet is
+ validated as being a strict subset of the CSS syntax.
             </p>
             </td>
 <td>
             <p>
- "permits" (default), "requires", or "prohibits".
             </p>
             </td>
 </tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="id695246"></a><p class="title"><b>Table 6. `svg` Copyright</b></p>
+<div class="table-contents"><table class="table" summary="`svg` Copyright">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Signature
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+<th>
+ <p>
+ Notes &amp; Examples
+ </p>
+ </th>
+</tr></thead>
+<tbody>
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">reproduction</span><span class="special">()</span></code>
+ <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">attribution</span><span class="special">()</span></code>
             </p>
             </td>
 <td>
             <p>
- Returns the Reproduction segment of the license
+ Returns the Attribution segment of the license
             </p>
             </td>
 <td>
@@ -347,34 +523,34 @@
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">distribution</span><span class="special">()</span></code>
+ <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">author</span><span class="special">()</span></code>
             </p>
             </td>
 <td>
             <p>
- Returns the Distribution segment of the license
+ Returns the author of the document.
             </p>
             </td>
 <td>
             <p>
- The default is <code class="computeroutput"><span class="string">""</span></code>
+ The default is the copyright_holder.
             </p>
             </td>
 </tr>
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">attribution</span><span class="special">()</span></code>
+ <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">author</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">)</span></code>
             </p>
             </td>
 <td>
             <p>
- Returns the Attribution segment of the license
+ Sets the author of the document
             </p>
             </td>
 <td>
             <p>
- The default is <code class="computeroutput"><span class="string">""</span></code>
+ The copyright_holder is the default author
             </p>
             </td>
 </tr>
@@ -398,6 +574,41 @@
 <tr>
 <td>
             <p>
+ <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">copyright_date</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the copyright date for the SVG XML document
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the date string, not the associated XML.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">copyright_date</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Set copyright date for the SVG XML document, as comment and XML.
+ </p>
+ </td>
+<td>
+ <p>
+ &lt;!-- SVG Plot Copyright Paul A. Bristow 2007 --&gt; &lt;meta name<code class="literal">"date"
+ content</code>"2007" /&gt;
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
               <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">copyright_holder</span></code>
             </p>
             </td>
@@ -415,142 +626,161 @@
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="identifier">svg</span><span class="special">&amp;</span>
- <span class="identifier">license</span><span class="special">(</span><span class="keyword">bool</span><span class="special">)</span></code>
+ <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">copyright_holder</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">)</span></code>
             </p>
             </td>
 <td>
             <p>
- Sets whether or not the license information should be added to the
- written document
+ Set copyright holder for the SVG XML document, as comment and XML.
             </p>
             </td>
 <td>
             <p>
- <code class="computeroutput"><span class="keyword">false</span></code>
+ &lt;!-- SVG Plot Copyright Paul A. Bristow 2007 --&gt; &lt;meta name<code class="literal">"copyright"
+ content</code>"Paul A. Bristow" /&gt;
             </p>
             </td>
 </tr>
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="keyword">bool</span> <span class="identifier">is_license</span><span class="special">()</span></code>
+ <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">description</span><span class="special">()</span></code>
             </p>
             </td>
 <td>
             <p>
- Returns whether or not a license will be output with a written document.
+ Returns the description of the document.
             </p>
             </td>
 <td>
             <p>
- Permits reproduction &amp; distribution but requires atribution.
+ Returns the description string, not the associated XML
             </p>
             </td>
 </tr>
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="identifier">svg</span><span class="special">&amp;</span>
- <span class="identifier">author</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">)</span></code>
+ <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">description</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">)</span></code>
             </p>
             </td>
 <td>
             <p>
- Sets the author of the document
+ Sets description for the SVG XML document, as comment and XML.
             </p>
             </td>
 <td>
             <p>
- The copyright_holder is the default author
+ &lt;!-- My Document description --&gt; &lt;desc&gt;My Document description&lt;/desc&gt;
             </p>
             </td>
 </tr>
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="identifier">svg</span><span class="special">&amp;</span>
- <span class="identifier">copyright_date</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">)</span></code>
+ <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">distribution</span><span class="special">()</span></code>
             </p>
             </td>
 <td>
             <p>
- Set copyright date for the SVG XML document, as comment and XML.
+ Returns the Distribution segment of the license
             </p>
             </td>
 <td>
             <p>
- &lt;!-- SVG Plot Copyright Paul A. Bristow 2007 --&gt; &lt;meta name<code class="literal">"date"
- content</code>"2007" /&gt;
+ The default is <code class="computeroutput"><span class="string">""</span></code>
             </p>
             </td>
 </tr>
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">copyright_date</span><span class="special">()</span></code>
+ `void image_filename(const std::string)
             </p>
             </td>
 <td>
             <p>
- Returns the copyright date for the SVG XML document
+ Writes the image filename for the document as a title element in the
+ SVG document
             </p>
             </td>
 <td>
             <p>
- Returns the date string, not the associated XML.
+ If the wrong filename is provided, the right one will be set upon a
+ call to write(). You should not have to set this, as it will be overridden
+ upon write.
             </p>
             </td>
 </tr>
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="identifier">svg</span><span class="special">&amp;</span>
- <span class="identifier">description</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">)</span></code>
+ <code class="computeroutput"><span class="keyword">bool</span> <span class="identifier">is_license</span><span class="special">()</span></code>
             </p>
             </td>
 <td>
             <p>
- Sets description for the SVG XML document, as comment and XML.
+ Returns whether or not a license will be output with a written document.
             </p>
             </td>
 <td>
             <p>
- &lt;!-- My Document description --&gt; &lt;desc&gt;My Document description&lt;/desc&gt;
+ Permits reproduction &amp; distribution but requires atribution.
             </p>
             </td>
 </tr>
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">description</span><span class="special">()</span></code>
+ <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">license</span><span class="special">(</span><span class="keyword">bool</span><span class="special">)</span></code>
             </p>
             </td>
 <td>
             <p>
- Returns the description of the document.
+ Sets whether or not the license information should be added to the
+ written document
             </p>
             </td>
 <td>
             <p>
- Returns the description string, not the associated XML
+ <code class="computeroutput"><span class="keyword">false</span></code>
             </p>
             </td>
 </tr>
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">author</span><span class="special">()</span></code>
+ <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">license</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">)</span></code>
             </p>
             </td>
 <td>
             <p>
- Returns the author of the document.
+ Set license terms (if any): reproduction, distribution, attribution,
+ commercialuse
             </p>
             </td>
 <td>
             <p>
- The default is the copyright_holder.
+ "permits" (default), "requires", or "prohibits".
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">reproduction</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the Reproduction segment of the license
+ </p>
+ </td>
+<td>
+ <p>
+ The default is <code class="computeroutput"><span class="string">""</span></code>
             </p>
             </td>
 </tr>
@@ -558,7 +788,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id695136"></a><p class="title"><b>Table 6. `svg` document settings and writing</b></p>
+<a name="id696540"></a><p class="title"><b>Table 7. `svg` document settings and writing</b></p>
 <div class="table-contents"><table class="table" summary="`svg` document settings and writing">
 <colgroup>
 <col>
@@ -586,8 +816,24 @@
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="identifier">svg</span><span class="special">&amp;</span>
- <span class="identifier">coord_precision</span><span class="special">(</span><span class="keyword">int</span><span class="special">)</span></code>
+ <code class="computeroutput"><span class="keyword">int</span> <span class="identifier">coord_precision</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the current precision of doubles in the document
+ </p>
+ </td>
+<td>
+ <p>
+ The default is 3
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">coord_precision</span><span class="special">(</span><span class="keyword">int</span><span class="special">)</span></code>
             </p>
             </td>
 <td>
@@ -604,19 +850,17 @@
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="identifier">svg</span><span class="special">&amp;</span>
- <span class="identifier">document_title</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">)</span></code>
+ <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span>
+ <span class="identifier">document_title</span><span class="special">()</span></code>
             </p>
             </td>
 <td>
             <p>
- Sets title for the SVG XML document (<span class="bold"><strong>not the
- plot</strong></span>)
+ Returns the title of the SVG XML document
             </p>
             </td>
 <td>
             <p>
- &lt;title&gt;My Document title&lt;/title&gt;
             </p>
             </td>
 </tr>
@@ -639,30 +883,31 @@
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="keyword">int</span> <span class="identifier">coord_precision</span><span class="special">(</span><span class="keyword">int</span><span class="special">)</span></code>
+ <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">document_title</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">)</span></code>
             </p>
             </td>
 <td>
             <p>
- Returns the current precision of doubles in the document
+ Sets title for the SVG XML document (not the plot)
             </p>
             </td>
 <td>
             <p>
- The default is 3
+ &lt;title&gt;My Document title&lt;/title&gt;
             </p>
             </td>
 </tr>
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="identifier">svg</span><span class="special">&amp;</span>
- <span class="identifier">x_size</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">)</span></code>
+ <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">image_size</span><span class="special">(</span><span class="keyword">unsigned</span>
+ <span class="keyword">int</span><span class="special">,</span>
+ <span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">)</span></code>
             </p>
             </td>
 <td>
             <p>
- Sets the width of the image (pixels).
+ Sets the size of the image produced, (pixels).
             </p>
             </td>
 <td>
@@ -673,13 +918,13 @@
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="identifier">svg</span><span class="special">&amp;</span>
- <span class="identifier">y_size</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">)</span></code>
+ <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">int</span>
+ <span class="identifier">x_size</span><span class="special">()</span></code>
             </p>
             </td>
 <td>
             <p>
- Sets the height of the image (pixels).
+ Returns the width of the image (pixels).
             </p>
             </td>
 <td>
@@ -690,13 +935,13 @@
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="keyword">unsigned</span> <span class="keyword">int</span>
- <span class="identifier">x_size</span><span class="special">()</span></code>
+ <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">x_size</span><span class="special">(</span><span class="keyword">unsigned</span>
+ <span class="keyword">int</span><span class="special">)</span></code>
             </p>
             </td>
 <td>
             <p>
- Returns the width of the image (pixels).
+ Sets the width of the image (pixels).
             </p>
             </td>
 <td>
@@ -724,14 +969,13 @@
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="identifier">svg</span><span class="special">&amp;</span>
- <span class="identifier">image_size</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">unsigned</span>
+ <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">y_size</span><span class="special">(</span><span class="keyword">unsigned</span>
               <span class="keyword">int</span><span class="special">)</span></code>
             </p>
             </td>
 <td>
             <p>
- Sets the size of the image produced, (pixels).
+ Sets the height of the image (pixels).
             </p>
             </td>
 <td>
@@ -742,8 +986,7 @@
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="identifier">svg</span><span class="special">&amp;</span>
- <span class="identifier">write</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;)</span></code>
+ <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">write</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;)</span></code>
             </p>
             </td>
 <td>
@@ -761,8 +1004,7 @@
 <tr>
 <td>
             <p>
- <code class="computeroutput"><span class="identifier">svg</span><span class="special">&amp;</span>
- <span class="identifier">write</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span><span class="special">&amp;)</span></code>
+ <code class="computeroutput"><span class="keyword">void</span> <span class="identifier">write</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream</span><span class="special">&amp;)</span></code>
             </p>
             </td>
 <td>

Modified: sandbox/SOC/2007/visualization/libs/svg_plot/doc/interface.qbk
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/doc/interface.qbk (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/doc/interface.qbk 2008-01-23 16:45:50 EST (Wed, 23 Jan 2008)
@@ -210,7 +210,9 @@
   [[`svg_2d_plot& y_scale(double y1, double y2)`] [Sets the scale of the Y axis from y1 to y2. Throws an exception if y2 <= y1.] ]
 ]
 
-Accessor get functions are also provided for all the above set functions. These allow one to check the current value (default if not changed by the preceeding code).
+Accessor get functions are also provided for all the above set functions.
+These allow one to check the current value
+(default if not changed by the preceeding code).
 
 [heading The `plot()` Method]
 The `plot()` method is defined using Boost.Parameter. As such, it supports a
@@ -218,14 +220,14 @@
 
 [table 2D_plot Required parameter
 [[ID] [Type (* is a wildcard)] [Description]]
-[[_container] [*] [Any object that can return an iterator with begin() and end()]]
-[[_title] [`std::string`] [The name of this series]]
+[[_container] [*] [Any object that can return an iterator with begin() and end().]]
+[[_title] [`std::string`] [The name of this series.]]
 ] [/ table 2D_plot Required parameter]
 
 [table 2D_plot Deduced parameter
 [[ID] [Type] [Description] [Default]]
-[[_fill_color] [`svg_color`] [This is the color that shows up inside of the circle that is
-being drawn] [white]]
+[[fill_color] [`svg_color`] [This is the color that shows inside of the circle that is
+being drawn.] [white]]
 ] [/ table 2D_plot Deduced parameter]
 
 [table 2D_plot Optional Parameters
@@ -316,9 +318,10 @@
 
 Accessor get functions are also provided for all the above set functions. These allow one to check the current value (default if not changed by the preceeding code).
 
-[heading The `plot()` Method]
+[heading The `plot()` Function]
 
-The `plot()` method allows data series parameters and further chained functions to control their display.
+The `plot()` function allows data series parameters,
+and further chained functions to control their display.
 
 [table Required parameters
 [[ID] [Type (* is a wildcard)] [Description]]
@@ -356,6 +359,246 @@
 ``]
 [`boost_default_convert` (default) is sufficient in all cases where the data stored in the container can be directly cast to a double.]]
 ] [/ table Optional Functions]
+
+[h4 Styles providing addition control]
+
+Several style classes are used internally but are available for external use too.
+For most applications the functions listed above will provide enough control,
+but styles are documented here:
+
+ class svg_style;
+ class text_style; // Font, size, etc parameters of text like title, legend, labels ...
+ class plot_point_style; // Parameters of points maarking data series values.
+ class plot_line_style; // Parameters of lines joining data series values.
+ class axis_line_style; // Parameters of the axes.
+ class ticks_labels_style; // Parameters of the axis, grids, & ticks and their value labels.
+
+[h6 Box Style defines a rectangular box.]
+A box has a border and may be filled with the same or different colors.
+
+ class box_style
+ { // Style of a rectangular box.
+ // Use for image and plot window.
+ public:
+ svg_color stroke_; // Box line stroke color.
+ svg_color fill_; // Box fill color.
+ double width_; // plot border rectangle width.
+ double margin_; // Marginal (svg units) space around the box (inside or out).
+ bool border_on_; // Display the border.
+ bool fill_on_; // Color fill the box.
+
+ box_style(const svg_color& scolor = black,
+ const svg_color& fcolor = antiquewhite,
+ double width = 1, // of border
+ double margin = 2., //
+ bool border_on = true, // Draw a border of width.
+ bool fill_on = false) // Apply fill color.
+ :
+ stroke_(scolor), fill_(fcolor), width_(width),
+ margin_(margin),
+ border_on_(border_on),
+ fill_on_(fill_on)
+ { // Initializes all private data with defaults.
+ }
+ }; // class box_style
+
+[table Box Style Constructor
+[[parameter #] [name] [Default] [Description]]
+[[1] [scolor] [black] [stroke color of the border of the rectangle.]]
+[[2] [fcolor] [white] [Fill color of the rectangle.]]
+[[3] [width] [1] [Width the svg units of border]]
+[[4] [margin] [2] [Margin provided to avoid text etc being too close to the border, or the border colliding with other rectangles.]]
+[[4] [border_on] [true (border drawn)] [if true, the a border is drawn.]]
+[[5] [fill_on] [false (not filled)] [if true, fill color drawn inside border, if any.]]
+] [/ table Box Style]
+
+[table Box Style Accessor functions (all are chainable).
+[[name] [parameter type] [Default value] [Description] [Examples]]
+[[scolor] [svg_color] [black] [Sets color of border of box] [my_box.scolor(red); my_box.scolor();]]
+[[fcolor] [svg_color] [white] [Sets fill color of box] [my_box.fcolor(red); my_box.fcolor();]]
+[[width] [real_type] [1 svg unit] [Sets width of border.] [my_box.width(2); my_box.width()]]
+[[margin] [real_type] [1 svg unit] [Sets margin around border (inside and out).] [my_box.width(2); my_box.width()]]
+[[border_on] [bool] [true] [If true, draws a border of box.] [my_box.border_on(true); my_box.border();]]
+[[fill_on] [bool] [false] [If true, color fills the box.] [my_box.fill_on(true); my_box.fill();]]
+] [/table Box style Accessor functions]
+
+[h6 Text Style defines text Font, Size etc.]
+
+Text style constructor.
+
+ text_style(int size = 20,
+ const std::string& font = "", // Default is sans with Firefox & IE, but serif with Opera.
+ const std::string& style = "",
+ const std::string& weight = "",
+ const std::string& stretch = "",
+ const std::string& decoration = "")
+ : // Constructor.
+ font_size_(size),
+ font_family_(font),
+ style_(style),
+ weight_(weight),
+ stretch_(stretch),
+ decoration_(decoration)
+ { // text_style default constructor, defines defaults for all private members.
+ }
+
+[table Text Style Constructor
+[[parameter #] [name] [Default] [Description]]
+[[1] [font_size] [20] [text font size (svg units).]]
+[[2] [font_family] [""] [Font family ( Default is sans with Firefox & IE but serif with Opera).]]
+[[3] [font_style] [""] [Allows italic or bold.]]
+[[Functions that are not yet implemented by browsers:]]
+[[4] [font_weight] [""] [Font weight: normal | bold | bolder | lighter | 100 | 200 .. 900.]]
+[[5] [font_stretch] [""] [normal | wider | narrower ....]]
+[[6] [font_decoration] [""] ["underline" | "overline" | "line-through".]]
+] [/ table Box Style]
+
+Examples:
+ text_style my_style;
+
+produces a normal default font of size 20 svg units (usually pixels).
+
+ text_style my_style(14, "Lucida Sans Unicode", "italic");
+
+produces a Lucida Sans Unicode font of size of 14 svg units (usually pixels).
+
+[table Text Style Accessor functions
+[[name] [parameter type] [Default value] [Description] [Examples]]
+[[font_size] [int] [black] [Sets size of font in svg units] [my_text.font_size(10); my_text.font_size();]]
+[[font_family] [std::string] [""] [Sets font family] [my_text.font_family("Arial"); my_text.font_family();]]
+[[font_style] [std::string] [""] [Sets font style (normal | bold | italic).] [my_text.font_style("italic"); my_text.font_style()]]
+[[Functions that are not yet implemented by browsers:]]
+[[font_weight] [std::string] [""] [Sets font weight.] [my_text.font_weight("bold"); my_text.font_weight()]]
+[[font_stretch] [std::string] [""] [Sets font stretch (wider | narrower).] [my_text.font_stretch(true); my_text.font_stretch();]]
+[[font_decoration] [std::string] [""] [Set decoration (underline | overline | strike thru).] [my_text.font_decoration("underline"); my_text.font_decoration();]]
+] [/table text style Accessor functions]
+
+[h6 plot_point_style defines how data points are marked.]
+
+ class plot_point_style
+ {
+ public:
+ svg_color fill_color_; // Color of the centre of the shape.
+ svg_color stroke_color_; // Color of circumference of shape.
+ int size_; // diameter of circle, height of square, font_size ...
+ point_shape shape_; // round, square, point...
+ std::string symbols_; // Unicode symbol (letters, digits, squiggles etc)
+ // Caution: not all Unicode symbols are output by all browsers!
+ // Set symbol(s) font using .style().font_family("arial");
+ text_style symbols_style_;
+
+ plot_point_style(const svg_color& fill = blank, const svg_color& stroke = blank,
+ int size = 10, point_shape shape = round, const std::string& symbols = "X")
+ :
+ fill_color_(fill), stroke_color_(stroke), size_(size), shape_(shape), symbols_(symbols)
+ { // TODO Should there be default colors? or "none" == blank?
+ symbols_style_.font_size(size);
+ symbols_style_.font_family("Lucida Sans Unicode");
+ }
+
+[table Plot Point Style Constructor
+[[parameter #] [name] [Default] [Description]]
+[[1] [fill] [blank] [SVG fill color.]]
+[[2] [stroke] [blank] [SVG stroke color.]]
+[[3] [size] [10] [size of marker (svg units).]]
+[[4] [shape] [round] [shape in enum point_shape]
+[[5] [symbol(s)] ["X"] [Unicode symbol(s) (letters, digits, squiggles etc)]]
+] [/ table Plot point Style]
+
+Examples:
+
+ point_style_(black, blank, 10, round), // Default point style, black 10 point unfilled circle.
+ point_style_(red, yellow, 5, square), // Point style, red 5 square filled yellow.
+
+It is usually convenient to override point styles onto calls of plot function by chaining thus:
+
+ my_plot.plot(data2, "-2 + x^2").fill_color(orange).size(5).shape(square);
+
+Shapes available are:
+
+ enum point_shape
+ { // Marking a data point.
+ // Used in draw_plot_point in axis_plot_frame.hpp
+ none = 0,
+ round, square, point, egg, // ellipse
+ vertical_line, // line up & down from axis.
+ horizontal_line, // line left & right from axis.
+ vertical_tick, // tick up from axis.
+ horizontal_tick, // line left & right from axis.
+ // Note horizontal will not be useful for 1D plot - will be on the axis.
+ cone, // pointing up - 'rightwayup'.
+ triangle, // pointing down 'upsidedown'.
+ star, // using polygon.
+ lozenge, // Using Unicode symbols.
+ diamond,
+ heart,
+ club,
+ spade,
+ asterisk, // *
+ x, // x
+ cross,
+ symbol // Unicode symbol including letters, digits, greek & 'squiggles'.
+ // For example: &#x3A9; = greek omega
+ // Other shapes may be added.
+ };
+
+[table Plot Point Style Accessor functions
+[[name] [parameter type] [Default value] [Description] [Examples]]
+[[size] [int] [10] [Sets size of point marker or font in svg units] [my_mark.size(10); my_mark.font_size();]]
+[[fill_color] [svg_color] [none] [Sets fill color] [my_mark.fill_color(red); my_mark.fill_color();]]
+[[stroke_color] [black] [""] [Sets stroke color for mark.] [my_mark.stroke_color(green); my_mark.stroke_color()]]
+[[shape] [point_shape] [none] [Sets plot point marker] [my_mark.shape(egg); my_mark.shape()]]
+[[symbols] [std::string] ["X"] [Sets symbol as plot point marker.] [my_mark.symbols("&#x3A9;"); (greek omega) my_mark.symbols();]]
+[[style] [svg::text_style] ["Lucida Sans Unicode" with plot_point size.] [Set font and size for a symbol marking points.] [my_mark.style(my_symbol_style); my_mark.style();]]
+] [/table Plot Point style Accessor functions]
+
+[h6 plot_line_style defines how data points are joined.]
+
+ class plot_line_style
+ { // Style of line joining data series values.
+ public:
+ svg_color color_; // Line stroke color. (No fill color for lines).
+ svg_color area_fill_; // Fill color from line to axis. == true means color.blank = true.
+ double width_; // Width of line.
+ bool line_on_; // If straight line is to be drawn between points.
+ bool bezier_on_; // If a smooth bezier line is to be drawn between points.
+
+ plot_line_style(const svg_color& col = black, const svg_color& acol = true, double width = 2, bool line_on = true, bool bezier_on = false)
+ :
+ color_(col), area_fill_(acol), width_(width), line_on_(line_on), bezier_on_(bezier_on)
+ { // Defaults for all private data.
+ }
+
+
+[table Plot line Style Constructor
+[[parameter #] [name] [Default] [Description]]
+[[1] [color] [black] [line color (SVG stroke color).]]
+[[2] [area_fill] [blank] [area_fill color (if required).]]
+[[3] [width] [2] [width of line (svg units).]]
+[[4] [line_on] [true] [true if straight line required.]
+[[5] [bezier_on] [false] [true if bezier smoothed line required.]]
+] [/ table Plot Line Style]
+
+Examples:
+
+ my_line_style line_style_(black, true, 2, true, false);
+ // Black straight line joining points (without area fill).
+
+In practice it is often convenient to chain function calls onto plot function calls thus:
+
+ my_plot.plot(data3, "-1 + 2x").bezier_on(true).line_color(blue);
+
+
+[table Plot Line Style Accessor functions
+[[name] [parameter type] [Default value] [Description] [Examples]]
+[[width] [int] [10] [Sets width of line in svg units] [my_mark.width(1); my_mark.width();]]
+[[color] [svg_color] [black] [Sets line color] [my_mark.color(red); my_mark.fill_color();]]
+[[area_fill] [svg_color] [black] [Sets area_fill color.] [my_mark.area_fill(green); my_mark.area_fill()]]
+[[line_on] [bool] [true] [If true draws a line.] [my_mark.line_on(true); my_mark.line_on()]]
+[[bezier_on] [bool] [false] [If true draws a curve.] [my_mark.bezier_on(true); my_mark.bezier_on()]]
+] [/table Plot Line style Accessor functions]
+
+
 [endsect] [/section:svg_2d_plot_interface]
 
 [include settings.qbk]


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk