Index: trunk/Ohana/src/opihi/cmd.data/vload.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/vload.c	(revision 5349)
+++ trunk/Ohana/src/opihi/cmd.data/vload.c	(revision 5702)
@@ -1,3 +1,6 @@
 # include "data.h"
+
+# define NPTYPE 3
+static char ptype[NPTYPE][8] = {"BOX", "LINE", "CIRCLE"};
 
 int vload (int argc, char **argv) {
@@ -5,6 +8,6 @@
   int i, N, n, Nline;
   int Ximage, Nimage;
-  double dx, dy;
-  char *buffer;
+  double dx, dy, size;
+  char *buffer, *type;
   Vector *vecx, *vecy;
   
@@ -16,4 +19,27 @@
   }
   if (!GetImage (&Ximage, &Nimage)) return (FALSE);
+
+  type = ptype[0];
+  if ((N = get_argument (argc, argv, "-type"))) {
+    remove_argument (N, &argc, argv);
+    for (i = 0; i < NPTYPE; i++) {
+      if (!strcasecmp (argv[N], ptype[i])) {
+	type = ptype[i];
+	break;
+      }
+    }
+    if (i == NPTYPE) {
+      fprintf (stderr, "unknown Kii point type %s\n", argv[N]);
+      return (FALSE);
+    }
+    remove_argument (N, &argc, argv);
+  }
+
+  size = 1.0;
+  if ((N = get_argument (argc, argv, "-size"))) {
+    remove_argument (N, &argc, argv);
+    size = fabs(atof (argv[N]));
+    remove_argument (N, &argc, argv);
+  }
 
   if (argc != 4) {
@@ -38,7 +64,11 @@
   SendGraphCommand (Ximage, 16, "OVER %9d ", n);
 
-  dx = dy = 1.0;
+  if (type == ptype[2]) {
+    dx = dy = size / 2;
+  } else {
+    dx = dy = size;
+  }    
   for (i = 0; i < vecx[0].Nelements; i++) {
-    snprintf (&buffer[Nline*128], 128, "%15s %20.10f %20.10f %20.10f %20.10f ", "BOX", 
+    snprintf (&buffer[Nline*128], 128, "%15s %20.10f %20.10f %20.10f %20.10f ", type, 
 	      vecx[0].elements[i]+0.5, vecy[0].elements[i]+0.5, dx, dy);
     Nline ++;
@@ -56,6 +86,4 @@
 
   free (buffer);
-  fprintf (stderr, "loaded %d objects\n", n);
-
   return (TRUE);
 }
