$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: pbristow_at_[hidden]
Date: 2008-03-04 07:18:19
Author: pbristow
Date: 2008-03-04 07:18:18 EST (Tue, 04 Mar 2008)
New Revision: 43489
URL: http://svn.boost.org/trac/boost/changeset/43489
Log:
Some changes to plot to enable area fill setting, but still not work as wanted, or expected for area_fill.
Text files modified: 
   sandbox/SOC/2007/visualization/boost/svg_plot/svg_2d_plot.hpp         |    57 ++++++++++++++++++++++++++++++++------- 
   sandbox/SOC/2007/visualization/boost/svg_plot/svg_style.hpp           |     9 ++---                                   
   sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_area_fill.cpp |    13 +++++++--                               
   3 files changed, 60 insertions(+), 19 deletions(-)
Modified: sandbox/SOC/2007/visualization/boost/svg_plot/svg_2d_plot.hpp
==============================================================================
--- sandbox/SOC/2007/visualization/boost/svg_plot/svg_2d_plot.hpp	(original)
+++ sandbox/SOC/2007/visualization/boost/svg_plot/svg_2d_plot.hpp	2008-03-04 07:18:18 EST (Tue, 04 Mar 2008)
@@ -77,7 +77,6 @@
         // plot_line_style(const svg_color& col = black, const svg_color& acol = true, double width = 2, bool line_on = true, bool bezier_on = false)
         line_style_(black, true, 2, true, false) // Default line style, no fill.
 
-        // TODO doesn't pick up line width.
       { // Constructor.
         for(T i = begin; i != end; ++i)
         { // Sort into normal and limited series.
@@ -94,7 +93,7 @@
 
       // Set functions for the plot series.
       svg_2d_plot_series& fill_color(const svg_color& col_)
-      {
+      { // Point fill color.
         point_style_.fill_color_ = col_;
         return *this;
       }
@@ -123,18 +122,18 @@
         return *this;
       }
 
+      svg_2d_plot_series& area_fill(const svg_color& col_)
+      {
+        line_style_.area_fill_ = col_;
+        return *this;
+      }
+
       svg_2d_plot_series& line_width(double wid_)
       { 
         line_style_.width_ = wid_; // Sets legend line width too.
         return *this;
       }
 
-      // Get functions for the plot series.
-      double line_width()
-      {
-        return line_style_.width_;
-      }
-
       svg_2d_plot_series& line_on(bool on_)
       {
         line_style_.line_on_ = on_;
@@ -147,11 +146,47 @@
         return *this;
       }
 
+       // Get functions for the plot series.
+      plot_line_style line_style()
+      {
+        return line_style_;
+      }
+
+      double line_width()
+      {
+        return line_style_.width_;
+      }
+
       bool bezier_on()
       {
         return line_style_.bezier_on_;
       }
 
+      bool line_on()
+      {
+        return line_style_.line_on_;
+      }
+
+      svg_color& line_color()
+      {
+        return line_style_.color_;
+      }
+
+      svg_color& area_fill()
+      {
+        return line_style_.area_fill_;
+      }
+
+      int size()
+      {
+        return point_style_.size_;
+      }
+
+      point_shape shape()
+      {
+        return point_style_.shape_;
+      }
+
     }; // struct svg_2d_plot_series
 
     class svg_2d_plot : public detail::axis_plot_frame<svg_2d_plot>
@@ -1138,7 +1173,7 @@
           if(is_fill)
           { // fill wanted.
             transform_y(temp_y = 0.); // X-axis line.
-            path.L(temp_x, temp_y).z(); // closepath with Z to terminate line.
+            path.L(temp_x, temp_y).z(); // Close path with Z to terminate line.
           }
         }
       } // draw_straight_lines
@@ -1295,7 +1330,7 @@
             y = j->second;
             transform_point(x, y);
             if((x > plot_left_)  && (x < plot_right_) && (y > plot_top_)  && (y < plot_bottom_))
-            { // Onside plot window, so draw a point.
+            { // Is inside plot window, so draw a point.
               draw_plot_point(x, y, g_ptr, series[i].point_style_);
             }
           } // for
@@ -1313,7 +1348,7 @@
             y = j->second;
             transform_point(x, y);
             if((x > plot_left_)  && (x < plot_right_) && (y > plot_top_)  && (y < plot_bottom_))
-            { // On plot window, so draw a point.
+            { // Is inside plot window, so draw a point.
              // draw_plot_point(x, y, g_ptr, plot_point_style(blank, blank, s, cone)); default.
               draw_plot_point(x, y, g_ptr, series[i].limit_point_style_);
             }
Modified: sandbox/SOC/2007/visualization/boost/svg_plot/svg_style.hpp
==============================================================================
--- sandbox/SOC/2007/visualization/boost/svg_plot/svg_style.hpp	(original)
+++ sandbox/SOC/2007/visualization/boost/svg_plot/svg_style.hpp	2008-03-04 07:18:18 EST (Tue, 04 Mar 2008)
@@ -543,7 +543,7 @@
   plot_line_style& width(double w)
   {
     width_ = w;
-    return *this;
+    return *this; // Make chainable.
   }
 
   double width()
@@ -554,7 +554,7 @@
   plot_line_style& color(const svg_color& f)
   {
     color_ = f;
-    return *this;
+    return *this; // Make chainable.
   }
 
   svg_color& color()
@@ -565,7 +565,7 @@
   plot_line_style& area_fill(const svg_color& f)
   {
     area_fill_ = f;
-    return *this;
+    return *this; // Make chainable.
   }
 
   svg_color& area_fill()
@@ -601,8 +601,7 @@
 {  //
   os << "point_line_style("
      << p.color_ << ", "
-     << p.area_fill_ << ", "
-     //<< ((p.area_fill) ? "area fill, " : ", ")
+     << p.area_fill_ << " area fill, "
      << ((p.line_on_) ? "line, " : "no line, ")
      << ((p.bezier_on_) ? "bezier)" : "no bezier)");
 // Usage: plot_line_style p;   cout << p << endl; 
Modified: sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_area_fill.cpp
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_area_fill.cpp	(original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/example/2d_area_fill.cpp	2008-03-04 07:18:18 EST (Tue, 04 Mar 2008)
@@ -4,6 +4,14 @@
 // For more information, see http://www.boost.org
 // -----------------------------------------------------------------
 
+#ifdef _MSC_VER
+#  pragma warning (disable : 4180) // qualifier applied to function type has no meaning; ignored
+#  pragma warning (disable : 4503) // decorated name length exceeded, name was truncated
+#  pragma warning (disable : 4512) // assignment operator could not be generated
+#  pragma warning (disable : 4224) // nonstandard extension used : formal parameter 'function_ptr' was previously defined as a type
+#  pragma warning (disable : 4127) // conditional expression is constant
+#endif
+
 #include <boost/svg_plot/svg_2d_plot.hpp>
 #include <map>
 #include <cmath>
@@ -61,7 +69,7 @@
                .x_major_tick_width(1)
                .x_minor_tick_length(7)
                .x_minor_tick_width(1)
-	       .x_num_minor__ticks(3)
+	       .x_num_minor_ticks(3)
         
         //Y axis settings.
                .y_major_interval(25)
@@ -70,8 +78,7 @@
         //legend settings
         my_plot.legend_title_font_size(15);
         
-	my_plot.plot(data1, "Sqrt(x)",  point_style = none,
-        area_fill_color = red);
+	my_plot.plot(data1, "Sqrt(x)").area_fill(red);
 
     my_plot.write("./2d_area_fill.svg");