home *** CD-ROM | disk | FTP | other *** search
- /* -*-C-*- clrbmap.h */
- /*-->clrbmap*/
- /**********************************************************************/
- /****************************** clrbmap *******************************/
- /**********************************************************************/
-
- void
- clrbmap()
-
- {
- #if SEGMEM
- register INT16 x,y; /* loop indices */
- register UNSIGN32 *p; /* bitmap pointer */
-
- for (y = 0; y < YBIT; ++y)
- {
- p = (UNSIGN32*)BITMAP(y,0);
-
- #if FASTZERO
- (void)zerom(p,(UNSIGN32)(XBIT));
- #else
- for (x = 0; x < XBIT; (++p,++x))
- *p = (UNSIGN32)0;
- #endif
-
- }
-
- #else /* NOT SEGMEM */
- #if FASTZERO
-
- /***********************************************************************
- Fast assembly language clear -- runtime histogramming showed 24% of
- total time was spent in this routine for the large bitmap required by
- the Toshiba P1315 180 dpi dvi driver!
- ***********************************************************************/
- (void)zerom(bitmap,(UNSIGN32)(XBIT*YBIT));
-
- #else /* NOT FASTZERO */
-
-
- register INT32 nword; /* loop index */
- register UNSIGN32 *p; /* bitmap pointer */
-
- p = (UNSIGN32*)BITMAP(YBIT-1,XBIT-1); /* the last element */
-
- for (nword = (XBIT*YBIT); nword; (--nword,--p))
- *p = (UNSIGN32)0;
-
- #endif /* FASTZERO */
-
- #endif /* SEGMEM */
- }
-
-