home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d4xx / d430 / smartfields.lha / SmartFields / Functions / field_redisplay.c < prev    next >
Encoding:
C/C++ Source or Header  |  1991-01-11  |  1.4 KB  |  46 lines

  1. /***************************************
  2. *  FIELD REDISPLAY v1.37
  3. *  © Copyright 1988 Timm Martin
  4. *  All Rights Reserved
  5. ****************************************/
  6.  
  7. #include <exec/io.h>
  8. #include <exec/types.h>
  9. #include <graphics/text.h>
  10. #include <intuition/intuition.h>
  11. #include <console/fields.h>
  12. #include <console/functions.h>
  13. #include <toolkit/toolkit.h>
  14.  
  15. int field_redisplay( header, first, count, place )
  16.   struct FieldHeader *header;
  17.   struct Field *first;
  18.   UINT   count;
  19.   struct Field *place;
  20. {
  21.   struct Field *field;            /* for stepping thru field list */
  22.   int    i = 0;                   /* number of fields redisplayed */
  23.   int    strlen();                /* standard C library */
  24.  
  25.   field = first;
  26.   cursor_invisible( header->WriteReq );
  27.   while (field && i < count) {
  28.     field->NumChars  = strlen( field->Buffer );
  29.     field->BufferPos = 0;
  30.     if (header->Window->Width  > field->Right &&
  31.         header->Window->Height > field->Bottom) {
  32.       cursor_place( header->WriteReq, field->Left, field->Top );
  33.       con_graphic_rend( header->WriteReq, field->Style, field->FrontPen, field->BackPen );
  34.       con_line_length( header->WriteReq, field->MaxChars );
  35.       con_char_mult_delete( header->WriteReq, field->MaxChars );
  36.       con_put_string( header->WriteReq, field->Buffer );
  37.     }
  38.     field = field->NextField;
  39.     i++;
  40.   }
  41.   if (place)
  42.     field_goto( header, place );
  43.  
  44.   return (i);
  45. }
  46.