1 /* $Id: box.c,v 1.4 2002-07-17 21:55:19 bradleyb Exp $ */
3 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
4 SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
5 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
6 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
7 IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
8 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
9 FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
10 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS
11 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
12 COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
25 void gr_ubox0(int left,int top,int right,int bot)
32 ptr1 = DATA + ROWSIZE *top+left;
37 for (i=top; i<=bot; i++ )
39 ptr2[0] = (unsigned char) COLOR;
40 ptr2[d] = (unsigned char) COLOR;
45 d = (bot - top)*ROWSIZE;
47 for (i=1; i<(right-left); i++ )
49 ptr2[i+0] = (unsigned char) COLOR;
50 ptr2[i+d] = (unsigned char) COLOR;
54 void gr_box0(int left,int top,int right,int bot)
56 if (top > MAXY ) return;
57 if (bot < MINY ) return;
58 if (left > MAXX ) return;
59 if (right < MINX ) return;
61 if (top < MINY) top = MINY;
62 if (bot > MAXY ) bot = MAXY;
63 if (left < MINX) left = MINX;
64 if (right > MAXX ) right = MAXX;
66 gr_ubox0(left,top,right,bot);
71 void gr_ubox12(int left,int top,int right,int bot)
75 for (i=top; i<=bot; i++ )
78 gr_upixel( right, i );
81 gr_uscanline( left, right, top );
83 gr_uscanline( left, right, bot );
86 void gr_box12(int left,int top,int right,int bot)
88 if (top > MAXY ) return;
89 if (bot < MINY ) return;
90 if (left > MAXX ) return;
91 if (right < MINX ) return;
93 if (top < MINY) top = MINY;
94 if (bot > MAXY ) bot = MAXY;
95 if (left < MINX) left = MINX;
96 if (right > MAXX ) right = MAXX;
98 gr_ubox12(left, top, right, bot );
102 void gr_ubox(int left,int top,int right,int bot)
105 gr_ubox0( left, top, right, bot );
108 else if ( TYPE == BM_MODEX )
109 gr_ubox12( left, top, right, bot );
113 gr_ubox12( left, top, right, bot );
116 void gr_box(int left,int top,int right,int bot)
119 gr_box0( left, top, right, bot );
122 else if ( TYPE == BM_MODEX )
123 gr_box12( left, top, right, bot );
127 gr_ubox12( left, top, right, bot );