1: /*
2: * Copyright (c) 1980 Regents of the University of California.
3: * All rights reserved. The Berkeley software License Agreement
4: * specifies the terms and conditions for redistribution.
5: */
6:
7: #ifndef lint
8: static char sccsid[] = "@(#)aminmax.c 5.1 (Berkeley) 4/26/85";
9: #endif not lint
10:
11: /*
12: * aminmax: find the 4 edges of the glyph within a window.
13: * This version is approximate, in that it may include some
14: * blank areas. But it's much faster because it doesn't have
15: * to call mat over and over.
16: */
17:
18: #include "bit.h"
19:
20: aminmax(g, nrow, ncol, rmin, cmin, rmax, cmax)
21: bitmat g;
22: int nrow, ncol;
23: int *rmin, *cmin, *rmax, *cmax;
24: {
25: register int i, j;
26: register int nc = (ncol+7)>>3;
27: register int r1, r2, c1, c2;
28:
29: r1 = nrow; c1 = nc; r2 = c2 = 0;
30: for (i=0; i<nrow; i++)
31: for (j=0; j<nc; j++)
32: if (g[i*nc+j]) {
33: r1 = min(r1, i);
34: r2 = max(r2, i);
35: c1 = min(c1, j);
36: c2 = max(c2, j);
37: }
38: if (r2 < r1) {
39: /* empty glyph! */
40: r1 = c1 = r2 = c2 = 1;
41: }
42: *rmin = r1; *rmax = r2;
43: *cmin = 8*c1; *cmax = 8*c2+7;
44: }
Defined functions
Defined variables
sccsid
defined in line
8;
never used