home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / programming / toollib_2 / Examples / Tree / Builds / h / line_proce < prev    next >
Text File  |  1995-11-21  |  812b  |  36 lines

  1. /*** line_processor.h ***/
  2. /* Declaration of a general system for processing lines
  3.  * (c) Paul Field
  4.  * v1.00 - 21/11/95
  5.  */
  6.  
  7. #ifndef line_processor_h
  8. #define line_processor_h
  9.  
  10.  
  11. typedef unsigned long colour;
  12.  /* A colour is a 24 bit number which, when considered as three 8-bit bytes,
  13.   * gives a colour as BGR (i.e. the red component is the lowest 8 bits)
  14.   */
  15.  
  16.  
  17. typedef struct line_processor_str
  18.  { void (*initialise)(void);
  19.    void (*add_line)(colour c, int x0, int y0, int x1, int y1);
  20.    void (*finished)(void);
  21.  }line_processor;
  22.  
  23. /* A line processor is a general framework for processing lines. It should be
  24.  * used like this:
  25.  *
  26.  * void f(const line_processor *lines)
  27.  *  { lines->initialise();
  28.  *    ......
  29.  *    various calls to lines->add_line()
  30.  *    ......
  31.  *    lines->finished();
  32.  *  }
  33.  */
  34.  
  35. #endif
  36.