home *** CD-ROM | disk | FTP | other *** search
- /*
- * lemobj.c - object dispatch
- *
- * copyright (c) by Alan W. Paeth, 1987. All rights reserved.
- */
-
- #include "lem.h"
-
- objresize(i)
- {
- switch(Otype)
- {
- case LINE: lineresize(i); break;
- case TEXT: textresize(i); break;
- case BOX: boxresize(i); break;
- case ELLI: elliresize(i); break;
- }
- }
-
- objnearpt(i, x, y)
- {
- switch(Otype)
- {
- case LINE: return(linenearpt(i, x, y)); break;
- case TEXT: return(textnearpt(i, x, y)); break;
- case BOX: return( boxnearpt(i, x, y)); break;
- case ELLI: return(ellinearpt(i, x, y)); break;
- }
- }
-
- objinrect(i, xl, yl, xh, yh)
- {
- switch(Otype)
- {
- case TEXT: return(textinrect(i, xl, yl, xh, yh)); break;
- case LINE: return(lineinrect(i, xl, yl, xh, yh)); break;
- case BOX: return( boxinrect(i, xl, yl, xh, yh)); break;
- case ELLI: return(elliinrect(i, xl, yl, xh, yh)); break;
- }
- }
-
- objcantug(i, x, y)
- {
- switch(Otype)
- {
- case TEXT: return(textcantug(i, x, y)); break;
- case LINE: return(linecantug(i, x, y)); break;
- case BOX: return( boxcantug(i, x, y)); break;
- case ELLI: return(ellicantug(i, x, y)); break;
- }
- }
-
- objtug(i, xs, ys, xe, ye)
- {
- switch(Otype)
- {
- case TEXT: texttug(i, xs, ys, xe, ye); break;
- case LINE: linetug(i, xs, ys, xe, ye); break;
- case BOX: boxtug(i, xs, ys, xe, ye); break;
- case ELLI: ellitug(i, xs, ys, xe, ye); break;
- }
- }
-
- objectalign(i, x, y)
- int *x, *y;
- {
- switch(Otype)
- {
- case TEXT: textalign(i, x, y); break;
- case BOX: boxalign(i, x, y); break;
- case LINE: linealign(i, x, y); break;
- case ELLI: ellialign(i, x, y); break;
- }
- }
-
- objmove(i, x, y)
- {
- switch(Otype)
- {
- case LINE: linemove(i, x, y); break;
- case TEXT: textmove(i, x, y); break;
- case BOX: boxmove(i, x, y); break;
- case ELLI: ellimove(i, x, y); break;
- }
- }
-
- objaffine(i, m11, m12, m21, m22)
- float m11, m12, m21, m22;
- {
- switch(Otype)
- {
- case LINE: lineaffine(i, m11, m12, m21, m22); break;
- case TEXT: textaffine(i, m11, m12, m21, m22); break;
- case BOX: boxaffine(i, m11, m12, m21, m22); break;
- case ELLI: elliaffine(i, m11, m12, m21, m22); break;
- }
- }
-
- objdraw(i, col)
- {
- switch(Otype)
- {
- case LINE: linedraw(i, col); break;
- case TEXT: textdraw(i, col); break;
- case BOX: boxdraw(i, col); break;
- case ELLI: ellidraw(i, col); break;
- }
- }
-