home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume10 / lemming / part02 / lemobj.c < prev    next >
Encoding:
C/C++ Source or Header  |  1987-08-05  |  2.2 KB  |  109 lines

  1. /*
  2.  * lemobj.c - object dispatch
  3.  *
  4.  * copyright (c) by Alan W. Paeth, 1987. All rights reserved.
  5.  */
  6.  
  7. #include "lem.h"
  8.  
  9. objresize(i)
  10.     {
  11.     switch(Otype)
  12.     {
  13.     case LINE: lineresize(i); break;
  14.     case TEXT: textresize(i); break;
  15.     case BOX:  boxresize(i); break;
  16.     case ELLI: elliresize(i); break;
  17.     }
  18.     }
  19.  
  20. objnearpt(i, x, y)
  21.     {
  22.     switch(Otype)
  23.     {
  24.     case LINE: return(linenearpt(i, x, y)); break;
  25.     case TEXT: return(textnearpt(i, x, y)); break;
  26.     case BOX:  return( boxnearpt(i, x, y)); break;
  27.     case ELLI: return(ellinearpt(i, x, y)); break;
  28.     }
  29.     }
  30.  
  31. objinrect(i, xl, yl, xh, yh)
  32.     {
  33.     switch(Otype)
  34.     {
  35.     case TEXT: return(textinrect(i, xl, yl, xh, yh)); break;
  36.     case LINE: return(lineinrect(i, xl, yl, xh, yh)); break;
  37.     case BOX:  return( boxinrect(i, xl, yl, xh, yh)); break;
  38.     case ELLI: return(elliinrect(i, xl, yl, xh, yh)); break;
  39.     }
  40.     }
  41.  
  42. objcantug(i, x, y)
  43.     {
  44.     switch(Otype)
  45.     {
  46.     case TEXT: return(textcantug(i, x, y)); break;
  47.     case LINE: return(linecantug(i, x, y)); break;
  48.     case BOX:  return( boxcantug(i, x, y)); break;
  49.     case ELLI: return(ellicantug(i, x, y)); break;
  50.     }
  51.     }
  52.  
  53. objtug(i, xs, ys, xe, ye)
  54.     {
  55.     switch(Otype)
  56.     {
  57.     case TEXT: texttug(i, xs, ys, xe, ye); break;
  58.     case LINE: linetug(i, xs, ys, xe, ye); break;
  59.     case BOX:   boxtug(i, xs, ys, xe, ye); break;
  60.     case ELLI: ellitug(i, xs, ys, xe, ye); break;
  61.     }
  62.     }
  63.  
  64. objectalign(i, x, y)
  65.     int *x, *y;
  66.     {
  67.     switch(Otype)
  68.     {
  69.     case TEXT: textalign(i, x, y); break;
  70.     case BOX:   boxalign(i, x, y); break;
  71.     case LINE: linealign(i, x, y); break;
  72.     case ELLI: ellialign(i, x, y); break;
  73.     }
  74.     }
  75.  
  76. objmove(i, x, y)
  77.     {
  78.     switch(Otype)
  79.     {
  80.     case LINE: linemove(i, x, y); break;
  81.     case TEXT: textmove(i, x, y); break;
  82.     case BOX:   boxmove(i, x, y); break;
  83.     case ELLI: ellimove(i, x, y); break;
  84.     }
  85.     }
  86.  
  87. objaffine(i, m11, m12, m21, m22)
  88.     float m11, m12, m21, m22;
  89.     {
  90.     switch(Otype)
  91.     {
  92.     case LINE: lineaffine(i, m11, m12, m21, m22); break;
  93.     case TEXT: textaffine(i, m11, m12, m21, m22); break;
  94.     case BOX:   boxaffine(i, m11, m12, m21, m22); break;
  95.     case ELLI: elliaffine(i, m11, m12, m21, m22); break;
  96.     }
  97.     }
  98.  
  99. objdraw(i, col)
  100.     {
  101.     switch(Otype)
  102.     {
  103.     case LINE: linedraw(i, col); break;
  104.     case TEXT: textdraw(i, col); break;
  105.     case BOX:   boxdraw(i, col); break;
  106.     case ELLI: ellidraw(i, col); break;
  107.     }
  108.     }
  109.