home *** CD-ROM | disk | FTP | other *** search
- /*
- * Vdi raster funcs library interface
- *
- * vro_cpyfm copy raster opaque
- * vrt_cpyfm copy raster transparent
- * vr_trnfm transform form
- * v_get_pixel get pix
- *
- * ++jrb bammi@cadence.com
- * modified: mj -- ntomczak@vm.ucs.ualberta.ca
- */
- #include "common.h"
-
- #ifdef __DEF_ALL__
-
- #define L_vro_cpyf
- #define L_vrt_cpyf
- #define L_vr_trnfm
- #define L_v_get_pi
-
- #endif /* __DEF_ALL__ */
-
-
- #ifdef L_vro_cpyf
-
- /* vro_cpyfm copy raster opaque
- * returns void
- */
- void vro_cpyfm(int handle, int mode, int pxyarray[],
- void *src, void *dst)
- {
- #ifdef __MSHORT__ /* we have 16 bit ints, just change vdi params */
- _vdiparams[2] = (void *) &pxyarray[0];
- #else /* 32 bit ints - let's copy */
- register short i;
-
- for(i = 0; i < 8; i++)
- _ptsin[i] = pxyarray[i];
- #endif
-
- _intin[0] = mode;
- *((void **)(&_contrl[7])) = src;
- *((void **)(&_contrl[9])) = dst;
-
- __vdi__(VDI_CONTRL_ENCODE(109, 4, 1, 0), handle);
-
- #ifdef __MSHORT__
- _vdiparams[2] = (void *)&_ptsin[0]; /* restore vdi parameters */
- #endif
- }
- #endif /* L_vro_cpyf */
-
- #ifdef L_vrt_cpyf
-
- /* vrt_cpyfm copy raster transparent
- * returns void
- */
- void vrt_cpyfm(int handle, int mode, int pxyarray[],
- void *src, void *dst, int color[])
- {
- #ifdef __MSHORT__ /* we have 16 bit ints, just change vdi params */
- _vdiparams[2] = (void *) &pxyarray[0];
- #else /* 32 bit ints - let's copy */
- register short i;
-
- for(i = 0; i < 8; i++)
- _ptsin[i] = pxyarray[i];
- #endif
-
- _intin[0] = mode;
- _intin[1] = color[0];
- _intin[2] = color[1];
-
- *((void **)(&_contrl[7])) = src;
- *((void **)(&_contrl[9])) = dst;
-
- __vdi__(VDI_CONTRL_ENCODE(121, 4, 3, 0), handle);
-
- #ifdef __MSHORT__
- _vdiparams[2] = (void *)&_ptsin[0]; /* restore vdi parameters */
- #endif
- }
- #endif /* L_vrt_cpyf */
-
- #ifdef L_vr_trnfm
-
- /* vr_trnfm transform form
- * returns void
- */
- void vr_trnfm(int handle, void *src, void *dst)
- {
- *((void **)(&_contrl[7])) = src;
- *((void **)(&_contrl[9])) = dst;
-
- __vdi__(VDI_CONTRL_ENCODE(110, 0, 0, 0), handle);
- }
- #endif /* L_vr_trnfm */
-
- #ifdef L_v_get_pi
-
- /* v_get_pixel get pix
- * returns void (results in args)
- */
- void v_get_pixel( int handle, int x, int y, int *pel, int *index)
- {
- _ptsin[0] = x;
- _ptsin[1] = y;
-
- __vdi__(VDI_CONTRL_ENCODE(105, 1, 0, 0), handle);
-
- *pel = _intout[0];
- *index = _intout[1];
- }
- #endif /* L_v_get_pi */
-
- /* -eof- */
-