home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GEMini Atari
/
GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso
/
zip
/
mint
/
atarimgr.lzh
/
LIB
/
DUMP.H
< prev
next >
Wrap
C/C++ Source or Header
|
1990-10-20
|
3KB
|
113 lines
/* Copyright (c) 1987 Bellcore
* All Rights Reserved
* Permission is granted to copy or use this program, EXCEPT that it
* may not be sold for profit, the copyright notice must be reproduced
* on copies, and credit should be given to Bellcore where it is due.
* BELLCORE MAKES NO WARRANTY AND ACCEPTS NO LIABILITY FOR THIS PROGRAM.
*/
/* $Header: dump.h,v 4.2 88/07/20 15:16:24 sau Exp $
$Source: /tmp/mgrsrc/lib/RCS/dump.h,v $
*/
static char h_dump_[] = "$Source: /tmp/mgrsrc/lib/RCS/dump.h,v $$Revision: 4.2 $";
/* format for saved bitmaps */
#define B_HSIZE (sizeof(struct b_header))
#define B_OHSIZE (sizeof(struct old_b_header))
#define NEW_BHDR 1 /* flag for bitmapwrite */
#define OLD_BHDR 0 /* " */
/* given bitmap header, get w[idth] and h[eight] */
#define B_GETOLDHDR(hdr,W,H) ( \
W = ((int)((hdr)->h_wide - ' ') << 6) + (hdr)->l_wide - ' ', \
H = ((int)((hdr)->h_high - ' ') << 6) + (hdr)->l_high - ' ')
#define B_GETHDR8(hdr,W,H,D) ( \
W = ((int)((hdr)->h_wide - ' ') << 6) + (hdr)->l_wide - ' ', \
H = ((int)((hdr)->h_high - ' ') << 6) + (hdr)->l_high - ' ', \
D = ((int)((hdr)->depth - ' ')))
/* given w[idth] and h[eight], produce header */
#define B_PUTOLDHDR(hdr,w,h) \
(hdr)->magic[0]='z', (hdr)->magic[1]='z', \
(hdr)->h_wide = (((w)>>6)&0x3f) + ' ', \
(hdr)->l_wide = ((w)&0x3f) + ' ', \
(hdr)->h_high = (((h)>>6)&0x3f) + ' ', \
(hdr)->l_high = ((h)&0x3f) + ' '
#define B8_PUTOLDHDR(hdr,w,h) \
(hdr)->magic[0]='z', (hdr)->magic[1]='y', \
(hdr)->h_wide = (((w)>>6)&0x3f) + ' ', \
(hdr)->l_wide = ((w)&0x3f) + ' ', \
(hdr)->h_high = (((h)>>6)&0x3f) + ' ', \
(hdr)->l_high = ((h)&0x3f) + ' '
#define B_PUTHDR8(hdr,w,h,d) ( \
(hdr)->magic[0]='y', (hdr)->magic[1]='z', \
(hdr)->h_wide = (((w)>>6)&0x3f) + ' ', \
(hdr)->l_wide = ((w)&0x3f) + ' ', \
(hdr)->h_high = (((h)>>6)&0x3f) + ' ', \
(hdr)->l_high = ((h)&0x3f) + ' ', \
(hdr)->depth = ((d)&0x3f) + ' ', \
(hdr)->_reserved = ' ' )
/* Bitmap header magic numbers for 1-bit-deep bitmaps with
8, 16, and 32 bit padding.
16 and 32 bit padding are ancient history, but still acknowledged.
*/
#define B_ISHDR8(hdr) ((hdr)->magic[0]=='y' && (hdr)->magic[1]=='z')
#define B_ISHDR16(hdr) \
((hdr)->magic[0]=='z' && (hdr)->magic[1]=='z')
#define B_ISHDR32(hdr) \
((hdr)->magic[0]=='x' && (hdr)->magic[1]=='z')
#ifdef ALIGN32
#define B_ISHDR(hdr) B_ISHDR32(hdr)
#define B8_ISHDR(hdr) \
((hdr)->magic[0]=='x' && (hdr)->magic[1]=='y')
#else
#define B_ISHDR(hdr) B_ISHDR16(hdr)
#define B8_ISHDR(hdr) \
((hdr)->magic[0]=='z' && (hdr)->magic[1]=='y')
#endif
/*
#ifdef COLOR
#define B_ISANY(hdr) \
(B_ISHDR(hdr) || B8_ISHDR(hdr))
#else
#define B_ISANY(hdr) B_ISHDR(hdr)
#endif
*/
/* number of bytes of data for bitmap */
#define B_SIZE8(w,h,d) ((h)*((((w*d)+7L)&~7L)>>3))
#define B_SIZE16(w,h,d) ((h)*((((w*d)+15L)&~15L)>>3))
#define B_SIZE32(w,h,d) ((h)*((((w*d)+31L)&~31L)>>3))
#define B_SIZE(w,h) ((h)*((((w)+BITS)&~BITS)>>3))
#define B8_SIZE(w,h) ((h)*(w))
struct old_b_header {
char magic[2];
char h_wide;
char l_wide;
char h_high;
char l_high;
};
struct b_header {
char magic[2];
char h_wide;
char l_wide;
char h_high;
char l_high;
char depth;
char _reserved; /* to pad b_header out to 8 bytes, which should be an
exact alignment on any machine we are likely to
encounter */
};