1
0
mirror of https://github.com/Interlisp/maiko.git synced 2026-01-14 23:46:14 +00:00
Interlisp.maiko/inc/pilotbbt.h
Nick Briggs a093d80fa5
Add include guards to all the include files in inc/ which were missing them. (#189)
As a prerequisite for cleaning up some other include issues, all the
include files in inc/ should have an include guard.  All the xxxdefs.h
were created with them, but most older files were not.
2021-01-07 03:06:42 +00:00

144 lines
5.0 KiB
C

#ifndef PILOTBBT_H
#define PILOTBBT_H 1
/* $Id: pilotbbt.h,v 1.2 1999/01/03 02:06:21 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
/************************************************************************/
/* */
/* (C) Copyright 1989-92 Venue. All Rights Reserved. */
/* Manufactured in the United States of America. */
/* */
/************************************************************************/
/****************************************************************
* *
* pilotbbt.h July 6, 1987 by Osamu Nakamura *
* *
****************************************************************/
#ifndef BYTESWAP
/**********************************/
/* Normal byte-order declarations */
/**********************************/
typedef struct pilotbbt{
DLword pbtdestlo;
DLword pbtdesthi;
DLword pbtdestbit; /* destination bit address */
short pbtdestbpl; /* destination bits per line
* -- distance in bits to move between items */
DLword pbtsourcelo;
DLword pbtsourcehi;
DLword pbtsourcebit; /* source bit address */
short pbtsourcebpl; /* source bits per line */
DLword pbtwidth; /* width of an item in bits */
DLword pbtheight; /* number of items -- height in scanlines */
unsigned pbtbackward : 1;
unsigned pbtdisjoint : 1;
unsigned pbtdisjointitems : 1;
unsigned pbtusegray : 1;
unsigned pbtsourcetype : 1;
unsigned pbtoperation : 2;
unsigned nil : 9;
DLword dummy[5]; /* unused, needed to make 16-alignment */
} PILOTBBT;
typedef struct texturebbt{
DLword pbtdestlo;
DLword pbtdesthi;
DLword pbtdestbit; /* destination bit address */
short pbtdestbpl; /* destination bits per line
* -- distance in bits to move between items */
DLword pbtsourcelo;
DLword pbtsourcehi;
DLword pbtsourcebit; /* source bit address */
unsigned dummy2 : 4;
/* overlay on pbtsourcebpl when pbtusegray */
unsigned pbtgrayoffset : 4;
/* offset in gray block where bitblt should start */
unsigned pbtgraywidthlessone : 4;
/* width-1 of gray block in words */
unsigned pbtgrayheightlessone : 4;
/* height-1 of gray block */
DLword pbtwidth; /* width of an item in bits */
DLword pbtheight; /* number of items -- height in scanlines */
unsigned pbtbackward : 1;
unsigned pbtdisjoint : 1;
unsigned pbtdisjointitems : 1;
unsigned pbtusegray : 1;
unsigned pbtsourcetype : 1;
unsigned pbtoperation : 2;
unsigned nil : 9;
DLword dummy[5]; /* unused, needed to make 16-alignment */
} TEXTUREBBT;
#else
/****************************/
/* Byte-swapped definitions */
/****************************/
typedef struct pilotbbt
{
DLword pbtdesthi;
DLword pbtdestlo;
short pbtdestbpl; /* destination bits per line
* -- distance in bits to move between items */
DLword pbtdestbit; /* destination bit address */
DLword pbtsourcehi;
DLword pbtsourcelo;
short pbtsourcebpl; /* source bits per line */
DLword pbtsourcebit; /* source bit address */
DLword pbtheight; /* number of items -- height in scanlines */
DLword pbtwidth; /* width of an item in bits */
DLword dummy1;
unsigned nil : 9;
unsigned pbtoperation : 2;
unsigned pbtsourcetype : 1;
unsigned pbtusegray : 1;
unsigned pbtdisjointitems : 1;
unsigned pbtdisjoint : 1;
unsigned pbtbackward : 1;
DLword dummy[4]; /* unused, needed to make 16-alignment */
} PILOTBBT;
typedef struct texturebbt
{
DLword pbtdesthi;
DLword pbtdestlo;
short pbtdestbpl; /* destination bits per line
* -- distance in bits to move between items */
DLword pbtdestbit; /* destination bit address */
DLword pbtsourcehi;
DLword pbtsourcelo;
unsigned pbtgrayheightlessone : 4;
/* height-1 of gray block */
unsigned pbtgraywidthlessone : 4;
/* width-1 of gray block in words */
unsigned pbtgrayoffset : 4;
/* offset in gray block where bitblt should start */
unsigned dummy2 : 4;
/* overlay on pbtsourcebpl when pbtusegray */
DLword pbtsourcebit; /* source bit address */
DLword pbtheight; /* number of items -- height in scanlines */
DLword pbtwidth; /* width of an item in bits */
DLword dummy1;
unsigned nil : 9;
unsigned pbtoperation : 2;
unsigned pbtsourcetype : 1;
unsigned pbtusegray : 1;
unsigned pbtdisjointitems : 1;
unsigned pbtdisjoint : 1;
unsigned pbtbackward : 1;
DLword dummy[4]; /* unused, needed to make 16-alignment */
} TEXTUREBBT;
#endif /* BYTESWAP */
#endif /* PILOTBBT_H */