ftp.nice.ch/pub/next/developer/resources/libraries/SurfImage.1.0.s.tar.gz#/SurfImage/SurfGIFSupport.subproj/SurfGIFDecoder.Internal.h

This is SurfGIFDecoder.Internal.h in view mode; [Download] [Up]

/*  
** Copyright (c) 1995 Netsurfer Inc.  All Rights Reserved.
**
** Author: <bbum@friday.com>
*/

/*  This object is included in the MiscKit by permission from the author
**  and its use is governed by the MiscKit license, found in the file
**  "LICENSE.rtf" in the MiscKit distribution.  Please refer to that file
**  for a list of all applicable permissions and restrictions.
*/

#define BOOL2STR(_b_)	(_b_ ? "Yes": "No")

/* read_short is used to extract an unsigned short from two consecutive
   bytes of a LSB oriented stream
 */
extern unsigned short read_short(unsigned char *buf);
	
@interface SurfGIFDecoder (Internal)
- _decodeFromStream:(NXStream *) stream;
- _decodeLogicalScreenDescriptor:(NXStream *) stream;
- (unsigned char *) _decodeColorTable:(NXStream *)stream
                           entryCount:(unsigned) tableSize
                           intoBuffer:(unsigned char *)buf;
- _decodeGCT:(NXStream *) stream;
- _decodeGraphicControlExtension:(NXStream *) stream;
- _decodeImageData:(NXStream *)stream;

- _decompressImage32:(NXStream *) stream;
- _decompressImage16:(NXStream *) stream;

- _decodeImageDescriptor:(NXStream *)stream;
- _decodeData:(NXStream *) stream;

- _resetImageDescriptor;
- _resetGraphicControlExtension;

- _resetDecoder;
@end

/* The following methods basically skip over an extension or block
   of a particular type that is not supported by the decoder.  Most
   of these blocks simply have no meaning in our world;  some should
   (text extension, for example), but support has not yet been
   written.
 */
@interface SurfGIFDecoder (UnsupportedBlocks)
/* Skips over data blocks until a NULL data block is encountered (a
   data terminator).  Can be used to skip over ANYTHING that starts
   with a length byte that describes the number of bytes TO FOLLOW
   the length byte.  Data blocks are a maximum size of 256 bytes
   INCLUDING the length byte.
 */
- _skipDataBlocks:(NXStream *) stream;
- _decodeApplicationExtension:(NXStream *) stream;
- _decodeCommentExtension:(NXStream *) stream;
- _decodePlainTextExtension:(NXStream *) stream;
@end	

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.