#include #include #include "execdef.h" #include "intuidef.h" #include "loadrecord.h" #include "windownode.h" #include "windowinfo.h" #include "NewData.proto" #include "ScrollWindow.proto" #include "NewScale.proto" #include "RedrawWindow.proto" #include "DrawDataLine.proto" extern MinList windowList; void NewData(newloadvalue) loadval *newloadvalue; { WindowNode *node; Bool new_scale; LoadRecord *record; LoadDataValue newvalue; for (node = (WindowNode *)windowList.mlh_Head; node->node.mln_Succ; node = (WindowNode *)node->node.mln_Succ) { new_scale = FALSE; for (record = (LoadRecord *)WINDOWINFO(node->window)->loadrecords.mlh_Head; record->node.mln_Succ; record = (LoadRecord *)record->node.mln_Succ) { if (record->next_data == record->end_data) ScrollWindow(node->window); switch (record->type) { case CPU: newvalue = newloadvalue->lv_cpu; break; case BLITTER: newvalue = newloadvalue->lv_blitter; break; case CHIPMEM: newvalue = newloadvalue->lv_chip; break; case FASTMEM: newvalue = newloadvalue->lv_fast; break; case ALLMEM: newvalue = newloadvalue->lv_chip + newloadvalue->lv_fast; break; } *(record->next_data++) = newvalue; if (record->scale && newvalue > *record->max_data) { record->max_data = record->next_data - 1; new_scale = NewScale(WINDOWINFO(node->window), record, newvalue) || new_scale; } if (!new_scale) DrawDataLine(node->window, record, (short)(record->next_data - 1 - record->start_data), newvalue); } if (new_scale) RedrawWindow(node->window); } }