home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
329.lha
/
MultiPlot
/
source
/
packer.h
< prev
next >
Wrap
C/C++ Source or Header
|
1990-01-05
|
2KB
|
50 lines
#ifndef PACKER_H
#define PACKER_H
/*----------------------------------------------------------------------*
* PACKER.H typedefs for Data-Compresser. 1/22/86
*
* This module implements the run compression algorithm "cmpByteRun1"; the
* same encoding generated by Mac's PackBits.
*
* By Jerry Morrison and Steve Shaw, Electronic Arts.
* This software is in the public domain.
*
* This version for the Commodore-Amiga computer.
*----------------------------------------------------------------------*/
#ifndef COMPILER_H
#include "compiler.h"
#endif
/* This macro computes the worst case packed size of a "row" of bytes. */
#define MaxPackedSize(rowSize) ( (rowSize) + ( ((rowSize)+127) >> 7 ) )
#ifdef FDwAT /* Compiler handles Function Declaration with Argument Types */
/* Given POINTERS to POINTER variables, packs one row, updating the source
* and destination pointers. Returns the size in bytes of the packed row.
* ASSUMES destination buffer is large enough for the packed row.
* See MaxPackedSize. */
extern LONG PackRow(BYTE **, BYTE **, LONG);
/* pSource, pDest, rowSize */
/* Given POINTERS to POINTER variables, unpacks one row, updating the source
* and destination pointers until it produces dstBytes bytes (i.e., the
* rowSize that went into PackRow).
* If it would exceed the source's limit srcBytes or if a run would overrun
* the destination buffer size dstBytes, it stops and returns TRUE.
* Otherwise, it returns FALSE (no error). */
extern BOOL UnPackRow(BYTE **, BYTE **, WORD, WORD);
/* pSource, pDest, srcBytes, dstBytes */
#else /* not FDwAT */
extern LONG PackRow();
extern BOOL UnPackRow();
#endif /* FDwAT */
#endif