diff options
Diffstat (limited to 'sys/pmio/tf/pmplpi.x')
-rw-r--r-- | sys/pmio/tf/pmplpi.x | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/sys/pmio/tf/pmplpi.x b/sys/pmio/tf/pmplpi.x new file mode 100644 index 00000000..b62b333a --- /dev/null +++ b/sys/pmio/tf/pmplpi.x @@ -0,0 +1,34 @@ +# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. + +include <pmset.h> +include <plio.h> + +# PM_PLP -- Put a line segment input as a pixel array a mask, applying the +# given ROP to combine the pixels with those of the mask. + +procedure pm_plpi (pl, v, px_src, px_depth, npix, rop) + +pointer pl #I mask descriptor +long v[PL_MAXDIM] #I vector coords of line segment +int px_src[ARB] #I input pixel array +int px_depth #I pixel depth, bits +int npix #I number of pixels affected +int rop #I rasterop + +pointer sp, ll_src +int ll_len, pl_p2li() +include "../pmio.com" + +begin + if (PM_MAPXY(pl) == NO) + call pl_plpi (pl, v, px_src, px_depth, npix, rop) + else { + call smark (sp) + call salloc (ll_src, LL_MAXLEN(pl), TY_SHORT) + + ll_len = pl_p2li (px_src, 1, Mems[ll_src], npix) + call pm_plls (pl, v, Mems[ll_src], px_depth, npix, rop) + + call sfree (sp) + } +end |