1: /*
   2:  * Copyright (c) 1980 Regents of the University of California.
   3:  * All rights reserved.  The Berkeley software License Agreement
   4:  * specifies the terms and conditions for redistribution.
   5:  */
   6: 
   7: #ifndef lint
   8: static char sccsid[] = "@(#)subr.c	5.1 (Berkeley) 5/7/85";
   9: #endif not lint
  10: 
  11: #include "dumb.h"
  12: 
  13: /* Does not plot first point -- assumed that it is already plotted */
  14: dda_line(ch, x0, y0, x1, y1)
  15:     char ch;
  16:     int x0, y0; /* already transformed to screen coords */
  17:     int x1, y1; /* untransformed */
  18: {
  19:     int length, i;
  20:     double deltaX, deltaY;
  21:     double x, y;
  22:     double floor();
  23:     int abs();
  24: 
  25:     scale(x1, y1);
  26: 
  27:     length = abs(x1 - x0);
  28:     if (abs(y1 -y0) > length)
  29:         length = abs(y1 - y0);
  30: 
  31:     if (length == 0)
  32:         return;
  33: 
  34:     deltaX = (double) (x1 - x0)/(double) length;
  35:     deltaY = (double) (y1 - y0)/(double) length;
  36: 
  37:     x = (double) x0 + 0.5;
  38:     y = (double) y0 + 0.5;
  39: 
  40:     for (i=0; i < length; ++i) {
  41:         x += deltaX;
  42:         y += deltaY;
  43:         x0 = floor(x);
  44:         y0 = floor(y);
  45:         currentx = x0;
  46:         currenty = y0;
  47:         screenmat[currentx][currenty] = ch;
  48:     }
  49: }

Defined functions

Defined variables

sccsid defined in line 8; never used
Last modified: 1985-05-07
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 938
Valid CSS Valid XHTML 1.0 Strict