diff src/graphics.cc @ 6841:9cee629fe20c

[project @ 2007-08-29 17:31:45 by jwe]
author jwe
date Wed, 29 Aug 2007 17:31:45 +0000
parents ea6ae3af82d1
children 9ac351b05b51
line wrap: on
line diff
--- a/src/graphics.cc
+++ b/src/graphics.cc
@@ -2878,6 +2878,60 @@
   return ret;
 }
 
+DEFUN (doit, args, , "")
+{
+  octave_value retval;
+
+  if (args.length () == 1)
+    {
+      graphics_handle h = octave_NaN;
+
+      double val = args(0).double_value ();
+
+      if (! error_state)
+	{
+	  h = gh_manager::lookup (val);
+
+	  if (! xisnan (h))
+	    {
+	      graphics_object obj = gh_manager::get_object (h);
+
+	      if (obj.isa ("line"))
+		{
+		  line::line_properties& lp
+		    = dynamic_cast<line::line_properties&> (obj.get_properties ());
+		  retval = lp.get_xdata ();
+		  Matrix m (1, 5);
+		  m(0) = 0;
+		  m(1) = 1;
+		  m(2) = 2;
+		  m(3) = 3;
+		  m(4) = 4;
+		  lp.set_xdata (m);
+		  m(0) = 0;
+		  m(1) = 1;
+		  m(2) = 0.2;
+		  m(3) = 0.8;
+		  m(4) = 0.4;
+		  lp.set_ydata (m);
+
+		  feval ("__request_drawnow__");
+		}
+	      else
+		error ("doit: looking for line");
+	    }
+	  else
+	    error ("doit: invalid graphics object (= %g)", val);
+	}
+      else
+	error ("doit: invalid graphics object");
+    }
+  else
+    print_usage ();
+
+  return retval;
+}
+
 /*
 ;;; Local Variables: ***
 ;;; mode: C++ ***