1 /* $Id: gpixel.c,v 1.5 2002-10-10 18:55:32 btb 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.
28 unsigned char gr_ugpixel( grs_bitmap * bitmap, int x, int y )
31 switch(bitmap->bm_type)
35 return bitmap->bm_data[ bitmap->bm_rowsize*y + x ];
40 gr_modex_setplane( x & 3 );
41 return gr_video_memory[(bitmap->bm_rowsize * y) + (x/4)];
45 offset = (unsigned int)bitmap->bm_data + (unsigned int)bitmap->bm_rowsize * y + x;
46 gr_vesa_setpage( offset >> 16 );
47 return gr_video_memory[offset & 0xFFFF];
54 unsigned char gr_gpixel( grs_bitmap * bitmap, int x, int y )
56 if ((x<0) || (y<0) || (x>=bitmap->bm_w) || (y>=bitmap->bm_h)) return 0;
58 switch(bitmap->bm_type)
62 return bitmap->bm_data[ bitmap->bm_rowsize*y + x ];
67 gr_modex_setplane( x & 3 );
68 return gr_video_memory[(bitmap->bm_rowsize * y) + (x/4)];
72 offset = (unsigned int)bitmap->bm_data + (unsigned int)bitmap->bm_rowsize * y + x;
73 gr_vesa_setpage( offset >> 16 );
74 return gr_video_memory[offset & 0xFFFF];