home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_02_09 / 2n09066a < prev    next >
Text File  |  1991-08-13  |  990b  |  42 lines

  1.  
  2.  
  3. -----------------------Z-O-O-M-.-L-----------------------------------
  4. // ZOOM.L - Zooming on Graphics.
  5.  
  6. main {
  7.     window ();
  8.     w.menu = new menu
  9.         << new menuitem ("&Unzoom!")
  10.     << new menuitem ("Zoom &In!")
  11.     << new menuitem ("Zoom &Out!");
  12.     unzoom ();
  13. }
  14.  
  15. paint {
  16.     w.brush = null;
  17.     w.line (-40, -40, 40, 40);
  18.     w.line (-40, 40, 40, -40);
  19.     w.circle (0, 0, 5);
  20.     w.circle (0, 0, 10);
  21.     w.circle (0, 0, 20);
  22.     w.line (-30, 30, 30, 30);
  23.     w.line (-25, 20, 25, 20);
  24.     w.line (-15, -20, 15, -20);
  25.     w.line (-5, -30, 5, -30);
  26. }
  27.  
  28. set_window (x1, y1, x2, y2) {
  29.     w.data_window (x1, y1, x2, y2);
  30.     w.refresh;
  31. }
  32.  
  33. unzoom   {set_window (-50, 50, 50, -50);}
  34. zoom_in  {set_window (-20, 20, 20, -20);}
  35. zoom_out {set_window (-100, 100, 100, -100);}
  36.  
  37. resized (int width, int height) {
  38.     int d = (width - height) / 2;
  39.     w.top_margin = w.bottom_margin = d > 0 ? 0 : - d;
  40.     w.left_margin = w.right_margin = d > 0 ? d : 0;
  41. }
  42.