brender-1997/myst/Device.h
2022-05-03 14:31:40 -07:00

84 lines
1.2 KiB
C

/*
* Copyright (c) 1993-1995 Argonaut Technologies Limited. All rights reserved.
*
* $Id: DEVICE.H 2.7 1996/02/05 12:27:24 sam Exp $
* $Locker: $
*
* Private device driver structure
*/
#ifndef _DEVICE_H_
#define _DEVICE_H_
#ifdef __cplusplus
extern "C" {
#endif
/*
* Possible types of buffer
*/
enum {
BT_FRONTSCREEN,
BT_BACKSCREEN,
BT_DEPTH,
BT_ALPHA,
BT_SYSMEM,
BT_MAX,
};
/*
* Private state of device
*/
typedef struct br_device {
/*
* Dispatch table
*/
struct br_device_dispatch *dispatch;
/*
* Standard object identifier
*/
char *identifier;
/* Device information for queries */
br_uint_32 version;
char *creator;
char *title;
char *product;
char *product_version;
/*
* List of objects associated with this device
*/
void *object_list;
/*
* Anchor for all device's resources
*/
void *res;
struct br_device_clut *clut;
/*
* Pointers to pixelmaps associated with hardware framebuffers
*/
struct br_device_pixelmap * active_buffers[BT_MAX];
/*
* Mystique hardware info
*/
T_msiInfo *msiInfo;
} br_device;
/*
* Some useful inline ops.
*/
#define DeviceMystResource(d) (((br_device *)d)->res)
extern T_msiInfo *msiInfo;
#ifdef __cplusplus
};
#endif
#endif