home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_10_07 / 1007032a < prev    next >
Text File  |  1992-03-22  |  987b  |  51 lines

  1. // DR.L - Simple drawing program.
  2.  
  3. main
  4. {
  5.   w = new window;
  6.   w.menu = new menu
  7.     << (new menu ("&Draw")
  8.       << (line_menu = new menuitem ("&Line"))
  9.       << (circle_menu = new menuitem ("&Circle"))
  10.       << (rectangle_menu = new menuitem ("&Rectangle")));
  11.   w.display_list = new displaylist;
  12.   line ();
  13.   w.show;
  14. }
  15.  
  16. set_figure (menuitem, type)
  17. {
  18.   if (::menuitem)
  19.     ::menuitem.checked = false;
  20.   (::menuitem = menuitem).checked = true;
  21.   figure = type;
  22. }
  23.  
  24. line {set_figure (line_menu, "line");}
  25. circle {set_figure (circle_menu, "circle");}
  26. rectangle {set_figure (rectangle_menu, "rectangle");}
  27.  
  28. startdrag (x1, y1, x2, y2)
  29. {
  30.   w.cursor = "cross";
  31.   obj = new (figure) (x1, y1, x2, y2);
  32.   #pragma new circle, line, rectangle
  33.   w.xor = true;
  34.   obj.draw (w);
  35. }
  36.  
  37. drag (x,y)
  38. {
  39.   obj.draw (w);
  40.   obj.stretch_to (x, y);
  41.   obj.draw (w);
  42. }
  43.  
  44. enddrag (x, y)
  45. {
  46.   w.xor = false;
  47.   obj.draw (w);
  48.   w.display_list << obj;
  49.   w.cursor = "arrow";
  50. }
  51.