This is monitor.c in view mode; [Download] [Up]
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % % % % % M M OOO N N IIIII TTTTT OOO RRRR % % MM MM O O NN N I T O O R R % % M M M O O N N N I T O O RRRR % % M M O O N NN I T O O R R % % M M OOO N N IIIII T OOO R R % % % % % % ImageMagick Progress Monitor Routines % % % % % % % % Software Design % % John Cristy % % December 1995 % % % % % % Copyright 1997 E. I. du Pont de Nemours and Company % % % % Permission to use, copy, modify, distribute, and sell this software and % % its documentation for any purpose is hereby granted without fee, % % provided that the above Copyright notice appear in all copies and that % % both that Copyright notice and this permission notice appear in % % supporting documentation, and that the name of E. I. du Pont de Nemours % % and Company not be used in advertising or publicity pertaining to % % distribution of the software without specific, written prior % % permission. E. I. du Pont de Nemours and Company makes no representations % % about the suitability of this software for any purpose. It is provided % % "as is" without express or implied warranty. % % % % E. I. du Pont de Nemours and Company disclaims all warranties with regard % % to this software, including all implied warranties of merchantability % % and fitness, in no event shall E. I. du Pont de Nemours and Company be % % liable for any special, indirect or consequential damages or any % % damages whatsoever resulting from loss of use, data or profits, whether % % in an action of contract, negligence or other tortious action, arising % % out of or in connection with the use or performance of this software. % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % */ /* Include declarations. */ #include "magick.h" /* Global declarations. */ static MonitorHandler monitor_handler = (MonitorHandler) NULL; /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % % % % % P r o g r e s s M o n i t o r % % % % % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Function ProgressMonitor calls the monitor handler routines with a text % string that describes the task and a measure of completion. % % The format of the Monitor routine is: % % ProgressMonitor(text,quantum,span) % % A description of each parameter follows: % % o quantum: Specifies the quantum position within the span which represents % how much progress has been made in completing a task. % % o span: Specifies the span relative to completing a task. % % */ Export void ProgressMonitor(char *text,const unsigned int quantum, const unsigned int span) { #if defined(macintosh) static char *mark = (char *) NULL; EventRecord event; while (WaitNextEvent(everyEvent,&event,0L,nil)) SIOUXHandleOneEvent(&event); if (isatty(STDIN_FILENO) && (text != mark)) { puts(text); mark=text; } #endif if (monitor_handler != (MonitorHandler) NULL) (*monitor_handler)(text,quantum,span); } /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % % % % % S e t M o n i t o r H a n d l e r % % % % % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Function SetMonitorHandler sets the monitor handler to the specified routine % and returns the previous monitor handler. % % The format of the SetMonitorHandler routine is: % % previous_handler=SetMonitorHandler(handler) % % A description of each parameter follows: % % o handler: Specifies a pointer to a routine to handle monitors. % % */ Export MonitorHandler SetMonitorHandler(MonitorHandler handler) { MonitorHandler previous_handler; previous_handler=monitor_handler; monitor_handler=handler; return(previous_handler); }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.