aboutsummaryrefslogtreecommitdiff
path: root/pkg/proto/maskexpr/mesetexpr.x
blob: 40c2495f2b948252555263aa1d78f3d2466ecc41 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# ME_SETEXPR -- Set the pixel mask region to the appropriate number.

procedure me_setexpr (expr, pmim, pregno, pregval, verbose)

char	expr[ARB]		#I the region expression 
pointer	pmim			#I the pixelmask image descriptor
int	pregno			#I the current region number
int	pregval			#I the current region value
bool	verbose			#I print status messages ?

pointer	sp, chregval
int	nchars, stat
int	itoc(), me_rgmask()

begin
	call smark (sp)
	call salloc (chregval, SZ_FNAME, TY_CHAR)
	nchars = itoc (pregval, Memc[chregval], SZ_FNAME)
	if (nchars <= 0) {
	    if (verbose) {
		call printf ("    Region value %d cannot be encoded\n")
		    call pargi (pregval)
	    }
	} else {
	    stat = me_rgmask (expr, Memc[chregval], "p", pmim)
	    if (stat == ERR) {
		if (verbose) {
		    call printf ("    Region %d cannot be decoded\n")
		        call pargi (pregno)
		}
	    }
	}

	call sfree (sp)
end