unpack zips in src to better compression
This commit is contained in:
75
sources/z-tools/trunk/zview/mfdb.c
Normal file
75
sources/z-tools/trunk/zview/mfdb.c
Normal file
@@ -0,0 +1,75 @@
|
||||
#include "general.h"
|
||||
|
||||
|
||||
/* Prototype */
|
||||
int16 init_mfdb( MFDB *bm, int16 width, int16 height, int16 planes);
|
||||
void delete_mfdb( MFDB *bm, int16 nbr);
|
||||
|
||||
|
||||
/*==================================================================================*
|
||||
* int16 init_mfdb: *
|
||||
* fit a MFDB with the parameters suppplied. *
|
||||
*----------------------------------------------------------------------------------*
|
||||
* input: *
|
||||
* bm -> The MFDB to fit. *
|
||||
* width -> Image's width. *
|
||||
* height -> Image's height. *
|
||||
* planes -> Screen planes or 1 if the image is monochrome. *
|
||||
*----------------------------------------------------------------------------------*
|
||||
* returns: *
|
||||
* '0' if error or the memory size allocated. *
|
||||
*==================================================================================*/
|
||||
int16 init_mfdb( MFDB *bm, int16 width, int16 height, int16 planes)
|
||||
{
|
||||
uint32 length;
|
||||
|
||||
bm->fd_w = width;
|
||||
bm->fd_h = height;
|
||||
bm->fd_wdwidth = ( width >> 4) + (( width % 16) != 0);
|
||||
bm->fd_stand = 0;
|
||||
bm->fd_nplanes = planes;
|
||||
bm->fd_r1 = 0;
|
||||
bm->fd_r2 = 0;
|
||||
bm->fd_r3 = 0;
|
||||
|
||||
length = (( (( uint32)bm->fd_wdwidth << 1 ) * ( uint32)bm->fd_nplanes) * ( uint32)bm->fd_h) + 256L;
|
||||
bm->fd_addr = gmalloc( length);
|
||||
|
||||
if( bm->fd_addr)
|
||||
return( 1);
|
||||
|
||||
bm->fd_addr = NULL;
|
||||
|
||||
return ( 0);
|
||||
}
|
||||
|
||||
|
||||
/*==================================================================================*
|
||||
* int16 delete_mfdb: *
|
||||
* free the data of MFDB struct. *
|
||||
*----------------------------------------------------------------------------------*
|
||||
* input: *
|
||||
* bm -> pointer to the MFDB to delete. *
|
||||
* nbr -> The number of MFDB struct. to delete. *
|
||||
*----------------------------------------------------------------------------------*
|
||||
* returns: *
|
||||
* -- *
|
||||
*==================================================================================*/
|
||||
void delete_mfdb( MFDB *bm, int16 nbr)
|
||||
{
|
||||
register int16 i;
|
||||
|
||||
if(( nbr == 0) || ( bm == NULL))
|
||||
return;
|
||||
|
||||
for ( i = 0; i < nbr; i++)
|
||||
{
|
||||
if ( bm[i].fd_addr == NULL)
|
||||
continue;
|
||||
|
||||
gfree( bm[i].fd_addr);
|
||||
}
|
||||
|
||||
gfree( bm);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user