home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
World_Of_Computer_Software-02-385-Vol-1of3.iso
/
x
/
xibm.zip
/
ppc
/
ppcCache.h
< prev
next >
Wrap
C/C++ Source or Header
|
1989-11-07
|
2KB
|
70 lines
/*
* Copyright IBM Corporation 1987,1988,1989
*
* All Rights Reserved
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted,
* provided that the above copyright notice appear in all copies and that
* both that copyright notice and this permission notice appear in
* supporting documentation, and that the name of IBM not be
* used in advertising or publicity pertaining to distribution of the
* software without specific, written prior permission.
*
* IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
* ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
* IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
* ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
* WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
* ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
* SOFTWARE.
*
*/
#ifndef PPC_CACHE_H
#define PPC_CACHE_H
#define NUM_BAND_HEIGHTS 7
typedef struct _bmInfo {
int used;
int x;
int y;
int w;
int h;
struct _bmInfo *next, *prev;
} ppcBMInfo, *ppcBMInfoPtr;
typedef struct _bandInfo {
int plane;
int y;
int h, w;
ppcBMInfoPtr bmList, bmListTail;
int nextX;
struct _bandInfo *nextBand, *nextBandByHeight;
struct _bandInfo *prevBand, *prevBandByHeight;
} ppcBandInfo, *ppcBandInfoPtr;
typedef struct _planeInfo {
int planeNum;
int w, h;
int nextY;
ppcBandInfoPtr bandListHead;
ppcBandInfoPtr bandListTail;
} ppcPlaneInfo, *ppcPlaneInfoPtr;
typedef struct _cacheInfo {
int numPlanes;
ppcPlaneInfoPtr planes;
ppcBandInfoPtr bandsByHeight[NUM_BAND_HEIGHTS];
ppcBandInfoPtr bandsByHeightTail[NUM_BAND_HEIGHTS];
void (*blitToCache)(), (*blitToScreen)();
} ppcCacheInfo, *ppcCacheInfoPtr;
#define BAND_HEIGHT(h) ((h+3)&(~3))
#define BAND_LIST(h) ((BAND_HEIGHT(h)>>2)-2)
ppcBMInfoPtr newBM();
#endif /* PPC_CACHE_H */