
repeat untilbreak [
  clear
  pointlist clearall
  logo linecolor = "lightgray"
  message "Click left mouse button to draw lines.\nClick right button to move.\nThen click on 'Generate curve' when done." 
     "Generate curve|Quit"

  // get the points..
  set first = yes
  pointlist startcapture

  // let user click to define some points...
  repeat untilbreak [
    getkey
    set k = whichkey
    if :k = "Generate curve" or :k = "Quit" [ break ]
    elseif :k = "right" or :first = yes [ pu ]
    else [ pd ]
    moveto whereclick
    set first = no
    ]
  pointlist endcapture
  if :k = "Quit"  [ break ]

  // generate curves..
  pointlist startcapture
  pointlist curvefill
  pointlist endcapture

  // display curves..
  pu
  logo linecolor = "red"
  pointlist draw
  pu
  repeat untilbreak [
    set k = buttonchoice "A smooth curve has been generated to connect your points." 
             "Fill w/ color|Start another|Save|Quit"

    if :k = "Fill w/ color" [ fillshape ]
    elseif :k = "Save" [ 
	set filename = typein "File name to save to:\n(recommend use .pts at end of name)" "OK|Cancel" 
	if :filename != "Cancel" [ 
  	  set filename = concat 2 "ptsfiles/" :filename 
  	  pointlist savefile :filename 
	  ]
  	]
    else [ break ]
    ]
  if :k = "Quit" [ break ]
  ]
