home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 215.lha / AmyLoad / redrawwindow.c < prev    next >
C/C++ Source or Header  |  1996-02-14  |  1KB  |  52 lines

  1. #include    <intuition/intuition.h>
  2. #include    <devices/load.h>
  3. #include    "execdef.h"
  4. #include    "intuidef.h"
  5. #include    "windowinfo.h"
  6. #include    "loadrecord.h"
  7.  
  8. #include    "RedrawWindow.proto"
  9.  
  10. #include    <graphics/proto.h>
  11.  
  12. #include    "DrawScaleReferenceLines.proto"
  13. #include    "DrawDataLine.proto"
  14.  
  15. void
  16. RedrawWindow(window)
  17.     Window *window;
  18. {
  19.     WindowInfo *window_info;
  20.     register short x;
  21.     register LoadDataValue *current_data, *last_data;
  22.     LoadRecord *record;
  23.  
  24.     window_info = WINDOWINFO(window);
  25.     SetAPen(window->RPort, window_info->back_pen_num);
  26.     /* Clear the window. */
  27.     RectFill(window->RPort,
  28.          window_info->leftedge,
  29.          window_info->topedge,
  30.          window_info->rightedge,
  31.          window_info->bottomedge);
  32.  
  33.     for (record = (LoadRecord *)window_info->loadrecords.mlh_Head;
  34.      record->node.mln_Succ;
  35.      record = (LoadRecord *)record->node.mln_Succ)
  36.     {
  37.     if (record->scale)
  38.         DrawScaleReferenceLines(window, record, (short)0);
  39.  
  40.     /* Draw data point lines. */
  41.     last_data = record->next_data;
  42.     x = 0;
  43.     for (current_data = record->start_data;
  44.          current_data < last_data;
  45.          current_data++)
  46.     {
  47.         DrawDataLine(window, record, x, *current_data);
  48.         x++;
  49.     }
  50.     }
  51. }
  52.